Seite 1 von 1

mit pyserial auf USB Port zugreifen

Verfasst: Freitag 18. Dezember 2020, 14:30
von egon11
Hallo, ich habe ein USB Relais, wie hier https://www.amazon.de/ARCELI-SRD-05VDC- ... 146&sr=8-4 (hoffe der Link ist erlaubt).

Den habe ich bis jetzt mit fertigen Python Scripten und aus dem Internet gesteuert. Allerdings mit Python2 :? :roll:

Jetzt bin ich auf die Idee gekommen, es mal mit dem Modul "pySerial" zu versuchen.
Würde das gehen wenn ich pySerial installiere und mit meinen eigenen Script auf das Modul pySerial zugreife?

Re: mit pyserial auf USB Port zugreifen

Verfasst: Freitag 18. Dezember 2020, 17:11
von __blackjack__
@egon11: Wie machen die Python 2-Module das denn? Ist ja nicht so das Python 3 jetzt eine komplett andere Programmiersprache wäre.

Re: mit pyserial auf USB Port zugreifen

Verfasst: Freitag 18. Dezember 2020, 17:28
von egon11
Ich dachte man kann mit "pySerial" etwas zaubern.


Ich bekomme bei python3 immer die Fehlermeldung

Code: Alles auswählen

AttributeError: module 'hid' has no attribute 'device'
.

Installiert habe ich noch:

Code: Alles auswählen

python3 -m pip install --upgrade setuptools

sudo apt-get install python3-dev libusb-1.0-0-dev libudev-dev

python3 -m pip install hidapi

Re: mit pyserial auf USB Port zugreifen

Verfasst: Freitag 18. Dezember 2020, 18:15
von __blackjack__
@egon11: Warum dachtest Du das? Wird das Relais denn über eine serielle Schnittstelle angesprochen? DasDu `libusb` und `hidapi` installieren musst, spricht ja irgendwie schon dagegen. Wie kommst Du da also drauf?

Und die Fehlermeldung kann ich nicht nachvollziehen. Nach der Installation von `hidapi`:

Code: Alles auswählen

In [191]: import hid                                                            

In [192]: hid.device                                                            
Out[192]: hid.device
Du hast da eventuell ein anderes `hid`-Modul das davor im Importpfad liegt‽

Re: mit pyserial auf USB Port zugreifen

Verfasst: Freitag 18. Dezember 2020, 18:29
von egon11
Ich habe jetzt das ganze "hidapi" nochmal deinstalliert und nochmal neu installiert, jetzt funktioniert es.

Ist es besser wenn man die `pip` Module ins home Verzeichnis installiert oder ins system?
Also mit oder ohne sudo?


Und gibt es noch andere Varianten (Module) womit man USB Karten über Python ansprechen kann?

Re: mit pyserial auf USB Port zugreifen

Verfasst: Freitag 18. Dezember 2020, 18:39
von __blackjack__
@egon11: Andere Varianten als was? Direkt USB mit einer Anbindung an `libusb`, aber es gibt ja diverse USB-Protokolle für die das Betriebssystem allgemeine Treiber hat. Beispielsweise wenn sich das USB-Gerät als Eingabegerät wie Tastatur oder Maus, als Massenspeicher, oder als serielle Schnittstelle ansprechen lässt.

Re: mit pyserial auf USB Port zugreifen

Verfasst: Freitag 18. Dezember 2020, 18:43
von egon11
ok vielen dank.

Re: mit pyserial auf USB Port zugreifen

Verfasst: Samstag 19. Dezember 2020, 11:38
von egon11
Hallo, ich meinte oben nicht 'pySerial' , sonder 'pyUSB'.
Mit 'pyUSB' kann man jede USB Schnittelle ansprechen oder?

Re: mit pyserial auf USB Port zugreifen

Verfasst: Samstag 19. Dezember 2020, 12:44
von __deets__
Ja, aber das kann beliebig kompliziert werden. Da musst du das Gerät und dessen Protokoll schon gut kennen.