藍牙ibeacon協(xié)議樣本.doc_第1頁
藍牙ibeacon協(xié)議樣本.doc_第2頁
藍牙ibeacon協(xié)議樣本.doc_第3頁
藍牙ibeacon協(xié)議樣本.doc_第4頁
藍牙ibeacon協(xié)議樣本.doc_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

藍牙ibeacon協(xié)議樣本 藍牙n ibeacon協(xié)議本文檔所提供的信息僅供參考之用,不能作為科學依據(jù),請勿模仿。 文檔如有不當之處,請聯(lián)系本人或網(wǎng)站刪除。 11藍牙的六種設備狀態(tài)待機狀態(tài)(standby):設備沒有傳輸和發(fā)送數(shù)據(jù),并且沒有連接到任何設備廣播狀態(tài)(Advertiser):周期性廣播狀態(tài)掃描狀態(tài)(Scanner):主動尋找正在廣播的設備發(fā)起鏈接狀態(tài)(Initiator):主動向掃描設備發(fā)起連接。 主設備(Master):作為主設備連接到其它設備。 從設備(Slave):作為從設備連接到其它設備。 22藍牙的五種工作狀態(tài)準備(standby)廣播(advertising),I Inbeacon使用該狀態(tài)本文檔所提供的信息僅供參考之用,不能作為科學依據(jù),請勿模仿。 文檔如有不當之處,請聯(lián)系本人或網(wǎng)站刪除。 1)Connectable UndirectedEvent Type(可連接無定向廣播)2)Connectable DirectedEvent Type(可連接定向廣播)3)Scannable UndirectedEvent Type(可掃描無定向廣播)4)Non-connectable UndirectedEvent Type(不可連接無定向廣播)監(jiān)聽掃描(Scanning)(Initiating)已連接(Connected)33藍牙的Profile c Characteristic:Characteristic特征值,主從機的通訊全是通過cCharacteristic來實現(xiàn)的,能夠理解為一個標簽,通過這個標簽能夠獲取或者寫入想要的內(nèi)容;UUID:統(tǒng)一識別碼我們剛才提到的Service和和Characteristic,都需要一個唯一的D UUID來標識。 本文檔所提供的信息僅供參考之用,不能作為科學依據(jù),請勿模仿。 文檔如有不當之處,請聯(lián)系本人或網(wǎng)站刪除。 :1)Advertising_Interval_Min2)Advertising_Interval_Max,3)Advertising_Type,4)Own_Address_Type,5)Direct_Address_Type,6)Direct_Address,7)Advertising_Channel_Map,8)Advertising_Filter_Policy9)Advertising Data10)Scan ReponseData Advertising interval下首先介紹一下Advertisinginterval(廣播時間間隔):在所有的非定向廣播事件中,兩個相鄰的廣播事件的時間間隔(T_advEvent)為:T_AdvEvent=advInterval+advDelay,對于“可掃描非定向廣播”和“不可連接非定向廣播”這兩種類型,該值應不小于100ms(),對于“可連接的非定向廣播”。 本文檔所提供的信息僅供參考之用,不能作為科學依據(jù),請勿模仿。 文檔如有不當之處,請聯(lián)系本人或網(wǎng)站刪除。 y advDelay是是Link Layer(鏈接層)分配的一個偽隨機數(shù),它的范圍為00-10ms參數(shù)Advertising_Interval_Min和Advertising_Interval_Max就是用于調(diào)整adl vertisinginterval的,這里設置一個上限值和下限值,目的是希望讓控制器根據(jù)其工作情況來動態(tài)調(diào)整合適的廣播包發(fā)送頻率。 Advertising_Interval_Min非定向廣播包的最小廣播間隔。 范圍:0x0020-0x4000默認值:N=0x0800()Time=N*時間范圍:Advertising_Interval_Max44藍牙連接過程四種設備類型:l Cral主機(常作為t client端):如手機,PC l Peripheral從機(常作為e Service端):如心率計,血糖計r BroadCaster廣播者:廣告發(fā)送者,不是可連接的設備r Observer觀察者:掃描廣告,不能夠啟動連接本文檔所提供的信息僅供參考之用,不能作為科學依據(jù),請勿模仿。 文檔如有不當之處,請聯(lián)系本人或網(wǎng)站刪除。 連接過程:Peripheral從機開啟廣播;l Central掃描從機(Peripheral)廣播;l Peripheral接收到l Central的掃描請求l Peripheral向l Central;發(fā)送掃描回應數(shù)據(jù);l Central向向lPeripheral發(fā)起連接;開始通信。 廣播交互過程:藍牙設備狀態(tài)切換圖:本文檔所提供的信息僅供參考之用,不能作為科學依據(jù),請勿模仿。 文檔如有不當之處,請聯(lián)系本人或網(wǎng)站刪除。 55藍牙設備包結構藍牙設備(BLE)有有5種工作狀態(tài),其中一種是Advertising,IBeacon設備就工作在這種狀態(tài)。 射發(fā)射BLE Packet時,除了CRC以外的其它部分均從小端開始而傳輸,而CRC則從大端開始傳輸是。 設備地址是BLE Packet中的一個重要部為分,協(xié)議規(guī)定了設備地址的長度為48bit,地址規(guī)范不再贅述。 BLE將將40個物理信道中的3個個為作為Advertising信道,分別是0,12,39,其對為應索引號為37,38,39。 本文檔所提供的信息僅供參考之用,不能作為科學依據(jù),請勿模仿。 文檔如有不當之處,請聯(lián)系本人或網(wǎng)站刪除。 藍牙數(shù)據(jù)包格式包的說明BLE MAC層的包格式如上圖所示,其中Preamble用于同步發(fā)射機和接收機的載波頻率為和時鐘,長度為8bit。 在Advertising模式中,Preamble取值為10101010b。 Advertising模模的式下的Aess Address域的取值為0x8E89BED6。 PDU域即BLE Packet的協(xié)議數(shù)據(jù)單元,為其基本格式為16bit Header加上037byte的的Payload。 Header中包含了Length域用于指示Payload的長度,Type域域示則用于指示PDU。 的類別。 對于于IBeacon使用的ADV_IND PDU,而言,Payload中的前6個byte是發(fā)射機的設備地址,其后則是上層協(xié)議的數(shù)據(jù)。 CRC域由PDU計算得到。 本文檔所提供的信息僅供參考之用,不能作為科學依據(jù),請勿模仿。 文檔如有不當之處,請聯(lián)系本人或網(wǎng)站刪除。 數(shù)據(jù)處理流程Advertising PacketPDU的比特流處理流程主要包括兩步,算第一步是計算PDU的的CRC;做第二部是做Data Whitening,即進行擾碼操作(scramble),通過將PDU的數(shù)據(jù)比特與偽長隨機序列進行模二和消除代調(diào)制序列中的長0長或長1序列,這些序列會造成接收機的直流偏執(zhí),影響信號接收。 IBeacon協(xié)議持支持IBeacon的硬件設備持續(xù)送發(fā)送Advertising Packet,為附近的移動應用提供環(huán)境信息。 IBeacon發(fā)送的數(shù)據(jù)主要包括三個主要字段,分別是:UUID:是一個128bit的序列。 Major:16位無符號整數(shù),為取值為065535,的描述不同層級下的IBeacon設備。 Minor:16位無符號整數(shù),為取值為065535,的描述不同層級下的IBeacon設備。 RSSI:一個用于參考的RSSI值值,是距IBeacon設備1m處測得的IBeacon發(fā)射信號的信號強度;。 一般而言,接收設備能夠測距得接收信號的信號強度,根據(jù)距IBeacon1m處和接收處的信號強度值以及信號強度本文檔所提供的信息僅供參考之用,不能作為科學依據(jù),請勿模仿。 文檔如有不當之處,請聯(lián)系本人或網(wǎng)站刪除。 距離模型,我們能夠估算出接收設備距IBeacon的距離,從而獲得一個相對粗粒度的環(huán)境信息。 t IBeaconPacket結構PDU域即BLE Packet的協(xié)議數(shù)據(jù)單元,其基本格式為(16bit Header)+(Payload(2-37))ADV_IND PDU的的Payload包括兩部分,分第一部分AdvA是發(fā)射機的MAC地址,第二分部分AdvData則是上層數(shù)據(jù)。 ,協(xié)議規(guī)定,AdvData是由多個Advertising DataStructure構成的,在每個AD Structure中:第第1個字節(jié)用于聲明該AD Structure剩余部分的長度;第第2個字節(jié)用于聲明該AD Structure的類型;剩余字節(jié)則是根據(jù)與類型相關的數(shù)據(jù);本文檔所提供的信息僅供參考之用,不能作為科學依據(jù),請勿模仿。 文檔如有不當之處,請聯(lián)系本人或網(wǎng)站刪除。 IBeacon的的AdvData個包含了兩個AD Structure:個第一個Structure為0xxA,02,剩余長度,中其中01該指示該Structure的類型為Flag Structure,而1A則為具體的Flag集合的值。 個第二個Structure為為1a ff4c000215.,中其中ff指示該Structure的類型為制造商聲明數(shù)據(jù)有,即其格式應有IBeacon,協(xié)議聲明,004c則是蘋果公司標識,BLE協(xié)議規(guī)定這兩字節(jié)應為制造商標識。 的之后的0215.即是上層的IBeacon協(xié)協(xié)的議聲明的數(shù)據(jù)了,包含了上面提到的UUID,Major,Minor以及RSSI。 本文檔所提供的信息僅供參考之用,不能作為科學依據(jù),請勿模仿。 文檔如有不當之處,請聯(lián)系本人或網(wǎng)站刪除。 如圖中抓包所示:Address均為0x8E89BED6。 2.PDU BLE協(xié)議規(guī)定PDU的長度為239字節(jié),其中前兩個字節(jié)是PDU的的Header,剩余字節(jié)為PDU的的Payload。 .Header,IBeacon使用的Adv PDU的類型是固定的,即ADV_IND;Type:域值為0;TxAdd:IBeacon MacAddress,的類型,1表示Random Address,0表示Public Address。 RxAdd與與TxAdd相似,指示了接收設備的地址類型,但是在IBeacon的的Payload中并沒有接收端的地址數(shù)據(jù),因此這一位是不用的,為根據(jù)協(xié)議應將其設為0,與其它RFU位相同。 PDU-Length域長6bit,指示了Payload,的字節(jié)數(shù),IBeacon的的Payload有有36個字節(jié)。 Payload,IBeacon的的Mac地址,即AdvA,其長度為6byte;IBeacon的數(shù)據(jù)域AdvData,其長度為30byte;3.CRC,CRC根據(jù)PDU的內(nèi)容計算得到4.AdvData部分的結構IBeacon的的個第二個AD Structure結構如下:1第一個字節(jié)1A表示了其剩余部分的長度,本文檔所提供的信息僅供參考之用,不能作為科學依據(jù),請勿模仿。 文檔如有不當之處,請聯(lián)系本人或網(wǎng)站刪除。 2第二個字節(jié)FF表示了該Structure的類型為Manufacturer SpecificData,即由制造商規(guī)定的數(shù)據(jù),BLE協(xié)議規(guī)定該類型的Structure的開始兩個byte為制造商標識。 3剩余的部分則是由IBeacon協(xié)議定義的數(shù)據(jù)。 5.IBeacon協(xié)議定義的業(yè)務數(shù)據(jù)結構10215是是IBeacon Header,02是是flags,15是是payload的長度。 2Beacon的的Payload(21字節(jié)):16byte是是UUID,2byte (0001)是Major2byte (0002)是Minor;1byte(C5)是RSSI,RSSI是用補碼表示的,這里的值是-59。 數(shù)據(jù)包總體結構描述BLU:PREAMBLE( (1)ACESS ADDRESS( (4)PDU(2-39)CRC (3)PREAMBLE:用于同步發(fā)射機和接收機的載波為頻率和時鐘,長度為8bit;ACESS ADDRESS:針對Advertising包的是是:0x8e89bed6.(固定的,數(shù)字信道。 通過地址是就知道這是adv包,同一頻道區(qū)分不同通訊設備的);本文檔所提供的信息僅供參考之用,不能作為科學依據(jù),請勿模仿。 文檔如有不當之處,請聯(lián)系本人或網(wǎng)站刪除。 PDU數(shù)據(jù)段:HEADER PAYLOADPDU-HEADER:Type (6)TxAdd (1)RxAdd (1)PDU-Length (8)Type數(shù)據(jù)報類型:ADV_IND廣播能夠連接的設備。 說明自己是能夠被連接的,廣播中帶有自己的地址ADV_DIRECT_IND:用來向特定的設備建立連接。 ADV_NONCONN_IND:個包用來廣播信息SCAN_REQ SCAN_RSP CONNECT_REQ PAYLOAD:地址(6字節(jié))ADSTRUCTURE1ADSTRUCTURE2本文檔所提供的信息僅供參考之用,不能作為科學依據(jù),請勿模仿。 文檔如有不當之處,請聯(lián)系本人或網(wǎng)站刪除。 ADSTRUCTURE1:Length T T ype(flag)T Type VV alue變長數(shù)據(jù)(ibeacon為為00)Length:ADSTRUCTURE1包長度T Type(flag):類型T Type VV alue:類型值ADSTRUCTURE2:Length T Te ype(flag)(ff指明為制造商)T Type VV alueIBEACON Length:ADSTRUCTURE2包長度TType(flag)f:0xff為制造商標識TType VV alue:制造商值IBEACON:本文檔所提供的信息僅供參考之用,不能作為科學依據(jù),請勿模仿。 文檔如有不當之處,請聯(lián)系本人或網(wǎng)站刪除

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論