<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 手機與無(wú)線(xiàn)通信 > 設計應用 > LAT1297 藍牙廣播常見(jiàn)問(wèn)題

LAT1297 藍牙廣播常見(jiàn)問(wèn)題

作者: 時(shí)間:2023-11-13 來(lái)源:ST 收藏

1.前言

本文引用地址:http://dyxdggzs.com/article/202311/452783.htm

本文是一些解決BLE相關(guān)問(wèn)題的經(jīng)驗分享。對于用戶(hù)常常遇到的一些問(wèn)題,比如包最多能帶多少用戶(hù)數據,名字怎么設置,廣播類(lèi)型有哪些,為什么有些手機無(wú)法掃描到設備等問(wèn)題,都將在本文得到解答。

2. BLE廣播最基礎知識

隨著(zhù)BLE核心規范版本的更新,廣播增加了很多特性,如擴展廣播,同步廣播等。本文不對這些特性做展開(kāi),僅討論傳統廣播的一些比較基礎的知識。

傳統廣播包含了4種廣播類(lèi)型,這4種類(lèi)型由兩個(gè)問(wèn)題推論得出,即,是否可掃描和是否可連接。四種廣播類(lèi)型的行為見(jiàn)圖1:

1699844144471880.png

圖1. 廣播類(lèi)型

普通廣播可掃描可連接,最多可帶62字節用戶(hù)數據,是最常見(jiàn)的廣播類(lèi)型。其缺點(diǎn)是空中交互的時(shí)間長(cháng),比較占信道資源,功耗也比較高。

Beacon廣播不可連接不可掃描,最多只能帶31字節用戶(hù)數據,常常用于標簽類(lèi)、資產(chǎn)追蹤類(lèi)設備中,優(yōu)點(diǎn)是簡(jiǎn)單、占用信道資源少,功耗低。

直連廣播用于異常斷開(kāi)的設備可快速恢復連接。它不能帶自定義數據,只能帶6字節的主機地址。并且,它可以突破其它廣播類(lèi)型最低20ms的廣播間隔的限制,可實(shí)現<10ms的廣播間隔。

可掃描廣播主要為了解決了Beacon廣播帶數據量太小的問(wèn)題。

BLE的廣播數據和響應廣播數據格式如下圖,是由一個(gè)接一個(gè)AD structure組成。

每個(gè)AD structure = Length + AD Type + AD Data.

每個(gè)AD type 和對應AD Data 的詳細內容可以在Core Specification Supplement | Bluetooth? Technology Website中查看。 

詳細AD type 分配的具體數值可以在以下網(wǎng)址查找:Assigned Numbers (windows.net)

圖2. 廣播數據和廣播響應數據格式

1699844196591362.png

3. 手機找不到設備的普通廣播?

用戶(hù)使用手機的系統掃描周?chē)O備時(shí),系統藍牙可以?huà)叱鲆恍┰O備,但自己的設備卻沒(méi)有掃描到?

先一句話(huà)概括:可能和手機的系統藍牙的過(guò)濾機制有關(guān)。

首先應該確保設備已經(jīng)正常運行(可通過(guò)LOG信息、電流波形等)。其次,使用手機的BLE APP對設備(假設是BLE_DEV)進(jìn)行掃描,圖3為BLE Toolbox工具的掃描頁(yè)面:

圖3. BLE Toolbox

圖片.png

當發(fā)現手機BLE APP可以?huà)呙璧轿覀兊脑O備時(shí),那么這個(gè)問(wèn)題基本可以確定是被系統藍牙過(guò)濾掉了。隨著(zhù)市面上BLE產(chǎn)品的增多,手機系統藍牙設置一定的過(guò)濾機制是合理和必要的,這可以減少對用戶(hù)的干擾以便用戶(hù)可以比較快地在系統藍牙頁(yè)面找到需要連接的設備。關(guān)于手機系統藍牙的過(guò)濾機制,目前暫未找到相關(guān)規范文檔。而根據本人的應用經(jīng)驗,在廣播設備中添加HID服務(wù)的UUID聲明,在大多數手機上都能逃出過(guò)濾機制。相關(guān)代碼見(jiàn)圖4:

圖4. HID服務(wù)UUID聲明

1699844262698769.png

再次使用系統藍牙(iOS)進(jìn)行掃描,設備出現在列表中,問(wèn)題解決:

圖5. iOS系統藍牙

圖片.png

關(guān)于廣播字段中ad type列表和UUID申明列表的詳細資料,可參閱文檔:Assigned Numbers (windows.net)

4. 手機找不到設備的Beacon廣播?

這個(gè)問(wèn)題和找不到設備的普通廣播的原因類(lèi)似,可以先一句話(huà)概括:可能和手機系統藍牙的過(guò)濾機制有關(guān)。解決的辦法是找到一個(gè)可以?huà)呙鐱eacon廣播包的APP,比如LightBlue等。

5. 廣播名顯示異常

這個(gè)問(wèn)題有以下幾個(gè)場(chǎng)景:

1. 使用 iOS手機掃描設備,掃到“a”名字的設備,而當連接、斷連一次該設備后,再次掃描,掃到了“b”名字的同一個(gè)設備。

2. 工程師在開(kāi)發(fā)過(guò)程中發(fā)現,固件上修改了設備名但無(wú)法修改成功,用iOS手機掃描出來(lái)一直是某個(gè)固定的名字,而當用Android手機掃描時(shí),則一切正常。

一句話(huà)解答這個(gè)問(wèn)題是:iOS手機遵循完整的設備名掃描機制,并且會(huì )保留已連接設備的信息。

在談?wù)揃LE設備的名字時(shí),有的稱(chēng)之為廣播名,有的稱(chēng)為設備名,有的稱(chēng)為本地名(local name),這些名字其實(shí)說(shuō)的都是同一個(gè)東西,或者說(shuō)同一個(gè)機制。該機制主要用于解決名字過(guò)長(cháng)的問(wèn)題。當名字過(guò)長(cháng)時(shí),由于廣播數據包容量有限、無(wú)法承載,藍牙核心規范采用的方法是,比如對于“STBLE_DEVELOPMENT_KIT”這個(gè)名字:

1. 在廣播包中存放“STBLE_DEV”

2. 在連接成功后的device name 特征中存放“STBLE_DEVELOPMENT_KIT”

對于這個(gè)方法,iOS系統會(huì )以device name 特征中的名字為準,從而具有以下處理邏輯:

1. 通過(guò)藍牙地址判斷該設備是否連接過(guò)

2. 當設備未連接過(guò),掃描時(shí)顯示的是廣播包中的名字

3. 當設備已經(jīng)連接過(guò),無(wú)論廣播名如何更改,iOS系統只顯示device name 特征中的名字。

安卓系統暫未發(fā)現遵循以上規范的手機。驗證這個(gè)問(wèn)題時(shí),我們可以使用圖6代碼,將廣播包的名字和device name特征中的名字設置的不一樣

圖6. 設備名異常

1699844449176577.png

用STBLE Toolbox掃描并連接設備并斷開(kāi)。再次掃描時(shí),APP和系統藍牙的名字將不相同,見(jiàn)圖7:

圖7. APP和系統藍牙顯示名字不同

圖片.png

6. 小結

在開(kāi)發(fā)過(guò)程中遇到和藍牙廣播相關(guān)的問(wèn)題時(shí),基于本人的經(jīng)驗可按下以下步驟進(jìn)行逐一排查:

1. 確認系統正確發(fā)出廣播,可通過(guò)LOG信息和電流波形確認;

2. 工程師在開(kāi)發(fā)過(guò)程中修改藍牙外設固件時(shí),最好使用 Public地址類(lèi)型并且每次下載固件前都改一下藍牙地址;

3. 了解藍牙的廣播類(lèi)型,有一些手機APP無(wú)法掃描Beacon類(lèi)設備,建議使用STBLE Toolbox工具或者LightBlue工具對設備進(jìn)行掃描;

4. 注意手機的系統藍牙有過(guò)濾機制,本文檔的第三章提及的解決方式,不能百分百逃過(guò)手機的過(guò)濾機制。當遇到有的手機無(wú)法掃描自己的BLE外設時(shí),我們可以利用該手機系統藍牙已掃出的設備,對其廣播包進(jìn)行解析,找出其被該手機識別的廣播字段依據。

文檔中所用到的工具及版本

? SDK : STSW-BNRGLP-DK

? APP : STBLEToolbox

版本歷史

1699844516732850.png




關(guān)鍵詞: LAT1297 藍牙 廣播 ST IOS

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>