|Author||Dan Kouba firstname.lastname@example.org|
|Maintainer||Dan Kouba email@example.com|
Particle Argon WiFi provisioning via BLE Enables Particle Argon WiFi provisioning via BLE, specifically for use with the Chrome Web Bluetooth framework
Device OS Version:
This table is generated from an automated build. Success only indicates that the code compiled successfully.
This content is provided by the library maintainer and has not been validated or approved.
This library enables a user of a Particle Argon device to provision WiFi credentials over BLE, including the following functionality:
- Exposes and advertises a custom BLE service for WiFi provisioning
- Provides a simple JSON-based communication interface
- Enables scanning for nearby WiFi networks
- Enables a user to provision of one of the found networks
- Provides an optional callback function for user code to handle a provisioning event (eg. restart WiFi, connect to the cloud, etc.)
Future functionality may include:
- [ ] Clear, get, and set WiFi credentials on the device
- [ ] Expose ability to turn library on and off in user code (currently it runs all the time)
- [x] Add callbacks for successful configuration of credentials
- Add this library to your project (Name: `ble-wifi-setup-manager)
- Implement the provided example code
A functional example webpage that can be used for BLE setup, using the Chrome Web Bluetooth standard, can be found here. This code is easy to implement into your own webpage and white-labelled for customer use.
Please note: the web example only works on Chrome running on a desktop OS (Windows/OSX/Linux), or on Android devices. iOS does not natively support the Web Bluetooth standard (yet), however, there does exist at least one paid app that exposes the functionality required.
The firmware exposes a custom service, which has two characteristics for communication channels. Characteristics are named from the device's perspective, meaning the device sends on
tx, and receives on
All messages are in JSON format. They start with a value
msg_t that informs either side what kind of message is being sent.
||Response from device (
||Contains details about one WiFi access point that has been found during a scan||
||Send to device (
||Initiates WiFi scan on the Argon||
||Send to device (
||Provisions credentials for a given WiFi access point||