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. Arduinoでオブジェクトを検出する
- 2. Arduinoの機能ポートを制限する
- 3. ブルートゥースシリアルデバイスがCOMポートを検出する#
- 4. ArduinoのWindowsコマンドラインCOMポート書き込み
- 5. PythonでArduinoと通信する
- 6. アンドロイドでUSBポートを検出する方法は?
- 7. pythonシリアルto arduinoスピードテスト
- 8. Arduino - モーション/動きを検出していますか?
- 9. 信号出力arduino
- 10. Arduinoイーサネットシールドが切断を検出しない
- 11. pythonの母音を検出する
- 12. python-xmppタイムアウトを検出する
- 13. Webブラウザーが利用するポートの検出
- 14. Pythonウィジェット/カーソル検出?
- 15. ローカルネットワークでブロックされていないポートを検出する方法
- 16. Pythonはarduinoシリアル出力から正しい値を読んでいません
- 17. Pythonでraw IPトラフィックを送信する:MTUを検出する
- 18. opencv-pythonで星形を検出
- 19. python ftplib指定ポート
- 20. arduinoからpythonにコードを変換
- 21. Python:デバッグインタプリタの検出方法
- 22. Python/SciPyのピーク検出アルゴリズム
- 23. Pythonの画像スポット検出
- 24. Pythonを使用してHTMLページでJavaScriptを検出する
- 25. KDEを使ってPythonでアクティブなウィンドウを検出する
- 26. Pythonを使用してWindowsでマウスのクリックを検出する
- 27. Pythonでの対称性の検出
- 28. Pythonでの衝突検出とマスク3.2.2
- 29. OpenCV&Pythonでの瞳孔検出
- 30. pygletで2つの同時キーを検出する(python)
どのオペレーティングシステム、Pythonのバージョン、およびpyserialバージョンを接続している場合、これは動作しませんか?何を試しましたか?何が効いていないのですか?詳細、男! – jathanism
バージョンとOSに関する情報を追加しましたが、pyvisaやpyserialのいずれかのバージョンが位置入力として必要とするのは、 'COM3'のようなテキスト文字列です。 – Elliot