Raspberry Pi Daten auf dem Wio Terminal LCD Screen anzeigen

Das Wio Terminal von Seeed Studio ist ein Entwicklungsgerät, das standalone oder z.B. mit dem Raspberry Pi betrieben werden kann. Hierbei ist es möglich einfache Daten, wie Speicherinformationen, CPU Auslastung, etc. anzuzeigen, oder den Pi sogar um einen dritten Screen zu erweitern.

Daneben bringt das Wio Terminal u.a. auch ein Gyroskop, SD-Karten-Slot, Mikrofon, Buzzer, Buttons, uvm. mit. All diese Bausteine können individuell oder durch den Raspberry Pi ausgelesen und programmiert werden. In diesem Tutorial fokussieren wir uns darauf, wie man vom Raspberry Pi verschiedene System-Daten an das Wio Terminal per serieller Schnittstelle sendet und diese anzeigt.

 

Zubehör & Spezifikationen

In diesem Tutorial werden wir lediglich folgende Teile benötigen:

Wie bereits erwähnt, hat das Wio Terminal (D51R) interessante Hardware-Spezifikationen:

 

 

Hauptchip

Prozessor

ARM® Cortex®-M4F

Maximum Speed

200MHz

Externer Flash Speicher

4 MB

LCD

Auflösung

320 x 240 Pixel

Größe

2.4 Zoll

Kabellose Verbindungen

WLAN

802.11 a/b/g/n 1×1, 2.4GHz & 5GHz

Bluetooth

unterstützt BLE5.0

Module

Gyroskope

LIS3DHTR

Mikrofon

1.0V-10V -42dB

Lautsprecher

≥78dB @10cm 4000Hz

Lichtsensor

400-1050nm

Infrarotsender

940nm

Interfaces

MicroSD Karten Slot

max. 16GB

GPIO

40-PIN (kompatibel mit dem Raspberry Pi)

Grove

2 (multifunktional)

FPC

20 Pins

USB Type-C

Power & USB-OTG

Wio-Terminal-KeyFeatureWio Terminal Inputs (Quelle)
 

Wio Terminal Vorbereitung – Installation der Arduino IDE

Der Code für das Wio Terminal wird über die Arduino IDE übertragen. Auch für den Arduino bzw. ESP8266 nutzen wir die IDE. Falls du sie noch nicht installiert hast, fange damit an. Nun laden wir uns noch die LCD Library von Seeed Studio von Github (Code > Download ZIP).

https://github.com/Seeed-Studio/Seeed_Arduino_LCD

Anschließend wählen wir in der Arduino IDE unter „Sketch“ > „Include Library“ > „Add ZIP Library“ die geladene Datei aus.

Arduino IDE -Add ZIP Library

Danach wählen wir im gleichen Menüpunkt „Manage Libraries“ aus, suchen nach Adafruit Zero DMA und installieren sie.

Adafruit Zero DMA Library

 

Zu guter Letzt geben wir unter „File“ > „Preferences“ > „Additional Board Manager URLs“ noch folgende URL an:

https://files.seeedstudio.com/arduino/package_seeeduino_boards_index.json

Falls du bereits für den ESP8266 eine URL eingetragen hast, ist das kein Problem. Du kannst pro Zeile einen Wert hinterlegen.

Arduino IDE ESP8266 Board

Unter „Tools“ werden nun weitere Boards angezeigt. Als letzten Punkt wählen wir „Tools“ > „Board“ > „Seeed SAMD …“ > „Seeduino Wio Terminal“ aus. Übernimm ebenfalls die weiteren Einstellungen, falls sie nicht wie hier gezeigt sind:

Arduino IDE - Wio Terminal Settings

Wenn du das Modul nun per USB anschließt, sollte der Port direkt erkannt werden (du musst ihn vorher mit dem linken Button starten).

 

Coding – Wio Terminal & Raspberry Pi

Wir fangen damit an, den Code auf das Wio Terminal zu laden. Lege dazu auf deinem PC einen Ordner mit dem Namen „readRasp“ an und erstelle dort eine Datei namens „readRasp.ino“ (alternativ von hier herunterladen und einfügen). Die Datei kann mit der Arduino IDE bearbeitet werden und bekommt folgenden Inhalt:

Zusätzlich laden von hier noch die Datei „Free_Fonts.h“ und legen sie in den Ordner.

Bevor wir weiter machen werfen wir kurz einen Blick auf den Code:

  • Zeile 5/6: Zuweisungen von Variablen
  • Zeile 8-63: Bitmap Arrays
  • In Zeile 66-92 ist die Funktion getStringPartByNr, welche einen String aufteilt und einen bestimmten Teil zurückgibt (mehr dazu gleich).
  • In Zeile 94-109 wird setup einmalig beim Start aufgerufen (Initialisierung, Öffnen der seriellen Schnittstelle)
  • Zeile 111-144: loop – wird per Endlosschleife aufgerufen – hier wird das Rendering aufgerufen. Wir warten auf eine Nachricht über die serielle Schnittstelle und extrahieren die Daten daraus. Anschließend werden 3 Screens mit jeweils 2 Sekunden Verzögerung hintereinander angezeigt.
  • Ab Zeile 146: Render Funktionen der einzelnen Screens. Mittels tft können die LCD Funktionen des Wio Terminals aufgerufen werden (und damit können Grafiken gezeichnet werden).

Nun laden wir den Code auf das Gerät. Verbinde das Wio Terminal nach Abschluss des Uploads mit dem Raspberry Pi und starte beide. Am Anfang wird ein weißer Screen mit „Starting…“ angezeigt (wie in der Funktion HomeScreen definiert).

 

Raspberry Pi

Nun wechseln wir auf den Raspberry Pi per SSH. Dort erstellen wir zunächst eine neue Python Datei.

sudo nano wio_terminal_example.py

Wir fügen folgenden Inhalt hinein:

Dieses Skript liest die Systemdaten aus, stellt eine serielle Verbindung zum Wio Terminal her und sendet darüber die Daten in der definierten Reihenfolge.

Anschließend speichern (STRG+O) und beenden (STRG+X) wir den Editor und führen das Skript aus:

sudo python wio_terminal_example.py

Nun wirst du die Daten auf dem Display angezeigt bekommen.

 

Fazit & Weiteres

Das Wio Terminal von Seeed Studio ist in meinen Augen ein sehr interessantes Tool, welches für bestimmte Projekte einfach so genutzt werden kann (z.B. mittels MQTT) oder einen Raspberry Pi um ein Display, Sensoren, Buttons, uvm. erweitern kann. Für alle weiteren Funktionen gibt es auf der Wiki Seite auch Code-Beispiele, welche direkt so in die Arduino IDE übernommen werden können. Zwar ist es genauso gut möglich, all jene Sensoren und Module separat zu betreiben, aber dafür hat man dabei nicht alles in einem kompakten kleinen Gehäuse.

Einziges Manko, das mir aufgefallen ist: Man braucht einen zusätzlichen „Stacking Header“, wenn man das Terminal auf die GPIOs stecken will, da es ansonsten bei einem Raspberry Pi 4 nicht obendrauf passt.

 

Falls Interesse an weiteren Tutorials (standalone oder in Verbindung mit dem Raspberry Pi) besteht, schreib gerne einen Kommentar 🙂

 

Bildquellen: Seeed Studio

2 Kommentare

  1. Interessantes Thema und guter Beitrag! Gerne mehr über das Wio-Terminal, Stand alone, wie auch in Verbindung mit Raspi, Arduino und auch externen Sensoren.

    Antworten
  2. Leider kann ich die Datei „wio_terminal_example.py“ nicht herunterladen. An dieser Stelle wir nur
    „Ein Fehler ist aufgetreten. Bitte versuchen Sie es später erneut.“
    ausgegeben. Dies passiert sowohl bei Firefox als auch bei Opera. Ist die Datei, die dort angezeigt werden sollte nicht mehr vorhanden? Oder könnte der Fehler bei meinem Rechner liegen. Ich habe den Virenscanner von Kaspersky bei mir laufen.

    Antworten

Hinterlasse einen Kommentar

Deine Email Adresse wird nicht veröffentlicht.

Blog abonnieren

Abonniere Raspberry Pi Tutorials, um kein Tutorial mehr zu verpassen!