RainMaker WiFi provisioning - martinberlin/cale-idf GitHub Wiki

Espressif has a new way to do the WiFi provisioning to your IoT devices that is documented in their Website https://rainmaker.espressif.com

CALE UX in RainMaker

This is a way to provide:

  • WiFi credentials to your devices
  • Render a minimal User interface in your mobile devices (Limited to boolean switch / slider and HUE color picker)
  • Add event listeners that react to that changes in your ESP32 Firmwares

It has currently some limitations, that I'm aware of:

  • It accepts maximum 5 devices, and even if you delete them from the App, it still won't let you add a fifth one. So only way to add more if you are testing is to create a new account (That is a bit awkward, I already commented on this)
  • It has some minor glitches. Sometimes you get the message that MQTT disconnected, and then reconnects again, in Ipad sometimes it won't add a new device without saying the reason. But other than that it's a quite respectable app.
  • The libraries that uses specially BLE add a lot of IRAM to your Firmware so unless you use a WROVER with PSRAM you won't be able to do a big program or drive an epaper that has a big buffer because there is not space.

This feature is experimentally added on Issue 42. Adding it required some research since it's a fight to have enough IRAM space when RainMaker adds this heavy libraries. It was also good to learn that menuconfig has a lot of options that can help you to reduce IRAM size in your Firmware.

REQUIREMENTS

  • An ESP32-WROVER or similar with PSRAM
  • To use the branch: feature/42-wifi-provisioning
  • An epaper with a SPI interface or an EPDiy board and a parallel epaper (Last one not tested)

Just copy our test configuration from config-examples like this:

cp config-examples/ESP32-Psram-IRAM-optimize

And then run:

 idf.py build