Maak een smarthome-dashboard met M5Stack-hardware en UIFlow

M5Stack ontwikkelt ESP32-microcontrollerbordjes met behuizing en scherm die je zo in je woonkamer zou kunnen zetten. Het zijn de ideale producten om een dashboard voor je smarthome van te maken. Met UIFlow is dat ook vrij eenvoudig te programmeren, op een grafische manier. Zo hoef je geen kaas gegeten te hebben van programmeercode.

Ik heb in en rond m'n huis allerlei temperatuursensoren staan. De binnen- en buitentemperatuur wilde ik ergens eenvoudig tonen. De M5Stack Core Ink leek me daarvoor ideaal: het is een ESP32-microcontrollerbordje met 1,54inch e-ink-scherm.

/images/uiflow-core-ink.jpg

Ik heb dit soort dashboards al op verschillende manieren geprogrammeerd: met Homepoint, ESPHome en openHASP. Nog een andere manier is UIFlow, een webgebaseerde ontwikkelomgeving voor de producten van M5Stack.

UIFlow ondersteunt alleen de hardware van M5Stack, maar geen willekeurig ESP32-microcontrollerbordjes. Het voordeel is dat de drivers van hun eigen producten allemaal ingebouwd zijn. Je kunt ook de grafische interface die je op het scherm van bijvoorbeeld de Core Ink wilt tonen 'tekenen' in de webinterface:

/images/uiflow-tekenen.png

Verder 'programmeer' je je software in Blockly, een grafische programmeertaal waarbij je blokjes met elkaar verbindt. Onderliggend wordt je Blockly-code overigens in MicroPython omgezet. Functionaliteit die niet in UIFlow is voorzien, kun je dan ook als MicroPython-code toevoegen.

In een artikel van me op id.nl lees je hoe ik de binnen- en buitentemperatuur van sensoren via MQTT inlees en op de Core Ink toon. De volledige code ziet er als volgt uit:

/images/uiflow-code.png