611_4DA009-Figure1

Bild 1: Auf 4D-UPA-Programmieradapter montiertes IoD-09TH von 4D Systems. (Bild: 4D Systems)

Eckdaten

In diesem Artikel erklärt der Autor Markku Riihonen von 4D Systems anhand eines kurzen Beispiels, wie einfach ein Wireless-Display zu nahezu jeder Anwendung hinzugefügt werden kann und wie schnell das Display-Layout und der zusätzliche Code integriert werden können.

Daten werden in vielen Organisationen schnell zur wichtigsten Ressource: von industriellen Fertigungsprozessen bis hin zu Hausautomatisierungssystemen. Industrie 4.0, Internet der Dinge (Internet of Things, IoT) und das industrielle Internet der Dinge (IIoT) sind für die Generierung riesiger Datenmengen verantwortlich, anhand derer operative und strategische Geschäftsentscheidungen getroffen werden. In IIoT-Anwendungen sammeln eine Vielzahl von oftmals batteriebetriebenen Sensoren Daten und leiten diese ohne sichtbare Informationen an die Cloud weiter. Instandhaltung und Betriebspersonal erhalten keine Information darüber, was der Sensor meldet und können dies zudem nicht online überprüfen. Es geht jedoch auch anders.

611_4DA009-Figure1

Bild 1: Auf 4D-UPA-Programmieradapter montiertes IoD-09TH von 4D Systems. 4D Systems

Bild 2 - Rückansicht des gen4-IoD-09TH-Moduls von 4D Systems mit eingesetzter MicroSD-Karte.

Bild 2: Rückansicht des gen4-IoD-09TH-Moduls von 4D Systems mit eingesetzter microSD Karte. 4D Systems

So zum Beispiel in einem Rechenzentrum, in dem wichtige Serverinformationen wie Temperatur, Lüftergeschwindigkeit und Fehlerstatus an eine entfernte Netzwerkverwaltungskonsole gesendet werden, ohne dass die Informationen von der entsprechenden Anlage angezeigt werden. Hier ist kein großes Anzeigefeld erforderlich. Es genügt ein kleines kompaktes Display, das die wichtigsten Daten darstellen kann.

Kompaktes Farb-TFT-Display

Display-Module wie das 0,9-Zoll-IoD-09-Range (Internet of Displays) von 4D Systems lassen diese Anforderung Wirklichkeit werden (Bild 1). Dieses kompakte 80 × 160 Pixel große Farb-TFT-Display misst lediglich 31,8 × 16,4 × 11,7 mm3 (THT-Variante IoD-09TH) und beinhaltet einen 2,4 GHz 802.11 b/g/n/e/i drahtlosen SoC-Mikrocontroller von Espressif ESP8266. Da dieser Mikrocontroller innerhalb der Arduino-IDE-Umgebung programmiert werden kann, ist er äußerst beliebt. Embedded-Entwickler profitieren vom umfangreichen Hardware-Wissen und den Open-Source-Softwareressourcen der Arduino- und ESP8266-Communities. Das drahtlose IoD-09-Displaymodul gibt es auch in einer SMD-Ausführung (IoD-09SM) mit geringfügig kleineren Abmessungen.

Das Displaymodul enhält eine Wi-Fi-Antenne, einen 512-kB-Flash-Speicher und 128 kB SRAM, von denen 80 kB für Benutzeranwendungen verfügbar sind. Enthalten sind alle Wi-Fi- und TCP-/IP-Protokollstacks. Es kann über USB und den 4D-UPA-Universal-Programmieradapter von 4D Systems kommunizieren und mit Strom versorgt werden (Bild 1). Zu den verfügbaren Schnittstellen gehören GPIO, I2C, SPI und 1-Wire. Ein microSD-Steckplatz ist zum Speichern von Daten und Bilddateien vorgesehen (Bild 2).

Das Modul eignet sich sehr gut, um Informationen, die von anderen Online-Systemen und/oder -Netzwerken gesammelt wurden, anzuzeigen. Neben IoT-/IIoT-Anwendungen sind auch andere Einsatzbereiche denkbar wie beispielsweise Serverüberwachung, HVAC-Ausrüstung oder Handels-/POS-Promotion.

Auf der nächsten Seite wird ein einfaches Beispiel für NTP beschrieben

Bild 3 - Erstellen eines neuen Projekts in Workshop 4.

Bild 3: Erstellen eines neuen Projekts in Workshop 4. 4D Systems

Ein einfaches Beispiel für den Network Time Protocol (NTP), veranschaulicht die Geschwindigkeit mit der das IoD-09TH eine Anwendung realisiert. NTP ist einer der ältesten Netzwerkprotokollstandards, der Computeruhren über das Internet innerhalb einiger Millisekunden synchronisiert. In dem hier beschriebenen Beispiel wird eine NTP-Anfrage erteilt und anschließend die Zeit angezeigt. Dabei wird eine sehr einfache, jedoch äußerst genaue Internetuhr erstellt. Zuerst gilt es, eine Reihe von Voraussetzungen zu überprüfen.

Zum einen benötigt der Computer eine Arduino IDE, um ESP8266WiFi.h- und WiFIUdp.h- Bibliotheken installieren zu können. Diese sind im Menü „Bibliotheken hinzufügen/verwalten“ der Arduino IDE zu finden. Weiterhin muss das IoD-Board-Paket aus den IDE-Board-Manageroptionen hinzugefügt werden. Vollständige Anweisungen darüber gibt das IoD-09-Datenblatt. Als nächstes muss die Grafikbibliothek installiert werden. Dann lässt sich die GUI-IDE von Workshop 4 verwenden und das Display-Layout kann beschleunigt erstellt werden. Bei diesem Beispiel wird das Workshop 4 GUI-Design-Tool verwendet. Deshalb ist es erforderlich, die neueste Version herunterzuladen.

Download in das Arbeitsverzeichnis

Bild 4 - Das virtuelle Display mit dem LED-Widget.

Bild 4: Das virtuelle Display mit dem LED-Widget. 4D Systems

Wie in Bild 1 dargestellt, wird ein IoD-09TH-Modul verwendet, das mit DIP-Headern an einen Universal Programming-Adapter von 4D Systems angeschlossen wurde. Für die Software der Module wird mit einem öffentlich verfügbaren NTP-Download die Anwendungsskizze erstellt. Den Link dazu finden Sie im Online-Artikel unter der InfoDirekt-Nummer. Der Download erfolgt in das Arbeitsverzeichnis der Arduino-IDE.

Zuerst muss definiert werden, was auf dem Display angezeigt werden soll. In dem hier beschriebenen einfachen Beispiel zeigt eine 4-stellige 7-Segmentanzeige die aktuelle Zeit in Stunden und Minuten an. Dazu wählt der Anwender in Workshop 4 ein neues Projekt, wie in Bild 3 dargestellt und klickt auf weiter. Aus dem Widgets-Menü wählt er anschließend ein LED-Display aus und zieht dieses auf die Vorderseite des virtuellen IoD-09-Moduls, das sich auf der rechten Seite des Arbeitsbereichs von Workshop 4 befindet (Bild 4).

Eigenschaften des Widgets

Bild 5 - NTP Demoskizze einschließlich Workshop 4-Code.

Bild 5: NTP Demoskizze einschließlich Workshop 4-Code. 4D Systems

Der Bildschirmrahmen zeigt die Eigenschaften des Widgets an, die sich bei Bedarf ändern lassen. Ziffern- und Hintergrundfarben, Schriftart und -größe des LED-Displays und auch andere Eigenschaften lassen sich ebenfalls ändern. Auch Titelbeschriftungen können bei Bedarf eingegeben werden. Sobald die Bild-Widgets angeordnet sind, wird „Kompilieren“ gewählt, um den Arduino-Skelettcode zu generieren. Bei diesem Vorgang wird der Anwender außerdem aufgefordert, zwei Bildschirmlayoutdateien zu kopieren, die für die microSD-Karte generiert werden. In diesem Beispiel heißen diese IOD-NT ~ 1.DAT und IOD-NT~1.GCI. Der restliche erforderliche Code für die NTP- und Wi-Fi-Kommunikation kann in Workshop4 integriert werden oder der Anwender kopiert den generierten Code einfach in seine Arduino IDE. Fällt die Entscheidung auf Workshop 4, muss die Arduino IDE am Computer laufen, da Workshop 4 Hintergrundaufrufe für das Kompilieren und Hochladen des Codes durchführt. Eine andere Datei mit der Endung const.h wird ebenfalls generiert und muss der Arduino-IDE-Skizzedatei hinzugefügt werden.

Anschließend muss die von Workshop 4 erstellte INO-Datei in das oben heruntergeladene NTP-Skizzenbeispiel eingearbeitet werden. Bild 6 zeigt den oberen Teil der resultierenden Skizzendatei in der Arduino IDE an.

Nummerischen Wert bilden

Bild 6 - Ergänzungen zur Skizze, um die Uhrzeit anzuzeigen.

Bild 6: Ergänzungen zur Skizze, um die Uhrzeit anzuzeigen. 4D Systems

Bild 5 zeigt den ersten Abschnitt des Codes. Nun ist es erforderlich, die SSID und das Passwort des WLAN Access Points einzugeben. Um die empfangenen NTP-Zeitvariablen in das Format für die 7-Segmentanzeige zu zerlegen, müssen, wie in Bild 6 dargestellt, die hervorgehobenen Abschnitte zum NTP-Code hinzugefügt werden. Die Variablen drs und tmins enthalten die Stunden und Minuten, die dann zusammengefügt werden, um den numerischen Wert zu bilden, der mit dem Befehl gfx.LedDigitsDisplay (numx, iiLeddigits1, 4,3,27,0);angezeigt werden soll.

611_4DA009-Figure7

Bild 7: Ausgabe des seriellen Monitors während der Ausführung des Codes. 4D Systems

Wenn der Code ausgeführt wird, gibt er Debuginformationen aus und zeigt so den Kommunikationsstatus und den Vorgang an. Dies ist sehr nützlich, um zu verstehen, was vor sich geht. Zu sehen ist dies in Bild 7. Die angezeigte UTC-Zeit ist in Bild 1 dargestellt. Der vollständige Code ist im Online-Artikel unter der InfoDirekt-Nummer zu finden.

Markku Riihonen

Manager für Produkt- und Geschäftsentwicklung, 4D Systems

(ah)

Sie möchten gerne weiterlesen?

Unternehmen

4D Systems Pty Ltd

Unit 7, 103 Sargents Road
2770 Minchinbury, NSW
Australia