| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 嵌入式 -> 蓝牙mesh的网络拓扑 -> 正文阅读 |
|
[嵌入式]蓝牙mesh的网络拓扑 |
蓝牙mesh的网络拓扑拓扑拓扑是一种不考虑物体的大小、形状等物理属性,而仅仅使用点或者线描述多个物体实际位置与关系的抽象表示方法。拓扑不关心事物的细节,也不在乎相互的比例关系,而只是以图的形式表示一定范围内多个物体之间的相互关系。 网络拓扑计算机连接的方式叫做“网络拓扑结构”(Network Topology)。网络拓扑是指用传输媒体互连各种设备的物理布局,特别是计算机分布的位置以及电缆如何通过它们。设计一个网络的时候,应根据自己的实际情况选择正确的拓扑方式。–百度百科 通俗地说,“拓扑结构”就是指这些计算机与通讯设备是如何连接在一起的。 因此,蓝牙mesh的网络拓扑指的就是蓝牙mesh设备的位置分布以及他们之间是如何连接在一起的。 在了解蓝牙mesh网络拓扑之前 首先我们应该先知道在蓝牙mesh网络中存在什么角色? 节点和设备
配网器和配网过程
节点与节点之间传递信息的方式广播和洪泛广播报文实现信息传播,洪泛是信息传递机制 洪泛的优化机制消息缓存队列和消息寿命消息缓存队列和TTL是如何解决问题?在节点收到后,会在消息缓存队列中查找是否存在这个消息,如果存在,则直接过滤掉这条消息,什么都不做。如果不存在,则判断TTL的值是否需要处理。如果消息缓存队列和TTL的值都通过了,则进入真正的处理流程,然后再判断是否需要转发。如果一个消息处理后,就会把处理的消息放到消息缓存队列,以便下次收到消息的时候做比对,消息缓存队列也不是无限大,是一个环形队列,如果超过我们设置的大小,则会把最久的那边消息覆盖。TTL是一个0~127的整数,这个值代表这一个消息能转发的次数,如果一个消息处理后,在转发的时候,TTL的值会减一,减小到0后,这个消息就不会被节点处理。 蓝牙mesh网络拓扑网络拓扑示意图 这张图说明了很多东西 mesh网络拓扑中目前的4大角色(未来还会增添)转发节点(Relay Node)转发节点具备转发功能:收到一条消息后将其转发出去,这样可以扩大mesh网络的覆盖范围。 代理节点(Proxy Node)代理节点具备代理功能:可以兼容不支持蓝牙mesh广播包传播的设备,代理节点与这类设备建立GATT连接,自身在mesh广播数据与GATT传输数据之间切换,使得所有设备之间都能mesh通信。 低功耗节点(Low Power Node)和 朋友节点(Friend Node)低功耗功能:能够有效降低设备工作时间占空比,需要与朋友功能配合使用。 有了这些基本概念,再看那张图,图中中继节点有Q、R、S,低功耗节点有I、J、K、L、M和朋友节点N、O、P。N节点没有连接低功耗节点,S节点通过GATT连接了T节点。S节点必须将蓝牙mesh网络中收到的所有广播包转换成GATT数据包转发给T节点,所以S节点也是代理节点。有箭头代表节点之间的信息可达。这里要说明一下,配网器也是一个节点。 当节点A想要发数据给节点T的时候,数据流是这样的:A广播一条消息a出来,目标地址是T的地址,节点B、P、Q收到了消息a,检查发现目标地址是T,则B、P节点丢弃了这条消息(因为不具备转发功能),而节点Q转发了这条消息a,转发的消息a被节点A、B、C、D、E、R、P收到后,除了R之外其他节点都丢弃了消息a,节点R转发了消息a,节点E、N、S、H收到消息a后,E、N、H节点都丢弃了消息a,S节点消息将消息a发给T节点。 这个图说它是经典,作为教学把蓝牙mesh的优势和处理逻辑讲的淋漓尽致,但是如果要是这样去布置mesh网络,那就存在风险了,如果图中R节点设备没电停机了,那整个网络裂开成两个网络了。
参考文章: |
|
嵌入式 最新文章 |
基于高精度单片机开发红外测温仪方案 |
89C51单片机与DAC0832 |
基于51单片机宠物自动投料喂食器控制系统仿 |
《痞子衡嵌入式半月刊》 第 68 期 |
多思计组实验实验七 简单模型机实验 |
CSC7720 |
启明智显分享| ESP32学习笔记参考--PWM(脉冲 |
STM32初探 |
STM32 总结 |
【STM32】CubeMX例程四---定时器中断(附工 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 8:19:27- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |