Debug BLE application with nRF Sniffer+wireshark
1. Introduction
The nRF Bluetooth® Smart Sniffer is a tool for debugging Bluetooth low energy (BLE) applications. The sniffer can pick up (sniff) every packet between a selected peripheral and the central device it is communicating with, even when the link is encrypted. When developing a BLE solution, knowing what happens over-the-air between devices can help you isolate, debug and troubleshoot any potential issues.

nRFSniffer trace on Wireshark showing a advertising packets, and the connection established by an iPhone.
2. What you need to get started
Hardware
- An PCA10000 dongle or a nRF51 Evaluation board
- A PC computer running Windows 7 or later
How to set up the hardware
- Connect the hardware to a USB port.
- Place the hardware (PCA10000) close to the Peripheral and Central device.

Hardware setup, if you don’t have the USB extension cable, you can just plug the PCA10000 dongle directly into the USB port, make sure the PCA10000 is in the range of no more than 50 cm to the peripheral and the central.
Software
Download and unzip the following materials:
- nRF tools from www.nordicsemi.com. Download here: /media/uploads/nemovn/nrftools_6_0_0_installer.exe
- ble-sniffer_win_1.0.1_1111_Sniffer.exe found in ble-sniffer_<os>_<version>_Sniffer.zip. Download here: /media/uploads/nemovn/ble-sniffer_win_1.0.1.zip
- Wireshark from wireshark.org.
Download 64-bit version here: /media/uploads/nemovn/wireshark-win64-1.10.9.exe .
Download 32-bit version here: /media/uploads/nemovn/wireshark-win32-1.10.9.exe
Wireshark v1.10 is recommended. The latest Wireshark version, v1.12, may not be fully compatible with the current sniffer software.
3. Flashing the sniffer firmware
- Run ble-sniffer_win_1.0.1_1111_Sniffer.exe from the unziped nRF Sniffer folder.
- nRF Sniffer console interface will appear and search for the sniffer COM Port.
- Press Ctrl+R to start programming
- If you have more than 1 Segger Jlink device you may need to select the correct PCA10000’s SEGGER serial number
- If the sniffer firmware has been installed properly, you should see this interface:

nRFSniffer console showing devices that advertising in the range of the nRF Sniffer
4. Using the sniffer
Once you have the Sniffer console running, the software should automatically find the hardware COM port (you only have to flash the firmware once) and start reporting advertisements and listing nearby devices. If things aren't working as they should, reset the hardware (unplug-wait 5seconds – plugin again) and refresh the device list by typing L or restart the Sniffer program.
Note: If the sniffer console keep searching the COM port when you already pluged the PCA10000 dongle in and already flashed the firmware, you can try to unplug and plug the hardware back again after 5 seconds.
The Sniffer may not manage to pick up all connect requests and will not always pick up on a connection. In such cases, you need to reconnect.
If the sniffer works properly, you can start tracking a connection and debugging by first start with listing the adverting devices by pressing L. Then select the peripheral you want to track by pressing the index number or use up and down arrow buttons and press enter to select. After that you can start wireshark to display the captured packages by pressing “W” and you are ready for shooting trouble.

For more detail on how to use wireshark and analyze the BTLE packets please have a look at chapter 4 in the nRFSniffer user guide included in the zip folder or download here: /media/uploads/nemovn/ble-sniffer_win_1.2_user_guide.pdf
Note: One very useful filter you should try is btle.length!=0 to filter out all empty packet and make it easier to spot meaningful information.
Debug BLE application with nRF Sniffer+wireshark的更多相关文章
- Tomcat debug 模式, Application一直reload,导致内存溢出
在server.xml配置文件中,将reloable改为false.
- Bluefruit LE Sniffer - Bluetooth Low Energy (BLE 4.0) - nRF51822 驱动安装及使用
BLE Sniffer https://www.adafruit.com/product/2269 Bluefruit LE Sniffer - Bluetooth Low Energy (BLE 4 ...
- Debug your ASP.NET Application while Hosted on IIS
转摘:http://www.codeproject.com/Articles/37182/Debug-your-ASP-NET-Application-while-Hosted-on-IIS This ...
- 物联网安全拔“牙”实战——低功耗蓝牙(BLE)初探
物联网安全拔“牙”实战——低功耗蓝牙(BLE)初探 唐朝实验室 · 2015/10/30 10:22 Author: FengGou 0x00 目录 0x00 目录 0x01 前言 0x02 BLE概 ...
- 蓝牙BLE实用教程
蓝牙BLE实用教程 Bluetooth BLE 欢迎使用 小书匠(xiaoshujiang)编辑器,您可以通过 设置 里的修改模板来改变新建文章的内容. 1.蓝牙BLE常见问答 Q: Smart Re ...
- 蓝牙BLE实用教程(转载)
欢迎使用 小书匠(xiaoshujiang)编辑器,您可以通过 设置 里的修改模板来改变新建文章的内容. 1.蓝牙BLE常见问答 Q: Smart Ready 和 Smart 以及传统蓝牙之间是什么关 ...
- Cisco IOS debug command reference Command A through D
debug aaa accounting through debug auto-config debug aaa accounting : to display information on acco ...
- Top Things to Consider When Troubleshooting Complex Application Issues
http://blogs.msdn.com/b/debuggingtoolbox/archive/2011/10/03/top-things-to-consider-when-troubleshoot ...
- eclipse中debug
在需要测试的代码行左侧行号列上双击,生成断点 ,再次双击可以取消断点 如图: 然后右键,选择Debug As-Java Application,(注意,不是选择Run As) 开始调试java ...
随机推荐
- android生成json
package com.example.zzzz; import org.json.JSONArray; import org.json.JSONException; import org.json. ...
- CDH中,执行HIVE脚本表联查权限问题。。
文章来自http://www.cnblogs.com/hark0623/p/4174641.html 转发请注明 有时候执行表联查的时候总会出现没有权限写文件的情况. 这个时候使用sudo -H hi ...
- Time.deltaTime 增量时间
static var deltaTime : float Description描述 The time in seconds it took to complete the last frame (R ...
- android Intent.ACTION_SEND
ACTION_SEND intent 可以把自己的应用添加到系统的发送(分享)列表中. <intent-filter> <action android:name="andr ...
- topcoder 594 DIV2 foxandclassroom
暴力枚举 1 #include <iostream> #include <vector> #include <string> using namespace std ...
- 彻底卸载oracle数据库
有时候因为各种各样的原因,我们不得不重装Oracle,但按照一般的操作,很多朋友用了oracle的删除,然后,你会发现重新安装时,点了下一步安装界面就消失了.事实证明,万能的重启也是解决不了问题的.往 ...
- virt-manage图形界面键盘错位问题
键盘错乱问题: 启动引导问题:
- 《GK101任意波发生器》升级固件发布(版本:1.0.2.build126)
一.固件说明: 硬件版本:0,logic.3 固件版本:1.0.2.build126 编译日期:2014-08-23 ====================================== 二. ...
- ZOJ 2974 矩阵快速幂
题意 给出n个杯子与初始其中有多少水 “同时”进行如下指令 将其中的水同时分入所指定的杯子 进行x次后 输出杯子剩余水量 队友想出应该是一道快速幂 但并不是过去的用初始杯子的水组成的矩阵乘某个矩阵 可 ...
- maven-surefire-plugin总结
Maven通过Maven Surefire Plugin插件执行单元测试.(通过Maven Failsafe Plugin插件执行集成测试) 在pom.xml中配置JUnit,TestNG测试框架的依 ...