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
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