无线传输协议汇总
ANT+
- ANT+是个在运动设备中进行低功耗数据传输的领导标准
- ANT+是在ANT传输协议上的超低功耗版本,它是为健康、训练和运动专门开发的
- ANT+最大好处是当前设备能够传输,和多个设备能够读取它
参考
BLE
How does BLE communication work?
BLE的通信包括两个主要部分:advertising(广告)和connecting(连接)。广告(Advertising)是一种单向的发送机制。想要被搜索到的设备可以以20毫秒到10秒钟的时间间隔发送一段数据包。使用的时间间隔越短,电池消耗的越快,但设备被发现的速度也就会快。数据包长度最多47个字节,由以下部分组成:
- 1 byte preamble(1字节做报头)
- 4 byte access address(4字节做地址)
- 39 bytes advertising channel PDU(39个字节用于PDU数据包)
- 3 bytes CRC(3个字节用于CRC数据校验)
对于广告通信信道,地址部分永远都是0x8E89BED6。对于其它数据信道,地址部分由不同的连接决定。
返回的PDU数据也拥有自己的数据报头(2个字节:声明有效载荷数据的长度和类型——设备是否支持连接等等)和当前有效载荷数据(最多37个字节)。
最终,有效载荷数据中的头6个字节是设备的MAC地址,所以实际信息数据最高可占31个字节。
BLE设备可以运行在单一的不可连接的广告模式中(在这种模式下所有的信息都包含在广告数据包中),然而设备也是允许运行在可被连接的模式下(通常情况下都是这种模式)。
当设备被发现之后,一个连接就会被建立起来。之后就可以读取BLE设备提供的Service,以及每个Service的characteristic(属性,类似于GATT Profile实例)。每一个characteristic都会提供一些值,这些值可以被读取或者修改。例如,一个小型温控器可以开放一个service用于获取当前的温度或者湿度读数(相当于是service的characteristic),同时也可以开放其它的service和characteristic用于设置期望的温度。这里因为beacon不使用连接模式,我将会跳过这些细节。如果你想要了解更多关于连接BLE设备的内容,可以参考Apple's Core Bluetooth guide,尽管你可能不是一个iOS开发者。更多相关技术性的文章,可以参考Introduction to BLE,Making the most out of BLE Advertising mode。