藍芽 HID 剖析(一)
1.概述
The Human Interface Device (HID)定義了藍芽在人機介面裝置中的協議、特徵和使用規程。典型的應用包括藍芽滑鼠、藍芽鍵盤、藍芽遊戲手柄等。該協議改編自USB HID Protocol。
2.一些概念
(1)HID Reports:Bluetooth HID devices支援三種Report:Input, Output, and Feature。
(2)HID建立Control Channel和Interrupt Channel兩個通道,report可以在這兩條channel上傳輸,在Control channel上傳輸的report稱為synchronous reports ;在Interrupt channel上傳輸的report稱為asynchronous
reports。
(3)Feature reports are always transferred synchronously using GET_REPORT or SET_REPORT requests。
(4)Report Protocol Mode和Boot Protocol Mode。Bluetooth HID Hosts至少支援一種,Bluetooth HID Device則需要支援Report Protocol Mode,並且Report Protocol Mode是Bluetooth
HID Device的預設Mode。
3.Bluetooth HID Protocol Messages
這些message不能超過L2CAP的MTU,大小超過MTU的message將被忽略。
Message Header的格式如下:
該Message用來acknowledgeSET_REPORT, SET_IDLE and SET_PROTOCOL等request。只在Control Channel上傳輸,只由Bluetooth HID device。
Parameter部分定義如下:
(2)HID_CONTROL
控制Bluetooth HID device改變狀態。
Parameter部分定義如下:
(3)GET_REPORT
Bluetooth HID Host用來請求Bluetooth HID device的傳輸。
定義如下:
(4)SET_REPORT
Bluetooth HID Host用來向Bluetooth HID device發起傳輸。
(5)GET_PROTOCOL
用來獲取Bluetooth HID device的Protocol Mode,然後Bluetooth HID device response一個DATA payload說明當前的Protocol Mode。
格式如下:
(6)SET_PROTOCOL
用來設定Bluetooth HID device的Bluetooth HID device。格式如下:
(7)DATA
代表一個a HID payload。格式如下:
4.Transfers
以HID Protocol messages的形式傳輸。
(1)Control Channel Transfers
分為Acknowledged和Unacknowledged兩種,格式如下:
Interrupt IN和Interrupt OUT兩種,可以在任意時刻傳送。【中斷嘛】
5.其餘各層對於HID的要求
HID與L2CAP的互動如下:
本文轉載自:http://blog.sina.com.cn/s/blog_69b5d2a50101emll.html
相關文章
- MASA MAUI Plugin 安卓藍芽低功耗(一)藍芽掃描UIPlugin安卓藍芽
- 藍芽藍芽
- Android藍芽使用詳解(普通藍芽)Android藍芽
- android藍芽BLE(一) —— 掃描Android藍芽
- iOS藍芽開發 Bluetooth藍芽CoreBluetooth 藍芽中心裝置的實現 藍芽外設的實現 有DemoiOS藍芽
- Android:藍芽實現一對一聊天Android藍芽
- ESP32藍芽學習--藍芽概念學習藍芽
- java+藍芽Java藍芽
- 藍芽模組藍芽模組
- 如何消除藍芽耳機底噪 藍芽耳機一放歌就有滋滋聲藍芽
- MASA MAUI Plugin IOS藍芽低功耗(三)藍芽掃描UIPluginiOS藍芽
- iOS藍芽Mesh開發總結一iOS藍芽
- 記錄一下藍芽學習藍芽
- iOS藍芽開發iOS藍芽
- 白色藍芽耳機藍芽
- BLE低功耗藍芽藍芽
- 藍芽解鎖AutoLock 1.0.2 Mac中文版 (藍芽WiFi解鎖工具)藍芽MacWiFi
- 藍芽共享網路怎麼用 win10藍芽共享網路藍芽Win10
- 電腦藍芽怎麼連線 電腦連線藍芽的方法藍芽
- 藍芽韌體升級藍芽
- Android Ble藍芽入門Android藍芽
- Android開發--藍芽操作Android藍芽
- Android-藍芽聊天demoAndroid藍芽
- 藍芽Beacon格式詳解藍芽
- 手機藍芽硬體APP公司分析藍芽自動重連機制藍芽APP
- 怎麼更新電腦藍芽驅動 win10藍芽驅動更新藍芽Win10
- 藍芽耳機怎麼恢復中文模式 藍芽耳機調不了中文藍芽模式
- Mac藍芽連線有問題該如何?教你重置Mac藍芽模組Mac藍芽模組
- win10藍芽連線後藍色畫面怎麼辦_win10 1909 藍芽連線一直藍色畫面解決方法Win10藍芽
- omthing TWS藍芽耳機怎麼樣?omthing TWS藍芽耳機全面評測藍芽
- 藍芽win10如何開啟_w10系統藍芽怎麼開藍芽Win10
- 2.4g和藍芽哪個好 2.4g和藍芽的區別藍芽
- 藍芽耳機5.0和5.2哪個好 藍芽5.0和5.2的區別藍芽
- 藍芽耳機怎麼按都不亮了 藍芽耳機長按無反應藍芽
- Mac如何一鍵藍芽連線切換軟體?Mac藍芽
- “碰一碰”版本的藍芽鍵盤,來啦!藍芽
- 一文搞懂藍芽模組各種工作模式藍芽模組模式
- 一上午力所,仍是一地雞毛。andorid 藍芽藍芽
- Android 傳統藍芽開發Android藍芽