Best Wi‑Fi Provisioning Method? AirKiss, SmartConfig, Hotspot, Bluetooth & QR‑Code
This article examines five Wi‑Fi provisioning techniques—AirKiss, SmartConfig, hotspot, Bluetooth, and QR‑code scanning—detailing their processes, technical principles, advantages, and drawbacks, and proposes an enhanced hotspot solution to improve success rates and simplify setup for IoT devices lacking screens or cameras.
We have released several Wi‑Fi IoT devices such as “Cloud Speaker Wi‑Fi”, “Shouqianba Speaker Wi‑Fi”, “Cloud Printer Wi‑Fi” and “Scan King”. Because they only support the 2.4 GHz band, the success rate of network provisioning drops as dual‑band routers become common. We therefore tested various provisioning methods: AirKiss, SmartConfig, hotspot, Bluetooth and QR‑code scanning, and compare their characteristics, advantages and disadvantages.
Provisioning Definition
Wi‑Fi IoT devices must obtain the router’s SSID and password before they can connect to the network. This process is called Wi‑Fi provisioning.
Provisioning Methods Overview
The devices we have deployed use the following provisioning methods: AirKiss, SmartConfig, hotspot, Bluetooth and QR‑code scanning.
1. AirKiss Provisioning
AirKiss is a provisioning method launched by WeChat, which was discontinued after AirKiss 2.0.
Initially we activated the Cloud Speaker outside the Shouqianba app; the binding and provisioning were completed on the WeChat side, enabling rapid device onboarding.
Provisioning Process
Wi‑Fi device enters monitor (promiscuous) mode.
The WeChat client selects the currently connected Wi‑Fi, inputs the password, and broadcasts the data via the router.
The device captures the SSID and password from the broadcast packets and connects to the Wi‑Fi.
Technical Principle
AirKiss uses a series of UDP broadcast packets encoded according to the AirKiss protocol. The receiver listens in promiscuous mode, extracts the packets at the data‑link layer, parses the SSID and password, and connects to the network. No extra app is required; users only need to scan a QR code in WeChat.
Advantages
No additional app download; provisioning via WeChat.
Simple process, easy to use.
UDP allows simultaneous provisioning of multiple devices.
No extra cost.
Disadvantages
WeChat stopped updating AirKiss after version 2.0, leading to poor compatibility.
Some routers disable UDP broadcast or do not support UDP.
When a dual‑band router uses the same SSID for 2.4 GHz and 5 GHz, the phone may connect to the 5 GHz band, but devices only support 2.4 GHz, causing provisioning failure.
Multiple routers with the same SSID in the environment can cause the device and phone to connect to different routers.
Provisioning time is long (typically over one minute) and real‑world success rate is around 60 %.
2. SmartConfig Provisioning
After integrating the Cloud Speaker into the Shouqianba app, we embedded the SmartConfig SDK. Like AirKiss, SmartConfig relies on UDP broadcast packets, but uses a different protocol. Continuous vendor optimization has improved compatibility, and users can manually select the Wi‑Fi network, increasing success rates.
Provisioning Process
Device enters monitor mode.
The phone lists available Wi‑Fi networks; the user selects one or manually enters SSID and password.
The device captures the SSID and password from the broadcast and connects.
3. Hotspot Provisioning
Because SmartConfig can still fail, we added hotspot provisioning in the Shouqianba app as a backup.
Provisioning Process
Device switches to hotspot (AP) mode.
The phone lists Wi‑Fi networks; the user selects or manually enters the target network.
The user connects to the device’s hotspot (named with the “shouqianba” prefix).
After connection, the phone sends the target SSID and password to the device via TCP.
The device receives the credentials, connects to the router, and the phone automatically disconnects from the hotspot.
Technical Principle
The device acts as an AP; the phone establishes a TCP connection to the device’s hotspot and transmits the router name and password directly.
Advantages
High success rate (≈98 %) even with same‑named 2.4 GHz/5 GHz routers or multiple identical SSIDs.
No extra cost.
No router compatibility issues.
Disadvantages
Requires the user to manually connect to the device’s hotspot, making the process more complex.
If the 2.4 GHz and 5 GHz routers have different SSIDs, the user may mistakenly select the 5 GHz network, causing failure.
iOS can only obtain the currently connected Wi‑Fi, so users must enter credentials manually.
4. Bluetooth Provisioning
To overcome the limitations of the previous methods, the first‑generation Shouqianba speaker used Bluetooth provisioning.
Provisioning Process
Device enters Bluetooth mode.
The phone scans and connects to the device’s Bluetooth, retrieving a list of Wi‑Fi networks the device can recognize.
The user selects a network and enters the password.
The phone sends the credentials back to the device via Bluetooth.
Technical Principle
The phone discovers the device’s Bluetooth, establishes a connection, obtains the list of 2.4 GHz Wi‑Fi networks, and transmits the chosen SSID and password back to the device.
Advantages
100 % success rate; filters out 5 GHz networks and duplicate SSIDs.
Simple process, easy to use.
No router compatibility issues.
Disadvantages
Adding Bluetooth hardware increases device cost by about 2 CNY.
5. QR‑Code (Scan) Provisioning
Scan King, a device with a screen and keypad, uses a QR‑code provisioning method. Because the keypad is numeric, entering alphanumeric passwords is cumbersome, so we designed a QR‑code workflow.
Provisioning Process
The device generates a QR code containing up to five Wi‑Fi SSIDs it can recognize.
The Shouqianba app scans the QR code to retrieve the list.
The user selects a communication method; if Wi‑Fi is chosen, they pick the network, enter the password, and generate a QR code containing the credentials.
The user confirms on the device to scan the QR code, completing provisioning and activation.
Technical Principle
The device displays a QR code with available Wi‑Fi networks. The app scans it, the user selects a network and enters the password, then the app creates a QR code with SSID, password, and activation code. The device scans this QR code and finishes provisioning.
Advantages
100 % success rate.
Simple and user‑friendly.
No router compatibility issues.
Disadvantages
Requires a screen and camera on the hardware.
Improved Hotspot Solution
Analysis shows that hotspot provisioning has the highest success rate and no extra cost, but its workflow is complex and does not filter 5 GHz routers. For headless IoT devices we designed an enhanced hotspot flow.
Provisioning Process
Prompt the user to start hotspot provisioning and click “Next”.
Pre‑load the Wi‑Fi input interface.
The phone automatically connects to the device’s hotspot (supported on Android and iOS 11+), reducing manual steps.
After establishing a TCP connection, retrieve the list of Wi‑Fi networks the device can recognize.
Display the list, let the user select a network and enter the password, then send the credentials via TCP.
The device connects to the router; the phone disconnects from the hotspot.
Solution Explanation
This approach eliminates the inability to filter 5 GHz networks and the limitation of iOS devices that can only obtain the currently connected Wi‑Fi. For Android and iOS 11+ devices the flow is simple, and the speed and success rate are comparable to Bluetooth provisioning.
References
AirKiss overview and use cases: https://iot.weixin.qq.com/wiki/new/index.html?page=4-1-1
SmartConfig documentation: https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-reference/network/esp_smartconfig.html
Signed-in readers can open the original source through BestHub's protected redirect.
This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactand we will review it promptly.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
