New Library Example: Provision Argon WiFi Credentials via BLE

Hello Particle Community! I’m Dan Kouba, a Sr. Solutions Architect on the Particle team, and I’m excited to share a solution I put together to address some of the challenges we’ve heard from you around provisioning Argons in the field.

The solution is in two parts:

  1. A firmware library (ble-wifi-setup-manager, available in the Particle library system) that exposes a custom WiFi configuration service via BLE. It uses a simple JSON interface to enable another device to initiate WiFi scans on the Argon, and provision it with credentials for a given SSID.
  2. A static example webpage that can be used to access the configuration service and provision a device using Chromes Web Bluetooth standard and some basic Javascript. The webpage can easily be embedded into your own website (e.g. https://mycompany.com/wifi-setup) and white labelled for your customers to access remotely.

The configuration webpage example will work on any desktop OS or on Android devices running a recent build of Chrome. However, it does not currently work natively on iOS devices, as Apple has not implemented the Web Bluetooth stack. There does exist at least one paid application in the Apple store that supports the standard however, so that could be an option to get around this.

If you’re interested in trying this out, you can find the example webpage and a link to my firmware library here on my Github Pages account.

Any and all contributions from the community are appreciated! I plan to develop a few additional features in the coming weeks myself.

12 Likes

this is great, Dan, thank you!

Wow… this is nice! I had a few use cases with WiFi but was reluctant due to the need to have a user configure their SSID and I’m far from an iOS or Android developer. Being able to do this through a chrome browser that is white labeled is great! Thanks for putting this library and example together as it just removed that barrier!

Wow thank you Dan!