日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android 单个指定蓝牙设备通讯流程

發布時間:2023/12/16 Android 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android 单个指定蓝牙设备通讯流程 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1、初始化藍牙基礎信息
1) 設備名稱 - 用于區分其他設備(有可能會設置多個名稱)
2) 設備秘鑰 - 用于獲取通訊秘鑰(每次APP與設備建立連接時重新獲取)

2、掃描設備
1)獲取BluetoothManager、BluetoothAdapter
2)通過BluetoothAdapter對象的startLeScan方法搜索周圍設備,
在onLeScan回調方法中對設備過濾(既要過濾非己方設備、又要過濾重復設備)
onLeScan方法參數解釋: device - 設備實例, rssi - 信號強度(負值), scanRecord - 設備提供的廣播數據內容

3、與設備建立連接
1)先根據Mac地址創建設備實例: BluetoothDevice device = bluetoothAdapter.getRemoteDevice(macAddress);
2)建立連接:device.connectGatt()
3)連接成功后,需要根據特定的UUID找到需要的服務(一個藍牙設備可以有多個服務,每個服務都有自己的特征值)

---------byte數據交互------------
4、獲取通訊秘鑰
1)向設備發送“設備秘鑰”
2)從設備獲取“通訊秘鑰”

5、發送指令與設備通訊
1)指令包含:
數據頭 - 一般是固定值,
隨機數 - 用于加密,
通訊秘鑰,
命令字 - 具體的操作,

2) 指令一byte[]形式發送
如:byte[0]表示數據頭,
byte[6]表示命令字,
byte[10-14]表示操作時間戳,

---------byte數據交互------------

6、斷開連接

關鍵點: 數據加解密、CRC8計算、CRC16計算
CRC8計算:數據包共16位,其中第16位表示前15位數據經過CRC8計算后得到的校驗值

總結

以上是生活随笔為你收集整理的Android 单个指定蓝牙设备通讯流程的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。