Ich versuche, über USB mit einigen UART-Geräten zu kommunizieren. Ein HT-06-Bluetooth-Modul und ein GY-NEO6MV2-GPS-Modul. Ich verwende ein Prolific PL2303-USB-Kabel. Als Backup habe ich auch ein Silicon Labs CP2102.
Wenn ich den PL2303 anschließe
- ein
lsusb
Befehl gibt zurückBus 001 Device 015: ID 067b:2303 Prolific Technology, Inc. PL2303 Serial Port
- und ein
dmesg
Befehl gibt zurück[147697.657037] usb 1-11: pl2303 converter now attached to ttyUSB0
- eine
ls -l
von/dev
Showscrw-rw---- 1 root dialout 188, 0 Jun 15 08:58 ttyUSB0
und ich habe mich selbst zur dialout
Gruppe hinzugefügt und die Einstellungen chmod
auf gesetzt 666
.
Ich verwende dann Putty mit einer seriellen Verbindung mit Port /dev/ttyUSB0
, Baud 9600 und Parität 8,1,Keine. Ich verbinde das PL2303-Kabel mit dem HT-06 als GND-GND, VCC-VCC, TX-RX und RX-TX. Alles ziemlich grundlegende Dinge.
Der Putty-Bildschirm beginnt mit einem Cursor in der oberen linken Ecke. Ich sende einen AT-Befehl. Ich erwarte OK, aber es passiert nichts. Ich habe ein zweites HT-06, aber immer noch nichts.
Ich dachte, es könnte ein defektes RX- oder TX-Kabel sein (ich bekomme eine blinkende LED auf dem HT-06, also sind VCC und GND in Ordnung), also habe ich den PL2303 gegen den CP2102 ausgetauscht. Sowohl lsusb als auch dmesg sagen mir, dass der Konverter angeschlossen ist (wieder bei /dev/ttyUSB0
). Mit denselben Putty-Einstellungen bekomme ich immer noch nichts.
In ähnlicher Weise habe ich den NEO6M sowohl mit dem PL2303 als auch mit dem CP2102 verbunden und xgps
(eine Teilmenge von gpsd
) verwendet. Dies gibt einen Fehler zurück
gpsd is not connected to /dev/ttyUSB0
und offensichtlich passiert nichts.
Ich verwende Linux Mint 20 mit Kernel 5.4.0-74-generic, der die Treiber für CP210X und PL230X enthält. Ich habe auch verschiedene USB-Anschlüsse (USB2 und USB3) ausprobiert. Trotz 2 verschiedener USB-TTL-Konverter, 3 UART-Geräten und mehreren verschiedenen seriellen Terminal-Apps (ich habe auch minicomm
und ausprobiert rfcomm
) funktioniert nichts.
Antwort1
Ich habe einen alten Arduino ausgegraben, der zuvor auf meinem PC funktioniert hat, als es noch eine viel ältere Linux-Version war. Mit der neuesten Arduino IDE und dem Serial Monitor ... funktioniert es. Ich kann jetzt sowohl mit HC-06- als auch mit NEO6m-Geräten kommunizieren. Nicht die Auflösung, nach der ich gesucht habe, aber es ist ein Workaround
Antwort2
Können Sie Ihre TTY-Konfiguration stty --all -F /dev/ttyUSB0 freigeben und das CLOCAL-Flag überprüfen, alle Konfigurationsflags überprüfen und auch Ihre Hardwarekonfiguration überprüfen? Es gibt verschiedene Verdrahtungskonfigurationen für den DB9-Anschluss. Denken Sie auch daran, dass die Geschwindigkeit die Baudrate oder die Bitrate ist (abhängig von der Treiberkonfiguration). Wenn Sie also eine Bitrate von 9600 möchten, sollten Sie die Geschwindigkeit manchmal auf 1200 einstellen
Antwort3
Ich habe mein Modem mithilfe des picocom
( sudo apt install picocom
)-Programms zum Laufen gebracht:
picocom /dev/ttyUSB0
Geben Sie dann einfach Befehle ein. Versuchen Sie es auch mit sudo, wenn es nicht funktioniert.