蓝牙学习 (7) - raspberrryPi 扫描TI sensorTag
前面几篇分别简单涉及了
- raspberryPi上bluez
- BLE sniffer
- TI SensorTag
https://blog.csdn.net/feiwatson/article/details/81590397
https://blog.csdn.net/feiwatson/article/details/82942416
https://blog.csdn.net/feiwatson/article/details/82945485
那么接下来,可以仔细分析蓝牙的packets
raspberryPi scan
在raspberryPi上执行sudo hcitool lescan
pi@raspberrypi:~ $ sudo hcitool lescan
LE Scan ...
3F:27:A7:F4:76:A1 (unknown)
2B:52:CB:55:00:90 (unknown)
37:92:63:B7:9C:54 (unknown)
54:6C:0E:80:B4:86 CC2650 SensorTag
如log中54:6C:0E:80:B4:86 CC2650 SensorTag, Sensor Tag被扫描到。
Siniffer log
wireshark中Log的packet截图如下
ADV_IND
下图为sensorTag的广播报文
Advertising_Type:
- 0x00 Connectable and scannable undirected advertising (ADV_IND)(default)
- 0x01 Connectable high duty cycle directed advertising (ADV_DIRECT_IND, high duty cycle)
- 0x02 Scannable undirected advertising (ADV_SCAN_IND)
- 0x03 Non connectable undirected advertising (ADV_NONCONN_IND)
- 0x04 Connectable low duty cycle directed advertising (ADV_DIRECT_IND, low duty cycle)
在spec 5.0中2.3.1.1 ADV_IND定义了ADV_IND PDU payload.
SCAN_REQ
下图为Scan Request packet
https://www.bluetooth.com/zh-cn/specifications/bluetooth-core-specification
Advertising devices may receive scan requests from listening devices in order to get additional user data from the advertising device. Scan responses are sent by the advertising device to the device making the scan request.
在spec 5.0 中, 4.2.2.3 Scanning Procedure
- A scanning device uses the scanning procedure to listen for unidirectional broadcasts of user data from advertising devices using the advertising channel.
- A scanning device can request additional user data from an advertising device by making a scan request.
- The advertising device responds to these requests with additional user data sent to the scanning device over the advertising
channel.
关于广播报文,Scan Request, Scan Response, 以及connect Request在下面的链接中有进一步的解释,
http://www.wowotech.net/bluetooth/ble_broadcast.html
这里就直接引用一下:
Reference
http://www.wowotech.net/bluetooth/ble_broadcast.html
蓝牙学习 (7) - raspberrryPi 扫描TI sensorTag的更多相关文章
- 蓝牙学习 (6) - Play with TI sensorTag (1)
硬件 cc2650 SensorTag Connect with App 在手机上安装Ti提供的sensorTag App即可和sensorTag 建立连接. 如下手机截图,
- 蓝牙学习 (8)配对raspberryPi和SensorTag CC2650
在上一篇中,用raspberryPi能够扫描到Ti SensorTag. 但是没有获得更多的数据,并且发现sensor Tag并没有回复scan request. https://blog.csdn. ...
- Android 蓝牙学习
Android 蓝牙学习 学习缘由 上个礼拜公司要开发个简单的五子棋游戏!其中一个需求就是支持蓝牙对战!所以苦逼的我学习蓝牙方面的知识了! 简介 Bluetooth是目前使用最广泛的无线通讯协议,近距 ...
- android蓝牙学习
学习路线 1 蓝牙权限 <uses-permission android:name="android.permission.BLUETOOTH" /> <uses ...
- Android蓝牙学习笔记
一 Bluetooth基本概念 蓝牙是无线数据和语音传输的开放式标准,它将各种通信设备.计算机及其终端设备.各种数字数据系统.甚至家用电器采用无线方式联接起来.它的传输距离为10cm-10m,如果增加 ...
- 蓝牙学习笔记三(Android Debug)
android 端可以通过两种方式去Debug: 一.在手机的设置功能里,开发者模式 Enable,如下图: http://blog.bluetooth.com/debugging-bluetoo ...
- nRF51800 蓝牙学习 进程记录 1:感想
一直想开一个高大上点的博客,觉得博客园不错,便申请了.一直没时间看,都快忘了,无意间登上提示申请到了.便写个东西看看. 正在学习nRF51822的蓝牙开发板,为了做毕设准备.备考中,一直没时间学,但今 ...
- Android蓝牙BLE开发,扫描、连接、发送和读取信息;
1.BLE开发权限 Android蓝牙BLE开发须打开蓝牙权限和6.0位置权限: <uses-permission android:name="android.permission.B ...
- Android开发之蓝牙(Bluetooth)操作(一)--扫描已经配对的蓝牙设备
版权声明:本文为博主原创文章,未经博主允许不得转载. 一. 什么是蓝牙(Bluetooth)? 1.1 BuleTooth是目前使用最广泛的无线通信协议 1.2 主要针对短距离设备通讯(10m) ...
随机推荐
- cmd - 使用curl命令的注意点
前言 最近在cmd中使用curl命令来测试rest api,发现有不少问题,这里记录一下. 在cmd中使用curl命令的注意事项 json不能由单引号包括起来 json数据里的双引号要用反斜杠\转义 ...
- STP-5-STP配置及分析
拓扑: root id列出了根的网桥id为两部分,前边是优先级,后边跟着mac地址,cost 0 暗示sw1就是根: 下边的命令确认sw1就是vlan1的根: 下边,sw2配置了一个比sw1更低的优先 ...
- Java 过滤器实现(登录) + 拦截器(两种方法)
以下是实现未登录不能进入页面的实现 使用了thyemeleaf+SpringBoot+过滤器实现的,过滤器的核心代码如下: @Component @WebFilter(filterName = &qu ...
- LogBack日志小记
优势 看了一下Logback的官方文档,说换成LogBack的原因大概有一下几个: 1. 说是logBack的设计开发和log4j是同一批人员,重写了内核,习惯上总体跟log4j一样,不会有太多生疏感 ...
- I/O————File对象
File文件对象 文件和文件夹都是用File代表 创建一个文件对象,(并不会有真正的文件或文件夹被创建) File f1 = new File("d:/lolfilder"); S ...
- MyBatis的数据库操作
MyBatis的数据库操作 大学毕业有一段时间了,作为一名没有任何开发工作经验的大专毕业生想找到一份软件开发的工作确实很难,但我运气还算不错,应聘上一份java web开发的工作.作为一名新人,老板给 ...
- 内存泄露--contentView缓存使用与ListView优化
引起Android内存泄露有很多种原因,下面罗列了一些问题,以后会一一解决 1.构造Adapter时没有使用缓存convertView(衍生出ListView优化问题) 2.查询数据库游标没有关闭 3 ...
- redis 一些使用过的命令
因为我是JAVA的,所以也是用java的api 主要是文档看起来太麻烦,自己英文也不好,每次用之前都要看一遍,自己把常用的一点点的放进来,方便使用 分布式连接池对象配置 JedisPoolConfig ...
- Grace Huang 2017/1/11
原文 This actress becomes each character she plays Grace Huang has no interested in doing same thing y ...
- C++和ASM文件的互相调用
1. C++调用ASM中的函数,需要在ASM源文件中指定.model flat, c 就是指定以C的形式编译,然后在头文件中用EXTERN_C声明这个头文件就可以了 2. ASM中调用C++函数,需要 ...