Test der mobilen Datenerfassung mit LTE-M

Im Blogpost Mobile Datenerfassung über LTE-M hatte ich Hard- und Software eines LTE-M-Knotens beschrieben, der GPS-Daten sowie Messwerte von Temperatur- und Luftfeuchtigkeit bereitstellt.

Jetzt bei einer Reise von der CH nach D sollen folgende Punkte getestet werden:

  • Stationärer Test (CH, D)
  • Mobiler Test aus dem fahrenden Fahrzeug (Übergang von Funkzelle zu Funkzelle)
  • Roaming über Ländergrenzen (CH – A – D)
Screenshots MQTT Dashboard (Beschreibung im Bild)
Stationärer Test in der Schweiz
Dieses Bild hat ein leeres alt-Attribut; sein Dateiname ist screenshot_20230527_172334_mqttdashboard7749781390653124050-2.webpDieses Bild hat ein leeres alt-Attribut; sein Dateiname ist screenshot-2023-05-28-000345-1.png
Stationärer Standort CH

Findings:

Ausgabe der Werte für Lat und Lon mit zwei Dezimalstellen ist nicht ausreichend, um den Punkt (z.B. mit Google Maps) zu rekonstruieren

Die Höhenangabe schwankt zwischen 422.5 und 430.4 m (Betrachtung über kurzen Zeitraum). Die zu erwartende Schwankung der GPS-Höhenangaben ist allerdings noch grösser.
Zur Genauigkeit der Höhenmessung über GPS sind hier einige Angaben tzu finden: https://support.garmin.com/de-DE/?faq=QPc5x3ZFUv1QyoxITW2vZ6.
Zum Vergleich bietet sich die App Genauer Höhenmesser an.
Im nebenstehenden Bild sind Höhenangaben durch GPS, standortbezogen und barometrisch gemessen gegenübergestellt. Mit diesen Abweichungen muss also gerechnet werden.

Mobiler Test aus dem fahrenden Fahrzeug
auf dem Weg nach Zürich mit 100 km/h auf der Autobahn
Mobiler Test aus dem fahrenden Fahrzeug in Österreich
auf der Rheintal-Autbahn mit 124.4 km/h
Mobiler Test aus dem fahrenden Fahrzeug in Deutschland
keine Verbindung
Stationärer Test in Deutschland
keine Verbindung

Aktuell kann ich mir den Ausfall beim Roaming mit der 1NCE SIM-Card nicht erklären und werde den Test mit einer SIM-Card von der Telekom wiederholen.


2023-06-24/CK

LilyGo T-Display

Die LilyGo T-Display Serie umfasst Microcontroller mit LCD-Displays mit 1.4″ bzw. 1.9″

BoardMCUDisplay
T-DisplayESP32 WiFi Bluetooth Development BoardESP321.4″
T-Display RP2040Dual ARM Raspberry Pi Module 1.14-inch Screen Development BoardRP20401.4″
T-PicoC3ESP32-C3 RP2040 WIFI Bluetooth Module For ArduinoESP32_C3
RP2040
1.4″
T-Display-S3ESP32-S3 1.9-inch ST7789 LCD Display Touch Screen Development BoardESP32_S31.91″
T-Display-S3 AMOLEDUpgraded from an LCD to an AMOLED display,
better color display
ESP32_S31.91″
LiliGo T-Display Serie

Die Programmierung des hier verwendeten T-Display aus der Arduino IDE erfolgt unter Verwendung der sehr verbreiteten TFT-eSPI Library von Bodmer. Da auf dem Board ein 1.4″ Display eingesetzt ist, bietet sich die Verwendung des LilyGO T-Display Enclosure an.

Im Programmbeispiel hier wurde der WiFi-Manager (https://github.com/tzapu/WiFiManager) zur Verbingungsaufnahme mit dem Internet eingesetzt und nach Verbindungsaufnahme werden IP-Adresse, RSSI und die Batteriespannung im Zyklus von je 5 Sekunden ausgegeben. Das Programm weist keine Besonderheiten auf und ist unter https://github.com/ckuehnel/Arduino2023/tree/main/ESP32/T-Display zu finden.

Um ein Gefühl für die Grafikperformance zu erhalten, habe ich Bodmer’s TFT_eSPI library Test implementiert. Im Listing sind die Resultate gezeigt. Die Werte sind ausgezeichnet, was bei der Grösse des Display zu erwarten war.

Bodmer's TFT_eSPI library Test!
Benchmark                Time (microseconds)
HaD pushColor            544579
Screen fill              14082
Text                     7130
Pixels                   119594
Lines                    134990
Horiz/Vert Lines         6884
Rectangles (outline)     3400
Rectangles (filled)      63606
Circles (filled)         21229
Circles (outline)        20009
Triangles (outline)      6664
Triangles (filled)       23948
Rounded rects (outline)  8174
Rounded rects (filled)   65172
Done!

2023-05-04/CK

LilyGO T-Display Enclosure

Häufig fehlt beim Einsatz von Development Boards eine Gehäuselösung. Für die T-Displays mit 1.14″ TFT bietet LilyGo das T-Display Gehäuse ABS an.

Obwohl als T-Display PICO3 beschrieben passt das Gehäuse sowohl auf das LilyGo T-Display ESP32 16MB als auch auf die LilyGo T-PicoC3 ESP32-C3 RP2040 Dual MCU mit 1.14 “ Display.

Bezugsmöglichkeit: https://www.bastelgarage.ch/lilygo-t-display-gehause-abs


2023-04-23/ck

WisBlock Core Modules

Zur Embedded World 2023 hat RAKwireless sein Angebot an WisBlock Core Modulen erweitert.

Es stehen aktuell folgende WisBlock Core Module zur Verfügung.
Kursive Eintragungen nicht in den Specs. von RAKwireless enthalten.

RAK# RAK4631 RAK11200 RAK11310 RAK3372 RAK11772
Module Nordic nRF52840 BLE Core Module for LoRaWAN with LoRa SX1262 WiFi and BLE Espressif ESP32-WROVER Raspberry Pi RP2040 Core Module for LoRaWAN with LoRa SX1262 STM32WLE5 Core Module for LoRaWAN Ambiq Apollo3 Core Module for LoRaWAN
Hardware Nordic nRF52840, Semtech SX1262 Espressif ESP32-WROVER (Two low-power Xtensa® 32-bit LX6 microprocessors) Raspberry Pi RP2040 (ARM Cortex-M0+ Dual Core), Semtech SX1262 STMicroelectronics STM32WLE5CCU6 (ARM Cortex-M4 32-bit) AMA3B1KK-KBR-B0, Semtech SX1262 (ARM Cortex-M4F)
Clock 64 MHz Up to 240 MHz CPU Clock 133 MHz CPU Clock 32 MHz CPU Clock 32 MHz CPU Clock
Memory 1 MB Flash, 256 KB RAM 4 MB External SPI Flash, 520 KB RAM, 8 MB SPI Pseudo static RAM (PSRAM) 246 KB RAM 256 KB Flash with ECC, 64 KB RAM 1 MB Flash, 348 KB SRAM
Peripherals UART/I2C/GPIO/RTC UART, I2C, SPI, SD Card UART/I2C/GPIO/USB UART/I2C/GPIO UART/I2C/SPI/ADC/GPIO
Sleep Current 2.0 μA 1.69 μA 2.37 μA
LoRaWAN LoRaWAN 1.0.2 n.a. LoRaWAN 1.0.2 LoRaWAN 1.0.3 LoRaWAN 1.0.3
Antenna Built-in PCB antenna, IPEX antenna connector for LoRa Onboard chip antenna for BLE, IPEX antenna connector for LoRa
WiFi n.a. WiFi 802.11 b/g/n (802.11n up to 150 Mbps) n.a. n.a. n.a.
BLE BLE5.0 (Tx power -20 to +4 dBm in 4dB steps) Bluetooth v4.2 BR/EDR and BLE specification BLE5.0
Debugging Serial Wire Debug (SWD) interface Serial Wire Debug (SWD) interface Serial Wire Debug (SWD) interface
Supply Voltage 2.0 V ~ 3.6 V 3.0 V ~ 3.6 V 2.0 V ~ 3.6 V 2.0 V ~ 3.6 V 1.8 V ~ 3.6 V
Temperature Range -40 °C ~ +85 °C -40 °C ~ +85 °C -20 °C ~ 70 °C -40 °C ~ +85 °C -40° C ~ 70° C
Size 20 x 30 mm 20 x 36.4 mm 20 x 30 mm 20 x 30 mm 20 x 30 mm
CoreMark 114.05 443.10 153.75 84.23 84.83
CoreMark/MHz 1.78 1.85 1.15 1.32 1.77

Bestimmte hervorstechende Merkmale habe ich farblich markiert.


Das CoreMark Ergebnisse habe ich mit dem Programm CoreMark.ino erhoben. Sie finden das Programm auf GitHub unter https://github.com/ckuehnel/Arduino2023/tree/main/Benchmarks/CoreMark.


2023-07-03/CK

Messung der Luftqualität mit Sensirion SEN55 und WisBlock von RAKwireless

Während der Testphase können die Echtzeitdaten über den Link oder den QR-Code eingesehen werden.

Ich habe noch ein RAK1921 OLED zur Anzeige der Momentanwerte ergänzt. Bei der Inbetriebnahme bin ich so nicht mehr auf den seriellen Output angewiesen.


2023-03-21/ck

Voltaic Solar Power System für IoT-Knoten

Im Blogbeitrag Solar Power System für IoT-Knoten hatte ich eine Variante mit SuperCap von Voltaic vorgestellt. Das Versenden der Daten im Halb-Stunden-Takt über WiFi in eine InfluxDB-Datenbank zur Visualisierung kam im Winter nach mehreren Wochen mit Nebel und ohne Sonne an seine Grenzen.

Ich führe den Test hier weiter. Allerdings sende ich nur noch im Stundentakt die Daten über Pushover an mein Mobilphone. Die Resultate finden Sie hier.

Beachtlich ist die im Gehäuseinneren durch die direkte Sonnenbestrahlung entstehende Temperatur.

2023-04-26: An der Trendlinie kann eine leicht positive Tendenz abgelesen werden. Das ist bei durchaus durchwachsenem Wetter ein gutes Zeichen. Die Unterbrüche in den Messwerten sind nur durch die manuelle Übertragung bedingt. Der Knoten hat die gesamte Zeit zuverlässig gearbeitet.

2023-04-30: Ich schließe den Test nach der Periode mit den wahrscheinlich weniger günstigen Wetterbedingungen ab.

Es hat sich gezeigt, dass die Versorgung über den solarbetriebenen SuperCap von Voltaic bei hinreichend großem Sendeintervall (zuletzt 1 h) selbst eine WiFi-Übertragung vom IoT-Knoten möglich macht.

WiFi-Übertragung kann dabei als Worts Case einer drahtlosen Übertragung angesehen werden. Eine Reduktion der Stromaufnahme durch ESPnow oder LoRa bietet dann noch mehr Flexibilität für einen komplett autark betriebenen IoT-Knoten.


2023-04-30/CK

LGT8F328P

Arduino Uno Clone von AZ-Delivery

Der LGT8F328P Mikrocontroller der chinesischen Fa. Logic Green wird als Clone eines ATmega328 bezeichnet und ist bereits seit einigen Jahren am Markt. Von AZ-Delivery wird aktuell auf Basis dieses Mikrocontrollers ein preislich sehr interessanter Arduino Uno Clone angeboten, der meine technische Neugier geweckt hat. Im Bild ist das übersichtliche Design im Arduino Uno Footprint zu sehen.

Die Frage, ob das Ganze legal ist, muss in verschiedenen Ebenen betrachtet werden. Arduino ist Open-Source, also ist seitens der Arduino-Implementierung alles in Ordnung. Was den Mikrocontroller selbst angeht, wird zumindest im Beitrag auf Stackexchange (https://arduino.stackexchange.com/questions/69989/is-the-lgt8f328p-legal) ebenfalls Entwarnung gegeben.

LGT8F328P Board von AZ-Delivery

AZ-Delivery stellt unter http://www.az-arduino.de/package_AZ-Boards_index.json ein eigenes Board Support Package (BSP) zur Verfügung, welches über die Preferences in der Arduino IDE aktiviert und dann über den Boardsmanager installiert werden kann. Die Konfiguration über das Menu Tools sieht dann folgendermaßen aus:

AZ-LGT8F328P Konfiguration

Bei neuer Hardware oder einem neu installierten BSP mache ich meist mit einem „Hello World“-Programm einen ersten Test, ob die Installation und die Hardware lauffähig sind. Das hier verwendete Programm LGT8F_HW.ino zeigt, dass der mit 32 MHz getaktete LGT8F328P schon mal seinen Dienst in der Arduino Umgebung tut. Das Programm, wie auch alle anderen hier vorgestellten, finden Sie auf Github zum Download.

Um die an mehreren Orten angegebenen Performancedaten zu verifizieren, habe ich mit Sieve und Dhrystone zwei Benchmarks bemüht, die ich auch schon auf dem Arduino Uno ausgeführt habe. In den folgenden beiden Screenshots sehen Sie die Ergebnisse. Für einen Coremark Benchmark ist leider die Hardware zu schwach. Die Ergebnisse sind in der Tabelle unten zusammengefasst. Ausserdem habe ich sie in meine Übersicht zu Arduino Benchmarks mit aufgenommen.

BoardArduino UnoLGT8F328P AZ-Delivery
CPUATmega328pLGT8F328P
Clock16 MHz32 MHz
Sieve Runtime14012 ms6172 ms
Dhrystones/s17229.8647125.88
VAX MIPS9.8126.82
Benchmarks

Wie die Resultate vergleichsweise zeigen, ist der Performancegewinn nicht nur auf die verdoppelte Taktfrequenz zurückzuführen.

Der LGT8F328P weist einen echten 8-Bit DA-Umsetzer (DAC) auf und bietet ausserdem acht 12-Bit AD-Umsetzerkanäle (ADC). Ein einfacher Test des gesamten ADDA-Subsystems erfolgt durch Bereitstellen einer analogen Ausgangsspannung durch den DAC und die anschliessende Erfassung des Spannungswertes durch einen Kanal des ADC. Das Programm LGT8F_ADDA_Test.ino übernimmt das. Aus den Logdaten habe ich die in den folgenden Grafiken gezeigten Darstellungen generiert.

Es zeigt sich ein hinreichend lineares Verhalten des ADDA-Subsystems mit einem leichten Verstärkungsfehler. Bei der Darstellung der Abweichungen kommt das noch besser zum Ausdruck.

Es zeigt sich hier ein Offset von ca. 10 mV und ein Verstärkungsfehler von ca. 50 mV über den gesamten Aussteuerungsbereich. Am oberen Ende des Bereichs erfolgt eine Begrenzung.

Eine Korrektur der Messwerte mit Hilfe der Trendlinie y = 0.0127x + 10.326 führt dann doch zu einer recht brauchbaren Kennlinie für das ADDA-Subsystem des LGT8F328P.

Mit dem LGT8F328P und darauf aufbauenden Boards hat man technisch gesehen eine Alternative zum ATmega328P. Ob man diesen Weg gehen will, werden dabei wohl außerhalb der technischen Daten liegende Aspekte bestimmen.


2023-02-09/CK

Air Quality Visualization

Looking for a suitable visualization of the measured values of the RAKwireless Air Quality Node, I found the app MyAmbience from Sensirion.

Primarily, the app is used to test Sensirion’s smart gadgets, which are connected to a mobile device via Bluetooth, in order to be able to visualize the collected measured values. With MyAmbience you can:
• View live data from all Sensirion gadgets.
• Track their history and export the data.
• Compare data from different devices.

But, here the inclusion of self-created sensor nodes is more important. For this purpose, Sensirion offers the Arduino BLE Gadget Library (https://github.com/Sensirion/arduino-ble-gadget), an Arduino library for integrating the data of self-created sensor nodes based on the ESP32 platform.

I have used this library in the application RAK11200_Sensors_BLE.ino. The following screenshots show the visualized data.

The first screenshot shows the dashboard with the values for temperature, relative humidity, and AQI (VOC). The second screenshot shows the AQI before and after ventilation.

If a sensor node is powered by a battery, then knowing the state of charge of this battery is of outstanding importance. Sensirion has announced that it will adapt the MyAmbience app to this end in spring 2023.

Auf der Suche nach einer geeigneten Visualisierung der Messwerte der RAKwireless Air Quality Node habe ich die App MyAmbience von Sensirion gefunden.

In erster Linie dient die App dem Test von Sensirions Smart Gadgets, die über Bluetooth mit einem Mobilgerät verbunden werden, um die erhobenen Messwerte visualisieren zu können. Mit MyAmbience können Sie:
• Live-Daten von allen Sensirion Gadgets anzeigen.
• Deren Verlauf verfolgen und die Daten exportieren.
• Daten verschiedener Geräte vergleichen.

Hier ist aber das Einbeziehen von selbsterstellten Sensorknoten wichtiger. Dafür bietet Sensirion mit der Arduino-BLE-Gadget Library (https://github.com/Sensirion/arduino-ble-gadget) eine Arduino-Library zur Integration der Daten selbst erstellter Sensorknoten auf Basis der ESP32-Plattform an.

Ich habe diese Library in der Anwendung RAK11200_Sensors_BLE.ino verwendet. Die folgenden Screenshots zeigen die visualisierten Daten.

Im ersten Screenshot ist das Dashboard mit den Werten für Temperatur, rel. Luftfeuchte und dem AQI (VOC) gezeigt. Im zweiten Screenshot ist der Verlauf des AQI vor und nach dem Lüften gezeigt.

Wird ein Sensorknoten von Batterie betrieben, dann ist die Kenntnis des Ladezustands dieser Batterie von herausragender Bedeutung. Sensirion hat angekündigt, im Frühjahr 2023 die App MyAmbience dahingehend zu erweitern.


2023-01-16/CK

CO2-Ampel bleibt aktuell

Die Corona-Inzidenzen weisen einen deutlichen Abwärtstrend auf, allerdings halten Erkältungskrankheiten, die saisonale Grippe, das RS-Virus u.a. den Krankenstand hoch. Infektionen in einer aerosolbelasteten Umgebung bleiben als unabhängig von Corona weiterhin aktuell.

Im Blogbeitrag Luftqualität mit NDIR- und MOX-Sensoren messen hatte ich den Einsatz unterschiedlicher Sensorik zur Bestimmung der Luftqualität beschrieben. Der Markt zeigt in rascher Folge Neuentwicklungen im Bereich Sensorik und Luftreinigung. Nicht immer sind die Spezifikationen klar ausgewiesen.

Mit wenig Aufwand können bereits sehr geeignete Messeinrichtungen zur Beurteilung der Luftgüte erstellt werden. Ich zeige Ihnen hier eine sehr kompakte Variante eines Messgeräts zur Erfassung von Temperatur, relativer Luftfeuchte und CO2-Gehalt der Umgebungsluft für den Einsatz in Innenräumen bestehend aus

  • M5Stack AtomS3 Controller und
  • M5Stack CO2 Unit with Temperature and Humidity Sensor (SCD40)

Beide Komponenten können die in den Bildern gezeigte kompakte Baugruppe bilden. Sensor und Controller sind durch ein kurzes Grove-Kabel verbunden. Die Spannungsversorgung erfolgt über ein USB-TypeC-Kabel aus einem kleinen Steckernetzteil.

CO2: 400 ppm – 1000 ppmCO2: 1000 ppm – 2000 ppmCO2: > 2000 ppm

Der SCD40 von Sensirion zeigt für die hier betrachtete Anwendung sehr gute Eigenschaften und mit der M5Stack CO2 Unit ist dieser Sensor auch sehr einfach handhabbar. Als Controller kann jeder nahezu beliebige Controller mit einem I2C-Interface eingesetzt werden. Den leistungsmäßig vollkommen überdimensionierten AtomS3 (Basis ESP32-S3) habe ich wegen der passenden Bauform und des integrierten Displays hier eingesetzt.

Auf dem Display werden CO2-Konzentration sowie Temperatur und relative Luftfeuchte angezeigt. Der Displayhintergrund kennzeichnet farblich die unterschiedlichen Belastungsstufen (Zuordnung unter dem jeweiligen Bild).

Wenn Sie Interesse am Nachbau haben, dann finden Sie das Programm unter https://github.com/ckuehnel/Arduino2023/tree/main/M5Atom/M5AtomS3_SCD40_1.

Die M5Stack CO2 Unit finden Sie im M5Stack Shop zu $ 33.90 und den M5Stack AtomS3 zu $ 15.50. Einheimische Distributoren werden die Komponenten auch zur Verfügung haben.

In der zweiten Auflage meines Arduino Buchs sowie im zugehörigen Repository und meinem Arduino Blog finden Sie weitere Vorschläge zur Überwachung des Raumklimas mit interessanter Sensorik.


Der Beitrag ist in Englisch unter https://www.elektormagazine.de/labs/air-quality-indicated-by-temperature-humidity-and-co2-concentration zu finden.


2023-09-23/CK

Wemos LOLIN ESP32-S3 Pro

Im Blogbeitrag zur ESP-Familie hatte ich die Erweiterungen der ESP32-Familie durch ESP32-S2, ESP32-S3 und ESP32-C3 betrachtet.

Neben dem ESP32-S3-DevKit von Espressif war der Banana Pi BPI-PicoW-S3B ein interessantes Board, das mit dem Wemos Lolin S3 Pro ESP32-S3 WROOM wiederum einen interessanten Companion bekommt. Das Wemos Lolin S3 Pro Entwicklungsboard ist mit 16 MB QSPI-Flash und 8 MB PSRAM ausgestattet und nutzt den ESP32-S3 WROOM von Espressif. Außerdem weist das Board verschiedene I/O sowie ein SPI-Port zur Ansteuerung eines TFT-Displays, einen microSD-Card-Slot und ein LOLIN-I2C-Anschluss auf. Über zwei 16-polige Stiftleisten sind ADC, DAC, I2C, SPI, UART usw. erreichbar. Ein USB-Typ-C-Anschluss dient der Spannungsversorgung, dem Programm-Upload und der seriellen Kommunikation sowie Unterstützung für einen LiPo-Akku mit 500 mA Ladeleistung. Ich habe es von https://arduino-projekte.info/ bezogen.

Die folgenden Bilder zeigen Front- und Rückseite des Wemos Lolin S3 Pro.

Wemos LOLIN ESP32-S3 Pro

Das Board kann mit der Arduino IDE programmiert werden. Im folgenden Bild ist die Konfiguration über das Menu Tools gezeigt.

Konfiguration über das Menu Tools

Beim ESP32-S3 kommt der leistungsstärkere Controller Xtensa 32-bit LX7. Mit dem CoreMark Benchmark habe ich auch für dieses ESP32-Derivate einen Performancetest gemacht. Im Screenshot ist das Ergebnis ablesbar. Mit einem CoreMark von 450 bestätigt er das bereits für das ESP32-S3-DevKitC-1 gewonnene Ergebnis.

Durch die Möglichkeit, über das SPI-Port ein Display und über das I2C-Port sehr einfach externe Sensorik anschließen zu können, ist das Board ein interessanter Kandidat für IoT-Anwendungen.


Vom gleichen Hersteller wird ein 2.4″ TFT mit den folgenden technischen Daten angeboten:

  • 2.4” diagonal LCD TFT display
  • 320 x 240 pixel
  • TFT Driver IC: ILI9341
  • Touch Screen controller IC: XPT2046
  • Compatible with D1 mini, D1 mini Pro, D32 Pro, S3 Pro.

Bei Aliexpress habe ich es für weniger als € 12 kaufen können.

Wie schon beim AZ-Touch mit ESP32 habe ich den Grafik-Benchmark (https://ckarduino.wordpress.com/2020/10/13/az-touch-esp32-grafiktest/) laufen lassen, der die folgenden Ergebnisse gebracht hat:

Die Daten sind von unterschiedlichen Testruns.

Das Programm für die hier gezeigte Kombination aus LOLIN S3 Pro und LOLIN TFT-2.4 ist auf Github abgelegt.

Interessant am vorgestellten Display ist die Möglichkeit, das LOLIN S3 Pro Board direkt mit einem zum Lieferumfang gehörenden 10-pol. Kabel zu verbinden oder einen Wemos D1 direkt auf der Rückseite einstecken zu können.

Über eine QWIC-Connector und ein ebenfalls zum Lieferumfang gehörendes 4-pol. Kabel lassen sich Sensoren anschließen, wodurch in Handumdrehen ein IoT-Knoten erstellt ist.


2023-01-28/CK