Very first power up and setup

I am taking this from the what-is-balena: First, the device connects to the network and performs its early provisioning.

In the case of an IoT that you sell to your grandma, how is the device connecting to her WiFi network at home? I mean, in the case of a headless IoT device, whenre the only option is WiFI (and may be Bluetooth) how is the device going to know the ESSID and the WEP key?

I can think of various way of doing this but I was hoping a framework like Balena would cover that aspect; but it appears it is not the case. Anyone has suggestions? The key thing is your grandma: so really really really not tech savvy people…

Hi,

We have this open source project called wifi-connect (https://github.com/balena-io/wifi-connect), which can be used to span an AP, and configure the local network. A version of your application with this application installed, can be preloaded to a device. This is our standard solution and used often, by other customers. Although my grandma would still struggle with it, but this is of the lack of owing a computer, smartphone, WiFi, or an actual internet connection. :wink: But if one knows about these, it should be very easy and intuitive for users to configure their WiFi for the IoT device with this project.

Cheers,
Andreas

2 Likes

Interesting projet. But I would like to avoid step 2 (on the github page you are referring). I was hoping something like WiFI Aware would help. But it probably means to download an app on the phone (which is may be not such as bad thing as it is a very familiar process by the average user). It would still require the user to interact (select the essid, enter the WEP key) but it would remove 1 step, which is always good.

OTOH, WiFI Aware only exists for Android (but Google is making improvement on Q, so it appears to be alive).

Well maybe there is a way to use WiFI Aware to trigger the connection, I’m not aware of WiFi Aware.

But I think if you want to use an app for this, you might also be able to discover, the well known WiFi AP from the app, and connect to it from within the App, at that point, I think you can also show your own UI and just use the web interface of wifi-connect as a backend. I’m not an App developer therefore I don’t know about the APIs that are available to an app to discover existing WiFi networks, etc. But I could imagine that you can automate step 2 with an App, since you would know the default AP name and default passphrase to access the IoT device for configuration. And basically instruct the system to scan for available networks, when the App is opened and connect to the network if you find it. If the AP name and the passphrase should be specific to the device, it could also have a QR code sticker on it, with the credentials, that can be scanned by your app.