ANT+
- ANT+是個(gè)在運(yùn)動(dòng)設(shè)備中進(jìn)行低功耗數(shù)據(jù)傳輸?shù)念I(lǐng)導(dǎo)標(biāo)準(zhǔn)
- ANT+是在ANT傳輸協(xié)議上的超低功耗版本,它是為健康、訓(xùn)練和運(yùn)動(dòng)專門開發(fā)的
- ANT+最大好處是當(dāng)前設(shè)備能夠傳輸,和多個(gè)設(shè)備能夠讀取它
參考
BLE
How does BLE communication work?
BLE的通信包括兩個(gè)主要部分:advertising(廣告)和connecting(連接)。廣告(Advertising)是一種單向的發(fā)送機(jī)制。想要被搜索到的設(shè)備可以以20毫秒到10秒鐘的時(shí)間間隔發(fā)送一段數(shù)據(jù)包。使用的時(shí)間間隔越短,電池消耗的越快,但設(shè)備被發(fā)現(xiàn)的速度也就會(huì)快。數(shù)據(jù)包長(zhǎng)度最多47個(gè)字節(jié),由以下部分組成:
- 1 byte preamble(1字節(jié)做報(bào)頭)
- 4 byte access address(4字節(jié)做地址)
- 39 bytes advertising channel PDU(39個(gè)字節(jié)用于PDU數(shù)據(jù)包)
- 3 bytes CRC(3個(gè)字節(jié)用于CRC數(shù)據(jù)校驗(yàn))

對(duì)于廣告通信信道,地址部分永遠(yuǎn)都是0x8E89BED6。對(duì)于其它數(shù)據(jù)信道,地址部分由不同的連接決定。
返回的PDU數(shù)據(jù)也擁有自己的數(shù)據(jù)報(bào)頭(2個(gè)字節(jié):聲明有效載荷數(shù)據(jù)的長(zhǎng)度和類型——設(shè)備是否支持連接等等)和當(dāng)前有效載荷數(shù)據(jù)(最多37個(gè)字節(jié))。
最終,有效載荷數(shù)據(jù)中的頭6個(gè)字節(jié)是設(shè)備的MAC地址,所以實(shí)際信息數(shù)據(jù)最高可占31個(gè)字節(jié)。
BLE設(shè)備可以運(yùn)行在單一的不可連接的廣告模式中(在這種模式下所有的信息都包含在廣告數(shù)據(jù)包中),然而設(shè)備也是允許運(yùn)行在可被連接的模式下(通常情況下都是這種模式)。
當(dāng)設(shè)備被發(fā)現(xiàn)之后,一個(gè)連接就會(huì)被建立起來。之后就可以讀取BLE設(shè)備提供的Service,以及每個(gè)Service的characteristic(屬性,類似于GATT Profile實(shí)例)。每一個(gè)characteristic都會(huì)提供一些值,這些值可以被讀取或者修改。例如,一個(gè)小型溫控器可以開放一個(gè)service用于獲取當(dāng)前的溫度或者濕度讀數(shù)(相當(dāng)于是service的characteristic),同時(shí)也可以開放其它的service和characteristic用于設(shè)置期望的溫度。這里因?yàn)閎eacon不使用連接模式,我將會(huì)跳過這些細(xì)節(jié)。如果你想要了解更多關(guān)于連接BLE設(shè)備的內(nèi)容,可以參考Apple's Core Bluetooth guide,盡管你可能不是一個(gè)iOS開發(fā)者。更多相關(guān)技術(shù)性的文章,可以參考Introduction to BLE,Making the most out of BLE Advertising mode。