藍牙4.0BLE cc2540 usb-dongle的 SmartRF Packet Sniffer 抓取數據方法 【原創,多圖】


    藍牙4.0BLE cc2540 usb-dongle的 SmartRF Packet Sniffer 抓取數據方法 【原創,多圖】


    (僅僅公布於csdn博客, 如需轉載,請注明出處,謝謝! )

       藍牙4.0的開發, 如今真熱火的非常。 可是非常多朋友買了我們出品的cc2540 usb-dongle后, 都反饋說不知道怎樣抓包, 而且。 即使非常多朋友到TI官網論壇去找信息,不少朋友依舊是無功而返,實際上, 用cc2540 usb-dongle來進行ble數據的抓包,並不像用電腦的wireshark等軟件來抓取ip包一樣簡單。

        我們須要明確的是。ble的廣播是能夠指定廣播信道的,廣播信道各自是37、38、39。 但TI的協議棧官方例程里已經默認設置了在廣播階段 同一時候三個信道一起廣播。可是一旦跟主機連接上后,就僅僅在當中的一個信道數據傳輸,所以我們是要指定當中的一個信道的。 可惡的是, 這個連接上的信道也是隨機的, 我們能夠在抓取到連接包后, 填入發起者(即是主機)的地址和信道就可以。

       以下我們用 TI官方例程  SimpleBLEPeripheral  結合 cc2540 usb-dongle  和  SmartRF Packet Sniffer  軟件來實現數據包的抓取和讀寫

       【1】首先要讓開發板跑 SimpleBLEPeripheral , 這里不是重點, 先不說哈。

       【2】然后,把燒錄了“ sniffer_fw_cc2540_usb.hex” 固件的 usb-dongle插入到pc, 假設沒有安裝驅動, 是要安裝的驅動的。 可是假設你已經安裝了 SmartRF Packet Sniffer 軟件, 那么驅動就已經默認安裝了。

       【3】 執行 SmartRF Packet Sniffer 。

例如以下圖:


上圖, 描寫敘述的是, 一旦主機和從機連接上后。 到

這一行, 抓包就不在顯示了, 這個時候, 如上填入地址, 並選好信道號, 然后再又一次復位從機,主機又一次連接。這個時候不一定  SmartRF Packet Sniffer 就能顯示到連接后的數據包, 假設不能連接上, 就試試  把  改成 38、 39等等, 多試試幾次, 就會出現以下圖了。(下圖表明抓取到了ble的數據包)


以下用lightblue進行一個char1的讀操作, lightblue讀取到了0x04.(lightblue是ios上非常牛的一個軟件, 假設不知道。 能夠先看看我先前的文章哈,

http://blog.csdn.net/mzy202/article/details/23600587


以下用lightblue進行一個char1的寫操作, lightblue寫入0x01.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM