一、簡介
KT6368A藍牙模塊關于IOS系統或者手機獲取藍牙mac地址的方法說明
一些客戶在開發APP的時候,經常會遇到IOS的問題,所以我們在此歸類總結一下,希望能幫助到大家,這里核心的重點在于藍牙芯片這一端的處理
因為我們本身沒有開發app的能力,收集的信息以及經驗都是基于和客戶之間的溝通,而客戶那邊的app或者小程序開發,很多都是我們全程參與的,所以在這一塊能給出一些行之有效的建議
開發安卓和IOS的APP中,在獲取藍牙模塊的MAC地址的時候有區別
1、安卓系統在藍牙這一塊,給了獲取藍牙模塊MAC地址的接口,所以直接用就行
包括安卓端的微信小程序或者其他小程序
2、但是IOS比較嚴謹,不允許獲取藍牙模塊的MAC地址,沒有給出API,所以必須要在藍牙模塊這一端做一些特別的設置
==》方法1:設定一個固定的UUID,專門用來和APP交互,意思就是app連接之后通過這個uuid去讀取藍牙模塊的MAC地址
==》方法2:把藍牙模塊的MAC地址,存在在廣播包里面,這樣IOS的藍牙在搜索的時候,就可以直接獲取到藍牙模塊的MAC地址
二、詳細描述
2.1 方法1--特定的UUID去讀取MAC地址
其實這類型的應用并不多,因為他需要建立連接之后,才能獲取到mac地址,這樣就不實用了
在我們配合的大量客戶中,很少有采用這樣的方式的 。其實實現也很簡單,一說就能懂
所以這個方法,暫時不推薦使用,請詳細了解一下方法二。
2.2 方法2--MAC地址存放在藍牙模塊廣播包里面
這里,我們引用一下KT6368A藍牙芯片的廣播包說明
這里我們在廣播包里面,添加了芯片藍牙的 MAC 地址 對比右邊的截圖,即可知道規律
這里我們稱之為:advertisData,做這個的目的,有如下原因:
1、微信小程序開發:無法直接獲取藍牙芯片的 mac 地址,沒有相應的API,所以可以通過這個獲取到,具體網上可以搜一下
2、APP 開發--IOS 端,也沒辦法直接獲取 MAC 地址,也是通過這個方式得到藍牙芯片的 MAC 地址
3、APP 開發--安卓端,沒有這個問題,直接通過 API 時可以獲取到藍牙芯片的 mac 地址的。所以用不用這個功能,都無所謂
2.3 方法2--測試方法
1、IOS的測試,這里用的APP是 “BLEHelper”
2、因為使用nrf connect 測試比較麻煩
3、這兩個app都是基于IOS開發的工具,所以他們使用的API接口是一樣的。也就是說,mac地址放在廣播包里面是可以的
4、存放的位置是manufacturerData里面 0x724c21cb1c93
5、既然這些工具APP能獲取到廣播包里面的mac地址
那么你們自己開發ios的app或者微信小程序,也應該是沒問題的
HCI_EIR_DATATYPE_MANUFACTURER_SPECIFIC_DATA= 0xFF
安卓的測試,使用的是nrf connect
安卓端就不去啰嗦了
三、總結
強烈推薦方法二,這樣就能完美的解決這個問題了,也可以拿KT6368A藍牙芯片測一下
審核編輯 黃昊宇
-
手機
+關注
關注
35文章
6896瀏覽量
158118 -
藍牙模塊
+關注
關注
30文章
578瀏覽量
55860
發布評論請先 登錄
相關推薦
評論