国产精品一区欧美日韩不卡_91超碰国产熟女_综合色久七七综合尤物_在线观看国产99_秘 羞羞视频免费网站欧美_久久精品亚洲热综合一本奇米_亚洲麻豆精品视频_野狼a∨午夜福利在线观看_免费观看亚洲av_天天操人人射

藍(lán)牙開發(fā)中的常見的問題

  • 發(fā)布時間:2022-08-03 09:19:34

  • 瀏覽:299

藍(lán)牙開發(fā)中的常見的問題:

藍(lán)牙技術(shù)憑仗其普遍性與簡約性改動了設(shè)備之間的無線通訊。由于其功耗與本錢較低,在安康醫(yī)療、體育健身、家庭樓宇自動化、信標(biāo)等應(yīng)用范疇的開展過程中發(fā)揮著至關(guān)重要的作用。

藍(lán)牙給我們帶來很多便當(dāng),不過關(guān)于一些新手,在停止藍(lán)牙開發(fā)之前,有必要對其相關(guān)的學(xué)問有細(xì)致的理解,這里主要引見一些藍(lán)牙應(yīng)用開發(fā)的常見問題。

1.應(yīng)用如何做自動重連

其實自動重連比想象的要簡單許多,無論是Android還是ios端,只需求在設(shè)備斷開銜接的拜托辦法中,重新調(diào)用gatt.connet或者是centralManager.connet辦法就能夠了,無論當(dāng)時設(shè)備能否有點,能否在四周,當(dāng)設(shè)備再次開會或者銜接到可銜接范圍內(nèi),都會自動被連上。

2.銜接失敗處置

分兩個平臺來說,iOS端有銜接失敗的拜托,但簡直不會發(fā)作這種狀況;而關(guān)于同款設(shè)備,android常常會呈現(xiàn)銜接失敗的狀況,status != BluetoothGatt.GATT_SUCCESS ,android端開發(fā)請不要把銜接失敗和斷開銜接放在一塊處置,由于斷開銜接能夠直接嘗試重新銜接,而銜接失敗后嘗試重新銜接,需求加一些延時,并且需求gatt.close,清空一下狀態(tài),否則會把gatt阻塞招致手機不重啟藍(lán)牙就再也無法銜接任何設(shè)備的狀況。

3.后臺運轉(zhuǎn)

iOS后臺運轉(zhuǎn),需求設(shè)備中info.Plist權(quán)限,key:Required background modes,value: bluetooth-central(手機作為central) , bluetooth-peripheral(手機作為外設(shè))

4.同時銜接多個設(shè)備

Android很簡單,創(chuàng)立多個gattCallback,每個gattCallback單獨管理設(shè)備銜接后的操作,而iOS也倡議不要創(chuàng)立多個CBCentralManager,多個CBCentralManager理論上能夠用,但是會存在多個手機版本存在不同的行為,還有一些很容易出錯的問題,這塊內(nèi)容不細(xì)說了。運用同一個CBCentralManager,經(jīng)過進入拜托的peripheral的identifier辨別不同的設(shè)備,停止不同的操作和處置。

141414.jpg

5.掃描播送包

一切外設(shè),只要在發(fā)出播送包的狀況下,才干被central發(fā)現(xiàn),絕大多數(shù)狀況下,外設(shè)被銜接后就不會發(fā)出播送(也有例外),很多人遇到無法找到設(shè)備的問題,大多屬于這種狀況。

6.進步藍(lán)牙銜接速度

無論是iOS,還是Android,都能夠經(jīng)過已綁定的設(shè)備,在不開啟掃描的狀況下停止快速銜接,iOS需求的參數(shù)是peripheral的identifier,Android需求mac地址。但Android和iOS還是有一些區(qū)別的,比方iOS不能拿到已綁定的設(shè)備list,但是能夠經(jīng)過UUID去拿到peripheral的實例。而Android能夠拿到已綁定的設(shè)備list。Android綁定過程需求手動調(diào)用createBond的辦法,而iOS在銜接勝利一次后會自動綁定。Android在處置createBond時,常常會由于不同手機平臺,不同設(shè)備,會產(chǎn)生兼容性的問題,這點需求留意。

7.定向掃描

在掃描時分能夠傳入serviceUUID,這樣能夠掃描到特定條件的設(shè)備,進步掃描的速度,掃除干擾。

8.如何獲取mac地址

Android能夠直接經(jīng)過getAddress得到mac地址;而iOS出于蘋果的平安戰(zhàn)略問題,無法直接取得mac地址,只能得到一個mac地址換算出來的identifier。不過在智能設(shè)備開發(fā)時,普通都會思索到這個問題,大多數(shù)智能設(shè)備會把mac地址保管在播送數(shù)據(jù)中,不同設(shè)備可能會存在不同的位置。

9.Babybluetooth藍(lán)牙庫的運用

Babybluetooth是iOS的藍(lán)牙庫的封裝,iOS藍(lán)牙拜托層級特別厭惡,一個拜托接著一個拜托,比方先進入掃描的拜托,在進入鏈接的拜托,在進入銜接勝利,發(fā)現(xiàn)效勞,發(fā)現(xiàn)特征,讀寫操作,一套操作被拆分的很散,容易出錯,代碼不易維護,上手慢等缺陷,Babybluetooth對CoreBluetooth停止了封裝,把拜托回調(diào)停止辦法調(diào)用的方式,改成了鏈?zhǔn)睫k法次第調(diào)用,直接調(diào)用baby.enjoy()辦法,完成一整套操作,簡化了上手難度和代碼維護本錢。


相關(guān)新聞