擅长:python、mysql、java
<p><a href="http://pyserial.sourceforge.net/" rel="nofollow">pySerial</a>可能内置于Python,也可能不内置于Python。不管怎样,如果不是,pySerial就是要下载和安装的库。</p>
<p>既然你已经知道Arduino在COM3上了,就用这个:</p>
<pre><code>import serial
ser = serial.Serial("COM3", 19200, timeout=1)
ser.write("Whatever")
</code></pre>
<p>对于Linux系统,很容易找到Arduino使用的串行端口:</p>
<pre><code>dmesg | grep tty
</code></pre>
<p>这将为您提供一些类似的输出:<code>[ 7.944654] usb 1-1.6: FTDI USB Serial Device converter now attached to ttyUSB0</code></p>
<p>所以我的Arduino在ttyUSB0上。这意味着您可以使用以下代码在Linux机器上与Arduino对话:</p>
<pre><code>import serial
ser = serial.Serial("/dev/ttyUSB0", 19200, timeout=1)
ser.write("Whatever")
</code></pre>
<p>注意:如果您在Arduino上使用9600的波特率,就像大多数人一样,您只需使用<code>serial.Serial("COM3")</code>或<code>serial.Serial("/dev/ttyUSB0")</code>而无需任何其他参数。</p>
<p>编辑:
您还应该记住,在现实世界中,可能需要一秒钟才能真正打开端口并准备好传输数据。这意味着在serial.serial()调用之后立即执行写操作实际上可能不会执行任何操作。所以我要使用的代码如下:</p>
<pre><code>import serial
import time
ser = serial.Serial("/dev/ttyUSB0", 19200, timeout=1)
time.sleep(1.5)
ser.write("Whatever")
</code></pre>
<p>有点像黑客,但这是我知道如何让它在我的系统上工作的唯一方法。</p>