Python gehört schon seit Jahren zu den beliebtesten Programmiersprachen überhaupt. Die von Python zur Verfügung gestellten Eigenschaften stellen Anforderungen an die Hardware, die von Mikrocontrollern nicht ohne Weiteres erfüllt werden können. Ein PC kann das. Ein Raspberry Pi mit Linux als Betriebssystem kann das, ein Mikrocontroller wie ein Espressif ESP32, ein Nordic nRF52840, ein STM32 oder eines der verschiedenen Arduino-Boards hingegen nicht.
Das hat Damien P. George, einen Physiker und Softwareentwickler aus Cambridge (UK), im Jahr 2013 dazu bewogen, MicroPython zu entwickeln. Ziel der Entwicklung von MicroPython war, eine voll funktionsfähige, aber kompakte Version von Python 3 zu schaffen, die auf Mikrocontrollern (wie STM32, ESP8266, ESP32, RP2040 usw.) läuft. Mit diesem Buch werden Sie die Gemeinsamkeiten und Unterschiede von Python und MicroPython kennenlernen und schließlich in der Lage sein, mit MicroPython auf recht kleinen Mikrocontrollern zu arbeiten.
Meshtastic ist eine Open-Source-Mesh-Netzwerk-Plattform, die in letzter Zeit an Popularität gewonnen hat. Ihre Beliebtheit basiert auf mehreren Schlüsselfaktoren:
Meshtastic ermöglicht die Kommunikation über lange Strecken, ohne auf eine bestehende Infrastruktur (Mobilfunk, WLAN oder Internet) angewiesen zu sein. Diese als Off-Grid-Kommunikation bezeichnete Technologie ist besonders attraktiv für Outdoor-Aktivitäten und Expeditionen, wo es oft keinen Mobilfunkempfang gibt, oder für Rettungsdienste, militärische Anwendungen, Vorbereitung auf Katastrophenfälle (Prepping) und in Regionen mit eingeschränkter Infrastruktur.
Meshtastic nutzt preisgünstige Hardware auf Basis von LoRa-Modulen, die wenig Energie verbrauchen, bei geeigneter Auslegung für den Batteriebetrieb geeignet sind und Entfernungen von oft mehreren Kilometern überbrücken können.
Meshtastic ist Open Source und bietet den Nutzern völlige Freiheit, das System an ihre spezifischen Bedürfnisse anzupassen. Entwickler können die Software modifizieren, eigene Anwendungen entwickeln oder neue Funktionen hinzufügen. Diese Offenheit fördert eine wachsende Community, die regelmäßig zu Updates und Verbesserungen beiträgt.
Meshtastic-Nutzer können Nachrichten ohne Überwachung durch Drittparteien senden. Der Datenschutz wird auf diese Weise gesichert, da es keine zentralen Server gibt, die den Datenverkehr kontrollieren oder aufzeichnen.
Meshtastic ist vergleichsweise einfach einzurichten und zu bedienen. Einfache Apps für Android, iOS und den Desktop ermöglichen die Konfiguration eines betreffenden Knotens, Nachrichten zu senden und die empfangenen Nachrichten zu visualisieren. Fortgeschrittene Nutzer können auch private Netze einrichten und Daten erfassen und austauschen.
Mesh-Netzwerke sind eine spannende Technologie, da sie Netzwerkknoten ermöglicht, miteinander zu kommunizieren, indem sie ihre Nachrichten über verschiedene Zwischenknoten weiterleiten. Das schafft ein robustes und selbstheilendes Kommunikationsnetzwerk, das gerade in schwierigen Umgebungen oder Notlagen einen erheblichen Vorteil bieten kann.
Ist Ihr Interesse geweckt?
Vom Rheinwerk-Verlag erscheint in Kürze das E-Book „Meshtastic – Funknetze mit LoRa“.
Mit diesem E-Book möchte ich Ihnen beim Aufbau und dem Betrieb eines Meshtastic-Netzwerks helfen und meine praktischen Erfahrungen einfließen lassen.
WisBlock is a modular system that easily implements a Low Power Wide Area Network (LPWAN) in your IoT solution. WisBlock accompanies your solution from rapid prototyping to mass production without the need to create new hardware modules for each step.
In the development phase, WisBlock modularity allows you to test different microcontrollers, sensors, communication technology, and IO options by changing modules with simple plug-in modules. WisBlock industrial-grade modules can be used in mass production without the need to redesign prototypes. Devices can be modified or repaired even once deployed with minimal waste and effort.
WisBlock ist ein modulares System, das auf einfache Weise ein Low Power Wide Area Network (LPWAN) in Ihre IoT-Lösung implementiert. WisBlock begleitet Ihre Lösung vom Rapid Prototyping bis zur Massenproduktion, ohne dass Sie für jeden Schritt neue Hardwaremodule erstellen müssen.
In der Entwicklungsphase können Sie dank der Modularität von WisBlock verschiedene Mikrocontroller, Sensoren, Kommunikationstechnologien und IO-Optionen testen, indem Sie Module gegen steckbare Module austauschen. WisBlock-Module in Industriequalität können in der Massenproduktion eingesetzt werden, ohne dass Prototypen neu entwickelt werden müssen. Die Geräte können auch nach dem Einsatz mit minimalem Aufwand modifiziert oder repariert werden.
Im Beitrag „WisBlock von RAKwireless – IoT-Anwendungen einfach umgesetzt“, veröffentlich in ELEKTRONIK 26/2023, S. 44-50 und im elektroniknet.de, wird gezeigt, wie mit WisBlock-Komponenten das Erstellen von IoT-Anwendungen vom Proof-of-Concept über das Prototyping bis hin zum Industrieprodukt unterstützt wird.
Der auf WisBlock aufbauende SensorHub stellt eine Ausprägung dieses Konzeptes dar und ermöglicht als Low-Code-System eine schnelle Umsetzung von IoT-Applikationen.
In meinem Blogbeitrag Vermittlung digitaler Inhalte in der Schule hatte ich die das Informatikinteresse an den Schulen fördernden Mikrocontroller BBC micro:bit, Calliope mini, und Oxocard betrachtet.
Dieser Bereich ist nach wie vor in Bewegung, stellt doch die Digitalisierung in allen Lebensbereichen eine grosse Herausforderung dar.
Mit der Oxocard Mini Serie stellt die Schweizer Oxon AG Computerboards zur Verfügung, die das Eintauchen in Computergrafik und ihre zugrunde liegenden Algorithmen oder Spiele und Animationen mit ihren Quelltexten ermöglichen.
OxoCard (Mini) Science ist eine programmierbare Multisensorplatine, die mit Hilfe von sieben Sensoren die folgenden physikalischen Grössen erfasst: Licht/IR, Temperatur, Geräusche, Feuchte, Druck und flüchtige Kohlenstoffverbindungen (VoC, eCO2 und Ethanol). Auch hier steht der dokumentierte Quelltext zur Verfügung und eigene Experimente können gestartet werden.
Oxocard Science, Oxocard Galaxy & Oxocard Artwork
Das jüngste Kind der Oxocard-Familie ist Oxocard Connect – ein ebenfalls auf dem ESP32 aufbauendes und damit netzwerktaugliches Computermodul mit grafischem TFT-Display und einem Joystick für die Benutzer-Eingaben, welches durch seitlich einsteckbare Cartridges mit peripheren Komponenten, wie Sensoren etc., erweitert werden kann.
Oxocard Connect mit Air Cartridge
Die Programmierung kann wieder über den komfortablen Nanopy-Editor erfolgen. Zahlreiche Programmbeispiele und ausführliche Erläuterungen dienen der Einarbeitung und Auseinandersetzung mit diesem System. Zum näheren Kennenlernen möchte ich Sie auf den Beitrag von David Lee verweisen.
Ich möchte Oxocard Connect nicht mit Python programmieren, sondern diesen sehr ansprechend gestaltetem Controller mit der Arduino-IDE programmieren. Die zahlreichen Libraries ermöglichen die Erweiterung mit Sensoren und die Vernetzung sehr komfortabel. Mit dem Veroboard lassen sich Prototypen sehr einfach erstellen, bevor man mglw. eine anwendungsspezifische Cartridge erstellt.
Oxocard Connect Arduino Test
Für die Hardware-Konstellation habe ich ein Testprogramm erstellt, welches die folgenden Funktionen testet:
Ausgabe auf dem farbigen TFT-LCD mit 240 x 240 Pixel LH133T-IG01 mit ST7789VW LCD-Controller
Abfrage Joystick
LEDs über digitale IO
EEPROM über I2C-Bus
Auf der Cartridge stehen neben digitaler und analoger IO und I2C-Bus auch noch SPI zur Verfügung. Ausserdem kann die gesamte Schaltung auch extern mit 5V (VEXT) versorgt werden.
Der Einsatz eines so ansprechend gestalteten Controllers lässt schnell das oft vorhandene Drahtverhau mit seinen unsicheren Verbindungen vergessen.
Oxocard Connect Openweather Station
Oxocard Connect besitzt mit der vorhandenen Hardware alle Möglichkeiten, über das Internet auf Daten zuzugreifen und diese auf dem Display darzustellen.
Ich habe hier durch Abfrage der Wetterdaten von Openweathermap.org eine kleine Wetterstation als Anwendungsbeispiel erstellt.
Openweathermap.org stellt maximal 1000 Aufrufe pro Tag gratis zur Verfügung, weshalb hier der Abfragezyklus auf zwei Minuten eingestellt wurde. Werden die 1000 Aufrufe überschritten, dann kann ein blockierter Account die Folge sein.
Simon Kemper beschreibt auf LinkedIn die Verbindung von Datacake und Slack zur Benachrichtigung bei kritischen Zuständen etc.
Unter Verwendung des TTN-internen MQTT-Servers bin ich einen anderen Weg gegangen.
Ich verwende Oxocard Connect als MQTT-Client und filtere nur die für das Monitoring erforderlichen Größen aus den Upload-Messages zur Anzeige auf dem Display.
Konkret überwache ich die Batteriekapazität eines solar-gepufferten SensorHubs von RAKwireless. Gerade jetzt in der dunklen Jahreszeit möchte ich den Ladezustand der Batterie überwachen, um die Nachladung tagsüber zu verifizieren.
Der SensorHub sendet die erfassten Umweltdaten zum TTS (CE) LNS, der diese an ein Datacake Dashboard zur Visualisierung weiterleitet. Sie finden dieses Dashboard über diesen Public Link.
Der Oxocard Connect MQTT-Client „subscribed“ die Upload-Messages des SensorHubs, filtert die Batteriekapazität aus der umfangreichen Upload-Message und bringt sie auf dem Display zur Anzeige. Die Aktualisierung des Displayinhalts erfolgt mit jeder neuen Upload-Message vom SensorHub.
Ein Screenshot des Consolen Outputs zeigt die empfangene Payload vor und nach der Filterung und die Extraktion der Daten. Auf dem Display wird aber nur die aktuelle Batteriekapazität angezeigt.
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.“
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.
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.
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.
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.