Blog

Tinkerforge Standalone mit ESP32 Bricks

ESP32 Ethernet Brick

Schon seit längerem setzen wir den ESP32 Brick und den ESP32 Ethernet Brick für unsere WARP Charger ein. Beim WARP Charger (Generation 1) kam der ESP32 Brick als zentrale Steuerung zum Einsatz, bei der aktuellen Generation WARP2 Charger setzen wir auf den ESP32 Ethernet Brick.

Heute haben wir diese Bricks auch offiziell für das Tinkerforge Baukastensystem veröffentlicht, so dass die Bricks auch für eigene Projekte zur Verfügung stehen.

Was ist der ESP32 Brick bzw. ESP32 Ethernet Brick?

Beim ESP32 handelt es sich um eine leistungsstarke Mikrocontrollerplattform, die über integriertes WLAN (802.11b/g/n) und Bluetooth (V4.2 BR/EDR, BLE) verfügt. Die zwei CPU Kerne sind mit bis zu 240 MHz getaktet und verfügen über 448KB ROM, 520KB SRAM und 16MB Flash. Beide Bricks sind jeweils mit sechs Anschlüssen für Bricklets ausgestattet. Mittels der USB-C Schnittstelle der Bricks können diese mit Strom versorgt und auch geflasht werden. Dazu ist ein USB seriell Wandler auf den Bricks integriert, der auch als serielle Schnitstelle/Konsole genutzt werden kann. Eine optionale Stromversorgungsplatine kann auf die Bricks aufgesteckt werden, so dass eine Stromversorgung mittels DC Spannung von bis zu 27V möglich ist. Wie der Name schon vermuten lässt, ist der ESP32 Ethernet Brick im Vergleich zum ESP32 Brick noch zusätzlich mit einer LAN Schnittstelle ausgestattet.

Wofür sind diese Bricks gedacht?

Der ESP32 (Ethernet) Brick kann auf zwei Arten genutzt werden: Im Auslieferungszustand ist bereits unsere Standard-Firmware auf dem Brick vorhanden. Diese öffnet einen WLAN-Accesspoint, so dass man das Webinterface des Bricks erreichen kann. Beim ESP32 Ethernet Brick ist dieses zusätzlich per LAN (DHCP) erreichbar. Mit dem Webinterface kann der Brick konfiguriert werden, um zum Beispiel den Brick mit dem eigenen WLAN zu verbinden. Die Standard-Firmware verfügt über einen sogenannten Proxy Modus. Der Proxy ermöglicht es auf die angeschlossenen Bricklets per WLAN/LAN mittels unserer API Bindings zuzugreifen. Damit kann zum Beispiel auch unser Brick Viewer direkt auf die Bricklets zugreifen. Technisch verhält sich der ESP32 (Ethernet) Brick damit ähnlich wie ein Master Brick mit aufgesteckter WIFI- oder Ethernet-Extension.

Natürlich können die ESP32 (Ethernet) Bricks aber auch als Entwicklungsplattform mit eigener Software genutzt werden. Dies ist sinnvoll bei der Entwicklung von standalone Anwendungen, d.h. bei Anwendungen ohne oder nur mit teilweiser Steuerung von außen. Hierfür gibt es zwei Möglichkeiten:

Zum einen kann der ESP32 einfach als Hardwareplattform mit vollständig eigener Software genutzt werden. Der ESP32 ist eine weit verbreitete Plattform, so dass es viele Bibliotheken und Entwicklungsumgebungen dafür gibt (Visual Studio Code, Arduino, etc.). Um unsere Bricklets einfach nutzen zu können bieten wir nun die C/C++ - API Bindings für Mikrocontroller, die direkt in den eigenen Code genutzt werden können. Als weitere Möglichkeit kann unsere Standard-Firmware genutzt werden. Diese ist modular aufgebaut und kann einfach um ein eigenes Softwaremodul erweitert werden. Somit können je nach Anforderungen das Webinterface, die Konfiguration des Bricks und der Proxy Modus direkt genutzt werden.