Develop Bluetooth-assisted provisioning

更新时间:
复制 MD 格式

Bluetooth-assisted provisioning uses the Bluetooth Low Energy (BLE) communication capability of Wi-Fi and BLE combo chips. It sends Wi-Fi connection details, such as the Service Set Identifier (SSID) and password, to the combo device. This allows the device to connect to the Internet and the cloud. After the connection is established, the device can be attached to the platform to send and receive data. You can use the device-side software development kit (SDK) and application examples provided by IoT Platform to quickly integrate the Bluetooth-assisted provisioning feature.

The following figure shows the Bluetooth-assisted provisioning solution.

jt30

The device-side Bluetooth-assisted provisioning solution from IoT Platform provides the following features.

  • Data encryption: Ensures secure communication in complex Internet of Things (IoT) environments and protects user privacy.

  • Supports IoT device access in different regions within and outside China.

  • Supports device self-checks for features such as provisioning and cloud connection. This provides real-time feedback on the mobile app to improve device operations and maintenance (O&M).

  • Extensive professional testing for commercial use ensures feature quality.

  • Includes a sample device application for quick feature evaluation and authentication.

  • The sample device application supports both Bluetooth-assisted provisioning and one-click provisioning. This backup provisioning feature improves provisioning stability.

  • The sample device application supports simple serial port command interaction for operations in different scenarios.

  • Supports a high level of security with device-specific certificates. Each device must have a device certificate issued by IoT Platform burned into it.

Device-side resource requirements

The IoT Platform Bluetooth-assisted provisioning module runs on combo chips or modules that support both Wi-Fi and BLE. The following table lists the recommended hardware resources required for full functionality. You can use this list as a reference for model selection.

Category

Item

Metric Recommendation Requirements

Hardware performance

Processor

  • ≥ 32-bit Microcontroller Unit (MCU)

  • Clock speed ≥ 100 MHz

Memory resources

  • Flash ≥ 2 MByte

  • RAM ≥ 256 KByte

Protocol stack metrics class

Wi-Fi protocol stack

  • 802.11 b/g/n 1x1

  • Support for the 2.4 GHz band is required. Support for the 5 GHz band is optional.

  • Station mode

  • Monitor mode

BLE protocol stack

≥ BLE 4.2

IoT Platform SDK

Memory resources

  • Flash 300 KByte

  • RAM 50 KByte

Get the SDK

The device-side SDK includes a sample application for Bluetooth-assisted provisioning. The code folder and compile commands for the sample application vary depending on the SDK version, as shown in the following table.

SDK version

Version comparison

Code folder

Compile command

1.6.0

  • Optimized connection speed outside China

  • Device self-check for abnormalities during provisioning

  • Support for unified global activation

/Products/example/smart_outlet/

./build.sh example smart_outlet bk7231udevkitc MAINLAND ONLINE 1

1.3.0

Supports practical Command-Line Interface (CLI) commands for setting device identity information, Bluetooth-assisted provisioning, and more.

/Living_SDK/example/comboapp/

cd Living_SDK

aos make clean

aos make comboapp@bk7231udevkitc btstack=vendor

1.1.0

Initial version for Bluetooth-assisted provisioning. Devices must use device-specific certificate authentication.

/example/comboapp/

aos make clean

aos make comboapp@bk7231udevkitc btstack=vendor

Firmware porting and development

The Bluetooth-assisted provisioning feature in the IoT Platform SDK is ported to some chip platforms. You can find the authenticated combo chips and modules on the Debug Device page for your product in the console. If you use a chip or module that is not authenticated, you must port and develop the firmware based on the provided development documents.

  • Port Hardware Abstraction Layer (HAL) interfaces

    Bluetooth-assisted Wi-Fi provisioning is designed for devices that support both BLE and Wi-Fi. Its functionality depends on the correct adaptation of the underlying BLE and Wi-Fi protocol stacks.

  • User programming interface guide

    After you port the BLE and Wi-Fi protocol stacks, the IoT Platform SDK provides user programming interfaces that you can use for application development. The SDK also includes a sample program for the Bluetooth-assisted provisioning application. You can call the user programming interfaces to implement the feature.

    For a description of the Bluetooth programming interfaces, see the breeze_awss_xxx interfaces in Bluetooth device-side SDK user programming interface.

    For more information about the programming interfaces for the Wi-Fi component of Bluetooth-assisted provisioning, see the "Wi-Fi provisioning" section in Development with certified modules. Pay special attention to the interfaces related to connecting to a router.

IoT Platform also provides a best practices document for Bluetooth-assisted network setup that is based on this development guide. For more information, see Best practices for adapting Combo devices for Bluetooth-assisted network setup.