1. 程式人生 > >小程序藍牙項目總結

小程序藍牙項目總結

總結 接收 發送 變化 val 無法 () 設備 服務

經過一個月左右的開發 總結出小程序調用藍牙模塊的經常遇到的問題

    1、廣播包:  在搜索的藍牙信號時可以獲取藍牙設備的廣播包。裏面可以存儲一些不需要連接藍牙都獲取的數據,可以以通過廣播包內數據的不同進行其他的邏輯操作

    2、deviceid:  藍牙設備的ID,通過此ID可以進行連接藍牙設備,連接成功之後可以獲取serviceId,serviceId可以有多個,每個serviceId可以看作是服務,每個serviceId中可以定義多個uuid(特征值)。

    3、UUID:   每個特征值中可以存儲20byte的數據,微信小程序每次發送接收時最大單個特征值為20byte.

    4、接收數據: 接收數據時,一定要從單片機中控制數據的發送,不要嘗試自己從程序中定時讀取,這個功能只有單片機主動發送才行。定時讀取雖然功能可以實現,但體驗極差,無法當做產品使用。

    5、發送數據流程:搜索藍牙————>通過serviceId連接藍牙————>獲取藍牙設備所有服務————>獲取藍牙設備某個服務中所有的特征值(發送接收時需要使用特征值)————>

     啟用低功耗藍牙設備特征值變化時的 notify 功能,訂閱特征值————>監聽低功耗藍牙設備的特征值變化(獲取訂閱特征值數據的變化)     6、數據轉化: var a= new DataView(value,0,1) var aa= a.getInt8() 註釋:0為起始位置,1為結束位置,若為2byte的長度 1即為2 aa即為轉換之後的數據 若不理解查看dateView官方文檔

小程序藍牙項目總結