私は音声認識モジュールを使用しています-Arduino互換。AccessPortを使用するように指示されていますが、私はMac OS Xを使用しているため、機能しません。私は他の解決策を知りませんが、動作する他の言語を開いている間にPythonで自分自身を書くことです。
ここでpySerialに関するいくつかの解決策を見つけましたが、現時点では機能していないようです。
import serial
import struct
def C(val):
return struct.pack('H', val)
ser = serial.Serial(port='/dev/tty.PL2303-00001004', baudrate=9600, timeout=1)
ser.nonblocking()
ser.write(C(0xaa11))
print ser.read().__repr__()
ser.close()
開き、2バイトを書き込み、何も読み取りません。0xaa11
録音を開始するために使用されます。赤いLEDが速く点滅するため、デバイスは待機モードになっているようです。私がやっても0xaa00
、あまり役に立たない。0x00aa
バイトオーダーを、などに変更しようとしましたが、エラーコード0x11aa
を受信しません0xcc
。0xe0
ドキュメントでは、16進数として送信すると書かれているので、accessportは16進数をShort
2バイトを使用するに変換すると思います。0xaa00
2バイトの数値です。私の前の誰かがそれをこの速度に設定した場合に備えて、ボーレートをに変更しようとさえしました。38400
私はそのシリアルポートから何でも読んでうれしいです。なぜなら今のところ私は書くことができ、それは何もせず、何も読まないからです...
今のところ、クロスオーバーを使用してAccessPortをインストールしてみます。それでも機能しない場合は、Windowsボックスを探す必要があります。使用しているドライバーにバグがある可能性があるため、Arduinoボードを使用して独自のブリッジを作成することもできます。
重要な場合は、USB toSerialPL2303を使用しています。
編集
USB-シリアルをテストするために、出力ピンと入力ピンを接続しました。私は自分が書いたものを読んでいるので、ドライバーは正常に動作しています。
Arduinoで直接セットアップして、そこから直接テストしてみます。
送信は、送信してから送信することと
0xaa11
は異なります。シリアルはバイト順序を逆にしているようです。0xaa
0x11
一方、ドキュメントにはビットエンディアンについては記載されていないため、問題になる可能性もあります。