在調試開發藍牙Mesh產品時,除了打開設備端的Log外,有時還需要用到抓包工具分析空中的Mesh消息格式和交互流程是否正確。目前市面上的抓包儀器價格較貴,在缺少專業的抓包工具時,可通過泰凌自研的藍牙Mesh包解密分析工具進行初步分析。
此工具只需用到1個TLSR8258 Dongle(以下簡稱Monitor)和1個串口模塊,然后編譯8258_mesh_monitor工程(SDK下載鏈接: http://wiki.telink-semi.cn/tools_and_sdk/BLE_Mesh/SIG_Mesh/sig_mesh_sdk.zip),燒錄編譯得到的8258_mesh_monitor.bin,入網后即可監聽并解密當前Mesh網絡內廣播類型的Mesh消息,暫不支持GATT proxy pdu和解密用Device Key加密的Mesh消息。
操作步驟如下:
1配置Monitor串口
抓包工具使用8258_mesh_monitor編譯選項,工程設置里已使能MESH_MONITOR_EN。與8258_mesh工程共用應用層代碼,在頭文件app_config_8258.h中通過宏UART_TX_PIN配置串口的IO。
Clean編譯后得到8258_mesh_monitor.bin文件,燒錄到Monitor中。
2連接串口硬件
把Monitor的uart tx和uart rx分別接到串口模塊的rx和tx,打開串口調試助手(通用串口工具即可),選擇對應的COM口,設置波特率115200,hex顯示。
3把Monitor加入Mesh網絡
Monitor在加入需要監聽的Mesh網絡前,相當于一個未配網節點,不開啟監聽功能。用App/網關把它加入Mesh網絡后,會自動開啟監聽功能。
4Log解析
Monitor加入Mesh網絡后,會通過串口解密輸出監聽到的Mesh網絡內廣播類型Mesh消息,格式為:
0xF5 + length + 0x2A(Mesh type) + Network PDU.
Network PDU對應下圖結構體mesh_cmd_bear_t中紅框內的成員變量,與Mesh spec中定義的PDU格式是一致的,根據格式解析上報的raw data就知道具體的Mesh消息。
如下圖,網關把一個燈節點和Monitor加進來后,往Mesh網絡分別發送了onoff set和自定義的vendor set消息,燈節點收到后回復了onoff status和vendor status。
5擴展功能
1、如果要監聽默認網絡的Mesh包(未執行組網操作之前的網絡),可通過串口往Monitor下發命令開啟監聽功能。
a8 ff + 00 + monitor_en。
monitor_en為1開啟,0關閉。
2、Monitor默認開啟sno過濾(即relay protect list),如果需要關閉,可通過串口往Monitor下發命令設置。
a8 ff + 01 + sno_filter。
sno_filter為1開啟sno過濾,0關閉sno過濾。
以上就是藍牙Mesh包解密分析工具的操作步驟,通過抓取空中包,能夠快速地定位和分析問題。
TLSR8258 Dongle 購買鏈接:
https://shop321349797.taobao.com/search.htm?spm=a1z10.1-c.w5002-24452846213.1.76af4a1c6oNHJz&search=y
關 于 泰 凌
泰凌微電子致力于為客戶提供一站式的低功耗高性能無線連接SoC芯片解決方案,包括經典藍牙,藍牙低功耗,藍牙Mesh,Zigbee,Thread,Matter,Apple HomeKit,Apple“查找(Find My)”,和私有協議等低功耗2.4GHz多協議無線連接系統級芯片和豐富的固件協議棧。公司產品廣泛應用于智能照明,智能家居/樓宇,智能遙控,無線外設,智能零售,穿戴設備,無線音頻,智能玩具,物流追蹤,智慧城市等各類消費和商業應用場景中。
審核編輯:湯梓紅
-
藍牙
+關注
關注
114文章
5684瀏覽量
168108 -
解密
+關注
關注
3文章
47瀏覽量
15074 -
串口
+關注
關注
14文章
1534瀏覽量
75474 -
Mesh
+關注
關注
5文章
192瀏覽量
29679 -
泰凌微
+關注
關注
6文章
142瀏覽量
10724
原文標題:【技術專欄】泰凌微電子自研藍牙Mesh解密分析工具操作說明
文章出處:【微信號:telink-semi,微信公眾號:泰凌微電子】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論