zoukankan      html  css  js  c++  java
  • 蓝牙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.

    查看全文

  • 相关阅读:
    Language Integrated Query
    为什么说 LINQ 要胜过 SQL
    LINQ(Language Integrated Query)
    Rx (Reactive Extensions)介绍
    ReactiveX Operators
    ReactiveX
    给 iOS 开发者的 RxSwift(一)
    The features of Swift
    RxSwift源码与模式分析一:基本类
    智力
  • 原文地址:https://www.cnblogs.com/lytwajue/p/6875364.html
Copyright © 2011-2022 走看看