目錄
藍(lán)牙 4.0 支持單模和雙模兩種部署方式,其中單模即是我們說的 BLE,而雙模指的是 Classic Bluetooth + BLE 。 經(jīng)典藍(lán)牙 參考官方文檔(https://developer./guide/topics/connectivity/bluetooth.html?hl=zh-cn#TheBasics),因?yàn)橛兄形奈臋n,所以只要看這一篇文檔就可以應(yīng)付一般的開發(fā)了。 最重要的是這一次項(xiàng)目里的硬件貌似不能支持經(jīng)典藍(lán)牙,所以并沒有實(shí)踐的機(jī)會。 BLE 同樣,有條件一定要去看官方文檔,然而這一次并沒有中文版,或許可以找一些國內(nèi)大佬們翻譯的版本。
UUID:每個服務(wù)和特征都會有唯一的 UUID ,由硬件決定。
其實(shí)
關(guān)于 第二個參數(shù), 首先是 所以當(dāng) 執(zhí)行了 如果成功寫入數(shù)據(jù),系統(tǒng)回調(diào) 上面的代碼可以成功往硬件發(fā)送數(shù)據(jù),但是不能接受硬件返回的數(shù)據(jù)。 實(shí)際上向硬件寫入數(shù)據(jù)這一段代碼有時候是可以省略的,只需要打開 Android 段的開關(guān)即可接收到返回的數(shù)據(jù),可能是和硬件有關(guān)。 總結(jié) 如果寫過經(jīng)典藍(lán)牙的就知道,如果說兩者的搜索操作還差不多的話,連接操作和寫入操作就是完全不同的東西了。 經(jīng)典藍(lán)牙可以獲取到一個類似 TCP 中 Socket 的對象,然后獲取 而 BLE 中需要通過不同的 UUID 獲取對應(yīng)的服務(wù)、特征才可以寫入數(shù)據(jù)。 以上就是 BLE 最簡單的實(shí)現(xiàn),進(jìn)一步的封裝等就去看上面介紹的 RxBLE 吧。 還有就是用 Kotlin 寫的 MainActivity 部分(主要代碼): BLE 相關(guān)的代碼是寫在了 Service 中,通過綁定時返回的 mBinder 來調(diào)用 Service 中的方法。 關(guān)鍵詞:code小生 ![]() ![]() ![]() |
|
來自: codingSmart > 《待分類》