Nextion HMI

Nextion HMI bezeichnet ein grafisches Farb-Display, welches als grafisches User-Interface (GUI) Steuerungs- und Visualisierungsaufgaben wahrnehmen kann.

Die Nextion HMIs umfassen einen Hardwareteil, das sind verschiedene TFT-Boards, und einen Softwareteil, den Nextion-Editor.

Die Nextion TFT-Platinen verwenden einen seriellen Anschluss für die Kommunikation mit einem Mikrocontroller. Eine komplexe Verkabelung wird so vermieden.

Beim Bezug eines Nextion HMI über deren Distributoren wird man ein Display mit einer Bezeichnung NX3224T028_011R oder ähnlich erhalten. Bezieht man hingegen ein solches Board über einen der grossen Anbieter aus Fern-Ost, dann kann es passieren, dass das Display mit TJC3224T028_011R bezeichnet ist.

Folgendes erscheint mir wichtig zu wissen:

  1. Displays mit der Bezeichnung TJC… werden von Taojingchi (TJC) für den chinesischen Markt vertrieben.
  2. Display mit der Bezeichnung NX… werden von ITEAD Studios für den internationalen Markt vertrieben.
  3. Beide Firmen haben ihren Sitz in Shenzen.
  4. TJC und Nextion arbeiten zusammen, um sicherzustellen, dass die Firmware von einer Firma nicht mit der der anderen kompatibel ist.
  5. Beide Firmen haben ihren eigenen Editor, die sich in der Funktionalität leicht unterscheiden.
  6. Es ist der Nextion Editor für die GUI-Entwicklung für NX-Displays und der USART HMI Editor mit chinesischer Beschriftung für die TJC-Displays zu verwenden. Ein Mix funktioniert nicht!

Download-Links:

Mit dem USART HMI Editor kann man auch ohne Chinesisch-Kenntnisse arbeiten, wenn man parallel dazu den Nextion Editor aufmacht. Der Aufbau der beiden ist (weitgehend) identisch.

Hochintegrierter WiFi-Chip

ist der Titel eines in Design & Elektronik 3/2018 erschienenen Beitrag zu Ledunia, einem ESP8266 High-End-Modul.

Die intelligente Analyse bestehender ESP8266 Module hat einen Ansatz geliefert, den verbreiteten ESP8266 Modulen eine Ergänzung beizustellen, die bestehende Beschränkungen aufhebt und neue Merkmale hinzufügt. Dieser Ansatz hat die Teilnehmer der Kickstarter-Kampagne überzeugt und diese zu einem erfolgreichen Abschluss geführt.

Wichtig für den Einsatz einer solchen Baugruppe sind neben der starken Arduino Community auch direkte Ansprechpartner, die bei einem in Deutschland entwickelten Produkt vorhanden sind.

Die vorliegenden Zertifizierungen (CE, FCC) für Ledunia bieten darüber hinaus Sicherheit beim Einsatz der Baugruppen.

Raspberry Pi 3 Model B+ UNIX Bench

Wie schon mit einer ganzen Reihe von Linux-Devices habe ich nun auch für den Raspberry Pi 3 Model B+ den UNIX-Benchmark laufen lassen. Die Resultate sind auf der Seite Resultate UNIXBench eingearbeitet.

Wie zu erwarten war, sehen die Resultate mit dem neuen Broadcom- SoC BCM2837B0, einem 64-bit Quad-Core-Cortex-A53 (ARMv8)  mit einer maximalen Taktfrequenz von 1.4 GHz hervorragend aus.

Nach der Installation von Raspbian Stretch hat man einen Linux-Kernel v4.9 installiert.

Vor der Installation des UNIX Benchmarks sollten Update und Upgrade erfolgen:

# sudo apt-get update
# sudo apt-get upgrade

Die Installation des UNIX Benchmarks erfolgt über Git durch

# git clone https://github.com/kdlucas/byte-unixbench.git

Danach kann das Programm gestartet werden

# cd byte-unixbench/Unixbench
# ./Run

und hält nach einiger Laufzeit das im Verzeichnis /results die Ergebnisse in verschiedenen Formatierungen bereit.

Ich habe für den Test mit Hilfe des Shell-Scripts max_cpu_freq.sh eine Taktfrequenz von 1.4 GHz eingestellt.

Screenshot

Hier ist das Resultatfile des UNIX-Benchmarks.

Eine Übersicht über die Performancesteigerung innerhalb der Raspberry Pi Familie zeigt die folgende Tabelle:

UNIX Bench
(single proc.)
Raspberry Pi Raspberry Pi 2
Model B
Raspberry Pi 3
Model B
Raspberry Pi 3
Model B+
 CPU  BCM2835  BCM2836 BCM2837  BCM2837B0
 Core  ARM1176JZFS  Cortex-A7
Quad Core
 64-bit quad-core ARMv8  64-bit quad-core Cortex-A53
 Architecture  ARMv6  ARMv7  ARMv8  ARMv8
 Clock  700 MHz  900 MHz  1200 MHz  1400 MHz
 Memory  256 MByte  1 GB  1 GB  1 GB
 Index  67.2  167.6  201.5  349.8

HiGrow-Sensor: Daten erfassen und versenden

Im Post HiGrow-Sensor sorgt für das Wohl der Pflanzen hatte ich auf den HiGrow-Sensor hingewiesen, der zur Überwachung der Umweltbedingungen in Pflanzennähe eingesetzt werden kann.

Im Programm HiGrowESP32MQTT.ino werden die Sensordaten des dort eingesetzten DHT11-Sensors zur Messung von Lufttemperatur und Luftfeuchte, sowie die kapazitiv gemessene Bodenfeuchte und die Helligkeit erfasst und entsprechenden Topics von MQTT-Messages zugeordnet. Zu Kontrollzwecken werden diese Daten auch seriell ausgegeben und können durch den internen Monitor der Arduino IDE verfolgt werden. Das Programm  HiGrowESP32MQTT.ino steht auf Github zum Download zur Verfügung.

HiGrow Data

Mit einem MQTT Client können die abonnierten Mitteilungen visualisiert werden.

Screenshot_20180319-140609.png

Bei meinen Test ist mir aufgefallen, dass recht häufig nach dem Programmstart der Brownout Detector getriggert wurde und einen entsprechenden Reset ausgelöst hat.

HiGrow Brounout

Verfolgt man die Diskussion (z.B. hier https://github.com/nkolban/esp32-snippets/issues/168) dann scheint ein hoher Strombedarf während der Initialisierungsphase ein (der?) Grund für das Verhalten zu sein.

Der HiGrow-Sensor weist einen Batteriehalter für eine 18650-LiPo-Batterie auf. Bei meinen Tests war die Batterie nicht bestückt. Möglicherweise puffert eine bestückte Batterie dann diesen kurzzeitigen Strombedarf hinreichend.

HiGrow-Sensor sorgt für das Wohl der Pflanzen

Für das optimale Gedeihen von Pflanzen sind die Bedingungen wie Temperatur, Luft- und Bodenfeuchtigkeit, Licht u.a.m. verantwortlich.

Kommerzielle Systeme von Kärcher, Gardena, Parrot u.a. ermitteln solche Größen und steuern damit beispielsweise die Bewässerung oder stellen die ermittelten Daten einer App auf dem Smartphone zur Verfügung.

Mit dem HiGrow-Sensor kann der Maker das Thema selbst in die Hand nehmen. Der HiGrow-Sensor nutzt einen DHT11 zur Messung von Lufttemperatur und -Luftfeuchte. Die Feuchte des Bodens wird kapazitiv gemessen, da diese Variante weniger störungsanfällig als die resistive Methode ist. Außerdem wird die Helligkeit erfasst. Als CPU kommt eine ESP32-Wroom von Espressif zum Einsatz, der in der Arduino IDE programmiert werden kann. Softwareunterstützung findet man auf Github unter https://github.com/lucafabbri/HiGrow-Arduino-Esp. In den nächsten Tagen werde ich an dieser Stelle ein Programmbeispiel zeigen, welches die ermittelten Werte über MQTT an einen MQTT-Broker übermittelt und von da bezogen werden können.

Der HiGrow-Sensor wird von Banggood zum Preis von unter € 15 angeboten.

ESP32 ADC & DAC

Im Gegensatz zum ESP8266 weist der ESP32 ein wesentlich besser ausgebautes System zur analogen IO auf.

Der ESP32 besitzt zwei 12-bit ADCs, die nach dem Verfahren der Successiven Approximation arbeiten und insgesamt 18 analoge Eingänge bedienen. Einige dieser Eingänge können zur Bildung eines programmierbaren Verstärkers (PGA) zur Verstärkung kleiner Analogsignale herangezogen werden.

Die ADC API unterstützt ADC1 (9 Kanäle, an GPIO 32 – 39), und ADC2 (10 Kanäle, an den GPIOs 0, 2, 4, 12 – 15 und 25 – 27). Bei der Verwendung von ADC2 gilt es aber, gerade bei der Verwendung von WiFi,  gewisse Restriktionen zu beachten. Für den Test hier spielen sie aber keine Rolle .

Außerdem hat der ESP32 zwei 8-bit DACs, die mit GPIO25 (Channel 1) und GPIO26 (Channel 2) verbunden sind.

Weiterlesen

Arduino ESP32

Nachdem der verbreitete ESP8266 in die Arduino Umgebung integriert wurde und  Ledunia als High-End-ESP8266-Modul verfügbar ist, hatte ich die Benchmarks aus dem Beitrag  Arduino32: Die jungen Wilden in der Zeitschrift DESIGN&ELEKTRONIK (Online-Version Teil 1Online Version Teil 2) mit dem ESP8266/Ledunia wiederholt.

Nun steht auch Espressif’s ESP32 in der Arduino Umgebung zur Verfügung. Die Implementierung ist noch nicht ganz komplett, doch kann der deutlich mehr Performance versprechende Controller ebenfalls diesen Tests unterzogen werden.

esp32_devel-600x600

ESP32 Dev Module mit ESP-WROOM32 on-board

Weiterlesen

BBC Micro:bit & Calliope mini

Mit dem BBC micro:bit und dem Calliope mini stehen zwei in erster Linie für den Einsatz in der Schule konzipierte Mikrocontroller-Boards zur Verfügung, wobei der Einsatz außerhalb der Schule bereits durch zahlreiche Anwendungen belegt ist.

Während der BBC micro:bit sich nun bereits seit über einem Jahr bewähren konnte, steht der für den Einsatz in deutschen Schulen angepasste Calliope mini noch am Anfang seiner Bewährungsprobe. Diesbezüglich ist deshalb ein Vergleich kaum möglich und muss sich auf technische Merkmale beschränken.

In der Zeitschrift DESIGN & ELEKTRONIK 01/2018 werden im Beitrag „Mikrocontroller nicht nur für die Schule!“ Gemeinsamkeiten und Unterschiede in der Hard- und Software beider Systeme sowie deren Anwendung beschrieben.

Mikrocontroller nicht nur für die Schule! Design & Elektronik 01/2018, MF40-44

Die Online-Version des Beitrag ist unter https://www.elektroniknet.de/design-elektronik/embedded/mikrocontroller-nicht-nur-fuer-die-schule-150415.html abrufbar

ThingPulse gegründet

In der Maker-Szene bekannt sind Daniel “Squix” Eichhorn und Marcel “frightanic” Stör schon seit längerem.

Daniel ist in der ESP8266-Arduino-Community eine bekannte und respektierte Persönlichkeit. Er verkauft IoT-Kits und hat seit 2015 DIY-Projekte mit beeindruckender Geschwindigkeit realisiert.

Marcel ist seit Sommer 2015 einer von mehreren NodeMCU-Maintainers. NodeMCU ist eine Lua-Firmware für den ESP8266 / ESP32 WiFi SoC. Er hat auch einige Tools für die NodeMCU-Community beigesteuert: NodeMCU Cloud Builder, Docker NodeMCU Build, NodeMCU PyFlasher.

Die von Daniel und Marcel gegründete ThingPulse wird IoT-Hardware und -Software sowohl für Hersteller als auch für Verbraucher entwickeln, fördern und verkaufen. ThingPulse ist die Schnittstelle zwischen IoT-Komponenten und traditionellen Anwendungen. Mehr findet Ihr unter https://thingpulse.com/about/.

Ich wünsche an dieser Stelle einen guten Start und bin vom Erfolg schon heute überzeugt.