Der allmonatliche Update-Zyklus im Hause Espressif brachte Nutzern diesmal neue APIs, Unterstützung für Toit-Container und einen Kickstarter für eine Kombinationsplatine mit einem RP2040. von Tam HANNA
Worum geht es hier?
Espressif’s ESP32-Familie umfasst mittlerweile ein gut halbes Dutzend verschiedene Controller, die – im Allgemeinen – einen ein- oder zweikernigen frei programmierbaren Microcontroller und Funkstacks für diverse Protokolle mitbringen. Die Chinesen bringen immer am Ende eines Monats eine Gruppe neuer Funktionen und Produkte auf den Markt – hier ein Kurzüberblick der Neuerungen.
Toit-Container für ESP32
Das dänische Start-Up Toit bietet eine Containerruntime an, die auf die Bedürfnisse von Microcontrollern optimiert ist. Werkzeug der Wahl ist dabei eine virtuelle Maschine, die eine an C angelehnte Programmiersprache namens toit ausführt:
1 |
import gpio |
2 |
import i2c |
3 |
import drivers.bme280 as drivers |
4 |
main: |
5 |
bus := i2c.Bus |
6 |
— sda=gpio.Pin 21 |
7 |
— scl=gpio.Pin 22 |
8 |
device := bus.device 0x77 |
9 |
bme := drivers.Bme280 device |
10 |
bme.on |
11 |
print “Temperature: $bme.read_temperature C” |
12 |
print “Humidity: $bme.read_humidity %” |
13 |
print “Pressure: $bme.read_pressure Pa” |
14 |
bme.off |
Die im Hintergrund arbeitende virtuelle Maschine isoliert die einzelnen Applikationen voneinander und erlaubt durch eine an MQTT erinnernde Schnittstelle Interprozesskommunikation.
Lohn der Maßnahme ist, dass sie ihre ESP32-Instanzen fortan über einen Cloudservice administrieren können. Dieser erlaubt das Einspielen von Updates, die – logischerweise – unter Absicherung gegen Übertragungsfehler erfolgen.
Mehr Informationen und ein kostenloses Basiskonto für erste Versuche finden sich unter https://docs.toit.io/.
ESP-USB: native USB-Unterstützung für ESP32-S2
Der ESP32-S2 bringt ein USB-Interface mit, das die Interaktion mit Hosts und Peripheriegeräten ermöglicht. Zur Erleichterung der Evaluation soll eine als ESP-USB bezeichnete Evaluationsplatine auf den Markt kommen – leider gibt es zum Zeitpunkt der Drucklegung noch keine Informationen darüber, was das in der Abbildung gezeigte Boards kostet und/oder wann es käuflich erhältlich sein wird.
Derzeit nur mit chinesischer Dokumentation – aber lauffähig – gibt es auf GitHub zudem beispiele, die die Nutzung eines ESP32-S2 als Host für eine USB-Webcam, für ein 4G-Modul und zur Emulation eines USB HID-Geräts einspannen. Weitere Informationen hierzu finden sich unter https://www.espressif.com/en/news/ESP-USB.
UDOO KEY kombiniert RP2040 und ESP32
Die Raspberry Pi Foundation bietet mit dem RP2040 einen Microcontroller an, der weder WiFi noch Bluetooth unterstützt. Der italienische Prozessrechnerspezialist UDOO – das Unternehmen bietet vor Allem x86-Evaluationsboards an – kombiniert den RP2040 nun mit einem ESP32-Modul.
Das GPIO-Pinout des RP2040 entspricht dabei dem des Raspberry Pi Pico, UDOO versprechen Unterstützung für alle mit dem Raspberry Pi Pico kompatiblen Erweiterungen. Auf Seiten des ESP32 scheint nur ein UART zur Verfügung zu stehen, über die Art der Kommunikation zwischen den beiden Platinen gibt es noch keine Informationen. Wer an der Kickstarter-Kampagne teilnimmt, bekommt den Prozessrechner um 4 statt 20USD – die Anmeldungsliste steht unter https://udoo.org/udookey/#lastsubscribe bereit.
Edge Impulse: Computer Vision für ESP32
Zu guter Letzt legt Espressif den Fokus auf Edge Impulse: der allmonatliche News-Blast stellt normalerweise immer auch ein Partner- bzw Ökosystempartnerunternehmen vor, das eine nach Ansicht von Espressif besonders empfehlenswerte oder innovative Lösung anbietet. Diesmal ist das Fokusprodukt eine als Edge Impulse bezeichnete Software, die die Erzeugung von Computer Vision-Modellen für den ESP32 erlaubt – als Programmiersystem kommt dabei witzigerweise nicht ESP-IDF; sondern die Arduino-Runtime zum Einsatz. Ein einfaches Beispiel findet sich unter https://github.com/Dasch0/esp32-platformio-edge-impulse-standalone-example/blob/main/src/main.cpp, weitere Informationen unter https://www.edgeimpulse.com/blog/add-sight-to-your-esp32.