Provisioning devices and getting them onto end-user WiFi networks #80
Replies: 3 comments 15 replies
-
Hi @justind000! We're definitely interested in exploring this with you. Should we try to figure out how to make the BLE based WiFi configuring work? I believe we have most of the building blocks. |
Beta Was this translation helpful? Give feedback.
-
We have added support for establishing a WiFi in Soft AP mode on the ESP32. Together with some simple DNS server code, you can use this to create a provisioning flow. Once you have the new WiFi credentials through some sort of form post, you can install them by doing a call to
This will save the credentials if we can successfully connect to the network and use the credentials for future attempts to connect to the network. (I originally posted this as a reply to a comment, but I decided that it's meaningful to make this a separate comment) |
Beta Was this translation helpful? Give feedback.
-
The sample project https://github.com/kasperl/toit-zygote shows how to pull all this together. |
Beta Was this translation helpful? Give feedback.
-
I have been looking at how to provision a Toit device. I am looking from the perspective of an end-user who has received a device that has been programmed with Toit and now has to set it up to work at their location.
How does the end-user enter their WiFi settings at this point? The end-user shouldn't need to interact through Toit's console or CLI as they bought a device and just want it to work with a simple setup process.
Here a some ideas to accomplish this:
I have tried most of the methods and they all worked. Espressif provides sample apps to use the Unified Provisioning and they work. I think the most reliable method is the BLE version. As mentioned above, the access point method (both Espressif and outside repos) creates a WiFi network for the user to connect to. My phone complains about it not having internet access, as does my computer. I need to tap/click a few times to tell it to stay connected.
I was hoping to get a conversation going regarding other methods or ideas, experiences etc. Also to see if there is any interest on the Toit side to implement a particular method for this use-case, as any method will require additional code, but also some rewrites to the WiFi connection logic (what to do if no WiFi).
Beta Was this translation helpful? Give feedback.
All reactions