Mesh入门笔记1--简介

26 篇文章 303 订阅

一、Mesh技术文档

       PainlessMesh创建了一个自组织和修复网络,所有节点都连接在一起。网格中的所有节点都相等。网络使用星形拓扑,避免任何圆形路径。不同节点之间的消息以JSON格式发送,使其易于理解和生成。可以在此处找到有关用于各种消息的JSON模式的信息。

功能列表

  • 基于JSON的消息。它们可以直接用于javascript代码。
  • 相当容易的设置。
  • 适用于Arduino环境。
  • 实现为第3层协议。无连接,无需确认。
  • 完全异步。无需轮询新消息。
  • 准确的时间同步。所有节点共享相同的时钟,精度优于10 ms。
  • 所有节点立即知道完整的拓扑。每3秒更新一次。
  • 网格自动配置。任何节点都可以随时断开连接。任何新节点都会自动集成。
  • 所有节点持续监视其直接连接的对等体,以检查它们是否处于活动状
  • 单个寻址和广播消息是可能的。
  • 主动避免网络循环。

网络布局

       每个节点充当接入点(AP),供其他节点连接,并作为客户端连接到另一个节点的一个AP。ESP8266的每个AP限制为4个站点节点,ESP32限制为10个站点节点。

        尚未或已经连接到AP的每个节点会周期性地从其他节点扫描AP信号。它将连接到具有最强信号的AP,该信号尚未出现在连接或子连接列表中,即该节点尚未知道。通过仅连接到未知AP,网格避免了网络环路的创建,使得网格中的每对节点之间存在单个路由。

 

箭头的方向表示连接的方向。

节点同步

        存储节点的连接列表,并且还存储每个AP连接的子连接列表。(注意:连接列表包含节点接收的连接和节点发起的连接(最大1)。)。每个节点都知道整个网络完整的网络拓扑。

       每个节点的子连接列表由请求/响应消息获得。该请求包含请求节点的子连接,响应包含响应节点的子连接。返回的子连接集合始终排除请求连接及其子连接。有关更多信息,请参阅协议信息

完成新节点同步的情况

请求定期进行子连接

当检测到网络中的任何更新时,即节点的任何子连接已经改变

当新节点连接到新AP时

路由消息

星型网络拓扑没有任何循环。路由变得非常容易。每个节点对都有一条路由。

单个消息

对于单个消息,指定了目标和源节点。首先查找使用的连接。直接连接,或者与目标节点具有子连接的连接。消息将发送到该节点。当该节点不是目标节点时,确切的消息将被中继到下一个连接,该连接以相同的方式查找。这将重复,直到消息到达目标节点。

消息未得到确认。这应该在应用程序级别实现。

广播消息

对于广播消息,将迭代所有连接,并将消息发送到每个连接。在接收到广播消息时,除了接收消息的连接之外,消息被中继到接收节点的所有连接。

网状协议

协议说明

库API

API说明

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mr.Lanson

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值