RAKwireless IoT Applications

IoT applications usually require interdisciplinary collaboration between different disciplines during development and implementation.

With WisBlock, RAKwireless created a system accompanying the entire development path to the finished device using industrial-grade yet cost-effective components. Additionally, it offers the possibility to integrate components of prototyping systems from third-party providers into WisBlock.

With these systems, you can solve various tasks. Still, many steps are necessary to get a finished device, e.g., autonomy usable as a sensor node in harsh environments, which can be tedious.

True to the philosophy „IoT Made Easy,“ RAKwireless has ensured with WisBlock that this new solution is as simple as Click – Code – Connect!

I described the WisBlock ecosystem in an eBook titled „IoT-Projects for Makers: with WisBlock from RAKwireless • just Click, Code & Connect • to the finished device.“  

You can order this eBook at Amazon https://www.amazon.com/dp/B0C8VCF4DF.

Continuing this design philosophy, based on WisBlock, RAKwireless developed the RAK2560 WisNode SensorHub.

RAKwireless SensorHub is a modular ecosystem consisting of the main body and multiple pre-configured sensor probes. With pluggable, interchangeable probes and the option to add third-party sensors to the system, the Sensor Hub is a suitable and versatile solution platform for various IoT applications where environmental monitoring is needed outdoors.

The SensorHub can work battery-powered by non-rechargeable or solar-powered batteries or with an external power supply, depending on the application and deployment location.

For data transmission into Low-Power Wide-Area Network (LPWAN), LoRaWAN is available. Alternatively, NB-IoT can be used.

As a typical low-code system, it essentially requires configuration with the WisToolBox app from a cell phone.

I am currently working on applications of SensorHub in IoT using the example of measuring environmental data.

An eBook titled
„SensorHub IoT Applications:
• with WisNode SensorHub from RAKwireless
• just configure & connect
• to the finished application.“
is in preparation.

The planned release date is 11/15/2023, and pre-orders are available on Amazon.

You can order this eBook at Amazon https://www.amazon.com/dp/B0CKFNQX4D.


2023-10-05/CK

RK900-09 Weather Station on SensorHub

The Sensor Hub equipped with a Sensor Probe containing Temperature and Humidity Sensor RAK1901 and Pressure Sensor RAK1902 was used to measure environmental data (Link).

RAKwireless offers the RK900-09 Weather Station more precise equipment for measuring weather conditions.

MEMS sensors measure temperature, humidity, barometric pressure, and ultrasonic sensors wind speed and direction. You will find the technical data on the manufacturer’s website.

The SensorProbeIO associated with the RK900-09 connects the RS-485 output of the RK900-09 to the SensorHub interface.

The payload decoder provided by RAKwireless needed minor adaptations and is available on GitHub.

For visualization, I use Datacake again and get the following data output of this Weather Station.

Datacake Dashboard

Use this QR code or public link to get the actual weather data measured by RK900-09 Weather Station connected to SensorHub.


2023-09-26/CK

The first Sensor Hub application is running…

The Sensor Hub equipped with a Sensor Probe containing Temperature and Humidity Sensor RAK1901 and Pressure Sensor RAK1902 measures environmental data and sends them to TTS (CE). Datacake provides for the Visualization.

RAKwireless Sensor Hub is an excellent example of how low-code platforms help implement IoT solutions extremely fast.


2023-09-23/CK

Meeting mit RAKwireless

Am 19.09.2023 hatte ich die Gelegenheit den CEO von RAKwireless, Ken Yu, und zwei seiner Mitarbeiter in Zürich zu treffen.

Ich konnte einen Print-Version, des als eBook konzipierten Titels zu WisBlock übergeben.

Mit dem auf WisBlock aufsetzendem SensorHub wird es weitergehen.

Hier ist der Link zu Ken’s Statement auf LinkedIn: https://www.linkedin.com/feed/update/urn:li:activity:7110136146503888896?updateEntityUrn=urn%3Ali%3Afs_feedUpdate%3A%28V2%2Curn%3Ali%3Aactivity%3A7110136146503888896%29


2023-09-21/CK

ESP32Forth – eine alternative Programmierumgebung

Für den ESP32 steht mit MicroPython eine interaktive Programmiersprache zur Verfügung. Das ist aber nicht die einzige Möglichkeit der interaktiven Programmierung, denn mit ESP32Forth steht auch eine Portierung von eForth (Arduino and eForth) für den ESP32 zur Verfügung.

Wenn Ihnen Forth unbekannt sein sollte, dann erlätert ChatGPT Ihnen FORTH wie folgt:

Die Programmiersprache FORTH ist eine ungewöhnliche und spezielle Programmiersprache, die sich von C++ und MicroPython in vielerlei Hinsicht unterscheidet, insbesondere beim Einsatz auf Mikrocontrollern. Hier sind einige der wichtigsten Eigenschaften und Unterschiede:

Eigenschaften von FORTH:

  1. Stack-basierte Sprache: FORTH verwendet einen Stapelspeicher (Stack) als zentrales Konzept. Operationen und Daten werden auf den Stapel verschoben und von dort verarbeitet. Dies macht FORTH sehr leichtgewichtig und effizient.
  2. Interaktivität: FORTH ist eine interaktive Programmiersprache. Sie können Code direkt in die FORTH-Umgebung eingeben und ausführen, was sie ideal für den schnellen Prototypenbau und das Debugging macht.
  3. Minimalistische Syntax: Die Syntax von FORTH ist extrem einfach, bestehend aus Wörtern (FORTH-Befehlen), die von Leerzeichen getrennt sind. Dies führt zu sehr kompaktem Code.
  4. Keine strikte Typisierung: FORTH ist schwach typisiert und flexibel. Dies kann sowohl ein Vor- als auch ein Nachteil sein, je nach Anwendungsfall.
  5. Direkter Hardwarezugriff: FORTH ermöglicht einen sehr direkten Zugriff auf die Hardware, was in eingebetteten Systemen nützlich sein kann.

Unterschiede zu C++:

  1. Sprachparadigma: C++ ist eine objektorientierte Programmiersprache, während FORTH als stapelbasierte Programmiersprache betrachtet wird. Dies bedeutet, dass die Herangehensweise an die Programmierung grundlegend unterschiedlich ist.
  2. Komplexität: C++ ist eine umfangreiche und komplexe Sprache mit einer Vielzahl von Funktionen und Bibliotheken. FORTH hingegen ist extrem minimalistisch und erfordert oft mehr Zeilen Code, um ähnliche Aufgaben zu erledigen.
  3. Typisierung: C++ ist stark typisiert, was bedeutet, dass Datentypen streng überprüft werden. FORTH ist schwach typisiert und erlaubt mehr Flexibilität bei der Verwendung von Daten.

Unterschiede zu MicroPython:

  1. Syntax: MicroPython ist eine Python-Variante für Mikrocontroller und verwendet eine Python-ähnliche Syntax, während FORTH seine eigene einzigartige Syntax hat.
  2. Abstraktionsebene: MicroPython bietet eine höhere Abstraktionsebene und mehr Konventionalität im Vergleich zu FORTH. Das macht MicroPython oft einfacher zu erlernen und zu verwenden.
  3. Gemeinschaft und Bibliotheken: MicroPython hat eine aktive Gemeinschaft und eine breite Palette von Bibliotheken und Modulen, die speziell für Mikrocontroller entwickelt wurden. FORTH hat weniger Ressourcen und Unterstützung in dieser Hinsicht.
  4. Entwicklungsumgebungen: MicroPython wird oft mit modernen integrierten Entwicklungsumgebungen (IDEs) verwendet, die die Entwicklung und das Debugging erleichtern. FORTH erfordert häufig eine tiefere Einarbeitung in die Arbeitsweise des Stapels und der FORTH-Umgebung.

Insgesamt hängt die Wahl zwischen FORTH, C++ und MicroPython für Mikrocontroller-Anwendungen von den spezifischen Anforderungen Ihres Projekts, Ihrer Programmierpräferenz und Ihrer Erfahrung ab. FORTH ist eine leistungsfähige, aber unkonventionelle Option, die für bestimmte Anwendungen geeignet sein kann, während C++ und MicroPython aufgrund ihrer weitverbreiteten Akzeptanz und ihrer Entwicklungsunterstützung oft bevorzugt werden.

OpenAI. (2023). ChatGPT (August 3 Version) [Large language model]. https://chat.openai.com

Wenn Sie sich mit ESP32Forth auseinandersetzen wollen, dann finden Sie die notwendigen Informationen von Installation bis hin zur Anwendung unter https://esp32.forth2020.org/ oder https://www.facebook.com/groups/esp32forth/

Ich möchte Ihnen hier zwei Beispiele zur Arbeit mit ESP32Forth zeigen, die vielleicht helfen Neugier zu wecken.

Benchmarks sind eine beliebte Vergleichsmöglichkeit für Hard- und Software. Um einen Eindruck von der Performance von ESP32Forth auf einem ESP32 zu bekommen, habe ich den DDBench(mark) herangezogen (https://theultimatebenchmark.org/).

Das Resultat des Benchmarks sind eine Laufzeit von 5.5 Sekunden.

Vergleichen Sie das Resultat mit den unter https://theultimatebenchmark.org/ veröffentlichten Daten, dann können Sie sich ein Bild von der Leistungsfähigkeit dieser Hard- und Softwarekombination machen.

Im Blogpost ESP32 ADC & DAC hatte ich die Performance des DAC-ADC-Subsystems des ESP32 untersucht.

Wenige Zeilen ESP32Forth Code ermöglichen die Ansteuerung eines DACs und das Erfassen dessen Ausgangsspannung durch einen Kanal des ADC. GPIO25 und GPIO33 werden hierzu miteinander verbunden.

( Test ESP32-DAC-ADC-Subsystem w/ ESP32Forth )

25 CONSTANT DAC1 \ GPIO25
33 CONSTANT ADC1_CH5 \ GPIO33

: wait100ms 100 ms ;
: readADC1_CH5 ADC1_CH5 adc . ;
: readADC readADC1_CH5 ;
: writeDAC1 DAC1 swap dacWrite ; ( 0-255 -- )
: test dup writeDAC1 wait100ms readADC . cr ; ( 0-255 -- )
: testloop 255 for i test next ;

Die seriellen Ausgaben habe ich geloggt, um diese für die folgenden Grafiken aufzubereiten.

Das Verhalten des analogen Subsystems entspricht den Erwartungen und ist ohne Anpassungen nur bedingt einsatzfähig.

Der einfache Test mit dieser interaktiven Programmierumgebungen wird aber deutlich.


2023-09-14/CK

Träck – Leistungsstarker LoRaWAN-Tracker zur Überwachung Ihrer Geräte und Waren

Tracker erfassen physikalische Größen, ordnen diesen einen Zeitbezug zu und stellen die Ergebnisse einem übergeordneten Prozess zur Auswertung und Ableitung von Entscheidungen zur Verfügung. Bekannt sind sicher Fitness- und GPS-Tracker sowie Tracker zur Erfassung von Umweltdaten (Environmental Data).

Die erfassten Ergebnisse können auf vielfältige Weise weitergegeben werden. Im Vordergrund stehen aber drahtlose Übertragungstechniken, wie LoRaWAN, BLE, LTE, LTE-M, NB-IoT u.a.

Tracker sind eine faszinierende Anwendung im IoT, die eine Vielzahl von Branchen revolutionieren können. Im industriellen Umfeld sind vor allem die folgenden Tracker sowie IoT-Plattformen zu finden:

  • GPS-Tracker ermöglichen eine standortgenaue Verfolgung von Objekten, Fahrzeugen oder Personen in Echtzeit. Unternehmen können mit GPS-Trackern den gesamten Lieferprozess optimieren, indem sie Frachtbewegungen überwachen, Routen effizienter gestalten und Lieferungen termingerecht verfolgen. Das Ergebnis ist eine gesteigerte Effizienz, Kosteneinsparungen und eine verbesserte Kundenerfahrung.
    Darüber hinaus spielt die GPS-Technologie eine entscheidende Rolle bei der Sicherheit von Mitarbeitern, Fahrzeugen und wertvollen Gütern.
  • Environmental-Tracker dienen der Gewährleistung der Produktqualität und Sicherheit in der Lieferkette, insbesondere in Branchen wie Lebensmittel, Pharmazie und Biotechnologie.
    Diese Tracker überwachen in der Regel neben der Temperatur auch die relative Luftfeuchtigkeit oder den barometrischen Druck der Umgebung von empfindlichen Gütern während Transport- oder Lagerung. Abweichungen von den festgelegten Bereichen der Umgebungsbedingungen können sofort erkannt und behoben werden, um Verderb, Verlust oder den Verfall von Produkten zu verhindern.
    Mit diesen Trackern können Unternehmen auch die Einhaltung strenger Vorschriften und Normen nachweisen. Dies ist insbesondere in stark regulierten Industrien von entscheidender Bedeutung, da Nichteinhaltung zu rechtlichen Konsequenzen, Reputationsverlusten und finanziellen Strafen führen kann.
  • IoT-Plattformen dienen der Datenanalyse und daraus abgeleiteten Entscheidungen. Die reine Erfassung von GPS- und Umweltdaten ist nur der Anfang. Der eigentliche Mehrwert liegt in der Fähigkeit, diese Daten zu analysieren und in wertvolle Erkenntnisse und abgeleitete Entscheidungen umzuwandeln. IoT-Plattformen spielen hier eine zentrale Rolle. Sie ermöglichen die Verarbeitung großer Datenmengen in Echtzeit, die Erstellung benutzerdefinierter Berichte und die Identifizierung von Mustern und Trends.
    Durch die Integration von GPS- und Umweltdaten in eine umfassende IoT-Plattform können Unternehmen datengesteuerte Entscheidungen treffen, ihre Prozesse kontinuierlich verbessern und einen Wettbewerbsvorteil erlangen.

Um einen Überblick über die angebotenen Tracker zu erhalten, können Sie eine Suche im Internet starten und werden durch die angebotene Produktvielfalt überwältigt werden. Es gilt also auch hier, im Vorhinein Klarheit über die Anforderungen wie zu erfassende Messwerte und das Speicher- bzw. Übertragungsverhalten für die Daten zu klären.

Wenn Sie Bewegungs- und Umweltdaten mit einem Tracker erfassen und über LoRaWAN übertragen wollen, dann finden Sie mit dem „Träck“ der Fa. SenseING aus Karlsruhe/The Länd eine interessante und kompakte Lösung.

Der Träck ist mit einer integrierten Sensorik zur Erfassung von Bewegungs- und Klimadaten ausgestattet und ist als Temperatur-Registriergerät nach EN12830 geeignet. Als LoRaWAN Class A Device erreicht der Träck mehr als 1.500 m Reichweite im Freien.

Somit kann der Träck zur Temperaturüberwachung bei Transporten, in Lagern und Gebäuden, in Kühlhäusern oder Kühlschränken eingesetzt werden.

Durch die Erfassung von Bewegungsdaten kann der Träck auch als Geräte-Tracker eingesetzt werden und beispielsweise deren Auslastung erfassen.

Von senseING, den Entwicklern des Träck und anderer IoT-Lösungen, wurden mir einige Träcks zu Testzwecken zur Verfügung gestellt. Die Ergebnisse möchte ich hier präsentieren.

Im folgenden Bild ist die Testumgebung skizziert. Ich habe fünf Träcks im TTS (CE) LNS registriert. Träck 400 ist draußen angeordnet und misst die aktuellen Werte von Temperatur und rel. Luftfeuchte, während die anderen vier (noch) an meinem Arbeitsplatz in unmittelbarer Nähe zueinander positioniert sind und die Bedingungen im Innenraum erfassen.

Träck Testumgebung

Die TTS (CE) Console zeigt die Messages der fünf Träcks, deren Messwerte jeweils nach 10 Minuten aktualisiert werden.

TTS (CE) Console

Zur Visualisierung der Messdaten habe ich diese zu Datacake transferiert und zeige diese als jeweiligen Momentanwert an. Träck 400 misst die Außenbedingungen, während die vier anderen Träcks (im Rahmen der technischen Daten) praktisch nahezu identische Daten zeigen. Zusätzlich zeige ich die jeweilige Batteriespannung an, was bei batteriebetriebenen Geräten unbedingt erfolgen sollte, um vor Überraschungen gefeit zu sein.

Träck Vergleichsmessung

Da die statische Messung nur zu Vergleichszwecken Aussagen liefert, können die Daten in Datacake auch als Verlaufsdaten dargestellt werden. Im folgenden Screenshot ist das für die Werte des Außensensors erfolgt und verdeutlicht die Pause des Sommers an diesem Tag.

Träck 400 Außenmessung

Auf die Registrierung der Träcks bei TTS (CE) und die Visualisierung der Daten bei Datacake möchte ich an dieser Stelle nicht vertieft eingehen. Ich habe diese Thematik in den folgenden Büchern ausführlich beschrieben:

  • Develop and Operate Your LoRaWAN IoT Nodes
    Ready-to-use devices and self-built Arduino nodes in the „The Things Network“
    Elektor Verlag, April 2022
  • LoRaWAN-Knoten im IoT
    Fertige und selbst aufgebaute Arduino-Knoten im TTN
    Elektor Verlag, November 2021

2023-08-08/CK

IoT Projects for Makers – Update

The title „IoT Projects for Makers“ was published at the end of June, and the first update follows.

Link: https://www.amazon.de/dp/B0C8VCF4DF

Via Aliexpress, I found a Modbus sensor (and many comparable devices) for temperature and humidity measurement at low prices. Modbus RTU via RS-485 is still a common interface in industrial applications. This sensor uses a Sensirion SHTC3 sensor, which allows precise results.

This industrial sensor for temperature and humidity with Modbus RTU via RS-485 has been added to the sensors considered so far.

WiFi is utilized to connect to a router that provides Internet access.

The message containing the measuring results is sent to the Pushover server, which forwards it to the corresponding end devices, an Android mobile phone here.

In the application here, a message with measured values is sent every 15 minutes. This is first an arbitrary assumption and can also be state-based.


2023-07-19/CK

IoT-Projects for Makers with WisBlock from RAKwireless

The English version will be available from amazon.com on June 30, 2023. I hope that the readers will have as much fun working with the WisBlock modules as I had written this eBook.

The German version is already available as an eBook from amazon.de, and the printed version will follow in the next few days.


2023-06-28/CK

Grosse Sommeraktion des Rheinwerk-Verlags

Der Rheinwerk-Verlag startet heute für einen begrenzten Zeitraum im Juni eine große Marketing-Aktion. Es werden die Bundles (Buch + eBook) aller lieferbaren, deutschsprachigen Titel im Webshop um 5 Euro im Preis reduziert angeboten.

Wenn Sie von dieser Aktion profitieren wollen, dann schauen Sie unter www.rheinwerk-verlag.de/sommeraktion-bundles-zum-vorteilspreis nach den Angeboten.

So finden Sie z.B. das Arduino Handbuch als Bundel unter der URL https://www.rheinwerk-verlag.de/arduino-das-umfassende-handbuch/ zum Aktionspreis von € 44.90.


2023-06-12/CK

Messung der Wassertemperatur

Weil ich mit den Angaben zur Wassertemperatur der Ostsee während eines zurückliegenden Ferienaufenthaltes nicht so recht zufrieden war, hatte ich mit M5Stack-Komponenten und einem abgesetzten Temperatursensor ein Thermometer aufgebaut und in einem Blogpost vorgestellt. Mit dem abgesetzten DS18B20-Temperatursensor habe ich die Wassertemperatur in einem Meter Tiefe gemessen.

Nun rücken die Ferien wieder näher und die Meldung vom BSH zeigt Ende Mai immer noch sehr kühles Wasser an.

Um der Entwicklung der Wassertemperatur zu folgen und vor größeren Überraschungen gefeit zu sein, habe ich das vorgestellte Thermometer etwas erweitert.

Wegen des etwas größeren Displays habe ich den #M5StickC durch einen M5StickC+ ersetzt und verwende einen M5StickC 18650C, um die Batteriekapazität zu vergrößern. Hinzu kommt, dass das Thermometer wesentlich besser gehandhabt werde kann.

Damit ich die Messwerte auf meinem Mobilphone zur Verfügung habe, nutze ich es als mobilen Hotspot und sende die Messwerte vom M5StickC+ über WiFi an das Mobilphone, welches dann die Daten an den Pushover Server sendet. Von da werden die Daten dann an die gewählten Endgeräte verteilt.

Die folgenden beiden Bilder zeigen die Messeinrichtung und eine über Pushover versendete Message auf dem Mobilphone. Auf GitHub ist das betreffende Programm zu finden.

Ich werde mit dieser Einrichtung die Wassertemperatur nicht beeinflussen, kann sie aber schriftlich festhalten. Und wenn es so kalt bleibt, dann kann ich mein Heldentum dokumentieren.


Die Messungen funktionieren, wie erwartet. Ich fasse die einzelnen, über Pushover gesendeten Messwerte in einer Tabelle zusammen und veranschauliche die Werte in der folgenden Grafik.

Vom 3.06. bis zum 9.06. waren die Wassertemperaturen im Erwartungsbereich. Am 9.06. drehte dann der Wind nach Ost und das bedeutet hier einen deutlichen Abschwung der Wassertemperatur. Die Temperaturen zwischen 14 °C und 15 °C blieben dann auch bis zum Drehen des Windes am 14.06. auf NNO, was eine leichten Temperaturanstieg zu Folge hatte.

Damit ist die Messreihe abgeschlossen und die Art der Messung bestätigt. Bei Interesse an der Lösung für einen Nachbau oder Verbesserungen reicht ein Kommentar zu diesem Post.


Bei unserem Aufenthalt im August/September 2023 führe ich die Tests weiter. Bereits im Juni konnte die Messeinrichtung ihre Bewährungsprüfung erfolgreich absolvieren.

Wenn eine feste Installation für eine solche Messeinrichtung möglich ist, kann diese solar-gepuffert vollkommen autonom betrieben werden. Lesen Sie hierzu den Beitrag unter https://ckarduino.blog/2022/03/01/rak-wisblock/.


2023-09-17/CK