12

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 を構成するにはどうすればよいですか?

4

5 に答える 5

12

ハイパーターミナルがアクセスできる場合は、「仮想COMポート」としてインストールされます。Cygwinでは、/ dev / ttyS26(WindowsではCOM27と呼ばれます)としてアクセスできます。CRを受信するまで、入力のブロックに問題がある可能性があります。(それを解決しようとすると、私はこれを見つけた方法です。)

于 2011-08-23T01:25:58.633 に答える
3

私のお気に入りは

socat.exe `tty`,raw,echo=0 /dev/ttyS15,raw,echo=0,setsid,sane

COM16です(Windowsで115200、noparity、no-flow、8bにセットアップ済み)

必要なもの:

ttysocat


socat.exe - /dev/ttyS15,raw,echo=0,setsid,sane

おそらく動作します (その場合は tty パッケージはありません)、または単に現在の端末の dev ノードを指定するだけです ( ttyパッケージがないと難しいかもしれません) 。

tty - 標準入力に接続された端末のファイル名を出力します

私のお気に入りのリンク:

  1. 生のシリアル接続に socat を使用する
  2. https://superuser.com/questions/123790/socat-and-rich-terminals-with-ctrlc-ctrlz-ctrld-propagation

より良いオプションがありますか?では、精進してください。

U を使用できます。

stty -F /dev/ttyS15 115200 cs8

あなたのCOMを設定するには

TJ

于 2016-04-11T15:10:53.357 に答える
1

COM ポートのないラップトップを使用している場合、このポートを開いて make 操作を開始することはできません。

Windows では、このポートをオープンして、ある回線の状態を変更し (RST)、状態を読み取って送信する機能があります。WindowsではできないLPTポートの場合、ライブラリを使用する必要があります。USB の場合も問題です。USB に接続されているデバイスを知っている必要があります。

于 2010-05-24T18:24:53.807 に答える