Wie kann ich den COM und USB-ports innerhalb von Cygwin?
Will ich senden/empfangen von Daten von meinem Arduino board mit einem Python-Skript. Ich möchte mit Python und dessen pySerial-Modul scheint das zu meinen Anforderungen passen. Also installierte ich die Python und pySerial innerhalb von cygwin (windows XP hinter).
Das Python-Skript ist Recht einfach:
$ cat example.py
#print "testing my COM26 port using python"
import serial
ser = serial.Serial()
ser.baudrate = 9600
ser.port = 26
ser
ser.open()
ser.isOpen()
Aber zur Laufzeit bekomme ich die folgende Fehlermeldung.
$ python example.py
Traceback (most recent call last):
File "example.py", line 9, in <module>
ser.open()
File "/usr/lib/python2.5/site-packages/serial/serialposix.py", line 276, in open
raise SerialException("could not open port %s: %s" % (self._port, msg))
serial.serialutil.SerialException: could not open port 26: [Errno 2] No such file or directory: '/dev/com27'
Port kann nicht geöffnet werden 26: [Errno 2] No such file or directory: '/dev/com27'
Woher weiß ich meinen Arduino angeschlossen ist, port COM27?
Gut, es ist einfach. Die Arduino-IDE sagt, so, ich kann senden und empfangen von Daten aus dem Serial Port Monitor-tool für die IDE verwenden diesen port. Außerdem habe ich es geschafft die hyperterminal arbeiten mit diesem port zu.
Allerdings scheint es Cygwin ist nicht bewusst, wie USB-und COM-ports:
$ ls -lah /dev
total 4,0K
.
..
fd -> /proc/self/fd
mqueue
shm
stderr -> /proc/self/fd/2
stdin -> /proc/self/fd/0
stdout -> /proc/self/fd/1
Sollte erwähnt werden, dass ich bin läuft diese auf einem Dell-laptop, der hat keine klassische serielle COM-port, nur USB-Anschlüsse. (Also ich denke, es ist schlicht normal, zum Beispiel, dass /dev/com1
existiert nicht.)
Ich weiß nicht, wenn ich Frage, richtig, aber meine Frage ist: wie kann ich konfigurieren Cygwin, so dass es zur bewusst dieser COM27 port?
- Warum Cygwin? PySerial unterstützt Win32-nativ.
- weil es so einfach Pakete installieren, und ich hatte andere zu installieren, wie gut. werde versuchen die python-win32 native denke ich mal
- ok. versucht, dass (native python auf windows + pyserial native windows-installer) und den gleichen code wie erwartet funktioniert... komisch. aber ich wirklich brauchen, um zu verstehen, warum mit cygwin funktioniert hier nicht, ich habe das Gefühl, es ist ein cygwin-problem, nicht alles, was mit python-denke ich mal
- Es ist ein cygwin-problem - es scheint keine Karte COM-ports auf die "/dev" - namespace. Ich bin nicht sicher, dass Ihr in der Lage, das zu tun.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Hyperterminal darauf zugreifen können, dann ist es installiert einen "virtuellen COM port". Cygwin ermöglicht Ihnen den Zugriff auf es als /dev/ttyS26 (genannt COM27 von Windows). Können Sie immer noch ein Problem mit dem Eingang blockiert, bis ein CR empfangen wird--ich mache. (Zu lösen versuchen , dass, ist, wie ich gefunden diese.)
screen
arbeiten innerhalb von cygwin mit einem seriellen Anschluss, ohne Erfolg.serial
scheint zu funktionieren groß!Mein fav ist
ist es COM16 (schon das setup von Windows bis 115200, noparity, kein Fluss, 8b)
benötigen Sie:
tty und schockiert
Wird wahrscheinlich auch funktionieren (keine tty-Paket dann), oder einfach nur geben Sie den dev-node der aktuelle terminal (könnte schwierig sein, ohne tty Paket)
meine fav-links:
U haben bessere Möglichkeiten? Dann bitte zu verfeinern.
U verwenden können:
stty -F /dev/ttyS15 115200 cs8
setzen ur COM
TJ
Serielle Schnittstellen in windows zugeordnet sind, cygwin als:
COM -> /dev/ttyS
Beispielsweise COM3 -> /dev/ttyS2
Den example.py kann umgeschrieben werden, die für die Eröffnung COM3 als:
Wenn Sie einen laptop ohne COM-port können Sie nicht, diesen port zu öffnen und starten Sie Operationen.
In Windows gibt es eine Funktion, um diesen port zu öffnen, und ändern Sie den Status einiger-Leitung (RST), lese-Staaten und das Getriebe. Für einen LPT-port können Sie es nicht in Windows, die Sie verwenden müssen einige Bibliothek. Für USB wird es auch zu einem problem, müssen Sie wissen, dass das Gerät angeschlossen an USB.
Fand ich Brad Grantham tool SEHR nützlich und benutze es ausgiebig bei der Arbeit. Es ist so einfach zu bauen und verwenden.
Ich bin einfach nur ein posting hier zu erwähnen, dass ich ein Fehler wurde behoben in der it wo würde es beenden, wenn Sie eingegeben haben, tilde, einige andere text, dann folgt ein Punkt. So zum Beispiel die Eingabe von:
vim ~/.tmux.conf
würde Auswerfen du aus der seriellen session.Können Sie es hier finden:
https://github.com/lime45/serial