admin管理员组

文章数量:1550527

微信蓝牙BLE接入调试指引

Author: Thornton,447116230@qq

硬件篇

平台框架简介

微信蓝牙BLE由三个模块组成,分别是蓝牙设备、微信和第三方服务器,如下图:

 

蓝牙设备与微信之间的通信是通过蓝牙GATT协议进行。

微信与第三方服器之间的通信是通过网络http 接口进行。

 

调试流程:

 

2蓝牙BLE固件调试

2.1 需要的资料和工具

《微信蓝牙外设协议》

微信蓝牙协议调试工具AirSyncDebugger

《微信蓝牙计步Profile协议》

Nordic nRF51822接入教程芯片源代码v0.2

 

以上资料都可以在下面网址下载:

http://iot.weixin.qq/wiki/new/index.html?page=6-1

 

2.2 微信BLE协议介绍

微信定义了三种与BLE通信的协议,分别为:AirSync协议、计步profile和防丢器profile。另外,计步和防丢器由于协议简单,又合称精简协议。

 

AirSync协议,有握手过程,可加密数据,适用于大数据、多数据、自定义数据等场合,主要是与第三方服务器通信。

 

精简协议,没有握手过程,简单的数据传输,无需第三方服务器配合,只与微信通信。

 

 

2.3 AirSync固件调试

先移植“蓝牙demo开发板源代码v0.2”的代码,过程不写了,对调试过程中需要注意的写一下。

2.3.1广播包格式

微信是通过广播数据,来决定要不要建立连接,所以广播数据的格式要按要求来。广播包分两种,一种是“普通广播包”,这种在建立连接时不需要蓝牙设备确认;另一种是“确认广播包”,它在建立连接时则需要蓝牙设备确认。我在使用“确认广播包”时没发现哪里需要确认,跟“普通广播包”没有什么不同,这里有些不理解。

 

微信的广播包规定了厂商数据格式以及SERVICE UUID。在厂商数据里,前两个字节是设备版本号,最后6个字节必须是MAC地址,中间无要求,可有可无,另外,“确认广播包”要求MAC地址之前的3个字节,必须是0xfe 0x01 0x01。广播包包含的服务UUID

本文标签: 蓝牙硬件BLE