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。