Serielle Kommunikation über USB Chip CP2102 ...

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Ich hab hier ein USB Gerät, welches eine Serielle Schnittstelle zur Verfügung stellt.

Ist ein "CP2102 USB to UART Bridge" von Silicon Labs.

Welches Python Modul sollte ich einsetzten?
Möchte gern das ganze unter Windows und Linux einsetzten.

Hab schon ein wenig gesucht. Ist wohl ein ziemlich gängiger Chip.

u.a. hab ich das gefunden:
Library and command line program providing access to the EEPROM of an Silabs CP2101 / CP2102 / CP2103. It can programm the USB-Descriptors and the Baudrate table.
-> http://sourceforge.net/projects/cp210x-program/

Genutzt wird hier PyUSB... Denke mal https://pypi.python.org/pypi/pyusb/ ist gemeint, oder?
https://github.com/walac/pyusb/blob/mas ... torial.rst sieht schon mal brauchbar aus...


Also PyUSB die beste Wahl?

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
BlackJack

@jens: Was willst Du denn damit machen? Wenn ich das richtig verstanden habe dann ist das verlinkte Programm ziemlich speziell, nämlich zum flashen von irgendwelchen Daten auf diesem speziellen Chip.

Wenn Du da irgendwas anschliessen willst, gehe ich einfach mal davon aus, dass man die entsprechenden Treiber für's Betriebssystem braucht und dann eine normale serielle Schnittstelle bekommt, die man zum Beispiel mit PySerial benutzen kann. Mal ein ``locate`` nach 'cp21' auf meinem Laptop gemacht: …/kernel/drivers/usb/serial/cp210x.ko — sieht also so aus als gäb's so einen Treiber bei Linux schon frei Haus.
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Eigentlich möchte ich einen DriveWire Server in Python implementieren.

Es gibt einen in Java: https://sites.google.com/site/drivewire4/download sieht so aus: http://a.fsdn.com/con/app/proj/drivewir ... ui_ss1.png

und einen in C: http://sourceforge.net/projects/dwlite/

Es geht um diesen Adapter: http://archive.worldofdragon.org/index. ... re_Adapter

Die Treiber für den CP2102 für Windows habe ich installiert, gibt es hier:http://www.silabs.com/products/mcu/page ... ivers.aspx
Für Linux brauch man keine, da hast du recht.

Und ja, es ist eine Virtuelle COM Schnittstelle... Das http://sourceforge.net/projects/cp210x-program/ Projekt habe ich nur auf die schnelle gefunden. Ich möchte den Chip nicht wirklich neu Programmieren, sondern nur nutzten...


Hab versucht PyUSB and laufen zu bekommen. Aber es gibt unter Windows mal wieder einige Klippen zu umschiffen.
Alleine das installieren geht schon nicht einfach, siehe: https://github.com/walac/pyusb/issues/5 ... t-48158708
Dann braucht man unter Windows noch libusb oder OpenUSB, aber es wird nicht erklärt, wie man die installieren kann, siehe: https://github.com/walac/pyusb/issues/4 ... t-38673722

Aber vielleicht brauche ich das alles nicht, sondern nehme lieber PySerial?!? Ich probiere es mal...

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

PySerial scheint einfacher zu funktionieren ;)

EDIT: Jep, nehme PySerial: https://github.com/DWLOAD/DwLoadServer siehe auch: http://www.python-forum.de/viewtopic.php?f=1&t=35041

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Antworten