我在Windows XP上使用Arduino進行感應使用Python 2.7,但USB到串口翻譯的非靜態特性讓我很頭疼。對於物理串行端口,硬編碼端口位置沒有問題,但Arduino正在基於對象實例化時插入或未插入的內容移動。有沒有什麼方法可以讓我在每次對象初始化的時候獲得端口地址並將它傳遞給PyVISA或pySerial?在Python中檢測Arduino端口
9
A
回答
0
我推薦一個握手信號並掃描所有的端口。例如,從你的python腳本發送「whoru」到arduiono,並在arduiono上有代碼,當它檢測到串口上的「whoru」時,它會以「arduino」響應。這樣,您掃描端口,發送握手,並且當您得到正確的響應時,您知道arduino所在的端口。
+1
這會中斷其他端口上的設備,因爲它們會得到他們不知道其含義的輸入。我正在使用的設備之一是一件糟糕的設備,但沒有比這更好的工作。如果信號不好,它就會鎖定,重置它的唯一方法就是徹底拔掉它。 – Elliot
2
我也建議握手,但要做另一輪。 只需在啓動程序之前閱讀所有串行端口的輸入。當你打開設備時,你可以讓它發送類似ON信號的東西。當您的代碼檢測到該端口上的ON信號時,請進行握手。
1
在pySerial中,有一種相當隱蔽的方法來檢查所有串行端口上的VID/PID(至少在Windows上)。 只需在端口屬性中找到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 COM端口?
- 2. 自動檢測JAVA中的Arduino COM端口(最好通過JSSC)
- 3. 在Python中檢測串行端口上的設備名稱
- 4. 在Python 2.7.2中設置端口以與Arduino Uno配合使用
- 5. 檢測端口掃描
- 6. 泊塢端口檢測
- 7. 在Python程序中重新檢測Arduino板
- 8. (ARDUINO)關於端口操作
- 9. Azure中的Python腳本檢測易受攻擊的端口
- 10. Linux中的COM端口檢測
- 11. 檢測Android設備中的HDMI端口
- 12. 檢測並行端口是否存在
- 13. 從Arduino中約束函數端口
- 14. python和arduino的接口
- 15. Arduino nano,聲音檢測
- 16. Arduino - 檢測外部電源
- 17. 使用Python無法檢測到任何串行端口
- 18. Windows上的Java通信端口 - 自動端口檢測
- 19. 將信息發送到python的arduino串行端口
- 20. 檢測TFTP數據的傳入端口?
- 21. 檢測COM端口是否已關閉
- 22. 如何檢測android上的USB端口?
- 23. COM端口不檢測與jSSC
- 24. Android,從keyPress檢測COM端口
- 25. TS-7500沒有檢測到ttyACM端口
- 26. Arduino的從端口1讀取,發送到端口0
- 27. Python:測試串行端口的答案
- 28. Arduino在PyQt Widget中接口
- 29. Python檢查udp端口打開
- 30. Arduino com端口不斷忙碌
什麼操作系統,Python版本,並pyserial版本將無法正常工作?你有什麼嘗試?什麼不起作用?細節,男人! – jathanism
增加了關於版本和操作系統的東西,但是任何版本的pyvisa或pyserial需要作爲位置輸入的東西都是像「COM3」這樣的文本字符串。 – Elliot