一文掌握BLE配网双模式:STA+SoftAP技术拆解与实战代码!

STA模式快还是SoftAP模式稳?BLE蓝牙配网双模式告诉你答案!本文从协议层拆解双模式协同机制,提供可直接复用的实战代码,开发者无需深入底层,即可快速集成双模式配网功能,项目周期缩短50%。

本文特别分享蓝牙配网方案:

以Air8000核心板为例,实现“STA+SoftAP双模式BLE配网” 功能——手机通过BLE下发Wi-Fi账号/密码或热点参数,Air8000自动完成Station连接或SoftAP创建,并验证网络可用性。

一、蓝牙配网基础知识

简而言之,蓝牙配网是让Air8000工作在蓝牙配网模式下,手机APP通过蓝牙连接Air8000,通过APP界面实现配网功能。

1.1 蓝牙配网是什么

蓝牙配网——是一种利用蓝牙低功耗(BLE)链路,在未联网设备与手机之间建立本地安全通道,把Wi-Fi的SSID、密码及其他网络参数传递给设备,使其独立完成STA或SoftAP联网的技术方案。

1.2 蓝牙配网原理

设备在上电后进入配网模式,作为BLE Peripheral持续广播自定义的配网服务UUID;

手机APP作为Central扫描并建立GATT连接,随后通过加密特征值把网络参数下发给设备。

设备收到参数后,启用Wi-Fi并执行联网流程。

1.3 蓝牙配网流程

设备在上电后进入配网模式,作为BLE Peripheral持续广播自定义的配网服务UUID;

1)广播:

设备以固定间隔广播配网服务,等待手机连接。

2)连接:

手机APP扫描→选择目标设备→建立BLE连接。

3)选择配网方式:

在手机APP界面选择所需模式,两种模式主要区别如下:

Station模式:

设备直接作为Station连接路由器,应用中也常缩写为STA模式。

SoftAP模式:

设备通过4G开AP热点,用于其他设备连接。

二、蓝牙配网示例demo

Air8000应用示例持续更新中,此处仅展示部分代码要点,完整demo详见源码仓库最新文件。

最新源码/APP下载:https://gitee.com/openLuat/LuatOS/tree/master/module/Air8000/demo/config_wifi_network/ble_config_wifi

实操教程详见:https://docs.openluat.com/air8000/luatos/app/wifi/ble/

2.1 初始化蓝牙等相关功能

使用蓝牙配网,首先需要初始化蓝牙设备并启动espblufi配网功能。


2.2 定义espblufi回调函数

定义espblufi回调函数,用于处理不同类型的事件。

例如:

EVENT_STA_INFO、EVENT_SOFTAP_INFO等。


2.3 定义网络测试功能函数

用于接收: "STA_CONNED"、"STA_DISCONNED"、"AP_CONNED"等消息来进行对应的逻辑处理。


三、蓝牙配网实操要点

以下是Station模式和SoftAP模式的配网功能演示,新朋友可查看资料中心详细教程:

https://docs.openluat.com/air8000/luatos/app/wifi/ble/

 - Station模式配网 -  

1)首先使用LuaTools将固件和脚本烧录到核心板,开机运行查看日志:

2)此时打开手机APP端,可以看到已经扫描到我们的设备了(如果没有扫描到就重启一下设备,并下拉刷新APP)。

3)点击我们的设备,进入配网界面,点击连接,就可以进行配网的操作了:

4)点击配网,进行Station配网模式,选择需要连接的Wi-Fi,输入对应的密码,即可开始连接。

5)此时查看日志,即可看到STA已经连接成功,并且进行HTTP请求成功。


 - SoftAP模式配网 -  

1)首先参照上方Station模式的方式,烧录、开机、打开APP连接、进入配网界面:

2)此时,点击配网,选择SoftAP模式,配置AP热点:

3)在这里可以选择加密方式、信道号、最大连接数,根据自己的需求选填:

4)点击确定后,开始建立AP热点:

5)此时使用设备进行连接,连接成功即可正常使用。

今天的内容就分享到这里了~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值