Ermitteln des Arduino-Ports in Python [duplizieren]

9

Ich benutze einen Arduino für die Erkennung mit Python 2.7 unter Windows XP, aber die nicht-statische Art der USB-zu-Seriell-Port-Übersetzung bereitet mir Kopfschmerzen. Mit einem physischen seriellen Port gibt es kein Problem, das die Portposition hart codiert, aber das Arduino bewegt sich basierend darauf, was zum Zeitpunkt der Objektinstanzierung angeschlossen ist oder nicht. Gibt es einen Weg in Python für mich, nur die Portadresse während jeder Objektinitialisierung zu erhalten und sie an PyVISA oder pySerial ?

    
Elliot 23.09.2011, 19:22
quelle

3 Antworten

2

Ich schlage auch einen Händedruck vor, aber tue es auch anders. LESEN Sie vor dem Start Ihres Programms nur die Eingaben von allen seriellen Anschlüssen. Wenn Sie das Gerät aufdrehen, können Sie etwas wie ein EIN-Signal senden. Wenn Ihr Code das ON-Signal an diesem Port erkennt, führen Sie einen Handshake durch.

    
rmagon 18.11.2011 11:02
quelle
1

In pySerial gibt es eine ziemlich versteckte Möglichkeit, auf allen seriellen Ports nach VID / PID zu suchen (zumindest unter Windows). Finden Sie einfach die VID / PID des Arduino in Port-Eigenschaften und fügen Sie es in den Python-Code ein.

Natürlich funktioniert das nicht, wenn Sie mehrere Arduino angeschlossen haben (gleiche VID / PID)

%Vor%     
Julien 24.08.2016 06:22
quelle
0

Ich empfehle ein Handshake-Signal und scanne alle Ports. Zum Beispiel senden Sie "whoru" von Ihrem Python-Skript auf die arduiono und haben Code auf dem arduiono, der mit "arduino" reagiert, wenn es "whoru" auf der seriellen Schnittstelle erkennt. Auf diese Weise scannen Sie die Ports, senden den Handshake, und wenn Sie die richtige Antwort erhalten, wissen Sie, auf welchem ​​Port das Arduino ist.

    
Ray 26.09.2011 14:47
quelle

Tags und Links