Windows XPでPython 2.7を使用してArduinoを検出していますが、USBからシリアルへのポート変換の非静的な性質が私に頭痛を与えています。物理的なシリアルポートでは、ポートの位置をハードコーディングするのに問題はありませんが、Arduinoはオブジェクトのインスタンシエーション時にプラグインされているかどうかに基づいて移動しています。各オブジェクトの初期化中にポートアドレスを取得してPyVISAまたはpySerialに渡す方法はありますか?PythonでArduinoポートを検出する
答えて
ハンドシェイク信号を送り、すべてのポートをスキャンすることをお勧めします。たとえば、Pythonスクリプトの "whoru"をarduionoに送り、シリアルポート上で "whoru"を検出すると "arduino"で応答するarduionoのコードを手に入れます。このようにして、ポートをスキャンしてハンドシェイクを送信し、適切な応答が得られたら、arduinoがどのポートに接続されているかを知ることができます。
これは、他のポート上のデバイスを中断させます。なぜなら、それらのデバイスは、その意味を知らなかった入力を得るからです。私が扱っている機器の1つは、駄目な機器ですが、その作業を行う方が良い方法はありません。それが悪い信号を得るならば、それはロックアップし、それをリセットする唯一の方法は完全にそれを外すことです。 – Elliot
私はまた、握手を提案しますが、それは他のayラウンドを行います。 プログラムを開始する前に、すべてのシリアルポートからの入力をREADするだけです。デバイスを起動すると、ON信号のようなものを送信することができます。あなたのコードがそのポートでON信号を検出したら、ハンドシェイクを行います。
pySerialには、すべてのシリアルポート(Windowsでは少なくとも)でVID/PIDをチェックする非常に隠れた方法があります。 ポートのプロパティのArduinoのVID/PIDを見つけて、Pythonコードに入れます。もちろん
あなたは複数のArduinoのは(同じVID/PID)
import serial.tools.list_ports
for port in list(serial.tools.list_ports.comports()):
if port[2].startswith('USB VID:PID=1234:5678'):
#here you have the right port
- 1. MatlabのArduino COMポートの自動検出
- 2. Arduinoでオブジェクトを検出する
- 3. Arduino comポート#
- 4. Arduino:コード情報を検出
- 5. AzureのPythonスクリプトが脆弱なポートを検出する
- 6. Arduinoの機能ポートを制限する
- 7. ブルートゥースシリアルデバイスがCOMポートを検出する#
- 8. ArduinoからのPythonの状態変化の検出
- 9. Webモジュール(Win7)でPythonを使用してArduinoポートと通信できません
- 10. アンドロイドでUSBポートを検出する方法は?
- 11. Arduinoポート1から読み取り、ポート0に送信
- 12. MAC/LinuxでArduinoのUART COMポートを見つけるには
- 13. パケット送信後のUDPポートarduinoインクリメント
- 14. Arduino - ポート 'COM3'は存在しません
- 15. ArduinoのWindowsコマンドラインCOMポート書き込み
- 16. VB 6.0 ArduinoのMsCommポート設定
- 17. netlogoでarduinoポートを開くことができません
- 18. Regex Pythonで検索: '22行目'でポート22行を除外
- 19. PythonでArduinoと通信する
- 20. Django PythonとArduino
- 21. シリアルpythonとarduino
- 22. PythonでSSLハッシュアルゴリズムを検出
- 23. Arduino - モーション/動きを検出していますか?
- 24. Pythonデータマトリックス検出
- 25. ローカルホストarduinoデバイスを制御するPythonコマンド
- 26. C#からArduino UnoにUSBポートで番号を送信するには?
- 27. Webブラウザーが利用するポートの検出
- 28. pythonシリアルto arduinoスピードテスト
- 29. pythonとarduinoのインタフェース
- 30. Arduinoイーサネットシールドが切断を検出しない
どのオペレーティングシステム、Pythonのバージョン、およびpyserialバージョンを接続している場合、これは動作しませんか?何を試しましたか?何が効いていないのですか?詳細、男! – jathanism
バージョンとOSに関する情報を追加しましたが、pyvisaやpyserialのいずれかのバージョンが位置入力として必要とするのは、 'COM3'のようなテキスト文字列です。 – Elliot