Neben der Verkabelung müssen Sie auch die Software organisieren. Dazu melden Sie sich unter Raspbian lokal oder via SSH an und installieren das minimalistische Terminalprogramm Picocom. Danach rufen Sie es mit den in Listing 2 aufgeführten Parametern auf (siehe Tabelle “Picocom-Optionen”). Am Ende des Aufrufs definieren Sie das zu verwendende Gerät, im Beispiel die serielle Hauptschnittstelle /dev/serial0.
Listing 2
$ sudo apt install picocom $ picocom -b 9600 -d 8 -f n -p e /dev/serial0
|
Optionen |
Erklärung |
|---|---|
|
|
Baudrate, im Beispiel 9600 Bit/s |
|
|
Anzahl der Datenbits in einem Frame |
|
|
Datenflusskontrolle ( |
|
|
Parity ( |
Im Testaufbau sendet Picocom so alle Tastatureingaben an die Gegenstelle, also an den eigenen Raspberry Pi, der wiederum sich selbst antwortet. Im Beispiel in Abbildung 2 haben wir Hello World! eingegeben, die Antwort erscheint dann auf dem Bildschirm.

Abbildung 2: Der Raspberry Pi führt Selbstgespräche. Das lokal eingetippte Hello World! erscheint umgehend auf dem eigenen Bildschirm.
Zur Kontrolle der Verbindung stecken Sie das Kabel kurzzeitig vom RXD-Pin ab – daraufhin sollten die Eingaben nicht mehr im Terminal auftauchen. Sobald Sie das Kabel erneut anstecken, steht die Leitung wieder und die Ausgabe der Eingaben geht direkt weiter.
Um eine neue Zeile einzugeben, tippen Sie [Strg]+[J], gefolgt von der Eingabetaste. Kommandos wie etwa [Strg]+[C] leitet Picocom an die Gegenstelle weiter. Um das Programm zu schließen und somit die Verbindung zu trennen, drücken Sie [Strg]+[A] als Steuertaste und anschließend [Strg]+[X] als Kommando zum Beenden.
Erst einmal nur UART
Selbstgespräche funktionieren also, doch ein Dialog zwischen zwei Teilnehmern macht mehr Spaß. Um zwei Mini-Rechner über eine serielle Leitung miteinander zu verbinden, müssen Sie auch den zweiten RasPi wie bereits gezeigt vorbereiten. Anschließend verbinden Sie den TX-Pin des ersten RasPi mit dem RX-Pin des zweiten sowie den TX-Pin des zweiten RasPi mit dem RX-Pin des ersten (Abbildung 3).

Abbildung 3: Die serielle Verbindung zweier Raspberry Pis erfolgt über einen UART-Crossover-Anschluss. (Bild: Raspberry Pi Foundation, CC-BY-SA)
Mit diesem Aufbau gibt der erste Raspberry Pi die Ausgaben des zweiten aus und umgekehrt (Abbildung 4). Dazu müssen jedoch die Aufrufparameter von Picocom an beiden RasPis exakt übereinstimmen (Listing 3). Mit diesem Grundaufbau können Sie nun Dateien seriell übertragen, ein Programm zur seriellen Kommunikation in Python schreiben oder ganz eigene Anwendungsfälle entwickeln.
Listing 3
$ picocom -b 9600 -d 8 -f n -p e /dev/serial0
Bei der Gegenstelle muss es sich keineswegs unbedingt um einen Raspberry Pi handeln. Oft möchte man etwa mit einem Mikrocontroller über eine serielle Schnittstelle sprechen, beispielsweise mit dem beliebten ESP8266. Dabei sollte man allerdings immer sicherstellen, dass die Signalpegel des Gegen-UARTs ebenfalls bei 3,3 V liegen und nicht etwa bei 5 V, sonst könnten die Pins des RasPi beschädigt werden.
RS-485
Kommen wir nun zur Königsdisziplin, dem Aufbau von RS-485 auf einem Breadboard. Dazu benötigen Sie zwei RS-485-Transceiver-Chips; im Beispiel kommen zwei SN65HVD1782 von Texas Instruments zum Einsatz. Das dazugehörige Datenblatt stellt TI auf seiner Homepage zur Verfügung [2].
Die Pin-Belegung des Transceiver-Bausteins zeigt Abbildung 5, weitere Erklärungen dazu finden Sie in der Tabelle “Pinout des SN65HVD1782”. Das PDIP-Package (Plastic Dual In-line Package) des TI-Bausteins eignet sich aufgrund seiner Beinchen ideal für Experimente mit einem Breadboard.
|
Pin |
Name |
I/O |
Beschreibung |
|---|---|---|---|
|
1 |
R |
Digital Output |
Wird an den RX-Pin des jeweiligen RasPi angeschlossen. |
|
2 |
RE |
Digital Input |
Receiver Enable Low: Der Receiver ist aktiv, falls er an GND des jeweiligen RasPi anliegt (kein gemeinsamer GND). |
|
3 |
DE |
Digital Input |
Driver Enable High: Hier müssen Sie einen der Rechner auswählen. Im Beispiel ist |
|
4 |
D |
Digital Input |
Driver Data Input: Wird an TX des jeweiligen RasPi angeschlossen. |
|
5 |
GND |
|
Masse. |
|
6 |
A |
Bus Input/Output |
an A (Pin 6) des zweiten Chips – nicht kreuzen. |
|
7 |
B |
Bus Input/Output |
an B (Pin 7) des zweiten Chips – nicht kreuzen. |
|
8 |
3,3V |
|
Versorgungsspannung. |
Die Spannungsangabe in der Dokumentation widerspricht der unter Features gemachten Angabe auf der Homepage des Herstellers. Dort gibt TI einen geeigneten Spannungsbereich zwischen 3,3 und 5 Volt an. Für den Versuchsaufbau haben Sie aber sowieso keine Wahl, Sie müssen den Chip mit 3,3 Volt versorgen: Außer bei speziellen Chips ist die Versorgungsspannung üblicherweise maßgebend für die Pegel an den Logik-Pins, die Sie hier an den RasPi anbinden möchten – und der verträgt nur 3,3 Volt.







