Mam urządzenie z kablem portu szeregowego USB, który chciałbym podłączyć do mojego Raspberry Pi. Chipset tego kabla USB do portu szeregowego to PL-2303 firmy Prolific Technology, Inc.
Jak mogę odczytać dane z połączenia szeregowego tego urządzenia za pomocą Pythona?
Odpowiedzi:
Aby rozmawiać z urządzeniem szeregowym za pomocą Pythona, użyj modułu pyserial. Jeśli nie jest dostępny w Twojej dystrybucji, można go zainstalować, pobierając kopię źródła ze strony projektu Pyserial i uruchamiając „Python setup.py install”
Proste przykłady użycia pyserial są dostępne w krótkim wstępie .
Moduł dla PL-2303 jest domyślnie dostępny - zobacz repozytorium oprogramowania układowego GitHub - po podłączeniu urządzenia powinieneś zobaczyć, jak się uruchamia
/var/log/messages
. Połączyłem się z Arduino i to „po prostu działało” na porcie komunikacyjnym/dev/ttyUSB0
(inne urządzenie, sterownik, mikroukład itp., Więc przebieg może się różnić ).źródło
PL-2303 jest dobrze obsługiwany i będzie wyglądał jak
/dev/ttyUSBx
. Nie są potrzebne sterowniki. Przeczytaj to tak jak każdy normalny port szeregowy. Nie korzystałem z Pythona, ale w C ++ otwieram () w trybie nieblokującym, wybieram (), aby sprawdzić, czy są dane do odczytania, a następnie wykonuję read ().źródło
Pobierz pySerial ( https://pypi.python.org/pypi/pyserial )
Możesz sprawdzić dostępność ttyUSB za pomocą linii
Aby wyświetlić wyjście szeregowe, użyj
Aby przełamać crtl + c
Utwórz plik testserial.py wklej ten kod
źródło
Świetny samouczek:
http://www.digitalmihailo.com/post/usb-programming-with-python-on-linux
Cennym źródłem informacji jest http://www.lvr.com/usbc.htm Complete
źródło