蓝牙学习 (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) ...
随机推荐
- ZooKeeper应用案例
我们通过学习借鉴,哪些项目或应用都使用了ZooKeeper,可以了解我们的应用使用ZooKeeper是否能真正地带来价值,当然,有些项目可能也未必非常适合使用ZooKeeper,我们要批判地学习.借鉴 ...
- mybits like查询写法
1.mysql :LIKE CONCAT('%',#{empname},'%' ) 或者 LIKE CONCAT('%',‘${empname}’,'%' ) 2.oracle:LIKE '%'||# ...
- dubbo-admin安装
1.下载dubbo-adminhttps://github.com/apache/incubator-dubbo/tree/dubbo-2.5.7 2.解压,进入到/home/zhanxuewei/D ...
- Codeforces Round #546 (Div. 2) B. Nastya Is Playing Computer Games
链接:https://codeforces.com/contest/1136/problem/B 题意: 有n个井盖,每个井盖上有一个小石头. 给出n和k,k表示刚开始在第k个井盖上方. 有三种操作, ...
- 洛谷 P4174 [NOI2006]最大获利 && 洛谷 P2762 太空飞行计划问题 (最大权闭合子图 && 最小割输出任意一组方案)
https://www.luogu.org/problemnew/show/P4174 最大权闭合子图的模板 每个通讯站建一个点,点权为-Pi:每个用户建一个点,点权为Ci,分别向Ai和Bi对应的点连 ...
- centOS+uwsgi+nginx 部署flask项目,问题记录
用flask做的项目想要部署到centOS系统上,填了一些坑,终于成功了,记录一下遇到的问题: 此次部署主要是按照这个博客进行的 https://www.cnblogs.com/Ray-liang/p ...
- Storm编程入门API系列之Storm的Topology多个tasks数目控制实现
前期博客 Storm编程入门API系列之Storm的Topology默认Workers.默认executors和默认tasks数目 Storm编程入门API系列之Storm的Topology多个Wor ...
- Spring mvc简单案例
jar包 <!--junit--><dependency> <groupId>junit</groupId> <artifactId>jun ...
- mybatis内置二级缓存。
一.查询缓存的使用,主要是为了提供查询访问速度.将用户对同一数据的重复查询过程简化, 不再每次均从数据库查询获取结果数据,从而提高访问速度. 二.内置二级缓存... 由于MyBatista从缓存中读取 ...
- React 实践记录 02 Flux introduction
Introduction 本文组成: React 官方文档翻译 相关实践心得. 内容上是Flux的介绍,例子将会在以后写出. 一旦稍微多了解一点React,很难避免听到Flux这个名词. Flux是一 ...