物聯(lián)網(wǎng)已經(jīng)存在了一段時(shí)間,但目前引起關(guān)注的原因是傳感器的價(jià)格大幅下降以及幾乎無(wú)處不在的連接性。根據(jù) IDC 最近的報(bào)告,全球物聯(lián)網(wǎng)技術(shù)支出將在 2022 年達(dá)到 1.2 噸,在 2017-2022 年的預(yù)測(cè)期內(nèi)實(shí)現(xiàn) 13.6% 的復(fù)合年增長(zhǎng)率。藍(lán)牙技術(shù)廣泛用于各種智能應(yīng)用中的物聯(lián)網(wǎng),使用 2400.0 至 2483.5 MHz 的未經(jīng)許可的工業(yè)、科學(xué)和醫(yī)療 (ISM) 頻段中的短波長(zhǎng)無(wú)線(xiàn)電傳輸進(jìn)行短距離(最長(zhǎng) 100m)的連接。
藍(lán)牙設(shè)備以多種模式從一臺(tái)設(shè)備與另一臺(tái)設(shè)備通信——
- 單播:源向多個(gè)目標(biāo)發(fā)送和接收消息,建立一對(duì)一的設(shè)備通信。
- 廣播:源將消息發(fā)送到多個(gè)目的地,建立一對(duì)多的設(shè)備通信。
- 多播(網(wǎng)格):建立多對(duì)多設(shè)備通信的多個(gè)源和目標(biāo)。
BLE 由藍(lán)牙特別興趣小組 (SIG) 銷(xiāo)售。藍(lán)牙 SIG 管理認(rèn)證過(guò)程,任何使用藍(lán)牙無(wú)線(xiàn)技術(shù)的產(chǎn)品都需要遵循該過(guò)程。所有這些產(chǎn)品都必須通過(guò)藍(lán)牙 SIG 認(rèn)證并滿(mǎn)足藍(lán)牙許可協(xié)議和規(guī)范的要求。SIG 擁有如下所示的徽標(biāo)和“藍(lán)牙”一詞。
藍(lán)牙協(xié)議和測(cè)試
BLE 的集成級(jí)測(cè)試涉及廣告數(shù)據(jù)的驗(yàn)證、握手過(guò)程(啟動(dòng)通信和協(xié)商傳輸參數(shù))、連接過(guò)程、綁定過(guò)程、數(shù)據(jù)包數(shù)據(jù)格式。這可以通過(guò)兩種方式實(shí)現(xiàn):
1. 連接任何作為Master的BLE設(shè)備,驗(yàn)證服務(wù)和數(shù)據(jù)交換
2. 使用 Sniffer 應(yīng)用程序進(jìn)行通信之間的“間諜”
每個(gè)藍(lán)牙設(shè)備都有一個(gè)唯一的 MAC 地址和時(shí)鐘。Master 控制時(shí)鐘和跳頻。
各個(gè)層的源和目標(biāo)扮演著不同的角色,需要對(duì) UUT(被測(cè)單元——一個(gè)藍(lán)牙設(shè)備作為掃描器,另一個(gè)作為廣告商)進(jìn)行徹底驗(yàn)證,這在本博客中進(jìn)行了討論。以下是每一層的源和目標(biāo)的同義詞:
鏈路層
鏈路層是物理層和 L2CAP 層之間的層。它主要起到廣告、建立連接和發(fā)現(xiàn)服務(wù)的作用。下面的狀態(tài)圖描述了鏈路層的工作流。
待機(jī):默認(rèn)狀態(tài)
廣告:設(shè)備在三個(gè)廣告通道(其余37個(gè)為數(shù)據(jù)通道)中定期發(fā)送廣告事件,如下圖所示。
掃描
有兩種不同的掃描模式:
- 被動(dòng)掃描——控制器只支持?jǐn)?shù)據(jù)接收,不支持傳輸。
- 主動(dòng)掃描 – 傳輸掃描請(qǐng)求。掃描器發(fā)出 SCAN_REQ 數(shù)據(jù)包,廣告商以 SCAN_RSP 數(shù)據(jù)包響應(yīng)。
發(fā)起
Scanner 根據(jù)廣告數(shù)據(jù)選擇合適的廣告商。如果廣告商發(fā)出連接機(jī)會(huì)的信號(hào),則掃描器可以向廣告商發(fā)送連接請(qǐng)求。一旦 CONNECT_REQ 數(shù)據(jù)包被發(fā)送,scanner 就會(huì)成為 Initiator。
聯(lián)系
一旦成功建立連接,兩個(gè)設(shè)備都處于“連接”狀態(tài)。發(fā)起者成為主人,廣告者成為奴隸。它們定期交換數(shù)據(jù)包,稱(chēng)為連接事件(此連接是握手,數(shù)據(jù)交換僅在握手成功后發(fā)生)。BLE 連接維護(hù)一個(gè) Piconet 網(wǎng)絡(luò)結(jié)構(gòu),其中單個(gè)主機(jī)與稱(chēng)為 pico 的從機(jī)協(xié)調(diào)連接事件。應(yīng)用程序中的數(shù)據(jù)傳輸速率從 200 到 2,100 kbps 不等。
BLE 數(shù)據(jù)包構(gòu)成了鏈路層的基本構(gòu)建塊。BLE數(shù)據(jù)包數(shù)據(jù)格式大致可以分為以下幾種:
BLE 有兩種類(lèi)型的數(shù)據(jù)包:
? 廣告包——查找并連接到附近的設(shè)備
? 數(shù)據(jù)包——兩個(gè)連接設(shè)備之間的數(shù)據(jù)傳輸
以下是根據(jù)協(xié)議數(shù)據(jù)單元 (PDU) 的不同廣告數(shù)據(jù)包類(lèi)型:
按照以下鏈接中的步驟設(shè)置 Nordic BLE Sniffer 和 Wireshark 設(shè)置以進(jìn)行數(shù)據(jù)包捕獲:
nRF_Sniffer_UserGuide_v2.2
以下是可以使用 Wireshark 數(shù)據(jù)包分析器驗(yàn)證的測(cè)試用例:
1. 驗(yàn)證外圍設(shè)備是否發(fā)布廣告明文
2. 驗(yàn)證外設(shè)在廣告和未連接時(shí)的廣告算法。(廣告算法包括廣告事件的數(shù)量和它們之間的持續(xù)時(shí)間)
3. 驗(yàn)證握手過(guò)程中外圍設(shè)備的廣告算法
4.驗(yàn)證UUT配對(duì)綁定后的廣告事件
通用訪(fǎng)問(wèn)配置文件 (GAP)
GAP 定義了設(shè)備角色、廣告模式和綁定程序。安全管理器,GAP 的一部分,可以根據(jù)系統(tǒng)的安全需求進(jìn)行設(shè)計(jì)?!芭鋵?duì)”和“綁定”過(guò)程通過(guò) GAP 進(jìn)行控制:
-配對(duì):
中央和外圍設(shè)備交換加密的密鑰,經(jīng)過(guò)身份驗(yàn)證和接受以建立連接。
-粘合:
配對(duì)過(guò)程中的信息存儲(chǔ)在設(shè)備上,因此配對(duì)過(guò)程不會(huì)重復(fù),并且只要設(shè)備在附近,就會(huì)建立重新連接。
三種主要的配對(duì)方法是:
1. Just Works – 加密密鑰在中央和外圍設(shè)備之間共享。
2. 密鑰顯示——隨機(jī)密鑰在一臺(tái)設(shè)備上生成,其他需要輸入。
3. 帶外——這支持另一個(gè) BLE 無(wú)線(xiàn)電來(lái)共享密鑰。
使用與上面相同的設(shè)置,以下是可以使用 Wireshark 數(shù)據(jù)包捕獲驗(yàn)證的測(cè)試用例:
1. 在數(shù)據(jù)包級(jí)別驗(yàn)證密鑰交換配對(duì)過(guò)程。
2. 驗(yàn)證廣告跳序列。
通用屬性配置文件 (GATT)
藍(lán)牙設(shè)備充當(dāng) GATT 服務(wù)器或客戶(hù)端。GATT 標(biāo)識(shí)層次結(jié)構(gòu)以組織服務(wù)和特征等屬性。屬性是分組數(shù)據(jù)和 UUID(通用唯一標(biāo)識(shí)符),因?yàn)?16 字節(jié)分配給每個(gè)屬性。GATT Attribute 的層次結(jié)構(gòu)可以在下圖中理解:
服務(wù)包括完成特定功能所需的數(shù)據(jù)集合。特征包含用戶(hù)數(shù)據(jù)。下面的流程圖顯示了客戶(hù)端和服務(wù)器之間的數(shù)據(jù)包通信:
按照以下鏈接安裝 nRF Connect Emulator App:
nrFconnect 應(yīng)用程序
以下是可以使用 nRF Connect 應(yīng)用程序驗(yàn)證的測(cè)試用例:
1. 建立連接后驗(yàn)證可用于發(fā)現(xiàn)的服務(wù)。
2. 驗(yàn)證可用的服務(wù),如設(shè)備信息服務(wù) (UUID 0x180a) 以獲取制造商詳細(xì)信息、硬件、固件和軟件字符串?dāng)?shù)據(jù)、通用訪(fǎng)問(wèn)配置文件 (UUID 0x01800)、通用屬性配置文件 (UUID 0x1801)。
3. 驗(yàn)證自定義服務(wù)(如下圖所示的未知服務(wù))是否可用。
4. 驗(yàn)證服務(wù)的特性以及為讀取、寫(xiě)入等特性啟用的屬性。
5. 使用數(shù)據(jù)讀取和寫(xiě)入功能驗(yàn)證發(fā)送和接收的定義數(shù)據(jù)。
結(jié)論:
隨著4.0版本支持的低功耗藍(lán)牙(BLE)的出現(xiàn),由于消費(fèi)市場(chǎng)對(duì)低能耗和低功耗的需求(BLE由Bluetooth SIG發(fā)明并正式化),現(xiàn)在它被廣泛應(yīng)用于消費(fèi)市場(chǎng)。為了幫助確保在這些新的低功耗設(shè)計(jì)中成功實(shí)施低功耗藍(lán)牙,測(cè)試解決方案必須能夠根據(jù)藍(lán)牙標(biāo)準(zhǔn)快速且經(jīng)濟(jì)高效地進(jìn)行必要的測(cè)試。
-
物聯(lián)網(wǎng)
+關(guān)注
關(guān)注
2909文章
44557瀏覽量
372754 -
服務(wù)器
+關(guān)注
關(guān)注
12文章
9123瀏覽量
85322 -
BLE
+關(guān)注
關(guān)注
12文章
660瀏覽量
59391
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論