python如何模拟手机连接蓝牙_MicroPython蓝牙BLE例程实操(三)

前两节中,我们首先直接用实际例程,体验了MicroPython中蓝牙BLE的实际运行效果,接着分析了其主要的程序代码逻辑,详见[MicroPython蓝牙BLE例程实操(一) ]和[MicroPython蓝牙BLE例程实操(二) ]。

其中,构建蓝牙BLE广播报文的函数——advertising_payload是在单独的模块(.py文件)中自己实现的。由此,也从另外一个角度反映出,MicroPython只提供了蓝牙BLE的“低阶”接口:“低阶”到广播报文都需要自己实现,而非系统模块集成。当然,考虑到MicoPython作为一个通用的平台,又运行于资源有限的微控制器上,其只负责最核心的功能,而将业务场景有关的代码实现剥离出来由用户自己实现,似乎也是无可厚非的了。

两个蓝牙设备想要建立连接,首先需要外设设备向外广播,然后中心设备才能搜索到该设备,再发起连接请求。外设设备的广播报文中包含设备的相关信息,比如设备名称,设备具有的服务UUID等等,中心设备可以根据这些信息决定其是不是自己关心的设备,以及要不要发起对该设备的连接请求。

基本的广播数据包格式如下:

9036ba685fdfd3d69dd9fb408b22162a.png

每个广播数据包都是31字节,数据包中又分为有效(significant)数据部分和无效(non-significant)数据部分。其中,无效数据部分全为零,仅仅是为了凑够31字节而存在。而有效数据部分&

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值