“Bt ble”的版本间的差异
第162行: | 第162行: | ||
c. 使用Sniffer来抓包,它是一个硬件。 | c. 使用Sniffer来抓包,它是一个硬件。 | ||
− | + | [[:File:BLE_sniffer抓包工具使用手册.docx]] | |
抓包过程涉及三个软件: | 抓包过程涉及三个软件: | ||
− | a. Windows PC:Bluetooth LE Exploer | + | a.Windows PC:Bluetooth LE Exploer |
用于控制蓝牙中央设备,发起连接外设、操作外设。 | 用于控制蓝牙中央设备,发起连接外设、操作外设。 | ||
从Microsoft Store安装即可。 | 从Microsoft Store安装即可。 | ||
使用方法见视频。 | 使用方法见视频。 | ||
− | b. Windows PC:Wireshark | + | b.Windows PC:Wireshark |
抓包软件,通过Sniffer硬件来抓包。 | 抓包软件,通过Sniffer硬件来抓包。 | ||
安装、使用方法参考文档《BLE_sniffer抓包工具使用手册》 | 安装、使用方法参考文档《BLE_sniffer抓包工具使用手册》 | ||
− | c. Android手机:com-ble-peripheral-sim.apk | + | c.Android手机:com-ble-peripheral-sim.apk |
BLE外设模拟软件,可以很方便地新建BLE服务。 | BLE外设模拟软件,可以很方便地新建BLE服务。 | ||
使用方法见视频。 | 使用方法见视频。 |
2019年4月9日 (二) 16:27的版本
目录
第01节_生活中的实例_医院的结构
参考文章:
蓝牙协议分析(3)_蓝牙低功耗(BLE)协议栈介绍 http://www.wowotech.net/bluetooth/ble_stack_overview.html
大堂:
按指定流程确定科室、挂号 (发现、连接) 医务室:
组合检查结果, 给出诊疗意见 (提供服务)检验室:
提供检查结果, (提供属性)收发室:
接收或派发物品, 这些物品可能是工作相关, 也可能是私人物品 (各种通道 channel)快递公司驻点:
贴快递单 (访问地址)快递员:
送货、收货 (传输)
小城缺乏医生,那里的人生病全靠硬扛。 张三年少时立志学医,为全城百姓看病。
张三天生聪明,他想学会所有医术:眼科、牙科、外科、内科、...,
眼科又分为近视与矫正科、小儿科、白内障科、……
牙科又分为种植科、正畸科、……
每一个医科里,都可以细分出更多的专业。
这是个疯狂的计划,医学院的所有教授们都知道他终将失败。
张三每天、每时、每分都在学习,终于精疲力尽。
他失去了希望:我真的不能为所有人、看所有病吗?
教授们决定帮这个有着赤子之心的年轻人,
告诉他:你只需要掌握基本的医学常识,我们远程帮你!
忘了告诉你们,张三家财万贯。
他很快回乡建了一个医院,名为“张三远程诊疗医院”:
1. 在大堂里, (按程序确定科室、挂号)
贴着各个科室介绍,好像这小医院有很多科室似的。 人们来挂号时,可以选择某某科(它就对应医学院的某某楼)。
2. 在医务室里,
(医生知道怎么跟教授们联系、知道教授们提供什么帮助、综合查看各项检查单) 只有张三一人。 病人进来一看,顿觉上当,大声嚷嚷: 全医院只有你一个医生,你骗鬼呢? 张三也不生气,微微一笑: 哦,你要看眼科,我稍懂。 你这是白内障, 我知道医学院眼科中心的白内障科王教授是专家, 请他远程指导,你就放心吧。 来,睁开眼让我看看。 嗯,挺严重, 抽血验一下吧, 哦,还要滴泪验一下。
3. 检验室:(执行检验操作,得到各项结果)
也只有一人,设备也有限。 她唠叨道: 张医生送来一瓶血和一瓶泪, 我们这只有验血的机器啊, 眼泪得送到医学院眼科中心的检验科去, 我再问他们,把结果告诉张医生, 收发室的师傅,来一下。
一般来说, 对方也就是告诉我什么血红蛋白、抗体、抗原的, 每一项分开我都知道, 合起来是什么意思,我就不明白了, 得像张医生那样能综合起来、才能看病。 得了, 我得把每一项上报给张医生。
4. 收发室:(收发室的人是医院员工,可以在医院内部运送;让快递员在医院内部走动就不合适)
上头经常让我收东西、寄东西, 有时时候是血、有时候是泪, 我哪懂这些, 只管放入冷藏盒,交给快递部就可以了。 别以为我只是收发这些要化验的样品, 上面的领导们,要跟别的医院联络感情时, 比如寄寄明信片、土特产时, 也都要靠我先跟对方收发室沟通, 可别把这些明信片、土特产拿去化验了。
(医院内部)
(医院外部)
5. 快递公司在医院的驻点:(贴快递单然后交给快递员,或 收快递后交给收发室)
我们送的东西啊, 可能是给医学院的眼科楼,也可能是给牙科楼, 我们得在东西上贴地址,到时对方快递部到车上自取。 比如说收发室说这瓶眼泪是给王教授的, 那我知道他在眼科楼,就贴"眼科楼"。 有时候我们得知道对方上不上班啊, 所以还得放个询问的牌子在车子上, 如果上班的话他们看到牌子就会告诉我。 太多数时候他们会主动告诉我, 他们上班时也会放个牌子在车上, 我看到后就知道了。
6. 快递员:(发货、收货)
我只是开车的, 天天在兜圈子,每出一次车就是兜一次圈子。 兜圈子的意思,就是这些医院、医学楼, 每出一次车都要路过。 他们的快递员, 就在门口等着我的车, 从车上拿他们的货就可以了。 货是什么?我不知道,也不在乎。 货给谁?我不知道,也不在乎,他们自取。
送达最重要! 道路千万条, 这条不通换一条。
第02节_BLE协议各层的形象化理解
参考文章: nordicN51822 ble_app_hrs 属性服务器 示例 句柄分布 https://blog.csdn.net/caodaxia/article/details/78567996
Host(纯软件的概念) (跟医院的功能简单类比)
GAP: Generic Access Profile, 通用访问规范 (大堂: 按指定流程确定科室、挂号 <==> 发现设备、连接设备)
GATT: Generic Attribute Profile, 通用属性规范 (医务室: 为病人提供服务 <==> 也是提供服务, 有哪些服务, 服务由哪些属性组成)
ATT: Attribute Protocol, 属性协议 (检验室: 提供检查结果, 给医生综合后由医生判断 <==> 提供属性及访问方法, GATT把这些属性组合起来构成服务)
L2CAP: Logical Link Control And Adaptation Protocol, (收发室: 收发包裹(包裹来自各科室) <==> 标记/识别数据来自哪个channel, 转发)
--------------------------------------------HCI(Host Controller Interface, 主机/控制器接口)------------------------------------------------------------
Controller(一般来说是一个芯片):
LL: Link Layer, 链路层 (快递驻点: 贴快递单 <==> 确定是广播包还是数据包(发给谁),加上Access Address)
PHY: Physical Layer, 物理层 (快递员: 运输, 此路不通就另换一条 <==> 无线收发器,传输, 跳频)
第03节_BLE协议各层数据格式概述
公司内部怎么派件? 1. 同部门的,需要知道具体派送给谁:具体到人 2. 上级部门的,只需要知道给哪一个部门即可,他们部门内部再分发:具体到部门 所以,需要: 1. 分辨一个快件,是本部门的、还是其他部门的 2. 如果是本部门的,需要分辨这个快件是谁的 3. 如果是其他部门的,直接扔给该部门,不需要再分辨这个快件是谁的
怎么送快件?
BLE各层协议格式概述:
第04节_BLE协议抓包演示
实际开发中,抓包涉及的硬件框图如下:
学习时,抓包涉及的硬件框图如下: a. 使用手机来模拟蓝牙外设(Peripheral),可以很方便地新建外设的服务。 b. 使用USB蓝牙模块(CSR8510A10)作用蓝牙中央设备(Central),在PC上运行Bluetooth LE Explorer,可以很方便地去连接、设置蓝牙外设。 c. 使用Sniffer来抓包,它是一个硬件。
File:BLE_sniffer抓包工具使用手册.docx 抓包过程涉及三个软件: a.Windows PC:Bluetooth LE Exploer 用于控制蓝牙中央设备,发起连接外设、操作外设。 从Microsoft Store安装即可。 使用方法见视频。 b.Windows PC:Wireshark 抓包软件,通过Sniffer硬件来抓包。 安装、使用方法参考文档《BLE_sniffer抓包工具使用手册》 c.Android手机:com-ble-peripheral-sim.apk BLE外设模拟软件,可以很方便地新建BLE服务。 使用方法见视频。
Bluetooth LE Exploer需要通过Microsoft Store在线安装;其他软件及《BLE_sniffer抓包工具使用手册》,在百问网的百度网盘中,文件名为:BLE抓包工具配套的文档及软件.rar。 网盘地址可以从www.100ask.net下载页面获取。
第05节_BLE协议物理层(PHY)
fc = 2402 + 2k, k=0,1,2,…,39, fc是无线信道k的中心频率
参考文章: 低功耗蓝牙开发权威指南,Robin Heydon