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.
MINT steht als Synonym für Mathematik, Informatik, Naturwissenschaft und Technik. Die MINT-Fachbereiche bilden den zentralen wirtschaftlichen Innovationssektor. Die Digitalisierung ist im Kern die Grundlage für unser aller Zukunft.
In der IoT2-Werkstatt ist kürzlich das folgende Büchlein erschienen, wo die dortigen MINT-Aktivitäten sehr anschaulich beschrieben werden.
Das vorliegende Büchlein zeigt, wie MINT die Resilienz der Gesellschaft stärken kann. Als herausragende Anwendung hat sich dabei die auf dem Octopus-Mikrocontroller basierende IoT-CO2-Ampel erwiesen. Hunderte Schulen in Deutschland haben zu Beginn der Pandemie ihre Ampeln gemeinsam selbst gebaut. In tausenden Klassenräumen helfen sie seither beim nachhaltigen Lüften.
Angesichts weltweit weiter zu erwartender Infektionen gibt es aber erheblichen Nachholbedarf bei der Raumluftqualität. Da ist es schon etwas deutlich Anderes, ob ein gekaufter Sensor an der Wand hängt, oder ob ein selbstgebautes und durchschautes System an die MINT-Hintergründe der Lüftungsregeln erinnert.
Neben der Messung der Raumluftqualität sind im Büchlein Anwendungen zur Messung des Energieverbrauchs, zum Balkonkraftwerk (genehmigungsfreie Stecker-Solaranlage) und zur Messung des Starkregenpegels zu finden.
Ende letzten Jahres kündigte Espressif bereits den ESP32-C3 an – einen kostengünstigen, RISC-V-basierten Mikrocontroller mit Wi-Fi- und Bluetooth 5 (LE)-Konnektivität für sichere IoT-Anwendungen.
Der ESP32-C3 ist eine 32-Bit-Single-Core-MCU auf RISC-V-Basis (RV32IMC) mit 400 KB SRAM, die mit bis zu 160 MHz getaktet werden kann. Neben integriertem 2,4-GHz-WiFi und Bluetooth 5 (LE) mit Long-Range-Unterstützung verfügt der ESP32-C3 über 22 GPIOs mit Unterstützung für ADC, SPI, UART, I2C, I2S, RMT, TWAI und PWM. Das ausführliche ESP32-C3-Datenblatt finden Sie hier.
Nun ist seit November reichlich Zeit vergangen und Module auf Basis des ESP32-C3 sind jetzt bestellbar.
Bei Schukat habe ich ein ESP32-C3-DEVKITM-1 und ein ESP32-C3-DEVKITC02 zu je € 9.65 bestellt. Andere Distributoren hatten wesentlich längere Lieferzeiten.
Beide DevKits unterscheiden sich nur durch das jeweils eingesetzte ESP32-C3-Modul und die resultierende Pinbelegung.
Das im ESP32-C3-DevKitM-1 eingesetzte ESP32-C3-MINI-1 ist ein universelles Wi-Fi- und Bluetooth LE-Kombimodul mit einer PCB-Antenne. Kern des Moduls ist ESP32-C3FN4 mit 4 MB embedded Flash Memory. Da das Flash Memory im ESP32-C3FN4-Chip verpackt ist hat das ESP32-C3-MINI-1 ein kompakteres Gehäuse.
ESP32-C3-DevKitM-1 Pin Mapping
Das im ESP32-C3-DevKitC-02 eingesetzte ESP32-C3-WROOM-02 ist ebenfalls ein universelles Wi-Fi- und Bluetooth LE-Kombimodul mit einer PCB-Antenne. Das Flash Memory ist ein externes 4 MB SPI-Flash.
ESP32-C3-DevKitC-02 Pin Mapping
Sollten Sie noch nicht mit RISC-V konfrontiert worden sein, dann hilft Ihnen vielleicht die in der Zeitschrift Design&Elektronik veröffentlichte Übersicht weiter:
Wenn meiner Bestellung von Schukat eintrifft , werde ich erste Tests und Benchmarks in der mittlerweile ebenfalls vorhandenen Arduino-Umgebung vornehmen und darüber berichten.
Den dort enthaltenen Benchmark habe ich in meine Benchmark-Übersicht mit aufgenommen.
Aus Sicht des Anwenders möchte ich seinem Schlussgedanken zustimmen:
„Aber es ist schön, RISC-V-Kerne in mehr Geräten zu sehen, nicht zuletzt, weil die standardisierte Befehlssatzarchitektur – die im Wesentlichen einem Standardsatz von maschinensprachlichen Befehlen gleichkommt – das Schreiben von optimierenden Compilern einfacher und schneller macht. Für den Endbenutzer ist das nicht so wichtig, aber wenn es Espressif durch das Einsparen von IP-Lizenzgebühren ermöglicht, ein moderneres Peripherieset zum ESP8266-Preis hinzuzufügen, dann sind wir alle dafür.“
An manchen Stellen wird der ESP32-C3 schon als ESP8266-Killer bezeichnet. Das bleibt abzuwarten, noch muss sich dieser neue Mikrocontroller erst behaupten.
Auf der Basis eines ESP8266-Mikrocontrollers von Espressif hatte ich gezeigt, dass man einen WiFi-tauglichen IoT-Knoten zu sehr geringen Kosten (es waren 15 US$) aufbauen kann [Building an IoT Node for less than 15 $: NodeMCU & ESP8266].
Dass WiFi auf Grund der geringen Reichweite und des doch recht hohen Stromverbrauchs für einen batteriebetriebenen IoT-Knoten allerdings nur unter bestimmten Bedingungen geeignet ist, war auch durch eigene Untersuchungen gezeigt worden [IoT Button (5th)].
Der hier betrachtete Sensorknoten soll deshalb neben der Anbindung verschiedener Sensoren auch unterschiedliche Kommunikationsmöglichkeiten (WiFi, LoRaWAN, BLE, GSM) aufweisen. Damit wird es möglich werden, einen konkreten IoT-Sensor baukastenartig zusammenstellen.
Sensorknoten
Der Beitrag „Arduino-Sensorknoten“ wird im Sammelwerk „Messen, Steuern, Regeln mit IBM-kompatiblen PCs“ des Weka-Verlags veröffentlicht.
ISBN 978-3824549009
Die Programmbeispiele werden auf Github abgelegt und stehen zum Donload zur Verfügung.
Der erste Teil des Beitrags ist in der Ausgabe 170 im Februar 2019 erschienen.
Sonoff SC ist ein WiFi Luftgüte-Monitor für den Einsatz in Innenräumen. Es werden Temperatur und Luftfeuchtigkeit, Lichtstärke, Feinstaub und Geräuschpegel erfasst. Die erfassten Daten werden direkt an die iOS/Android App EWeLink geschickt. Die Spannungsversorgung erfolgt über microUSB mit 5 V.
Sonoff SC ist „hacker-friendly“. Ein ATMega328p erfasst die Sensordaten mit Hilfe eines Arduino-Programms und ein ESP8266 dient der WiFi Kommunikation. Sonoff SC Schaltplan und Arduino Code sind im Wiki des Herstellers zu finden.
Wie die folgende Abbildung zeigt, besteht Sonoff SC aus Komponenten, die dem Maker weitgehend bekannt sein dürften.
Die Feinstaub-Belastung wird mit dem Sharp Dust Sensor GP2Y1010AU0F gemessen. Zur Messung von Temperatur und rel. Luftfeuchtigkeit dient der verbreitete DHT11 Sensor. Ein Elektret-Mikrofon erfasst die Umgebungsgeräusche und ein Fotowiderstand das Umgebungslicht.
Nach Installation der Android App eWeLink (für iOS gibt es eine entsprechende App) kann Sonoff Sc mit dieser App verbunden werden, die dann die erfassten Messgrößen auf dem Smartphone anzeigt.
Sonoff Sc ist kein professionelles Messinstrument. Das zeigen schon die eingesetzten Low-Cost-Komponenten. Fast viel wichtiger ist es, diesen Sensor als Grundlage für eigene Experimente aufzufassen. Dazu sind alle Informationen, wie Schaltplan und Quellcode, offen gelegt und bei einem Preis von aktuell unter USD 20,- kann man da nichts falsch machen.
Zahlreiche IoT Plattformen werben um die Gunst potentieller Kunden. Ich bin auf Thinger.io gestoßen, da von dieser Plattform mit dem ClimaStick auch eigene Hardware zur Erfassung von Umweltdaten angeboten wird. Hackster bietet auf dieser Basis auch gleich eine IoT Meteorological Station an.
Interessant ist diese Plattform allemal, da das Verbinden und Verwalten des eigenen IoT-Devices innerhalb weniger Minuten möglich ist.
Die folgenden Merkmale erscheinen mir besonders erwähnenswert:
Open Source
Der Server kann in der eigenen Cloud (z.B. auf einem Raspberry Pi) installiert werden.
Flexible Hardware Arduino, ESP8266, ESP32, Raspberry Pi, Intel Edison – alles kann problemlos angeschlossen werden.
Cloud-Plattform Die gehostete Cloud-Infrastruktur mit einer benutzerfreundlichen Administrationskonsole ermöglicht Skalierbarkeit, Geschwindigkeit und Sicherheit.
Einfache Codierung
Um ein Licht aus dem Internet einzuschalten oder einen Sensorwert zu lesen, ist eine einzige Codezeile auf der MCU erforderlich. Aber das ist nicht alles.
Für Maker
Interessenten können sich für einen kostenlosen Account registrieren, um innerhalb weniger Minuten unter Nutzung der Cloud-Infrastruktur mit der Erstellung des ersten IoT-Projekts zu beginnen.
Im Bild zum Beitrag ist ein aus NodeMCU und DHT22 bestehendes IoT-Device mit der Cloud-Infrastruktur verbunden, die die erhobenen Daten visualisiert.
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.
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 1, Online 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.
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.