当前位置:   article > 正文

ble l2cap 工作过程_重磅开源,微信小程序ble蓝牙配网乐鑫esp32,开源奉献物联网;...

ble蓝牙配网代码框架

开源意义

让微信小程序也可以配网设备!

2019.11

28

9dd6b4329060f3f2ee4d670129e0a1e2.png 76ad209e966ebc6f65a0ac91c427890c.png 1935c5a310fb276dd3b471b4525263a0.png cc3f98ac81f1c8cd8077e25ccdb57483.png 3019ee46f8e090385d28ec8553710f32.png 6e0e3ead71b3786d963366f8a00ad865.png

 · 前言 ·  

f4dbc6e37cc27540b64efc5575a9c53b.gif

  前几天,乐鑫公众号小编送了我一个礼物,心砰砰跳的我以为是个新开发板,一打开,原来是个杯子,蛮新颖的,感谢乐鑫对我的支持!

  熟悉的粉丝都知道,我对乐鑫产品系列的配网方式很熟悉,有做过smartConfig、airkiss以及AP热点配网等博文,还有最近提到的天猫精灵零配等教程;

   今天,再来分享一波乐鑫的蓝牙配网实现在微信小程序的工程;

486ba8634e9f0e3f69f1b5a63d602ecd.png

 · 认识蓝牙配网BluFi·  

f4dbc6e37cc27540b64efc5575a9c53b.gif

    BluFi是一款基于蓝牙通道的WiFi网络配置功能,适用于ESP32。它通过安全协议将 WiFi配置和证书传输到ESP32,然后ESP32 可基于这些信息连接到AP或建立SoftAP。

    总的来说,一旦上位机和esp32成功建立蓝牙连接,在输入的路由器ssid和正确情况下,配网速度快、成功率高!

详细过程:

  1.ESP32开启GATT Server 功能,发送带有特定adv data的广播。你可以自定义该广播,该广播不属于 BluFi Profile。

  2.使用手机APP搜索到该特定广播,手机作为GATT Client连接 ESP32。你可以决定使用哪款手机 APP。

  3.GATT连接建立成功后,手机向ESP32发送“协商过程”数据帧(详情见 BluFi 传输格式)。

  4.ESP32收到“协商过程”数据帧后,会按照使用者自定义的协商过程来解析。

  5.手机与 ESP32 进行密钥协商。协商过程可使用DH/RSA/ECC 等加密算法进行。

  6.协商结束后,手机端向ESP32发送“设置安全模式”控制帧。

  7.ESP32收到“设置安全模式”控制帧后,使用经过协商的共享密钥以及配置的安全策略对通信数据进行加密和解密。

  8.手机向ESP32发送“BluFi 传输格式”定义的SSID、Password 等用于 Wi-Fi 连接的必要信息。

  9.手机向ESP32发送“Wi-Fi 连接请求”控制帧,ESP32收到之后,识别为手机已将必要的信息传输完毕,准备连接Wi-Fi。

  10.ESP32连接到Wi-Fi 后,发送“Wi-Fi 连接状态报告”控制帧到手机,以报告连接状态。至此配网结束。

Blufi配网流程图

20fcc936d812604623b7a95ae5a89d60.png

 · 设备端开发集成Blufi协议 ·  

f4dbc6e37cc27540b64efc5575a9c53b.gif

   上述已为大家讲述blufi的通讯配网原理,下面为大家如何集成blufi协议到esp32中。

   搭建好esp32环境,直接编译example下面的《blufi》工程即可;

 微信小程序端·  ·  

f4dbc6e37cc27540b64efc5575a9c53b.gif

   自从开源了在微信小程序Mqtt控制esp设备,微信小程序配网esp设备一直是广大“鑫粉”的追求!

   因为wifi模块没AP路由器,就难于实现远程控制,我也提出方案:公众号配网+小程序控制的方案,目前是可行的。按道理来说,airkiss配网,不可能会在微信小程序上调用了。这点官网社区也有提到,暂无考虑;

    这个微信小程序配网很多人都在研究,包括热点AP配网,声波配网等。我从今年4月份做好了小程序配网,但一直未开源未公开。是乐鑫的人脸识别《esp-eye》仓库启发了我,我对比其小程序端仓库,再运用之前的项目经验,一周零零散散的时间,简简单单地整理好啦!

   后面,我会慢慢整理封装成为一个js库,同时支持支付宝小程序,这是我的后续工作,欢迎大家支持我开源!

   长按下面的小程序码进去体验吧!

BlufiEsp32

03c824c3829206df8f6bc47c6049ff0e.png

源码地址:

https://github.com/xuhongv/BlufiEsp32WeChat

 · 我的其他开源微信项目 ·  

f4dbc6e37cc27540b64efc5575a9c53b.gif

1、小程序连接mqtt服务器,控制esp8266:

https://github.com/xuhongv/WeChatMiniEsp8266

2、公众号airkiss配网、近场发现在esp8266:

https://github.com/xuhongv/xLibEsp8266Rtos3.1AirKiss

3、公众号airkiss配网、近场发现在esp32:

https://github.com/xuhongv/xLibEsp32IdfAirKiss

4、小程序控制esp8266实现七彩效果项目源码:

https://github.com/xuhongv/WCMiniColorSetForEsp8266

5、微信小程序蓝牙配网blufi实现在esp32源码:

https://github.com/xuhongv/BlufiEsp32WeChat

6、微信小程序蓝牙ble控制esp32七彩灯效果:

https://blog.csdn.net/xh870189248/article/details/101849759

7、可商用的事件分发的微信小程序mqtt框架:

https://blog.csdn.net/xh870189248/article/details/88718302

8、微信小程序mqtt连接阿里云IOT物联网平台

https://blog.csdn.net/xh870189248/article/details/91490697

9、微信公众号网页实现连接mqtt服务器

https://blog.csdn.net/xh870189248/article/details/100738444

本人作品

a3264b89b8cd5cc9ccee1250a1b6cd61.png 9db5ef83d8a5e210e99d44eb50ff9c6d.png 563da88d4b70ff3f4834e164f7e2394b.png 3a334d7af6778b7392dd5c940780a061.png

   我是一名热爱分享的全栈程序员,熟悉Android 、前端JavaScript微信小程序、php服务器开发以及嵌入式智能硬件编程。

   作为一个 esp8266 开发老司机的我,做过很多 esp8266的项目,比较商业化的有接入阿里智能生活平台、天猫精灵linkkitapp、苏宁智能平台以及京东微联智能平台,以及做过一些小项目esp8266 驱动红外线、七彩灯以及一些数码管,个人觉得,对esp8266 开发颇有一番见解。所以,本微信公众号输入“8266文档”获取我平时汇总的最最常见的开发问题,帮助大家跳过开发这款芯片的那些坑!

    也在GitHub开源了esp8266、esp32、微信小程序控制硬件、服务器airkiss配网等物联网代码工程,欢迎 star !助国内物联网发展一臂之力!32d19f25c66a611469a61fc8c9761436.png32d19f25c66a611469a61fc8c9761436.png

联系邮箱: xuhongv@yeah.net

GitHub: https://github.com/xuhongv

CSDN: http://blog.csdn.net/xh870189248

小徐专属QQ讨论群,资源多多:  434878850 b9c614fbea63c6c005065b8465d7275b.pngb9c614fbea63c6c005065b8465d7275b.png

长按关注,干货推送!

e5512420a3bc2d6b7ee5fb06edc730ba.gif f2f0d11155669b37417930ab0c2801df.png dd097f40ab52a5c91ab132fb6f2f6ba9.gif

您的打赏,是我不断创作的动力!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/321143
推荐阅读
相关标签
  

闽ICP备14008679号