蓝牙配网
概述
蓝牙配网就是通过蓝牙功能将未配网设备加入网络,使其成为网络中的节点的过程。该功能主要定义了使用蓝牙的GATT Service来实现蓝牙Master(通常为手机APP或小程序)传入配网过程中WIFI连接所需的SSID和PASSWORD,从而实现未配网设备获取到连接网络的信息去进行WIFI连接。 本小节将通过蓝牙配网demo来介绍蓝牙配网的使用。
demo简介
1、蓝牙配网demo工程的主要设计思想是:
蓝牙设备发出蓝牙配网广播;
手机搜索蓝牙设备并进行蓝牙连接;
手机通过GATT Service将要连接的WIFI SSID和PASSWORD发送到待配网设备;
蓝牙设备获得WIFI连接需要的SSID和PASSWORD后进行WIFI连接,配网成功。
demo工程的设计流程图如下图所示:
Figure 1. ble boarding demo work flow chart
2、该蓝牙demo所需软件工具: nRF Connect APK、SSCOM、char转hex工具
3、GATT服务:
Service UUID: 0xFFFF
SSID characteristic UUID: 0x9ABC
PASSWORD characteristic UUID: 0xDEF0
demo示例
蓝牙配网demo使用的API接口详细说明请参考
/api-reference/bluetooth/ble.html蓝牙配网demo具体的示例代码详见
demo/bluetooth/ble_boarding/ble_boarding_demo.c
demo工作流程
Figure 2. ble boarding demo software design flow chart
demo操作说明
通过SSCOM软件发送命令:AT+BLE=BOARDING,0201060908373235365f424c45,D;
手机打开nRF Connect APP进行scan,找到设备名为7236_BLE的设备并点击连接按钮;
设备连接上之后找到service UUID为0xFFFF的服务并点击;
在服务下找到UUID为0x9ABC的characteristic,写入配网所需的WIFI SSID的hex数据并点击send;
在服务下找到UUID为0xDEF0的characteristic,写入配网所需的WIFI PASSWORD的hex数据并点击send;
在SSCOM中会输出显示配网成功并获得IP的log;
在SSOCM中输入PING 192.xxx.xxx.xxx的命令去ping所连路由器的IP地址检查是否配网成功。
注意事项
demo中通过nRF Connect软件发送配网所需的WIFI SSID和PASSWORD需要通过char转hex工具转换为hex数据进行输入。