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