Hallo zusammen.
Ich habe ein Problemchen. Die Hardware-UART-Schnittstelle ist belegt (von nem Neo6m). Jetzt möchte ich noch eine andere serielle Schnittstelle auslesen. Da habe ich Soft_UART gefunden und installiert. Aber irgendwie komme ich nicht weiter. Ich kriege keine Daten von der Schnittstelle.
Es handelt sich dabei um einen Laderegler mit einer seriellen Schnittstelle. Bautrate muss 57600 sein. Ich muss „DIAG + CRLF“ (HEX -> 44 73 41 47 13 10) senden, damit mir der Laderegler seine Daten schickt. Ich hatte das schon mal mit einem Arduino probiert und da ging es. Hier bekomme ich es einfach nicht zum laufen. Hab auch ein Python Skript probiert... nix.
TX ist auf Pin 38 (GPIO 20) und RX auf Pin 40 (GPIO 21).
Kann mir jemand einen einfachen Shellbefehl sagen, mit dem ich das testen kann? Oder kurz erklären wie ich das mit Minicom hinbekomme (ich komme damit nicht klar).
Danke und viele Grüße.
Pi Zero W - Soft_UART Probleme
-
HeAdLeSs -
28. Mai 2020 um 20:15 -
Unerledigt
-
-
Pi Zero W - Soft_UART Probleme? Schau mal ob du hier fündig wirst!
-
Moin HeAdLeSs,
tja, bei diesen vagen Angaben kann man nur in die Kristallkugel schaun.
Welche Soft-UART hast du gefunden?
Wird ein Device erstellt?
Gibt es eine Conf?
wie du siehst gibt es einiges zu klären.
73 de Bernd
-
Hallo Bernd.
Sorry. Wusste nicht was da für Angaben wichtig sind.
Ich habe diese gefunden: https://github.com/adrianomarto/soft_uart
Es wird das Device /dev/ttySOFT0 erstellt. Das ist auch da.
Eine conf gibt es direkt nicht. Ich habe es initialisiert mit: -
Moin HeAdLeSs,
kein Problem. Nu is ja alles da.
In dem Readme steht alles drin, was man mit dem Teil machen kann. Wichtig scheint mir, in deinem Fall, aber der letzte Satz:
ZitatAs a result, you can expect communication errors when using fast baud rates. So I would not try to go any faster than 4800 bps.
Der Autor schreibt, das er für Baudraten über 4800 nicht garantiert. Du aber
Bautrate muss 57600 sein
haben möchtest.
Kannst du die Schnittstellen tauschen?
73 de Bernd
-
Der TTL-232R PCB von FTDI wäre eine mögliche Lösung: https://www.ftdichip.com/Support/Docume…TL-232R_PCB.pdf
Eine 5V Variante gibt es auch.Die Preise fangen bei 16 € an. Ziemlich frech, aber die Dinger funktionieren immer.
Du müsstest dann nur noch einen USB-Adapter besorgen, da der Rabsperry Pi Zero W nur Micro USB-Buchsen hat.
Witzige Information nebenbei: Der Raspberry PI 4 hat 5 UARTS (PL011) und einen mini UART. -
Moin @DeaD_EyE,
Witzige Information nebenbei: Der Raspberry PI 4 hat 5 UARTS (PL011) und einen mini UART.
Diese Aussage ist richtig, suggeriert beim Leser aber eine falsche Annahme.
Diese Aussage nützt dem TE HeAdLeSs überhaupt nix!!
Auf dieser Seite: https://www.raspberrypi.org/documentation/…uration/uart.md
heisst es:
Zitat
On the Raspberry Pi, one UART is selected to be present on GPIO 14 (transmit) and 15 (receive) - this is the primary UART. By default, this will also be the UART on which a Linux console may be present. Note that GPIO 14 is pin 8 on the GPIO header, while GPIO 15 is pin 10.https://www.deepl.com übersetzt es wie folgt:
ZitatAuf der Raspberry Pi wird eine UART ausgewählt, die auf GPIO 14 (Senden) und 15 (Empfangen) vorhanden ist - dies ist die primäre UART. Standardmäßig wird dies auch der UART sein, auf dem eine Linux-Konsole vorhanden sein kann. Beachten Sie, dass GPIO 14 Pin 8 auf der GPIO-Stiftleiste ist, während GPIO 15 Pin 10 ist.Fakt ist, auf der GPIO-Leiste ist nur eine Hardware-UART vorhanden!!
73 de Bernd
-
Falsch im angegebenen Kontext des PI4. In dem von dir verlinkten Dokument ist wenig später von overlays die Rede, mit denen man andere uarts einschalten kann. Und die liegen auf dem Pin Header. https://www.raspberrypi.org/documentation/…nary.pdf#page11 Sektion 5.1.2
Natürlich hast du recht, dass das dem TE mit seinen zero nichts nützt. Aber das hat Dead_Eye ja auch nicht behauptet.
Was dem TE nützen könnte ist sowas hier: https://www.dfrobot.com/product-2001.h…_BoCvYgQAvD_BwE
Das ist von der Programmierung dann natürlich eine Spur anspruchsvoller, aber gibt einem zusätzliche 2UARTs. Und sind billiger und kleiner als ein dickes usb ftdi Kabel.
-
Diese Aussage ist richtig, suggeriert beim Leser aber eine falsche Annahme.
Nein, tut sie nicht, es seiden der Leser hat nicht die Fähigkeit zwischen Raspberry Pi Zero W und Raspberry Pi 4 zu unterscheiden.
Ich unterstelle den Mitgliedern hier eine gewisse Grundintelligenz, auch Schülern.
Beim Raspberry Pi 4 lassen sich die UART auf die Pins mappen.
https://github.com/raspberrypi/fi…r/boot/overlays [UART0 - UART5]
https://www.raspberrypi.org/forums/viewtopic.php?t=244827
Alle anderen Modelle können das nicht.
Die können entweder miniUART oder den vollwertigen UART (PL011) auf die beiden Pins mappen.
Das ist der große Unterschied. Dann kann man sich noch entscheiden, ob man Bluetooth deaktivieren möchte oder auf den miniUART ummappen, was dann die Geschwindigkeit von Bluetooth einschränkt.
Den FTDI habe ich vorgeschlagen, da ich den in ungefähr 20 Radar-System verbaut habe, die immer noch funktionieren und für Lehrzwecke eingesetzt werden. Auch wenn sie teurer sind, weiß ich, dass sie bis 921600 Baud fehlerfrei funktionieren und die komplette Logik ist auf dem PCB. Ich habe die Dinger angeschlossen, musste keine Treiber suchen, sondern kann ganz einfach mit PySerial auf /dev/ttyUSB0 zugreifen.
Die vorgeschlagene Alternative von __deets__ ist günstiger und die Logik ist auch im PCB integriert.
Bisher habe ich noch nicht herausgefunden, wie man den Konverter beim Raspberry Pi einsetzen kann.
Die schreiben zwar was vom Raspberry PI, aber die Bibliotheken sind für den Arduino.Für den Schüler, der basteln möchte, ist das eine günstige Alternative, sofern er herausfindet, wie man die Hardware nutzt. Beim Überfliegen der Dokumente habe ich leider nichts gefunden.
-
Hallo zusammen.
Sorry für die späte Rückmeldung. Ich hatte jetzt ein paar Tage 'Bastelpause'. In der Zwischenzeit hat sich das Thema, für mich, erledigt.
Ich habe den Solarladeregler rausgeschmissen (der hatte eine UART Schnittstelle zum auslesen der Daten) und bin auf einen anderen gewechselt. Da der keine Schnittstelle mehr hat (TP4056) habe ich jetzt einen INA219 dazwischen gesetzt. Der wird glücklicherweise per I2C angeschlossen.
Trotzdem danke für eure Hilfe ... und habt euch lieb -
Moin HeAdLeSs,
danke für die Rückmeldung!
Dann, bitte, noch dein Thema als erldigt markieren.
Das geht oben bei "Thema bearbeiten".
Danke.
73 de Bernd
Jetzt mitmachen!
Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!