




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、4. 問:藍牙4.0協議和BLE是什么藍牙4.0協議是2010年6月由SIG(Special Interest Group)發布的最新標準,它有2種模式:BLE(Bluetooth low energy)只能與4.0協議設備通信,適應節能且僅收發少量數據的設備(如家用電子);BR/EDR(Basic Rate / Enhanced Data Rate),向下兼容(能與3.0/2.1/2.0通信),適應收發數據較多的設備(如耳機)。. 問:藍牙協議分層很多且比較復雜,該如何掌握呢?答:藍牙協議從應用層到物理層一共分了8層,看上去比較復雜且A
2、PI函數很多。首先不必要知道每一層的具體實現,掌握與應用緊密關聯GAP/GATT(或者GAP Role和GATT Profiles)層就可以滿足大部分設計需要;每一層的軟件都是通過OSAL來調用的,因此需要了解OSAL的基本原理:任務/事件/消息/定時器/動態分配內存;最后把藍牙通訊過程理解,將有助于開發。 12. 問:OSAL是一個操作系統嗎?答:OSAL(Operating System Abstraction Layer)操作系統抽象層,它不是一個真正的操作系統(它沒有Context Switch上下文切換功能),但它巧妙地組織各任務,支持任務優先級,任務之間可以通過
3、事件和消息來通信,為任務提供軟定時器和動態內存分配。要避免的陷阱是,應用任務的單個函數運行時間不能太長(如操作大批量數據的Flash寫),否則它無法及時調度高優先級的LL(Link Layer)任務而導致藍牙通信中斷。 13. 問:藍牙節點是如何組成微微網的呢?答:藍牙節點組網中,只能存在一個主節點(Central)和多個從節點(Peripheral),從節點是發出信號者,主節點是掃描且發起連接者。 14. 問:主節點和從節點通信的過程是怎樣的呢?答:當從節點發出廣告信號(包括設備地址和設備名稱之類的附加信息);主節點收到此廣告信號后,向從節點發出掃描請
4、求;當從節點回應掃描時,就完成了設備發現過程。接著主節點向從節點發出連接請求(包括連接時隙、從節點待機次數、連接超時值),從節點回應連接,就完成了建立連接。為了安全起見,一些數據的訪問需要認證,它的完成是這樣的:一方(可以是主節點,也可以是從節點)向另一方索要6位數字的密碼,之后,兩個節點彼此交換安全密鑰用于加密和認證,此過程稱為配對。認證的過程比較繁瑣,BLE協議支持兩節點保存認證的安全密鑰(一般是非易失性存儲器中),以便于兩節點下次連接后快速認證,這就是綁定技術。 15. 問:藍牙通信中兩個節點如何交換數據?答:這是藍牙通信中最讓初學者迷惑的地方。大部分通信,尤其是TC
5、P/IP,交換數據的婚介是數據包,但藍牙通信中,工程師找不到數據包訪問方式,于是就產生疑問。其實藍牙最底層也是基于無線數據包交換,只是通過層層封裝,交付給工程師的API接口就變成了Client訪問Server的方式。 16. 問:Client和Server節點是如何定義呢?答:通俗地說吧,Server(服務器)就是數據中心,Client(客戶端)就是訪問數據者。特別說明,它與主/從設備是獨立的概念:一個主設備既可以充當Server,又可以充當Client;從設備亦然。 17. 問:Server是如何提供數據呢?答:Server首先將一個服務按“屬性/句柄
6、/數值/描述”這種格式予以組織,然后調用API函數GATTServApp_RegisterService將服務數據進行注冊。舉個實例吧,設提供一個電池電量服務字節,它允許Client讀取,數據為一個8比特無符號數(0100%),它的組織如下:02 25 00 19 2A, 這5個數據(小端格式)分別是:0x02=只讀屬性,0x0025=句柄;0x2A19=服務UUID。 18. 問:不明白Server提供服務中的UUID?答:UUID(Universal Unique Identifier)全球惟一標識符,本來是SIC組織分配給特定藍牙服務的標識,如分配0x2A25為設備序
7、列號的UUID,這樣任意藍牙設備都可以通過它得到另一個設備的序列號。打個類比,它就像書名,如現代操作系統,所有人一看就知道它是計算機大師Andrew S. Tanenbaum寫的書。 19. 問:什么是Server提供服務中的句柄呢?答:句柄(Handle)就是服務數據在數據中心的地址,當所有的服務數據組織起來后,它總得有個先后順序,某個服務的位置就是它的句柄。還是上面的類比,如果想去圖書館借閱現代操作系統,需要查明該書在哪一層樓,哪個房間,這就是該書的Hanle。 20. 問:為什么Server提供的服務中有描述?答:有些服務是有描述(Descript
8、or)的,它是用于Client配置該服務的功能(通知或者顯示)。像某人沒有借到現代操作系統該書(可能是被別人借光了),他(她)可以打個電話給圖書館工作人員,請求一旦該書可以借閱了給他一個通知,這個過程相當于配置該書的Descriptor。 21. 問:服務的屬性與描述有區別嗎?答:有區別,服務的屬性是Server設置訪問權限。就像圖書館的工作人員可以設置現代操作系統僅能在閱覽室看不能外借(只讀),或者即可以看也可以外借(讀/寫)。22. 問:Client如何訪問Server的服務呢?答:大致分三類:讀取服務的值,需要知道服務的UUID或者Handle;寫服務的值,
9、需要知道服務的Hanle;寫服務描述符,需要知道該Descriptor的Hanle。 23. 問:如何知道一個服務的Handle?答:根據服務的UUID調用API函數GATT_ReadUsingCharUUID協議棧會返回該服務的Handle。特別注意的是,一個服務的Descriptor的Handle總是該服務的Handle+1,如電池電量服務的Handle是0x0025,那么它的Descriptor的Handle是0x0026。 24. 問:Server可以訪問Client嗎?答:藍牙通信中,Server不能直接訪問(讀/寫)Client,但是可以通知
10、(Notification)Client,通知的前提是Client通過寫Descriptor使能通知功能。例如,某Server發現電池電量已經低于安全閥值,它可以調用GATT_Notification通知所有已連接的Client,但是Client接收后如果處理是它自己的事情。 25. 問:如果得知電池容量?答:任何使用電池供電的設備都必須精確監控電池容量,否則設備可以突然斷電而停止工作,它的基本原理是通過ADC(模數轉換器)計算電池電壓。以CC2540芯片用一鈕扣電池為例,電池電壓從2.0v3.0v,即電量的0%100%;CC2540有一10比特的ADC,量程范圍為0511
11、,參考電壓為1.25v,最大測量電壓為3.75v,以上信息可以得知:(v/3)/ 1.25 * 511 = adc,則2.0v=273adc,3.0v=409adc,根據下圖可以很容易得知ADC轉換為電壓的公式:Percentage / (X 273) = 100 / 136 = 25 / 34,變換后為:Percentage = (X - 273) * 25 / 34,為四舍五入提高計算精度則有:Percentage = (X - 273) * 25 + 33 / 34。 26. 問:藍牙發射信號功率調整會影響通信距離嗎?答:會,以TI公司的CC2540為例,它支持4種發
12、射功率選擇:4dBm、0dBm、-6dBm和-23dBm,按無線電功率定義:LdBm=10lg(Pwr/1mW),以上4種分貝值換算成瓦特為:2.51mW、1mW、0.251mW和0.005mW,有效通信距離分別為:30米、10米、7米和3米。 27. 問:如何知道兩個藍牙通信節點之間的距離?答:要知道藍牙通信節點(如手機和藍牙設備)之間的距離,最容易實現的方法是通過讀取接收RSSI(Received Signal Strength Indication)值來計算。無線通訊中功率與距離的關系如下: 其中A可以看作是信號傳輸1米遠時接收信號的功率,n是傳播因子(它受
13、障礙,溫度和濕度等影響),r是節點之間的距離。當確定了常數A與n的值后,距離r就可以根據PR(dBm)計算出來。 28. 問:如何獲取藍牙節點的接收RSSI值?答:具體的設備接收RSSI值的方法不一樣,以iPhone手機為例,iOS提供API函數獲取RSSI值;TI公司的CC2540芯片的BLE協議棧中,首先將讀取RSSI值回調函數掛載到gapRolesRssiRead_t類型的指針下,建立連接后,主設備調用GAPCentralRole_StartRssi(),從設備調用GAPRole_SetParameter(GAPROLE_RSSI_READ_RATE, )。這樣就可以
14、定時讀取接收的RSSI值了。 29. 問:如何開展讀取RSSI值的實驗?答:讀取RSSI值的實驗可以這樣搭建,主設備固定位置,向從設備發送信號,從設備LED光和Buzzer報警為通信成功,逐次移動從設備,而獲取RSSI值隨物理距離之間的關系。下圖是筆者做實驗的數據:Distance(m)12345678910RSSI(dBm)-47-59-73-80-80-79-85-88-86-87Loss(p)0091127250322249實驗器材為2塊CC2540芯片,主芯片發射功率為4dBm(2.51mW),Loss是通信節點中失敗次數。 30. 問:如何將接收RSSI實驗數據得到距離計算公式呢?答:最好的工具是EXCEL軟件,以上表中的實驗數據和EXC
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 寧夏工業職業學院《現代數字信號處理》2023-2024學年第二學期期末試卷
- 吉林省長春市九臺區2025屆初三下學期質量監測檢測試題英語試題含答案
- 遼寧醫藥職業學院《有機化學DI》2023-2024學年第二學期期末試卷
- 下花園區2025屆數學四年級第二學期期末質量跟蹤監視試題含解析
- 南京特殊教育師范學院《醫學科研方法與論文寫作》2023-2024學年第一學期期末試卷
- 江西農業大學南昌商學院《高等數學E(一)》2023-2024學年第一學期期末試卷
- 寧波衛生職業技術學院《乳品工藝學實驗》2023-2024學年第二學期期末試卷
- 四川省成都市新都區2025年初三下學期第二次調研考試物理試題含解析
- 石家莊鐵道大學《生物分離工程實驗》2023-2024學年第二學期期末試卷
- 四川省名校2025年高三下學期第十五周綜合練習化學試題含解析
- 工業互聯網標識解析 課件 項目1 了解工業互聯網標識解析體系
- 2025年貴州水城文旅(集團)有限責任公司招聘筆試參考題庫含答案解析
- 2025年甘肅省中考模擬英語試題(一)(含答案)
- 2025年網絡工程師職業技能測試卷:無線網絡部署與優化試題
- 2024年水利部珠江水利委員會所屬事業單位招聘考試真題
- 2025年北京市海淀區高三一模地理試卷(含答案)
- 建筑行業員工職業道德
- 江蘇省徐州市樹恩中學2024-2025學年高一下學期第一次月考地理試題(含答案)
- 2025年3月版安全環境職業健康法律法規標準文件清單
- 2025年共青團考試題庫及答案
- 電影《白日夢想家》課件
評論
0/150
提交評論