8 comments

[ 4.3 ms ] story [ 26.5 ms ] thread
Author here. Thanks for reading. This was a massive learning project for me, I'm happy to answer questions or feedback.
This is wonderful! Thanks for sharing!!
The entire ESP ecosystem is quite accessible for people of modest technical ability.

HomeAssistant+ ESPHome + ESP32 in particular is a good stack because it takes away most of the complexity. Common sensors have ESPHome code available with a quick google so just need to connect the wires right basically

Problem is that ESP32s are super power hungry once you start using BLE or Wifi.

For BLE you can use STM32s and Nordics. But Wifi-on-Chip is ESP32-only.

If you want to avoid “long polling” then MQTT isn’t the answer (it’s still a long held TCP connection waiting for messages). UDP would be the way to go, and with WireGuard as a carrier you don’t have to worry about NAT traversal issues (and get privacy as a bonus).

Love the project - would have been great when my kiddos were that age.

MQTT is not the same as long polling
When I got to auto[ssid, etc in main.c it became clear the sophistication/excursion from the typical Esp32 code centerline is at many levels. Thanks for sharing!
Very cool project, I feel inspired to try something like this myself!

I noticed there seems to be a use-after-return with the creds returned from CredentialManager::retrieveCredentials (C-arrays can't be passed/returned by value). One solution could be to return Arduino Strings instead