Python スクリプトを使用して、Arduino ボードからデータを送受信したいと考えています。私のニーズに合っていると思われるPythonとそのpySerialモジュールを使用してやりたいと思います。そこで、cygwin 内に Python と pySerial をインストールしました (Windows XP の背後にあります)。
Python スクリプトはかなり単純です。
$ cat example.py
#print "testing my COM26 port using python"
import serial
ser = serial.Serial()
ser.baudrate = 9600
ser.port = 26
ser
ser.open()
ser.isOpen()
ただし、実行時に次のエラーが発生します。
$ python example.py
Traceback (most recent call last):
File "example.py", line 9, in <module>
ser.open()
File "/usr/lib/python2.5/site-packages/serial/serialposix.py", line 276, in open
raise SerialException("could not open port %s: %s" % (self._port, msg))
serial.serialutil.SerialException: could not open port 26: [Errno 2] No such file or directory: '/dev/com27'
ポート 26 を開くことができませんでした: [Errno 2] そのようなファイルまたはディレクトリはありません: '/dev/com27'
Arduino がポート COM27 に接続されていることを確認するにはどうすればよいですか?
まあ、それは簡単です。Arduino IDE はそう言っているので、そのポートを使用して IDE のシリアル ポート モニター ツールからデータを送受信できます。さらに、そのポートを使用してハイパーターミナルを動作させることもできました。
ただし、Cygwin はそのような USB および COM ポートを認識していないようです。
$ ls -lah /dev
total 4,0K
.
..
fd -> /proc/self/fd
mqueue
shm
stderr -> /proc/self/fd/2
stdin -> /proc/self/fd/0
stdout -> /proc/self/fd/1
これは、従来のシリアル COM ポートがなく、USB ポートのみの Dell ラップトップで実行していることに注意してください。/dev/com1
(つまり、たとえば、存在しないのは普通のことだと思います。)
私の質問が正しいかどうかはわかりませんが、私の質問は、この COM27 ポートを認識できるように Cygwin を構成するにはどうすればよいですか?