Esp32
Auch der esp32 gehört zu den Mikrocontroller der Firma espressif, hat halt etwas mehr Speicher als der esp8266. Und es existieren mehrere Clones, die sogar besser als das Original sind.
Hintergrund war es den CO2 Sensor SCD40 als guenstigere Variante zum MHZ19B aufzusetzen. Dieser kann auch Temperatur und Luftfeuchte messen. Auch hier kommt tasmota zum Einsatz.
Am besten den tasmota eigenen flashtool verwenden und die “angepasste” binary aufsetzen, oder halt esptool.py write_flash 0x0 tasmota32.factory.bin. Es geht auch “ohne”, allerdings werden die SCDxx Angaben dann nicht angezeigt oder muessten via templates selber zusammengestrickt werden.
Beim ersten Start wird via USB-Serial der esp32 angeschlossen; der entsprechende Chip ist bereits onboard, also genuegt ein USB-Ladekabel. Im Menue werden unter Configuration Wifi, MQTT und sonstige Einstellungen eingegeben. Man erkennt dass der esp32 (tasmota) einiges mehr an Optionen anbietet. Der SCD40 verwendet das I2C-Protokoll; hier recht einfach SDA und SCL, die an die gpio-Pins angeschlossen werden. Lt. Datenblatt wird das I2C-Protokoll bei Pin 22 und 21 des esp32 bereitgestellt. Die 3,3V sind eh beim esp32 verfügbar.
Unter Tools und Console können einige Kommandos losgetreten werden, um den SCD40 einzustellen, die wichtigsten:
SCD40Stop
SCD40Toff 400
SCD40Alt 678
SCD40Cal 400
SCD40pers
Fuer die Kalibrierung sollte der Sensor irgendwo am offenen Fenster (Frischluft) eine längere Zeit verbleiben. Danach ggf. ein SCD40Strt und ein Neustart. Der Aktualisierungsintervall sollte bei 60 sec (Stichwort: Telemetrie) liegen, jedenfalls packt der SCD40 diese Zeitspanne und für CO2 Messung durchaus angebracht…