“Bt ble”的版本间的差异
(未显示同一用户的25个中间版本) | |||
第1行: | 第1行: | ||
=第01节_生活中的实例_医院的结构= | =第01节_生活中的实例_医院的结构= | ||
− | |||
− | |||
− | |||
+ | 参考文章: [http://www.wowotech.net/bluetooth/ble_stack_overview.html 蓝牙协议分析(3)_蓝牙低功耗(BLE)协议栈介绍 ] | ||
− | <code>大堂:</code> 按指定流程确定科室、挂号 (发现、连接) <br> | + | |
+ | {| | ||
+ | |- | ||
+ | | [[File:bt_ble_chapter1_001.jpg | 1000px ]]|| <code>大堂:</code> 按指定流程确定科室、挂号 (发现、连接) <br> | ||
<code>医务室:</code> 组合检查结果, 给出诊疗意见 (提供服务)<br> | <code>医务室:</code> 组合检查结果, 给出诊疗意见 (提供服务)<br> | ||
<code>检验室:</code> 提供检查结果, (提供属性)<br> | <code>检验室:</code> 提供检查结果, (提供属性)<br> | ||
第13行: | 第14行: | ||
<code>快递员:</code> 送货、收货 (传输)<br> | <code>快递员:</code> 送货、收货 (传输)<br> | ||
− | 小城缺乏医生,那里的人生病全靠硬扛。 | + | <code>小城缺乏医生,那里的人生病全靠硬扛。 |
− | 张三年少时立志学医,为全城百姓看病。 | + | 张三年少时立志学医,为全城百姓看病。</code> |
张三天生聪明,他想学会所有医术:眼科、牙科、外科、内科、...,<br> | 张三天生聪明,他想学会所有医术:眼科、牙科、外科、内科、...,<br> | ||
第29行: | 第30行: | ||
忘了告诉你们,张三家财万贯。<br> | 忘了告诉你们,张三家财万贯。<br> | ||
他很快回乡建了一个医院,名为“张三远程诊疗医院”:<br> | 他很快回乡建了一个医院,名为“张三远程诊疗医院”:<br> | ||
+ | |} | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
1. 在大堂里, (按程序确定科室、挂号)<br> | 1. 在大堂里, (按程序确定科室、挂号)<br> | ||
− | 贴着各个科室介绍,好像这小医院有很多科室似的。<br> | + | {{Space}}贴着各个科室介绍,好像这小医院有很多科室似的。<br> |
− | 人们来挂号时,可以选择某某科(它就对应医学院的某某楼)。<br> | + | {{Space}}人们来挂号时,可以选择某某科(它就对应医学院的某某楼)。<br> |
2. 在医务室里,<br> | 2. 在医务室里,<br> | ||
− | (医生知道怎么跟教授们联系、知道教授们提供什么帮助、综合查看各项检查单)<br> | + | {{Space}}(医生知道怎么跟教授们联系、知道教授们提供什么帮助、综合查看各项检查单)<br> |
− | 只有张三一人。<br> | + | {{Space}}只有张三一人。<br> |
− | 病人进来一看,顿觉上当,大声嚷嚷:<br> | + | {{Space}}病人进来一看,顿觉上当,大声嚷嚷:<br> |
− | 全医院只有你一个医生,你骗鬼呢?<br> | + | {{Space}}全医院只有你一个医生,你骗鬼呢?<br> |
− | 张三也不生气,微微一笑:<br> | + | {{Space}}张三也不生气,微微一笑:<br> |
− | 哦,你要看眼科,我稍懂。<br> | + | {{Space}}哦,你要看眼科,我稍懂。<br> |
− | 你这是白内障, <br> | + | {{Space}}你这是白内障, <br> |
− | 我知道医学院眼科中心的白内障科王教授是专家,<br> | + | {{Space}}我知道医学院眼科中心的白内障科王教授是专家,<br> |
− | 请他远程指导,你就放心吧。<br> | + | {{Space}}请他远程指导,你就放心吧。<br> |
− | 来,睁开眼让我看看。<br> | + | {{Space}}来,睁开眼让我看看。<br> |
− | 嗯,挺严重,<br> | + | {{Space}}嗯,挺严重,<br> |
− | 抽血验一下吧,<br> | + | {{Space}}抽血验一下吧,<br> |
− | 哦,还要滴泪验一下。<br> | + | {{Space}}哦,还要滴泪验一下。<br> |
3. 检验室:(执行检验操作,得到各项结果)<br> | 3. 检验室:(执行检验操作,得到各项结果)<br> | ||
− | 也只有一人,设备也有限。 <br> | + | {{Space}}也只有一人,设备也有限。 <br> |
− | 她唠叨道:<br> | + | {{Space}}她唠叨道:<br> |
− | 张医生送来一瓶血和一瓶泪,<br> | + | {{Space}}张医生送来一瓶血和一瓶泪,<br> |
− | 我们这只有验血的机器啊,<br> | + | {{Space}}我们这只有验血的机器啊,<br> |
− | 眼泪得送到医学院眼科中心的检验科去,<br> | + | {{Space}}眼泪得送到医学院眼科中心的检验科去,<br> |
− | 我再问他们,把结果告诉张医生,<br> | + | {{Space}}我再问他们,把结果告诉张医生,<br> |
− | 收发室的师傅,来一下。<br> | + | {{Space}}收发室的师傅,来一下。<br> |
− | 一般来说,<br> | + | {{Space}}一般来说,<br> |
− | 对方也就是告诉我什么血红蛋白、抗体、抗原的,<br> | + | {{Space}}对方也就是告诉我什么血红蛋白、抗体、抗原的,<br> |
− | 每一项分开我都知道,<br> | + | {{Space}}每一项分开我都知道,<br> |
− | 合起来是什么意思,我就不明白了,<br> | + | {{Space}}合起来是什么意思,我就不明白了,<br> |
− | 得像张医生那样能综合起来、才能看病。<br> | + | {{Space}}得像张医生那样能综合起来、才能看病。<br> |
− | 得了,<br> | + | {{Space}}得了,<br> |
− | 我得把每一项上报给张医生。<br> | + | {{Space}}我得把每一项上报给张医生。<br> |
4. 收发室:(收发室的人是医院员工,可以在医院内部运送;让快递员在医院内部走动就不合适)<br> | 4. 收发室:(收发室的人是医院员工,可以在医院内部运送;让快递员在医院内部走动就不合适)<br> | ||
− | 上头经常让我收东西、寄东西,<br> | + | {{Space}}上头经常让我收东西、寄东西,<br> |
− | 有时时候是血、有时候是泪,<br> | + | {{Space}}有时时候是血、有时候是泪,<br> |
− | 我哪懂这些,<br> | + | {{Space}}我哪懂这些,<br> |
− | 只管放入冷藏盒,交给快递部就可以了。 | + | {{Space}}只管放入冷藏盒,交给快递部就可以了。<br> |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
+ | {{Space}}别以为我只是收发这些要化验的样品,<br> | ||
+ | {{Space}}上面的领导们,要跟别的医院联络感情时,<br> | ||
+ | {{Space}}比如寄寄明信片、土特产时,<br> | ||
+ | {{Space}}也都要靠我先跟对方收发室沟通,<br> | ||
+ | {{Space}}可别把这些明信片、土特产拿去化验了。<br> | ||
+ | <syntaxhighlight lang="c" > | ||
(医院内部) | (医院内部) | ||
-------------------------------------------------- | -------------------------------------------------- | ||
(医院外部) | (医院外部) | ||
+ | </syntaxhighlight> | ||
+ | 5. 快递公司在医院的驻点:(贴快递单然后交给快递员,或 收快递后交给收发室)<br> | ||
+ | {{Space}}我们送的东西啊,<br> | ||
+ | {{Space}}可能是给医学院的眼科楼,也可能是给牙科楼,<br> | ||
+ | {{Space}}我们得在东西上贴地址,到时对方快递部到车上自取。<br> | ||
+ | |||
+ | {{Space}}比如说收发室说这瓶眼泪是给王教授的,<br> | ||
+ | {{Space}}那我知道他在眼科楼,就贴"眼科楼"。<br> | ||
+ | |||
+ | {{Space}}有时候我们得知道对方上不上班啊,<br> | ||
+ | {{Space}}所以还得放个询问的牌子在车子上,<br> | ||
+ | {{Space}}如果上班的话他们看到牌子就会告诉我。<br> | ||
− | + | {{Space}}太多数时候他们会主动告诉我,<br> | |
− | + | {{Space}}他们上班时也会放个牌子在车上,<br> | |
− | + | {{Space}}我看到后就知道了。<br> | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | 6. 快递员:(发货、收货) | + | 6. 快递员:(发货、收货)<br> |
− | + | {{Space}}我只是开车的,<br> | |
− | + | {{Space}}天天在兜圈子,每出一次车就是兜一次圈子。<br> | |
− | + | {{Space}}兜圈子的意思,就是这些医院、医学楼,<br> | |
− | + | {{Space}}每出一次车都要路过。<br> | |
− | + | ||
− | + | {{Space}}他们的快递员,<br> | |
− | + | {{Space}}就在门口等着我的车,<br> | |
− | + | {{Space}}从车上拿他们的货就可以了。<br> | |
− | + | ||
− | + | {{Space}}货是什么?我不知道,也不在乎。<br> | |
− | + | {{Space}}货给谁?我不知道,也不在乎,他们自取。<br> | |
− | + | {{Space}}送达最重要!<br> | |
− | + | {{Space}}道路千万条,<br> | |
− | + | {{Space}}这条不通换一条。<br> | |
=第02节_BLE协议各层的形象化理解= | =第02节_BLE协议各层的形象化理解= | ||
− | 参考文章: | + | 参考文章:[https://blog.csdn.net/caodaxia/article/details/78567996 nordicN51822 ble_app_hrs 属性服务器示例句柄分布]<br> |
− | + | 如果图片文字看不清楚,请点击两次查看原图<br> | |
− | https://blog.csdn.net/caodaxia/article/details/78567996 | + | [[File:bt_ble_chapter2_001.jpg | 1000px]] |
<syntaxhighlight lang="c" > | <syntaxhighlight lang="c" > | ||
第133行: | 第140行: | ||
PHY: Physical Layer, 物理层 (快递员: 运输, 此路不通就另换一条 <==> 无线收发器,传输, 跳频) | PHY: Physical Layer, 物理层 (快递员: 运输, 此路不通就另换一条 <==> 无线收发器,传输, 跳频) | ||
</syntaxhighlight> | </syntaxhighlight> | ||
+ | |||
=第03节_BLE协议各层数据格式概述= | =第03节_BLE协议各层数据格式概述= | ||
第144行: | 第152行: | ||
*3.如果是其他部门的,直接扔给该部门,不需要再分辨这个快件是谁的 | *3.如果是其他部门的,直接扔给该部门,不需要再分辨这个快件是谁的 | ||
− | 怎么送快件? | + | 怎么送快件?<br> |
+ | [[File:bt_ble_chapter3_001.jpg|1000px]] | ||
+ | <br> | ||
+ | [[File:bt_ble_chapter2_003.png|1000px]] | ||
+ | BLE各层协议格式概述:<br> | ||
+ | [[File:bt_ble_chapter3_002.jpg|1000px]] | ||
− | + | =第04节_BLE协议抓包演示= | |
+ | 实际开发中,抓包涉及的硬件框图如下: | ||
− | + | [[File:bt_ble_chapter4_001.jpg|1000px]] | |
− | |||
− | |||
− | |||
− | |||
− | 学习时,抓包涉及的硬件框图如下: | + | 学习时,抓包涉及的硬件框图如下:<br> |
+ | [[File:bt_ble_chapter4_002.jpg|1000px]] | ||
*a.使用手机来模拟蓝牙外设(Peripheral),可以很方便地新建外设的服务。 | *a.使用手机来模拟蓝牙外设(Peripheral),可以很方便地新建外设的服务。 | ||
*b.使用USB蓝牙模块(CSR8510A10)作用蓝牙中央设备(Central),在PC上运行Bluetooth LE Explorer,可以很方便地去连接、设置蓝牙外设。 | *b.使用USB蓝牙模块(CSR8510A10)作用蓝牙中央设备(Central),在PC上运行Bluetooth LE Explorer,可以很方便地去连接、设置蓝牙外设。 | ||
第174行: | 第185行: | ||
=第05节_BLE协议物理层(PHY)= | =第05节_BLE协议物理层(PHY)= | ||
+ | [[File:bt_ble_chapter5_001.jpg|1000px]]<br> | ||
fc = 2402 + 2k, k=0,1,2,…,39, fc是无线信道k的中心频率 | fc = 2402 + 2k, k=0,1,2,…,39, fc是无线信道k的中心频率 | ||
参考文章: 低功耗蓝牙开发权威指南,Robin Heydon | 参考文章: 低功耗蓝牙开发权威指南,Robin Heydon |
2019年4月10日 (三) 10:52的最新版本
目录
第01节_生活中的实例_医院的结构
参考文章: 蓝牙协议分析(3)_蓝牙低功耗(BLE)协议栈介绍
1. 在大堂里, (按程序确定科室、挂号)
贴着各个科室介绍,好像这小医院有很多科室似的。
人们来挂号时,可以选择某某科(它就对应医学院的某某楼)。
2. 在医务室里,
(医生知道怎么跟教授们联系、知道教授们提供什么帮助、综合查看各项检查单)
只有张三一人。
病人进来一看,顿觉上当,大声嚷嚷:
全医院只有你一个医生,你骗鬼呢?
张三也不生气,微微一笑:
哦,你要看眼科,我稍懂。
你这是白内障,
我知道医学院眼科中心的白内障科王教授是专家,
请他远程指导,你就放心吧。
来,睁开眼让我看看。
嗯,挺严重,
抽血验一下吧,
哦,还要滴泪验一下。
3. 检验室:(执行检验操作,得到各项结果)
也只有一人,设备也有限。
她唠叨道:
张医生送来一瓶血和一瓶泪,
我们这只有验血的机器啊,
眼泪得送到医学院眼科中心的检验科去,
我再问他们,把结果告诉张医生,
收发室的师傅,来一下。
一般来说,
对方也就是告诉我什么血红蛋白、抗体、抗原的,
每一项分开我都知道,
合起来是什么意思,我就不明白了,
得像张医生那样能综合起来、才能看病。
得了,
我得把每一项上报给张医生。
4. 收发室:(收发室的人是医院员工,可以在医院内部运送;让快递员在医院内部走动就不合适)
上头经常让我收东西、寄东西,
有时时候是血、有时候是泪,
我哪懂这些,
只管放入冷藏盒,交给快递部就可以了。
别以为我只是收发这些要化验的样品,
上面的领导们,要跟别的医院联络感情时,
比如寄寄明信片、土特产时,
也都要靠我先跟对方收发室沟通,
可别把这些明信片、土特产拿去化验了。
(医院内部)
--------------------------------------------------
(医院外部)
5. 快递公司在医院的驻点:(贴快递单然后交给快递员,或 收快递后交给收发室)
我们送的东西啊,
可能是给医学院的眼科楼,也可能是给牙科楼,
我们得在东西上贴地址,到时对方快递部到车上自取。
比如说收发室说这瓶眼泪是给王教授的,
那我知道他在眼科楼,就贴"眼科楼"。
有时候我们得知道对方上不上班啊,
所以还得放个询问的牌子在车子上,
如果上班的话他们看到牌子就会告诉我。
太多数时候他们会主动告诉我,
他们上班时也会放个牌子在车上,
我看到后就知道了。
6. 快递员:(发货、收货)
我只是开车的,
天天在兜圈子,每出一次车就是兜一次圈子。
兜圈子的意思,就是这些医院、医学楼,
每出一次车都要路过。
他们的快递员,
就在门口等着我的车,
从车上拿他们的货就可以了。
货是什么?我不知道,也不在乎。
货给谁?我不知道,也不在乎,他们自取。
送达最重要!
道路千万条,
这条不通换一条。
第02节_BLE协议各层的形象化理解
参考文章:nordicN51822 ble_app_hrs 属性服务器示例句柄分布
如果图片文字看不清楚,请点击两次查看原图
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.如果是其他部门的,直接扔给该部门,不需要再分辨这个快件是谁的
第04节_BLE协议抓包演示
实际开发中,抓包涉及的硬件框图如下:
- a.使用手机来模拟蓝牙外设(Peripheral),可以很方便地新建外设的服务。
- b.使用USB蓝牙模块(CSR8510A10)作用蓝牙中央设备(Central),在PC上运行Bluetooth LE Explorer,可以很方便地去连接、设置蓝牙外设。
- c.使用Sniffer来抓包,它是一个硬件。
抓包过程涉及三个软件:
-
WindowsPC:Bluetooth LE Exploer
用于控制蓝牙中央设备,发起连接外设、操作外设。从Microsoft Store安装即可。使用方法见视频。 -
WindowsPC:Wireshark
抓包软件,通过Sniffer硬件来抓包。安装、使用方法参考文档《BLE_sniffer抓包工具使用手册》 -
Android手机:com-ble-peripheral-sim.apk
BLE外设模拟软件,可以很方便地新建BLE服务。
使用方法见视频。
File:BLE_sniffer抓包工具使用手册.docx
Bluetooth LE Exploer需要通过Microsoft Store在线安装;
其他软件及《BLE_sniffer抓包工具使用手册》,在百问网的百度网盘中,文件名为:BLE抓包工具配套的文档及软件.rar。