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
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.