255Mesh 无线lora模块详细配置和测试

一、型号介绍

字符含义:
E:终端
N:节点(node)
G:网关 (gateway)

官网淘宝介绍
在这里插入图片描述
注意组网必须配网关。

二、功能配置

软件界面
在这里插入图片描述

1.网络参数
在这里插入图片描述
网络参数包括网络 ID,无线频段,信道,速率(SF)和功率。网络 ID,无线频段,信道,速率(SF)完全相同的配置模块才能通信
网络 ID: 网络 ID 用来区分不同的 255MESH 网络,不同的网络 ID 之间的 255MESH 模块不能进行通讯网络 ID 取值范围 00000-FFFFFF。
无线频段: 255MESH 网络可配置 4 个频段 433MHz、470MHz、480MHz 与 500MHz。
速率(SF): 255MESH 在每个频点上有 7 种空中速率,62.5kbps、37.5kbps、21.8kbps、12.5kbps、7.0kbps、3.9kbps 与 2.1kbps。在其它参数与硬件环境一致的情况下,空中速率越低,信号传输距离越远。
功率: 255MESH 中模块支持 **8 种发射功率 ** 22dbm、20dbm、17dbm、14dbm、11dbm、8dbm、5dbm 和 2dbm。

2.功能参数
在这里插入图片描述
功能参数包括中继使能,串口使能,休眠使能。
中继使能: 当 255MESH 网络中模块与网关距离过远或信号强度过低时,模块会通过使能了中继功能的模块转发数据到网关。建议在非低功耗模块上都使能中继功能。中继功能默认都是使能的。
串口使能: 255MESH 网络中模块可以去掉串口使能,并使能中继功能,充当纯中继模块需要主动上发数据的模块,必须使能串口功能。 串口功能默认都是使能的。
休眠使能: 255MESH 网络中模块可以配置休眠,进一步降低功耗,如果配置了自主休眠或异步休眠,必须使能休眠参数,默认休眠不使能。
3.扩展/外设/休眠
在这里插入图片描述
回环次数: 255MESH 网络为了测试模块的空中网络功能,可以配置回环次数来测试模块的发送和接收数据功能是否完好,取值范围为 1 到 254配置 255 代表不使用回环次数测试,不能配置为 0 值。
回环测试是模块将从网关接收到的数据不做任何修改在发送到网关
回环次数是配置发送几次数据,例如配置回环次数是 10,从网关接收到了 00 00 01 数据,模块将返回 10 包 00 00 01 数据。
自主休眠: 255MESH 网络为了适配低功耗的应用场景,设计了自主休眠功能。对于不需要进行数据中继和路由转发的叶子节点(终端节点),可以仅仅在需要进行收发或者询问属于自己的数据报文时才会打开射频进行数据传输,在数据传输完毕可以立即进入休眠,称之为自主休眠。
要使用自主休眠,中继功能需要关闭。如果未使能休眠或者使能了中继,该参数不起作用。
配置软件上的自主休眠配置的是多少个休眠单位,每单位休眠时间为 1048ms,可配置的最大休眠时间为 4.47min。如果设置自主休眠时间片长度为 0,则模块不会主动醒来,只能由串口唤醒。
自主休眠节点可以和不休眠节点之间进行突发数据传输,但自主休眠节点之间无法进行数据交换。 自主休眠节点和不休眠节点之间不存在绑定关系,因此自主休眠节点可以在网络中任意移动,甚至脱离网络。自主休眠的节点按照预设的休眠时间片进行休眠, 在休眠时间片结束后会主动发送报文询问广播报文,以及探测不休眠节点的存在。因此,不休眠节点无需主动唤醒自主休眠节点。在接收到串口数据报文时,可以立即结束自主休眠时间片,进
行突发数据传输。
①自主休眠节点没有路由和数据中继转发的能力,网络需要有不休眠的路由/网关节点和
自主休眠节点配合才能进行数据传输;
②不要求自主休眠节点的休眠时间片都相同,可以任意设定;
③ 自主休眠节点可以主动醒来探测网络和询问广播报文,其休眠时间片可以设置为 1 秒到4.5 分钟;
④如果不需要自主休眠节点主动醒来探测网络,可以设置自主休眠时间片为无穷大,这样自主休眠节点只有在收到串口数据报文时才打开射频进行数据传输,没有数据传输时会一直休眠状态;
⑤ 自主休眠节点可以获得最低的待机功耗,节点功耗通常比异步休眠低 1-3 个数量级,可以用于低功耗传感节点;
⑥在允许部署少量不休眠节点做路由的情况下,自主休眠是最佳选择;
⑦自主休眠节点在主动醒来探测网络时采用碰撞算法,在遇到网络拥塞或者无线报文错误时,可能会导致此次数据交换失败立刻重新进入休眠时间片,但数据报文不会丢失,并且在休眠时间片结束后会继续尝试;
⑧ 因此只要给足够多的时间,自主休眠单次全网数据集抄保证 100%可靠性;
⑨ 自主休眠的网络稳定性、抗干扰能力和网络规模都要优于异步休眠网络;
异步休眠: 255MESH 网络为了适配更多低功耗的应用场景,设计了异步休眠功能。如果需要异步休眠需要使能中继,使能休眠。配置软件上的异步休眠配置的是多少个休眠单位,每单位休眠时间为 16ms,可配置的最大休眠时间为 4s。当配置为 0 时代表取消异步休眠。
异步休眠模式下节点会在网络空闲后自动按照设定进入“休眠-监听-休眠-监听…”的循环过程,协议栈在休眠时间片结束时会打开射频监听网络中的无线信号,进入监听时间片。如果在监听时间片之内识别出特定的无线唤醒信号则会结束监听过程进入正常工作模式;否则会在监听时间片结束时进入下一个休眠的时间片。休眠时间片和监听时间片的长度可以根据实际需要设定。
所有节点和网关都可以进行异步休眠;
①无论是否使能休眠,全网所有节点均需要设置相同的异步休眠时间片参数;
②异步休眠节点之间通信,需要在交换正式数据之前进行无线唤醒;
③异步休眠待机后节点不需要发送任何报文,全网保持静默;
④异步休眠节点和非休眠节点可以进行数据通信,但需要非休眠节点设置相同的异步休眠
参数以便能够唤醒异步休眠节点;
⑤异步休眠节点在被串口的数据报文唤醒后会立即结束休眠时间片进行突发数据传输;
⑥监听时间片的长度和无线的速率相关,无线速率越大监听时间片越短,反之越长;
⑦异步休眠数据传输功耗优先级大于可靠性,单次全网数据集抄不保证 100%可靠性;
⑧超时等待时间在不同速率下均不相同。
休眠唤醒
255Mesh 模块发送串⼝报⽂时如果模块恰好在休眠状态,需要通过在串⼝数据报⽂前增加⼀个字节 0xFF 唤醒头通过串⼝线对模块进⾏唤醒。该⽅法对不同的串⼝波特率均适⽤。简单起⻅,外部 MCU 向模块发送数据报⽂时均可以固定增加这个唤醒字节 0xFF。
如果在模块完全透传的情况下,模块不休眠时可能会把这个 0xFF 字节也作为应⽤层的数据报⽂进⾏接收并转发,这就增加⼀个垃圾字节,甚⾄会破环应⽤层的报⽂解析。这种情况下可以使能模块的数据帧起始符检测,模块可以将这个 0xFF 字节⾃动过滤掉。需要配置帧起始符。
在这里插入图片描述
3. 串口参数
在这里插入图片描述

可以配置 255MESH 模块的串口参数,数据位为固定 8 位不可配置。波特率可配置范围为 2400 到 115200,停止位可配置 1、1.5、2,校验位可配置无,奇校验,偶校验。
串口参数如果配置错误,无法连接模块,需要硬件 CFG 脚拉低,RESET 引脚拉低在拉高,模块串口配置会使用 115200 波特率,8 位数据位,1 位停止位,无校验位进行通讯。这时可以更改串口配置,更改完成后 CFG 脚拉高,模块就会使用配置的串口配置在进行通讯。
4.串口协议扩展
在这里插入图片描述
帧起始符: 255MESH 模块可以解析串口数据,如果想要指定帧起始字符的数据才发送可以使能帧起始符,并配置一个帧起始字符,帧起始符检测只能检测一个字符。
配置工具中的开关代表使能状态,后面的输入框是十进制的数据,范围是 0 到 255,对应 16 进制 00 到 FF。
帧结束符: 255MESH 模块可以解析串口数据,如果想要指定帧结束字符的数据才发送可以使能帧结束字符,并配置一个帧结束字符,帧结束字符检测只能检测一个字符。
配置工具中的开关代表使能状态,后面的输入框是十进制的数据,范围是 0 到 255,对应 16 进制 00 到 FF.
输出扩展帧头: 为了方便获取 255MESH 网络中的更多信息,可以使能输出扩展帧头,在使能了输出扩展帧头后会在接收的数据前增加 4 字节,分别为固定帧头起始字符,信号强度,综合距离,保留字节,每个分别占一个字节。配置工具中的开关代表使能状态。
固定帧头起始字符为 0xAE。
信号强度为模块接收到数据的信号强度,计算方法为将十六字节数据转换成十进制数据,然后除以 2,减去 150。
综合距离是模块到网关的距离,范围是 0x01 到 0xFF。
保留字节内容随机。
握手确认: 255MESH 协议通过多次握手确保数据不会丢失。但是模块片内的缓存数量有限,在通过串口给模块发送数 据时,可能因为模块没有可用的缓存而丢失数据报文。为了确保整个系统的可靠性,需要通过模块串口握手确认报文来保证串口的可靠性,在一定时间内收不到模块串口握手确认数据时,需要通过串口重发上一包的数据。
握手确认报文最大长度为 15 字节,任意报文内容。如果该报文不是空,模块在通过串口收到一包完整数据时,会向串口立即发送该报文,告知已经准确收到数据报文。
发送成功: 在 255MESH 网络中,如果配置了成功发送报文,模块会在将确认将其串口报文成功发送给下一 跳节点时,通过模块串口发送发送成功报文。报文最大长度为 15 字节,任意报文内容。
缓冲区空: 在 255MESH 网络中,如果配置了缓冲区空报文。如果模块的缓冲区由满变成空闲,模块会通过串口发送该报文,表示可以发送下一帧数据报文。报文最大长度为 15 字节,任意报文内容。

三、网络模型

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

四、测试

1个节点,1个网关。
255Mesh-MN模块节点配置:
在这里插入图片描述
255Mesh-MG模块网关配置:
在这里插入图片描述
软件配置完之后,关闭配置软件,打开串口进行测试。
节点模块的串口:
在这里插入图片描述
网关模块的串口:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/611218.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于SSM“口腔助手”小程序

采用技术 基于SSM“口腔助手”小程序的设计与实现~ 开发语言:Java 数据库:MySQL 技术:SpringMVCMyBatis 工具:IDEA/Ecilpse、Navicat、Maven 页面展示效果 小程序前台首页 注册 保健知识 我的 医生登录成功 后台管理员 …

Docker镜像,什么是Docker镜像,Docker基本常用命令

docker镜像 1.1什么是镜像,镜像基础 1.1.1 镜像的简介 镜像是一种轻量级,可执行的独立软件包,也可以说是一个精简的操作系统。镜像中包含应用软件及应用软件的运行环境,具体来说镜像包含运行某个软件所需的所有内容,…

从 SQLite 3.4.2 迁移到 3.5.0(二十)

返回:SQLite—系列文章目录 上一篇:SQLite---调试提示(十九) 下一篇:SQLite—系列文章目录 ​ SQLite 版本 3.5.0 (2007-09-04) 引入了一个新的操作系统接口层, 与所有先前版本的 SQLi…

机器学习——模型融合:Stacking算法

机器学习——模型融合:Stacking算法 在机器学习中,模型融合是一种常用的方法,它可以提高模型的泛化能力和预测性能。Stacking算法(又称为堆叠泛化)是一种强大的模型融合技术,它通过组合多个基本分类器的预…

一文破解Promise难题:Promise机制深入剖析与实例

Promise 是 JavaScript 中用于处理异步操作的一种重要机制。Promise 用于解决 JavaScript 中异步操作的复杂性,通过状态管理、链式调用、错误处理等功能,实现代码的清晰、有序与可维护,避免回调地狱,提升异步编程的效率与体验。 …

【Nacos】Nacos最新版的安装、配置过程记录和踩坑分享

Nacos是什么?有什么功能?大家可以自行联网(推荐 https://cn.bing.com/)搜索,这里就不做介绍了。 简单的看了下官网,安装最新版的Nacos(v2.3.2)需要使用到JDK(1.8.0&…

Java基础07--多线程-网络编程-Java高级

一、多线程 1.认识多线程 ①线程 ②多线程 2.创建线程方式 ①方式一:继承Thread类 1.让子类继承Thread线程类 2.重写run方法,就是这个线程执行会执行的操作。 3.创建继承Thread的子类对象就代表一个线程 4.启动线程:.start()-自动执行run方法 注意&am…

Qlik Sense : Crosstable在数据加载脚本中使用交叉表

什么是Crosstable? 交叉表是常见的表格类型,特点是在两个标题数据正交列表之间显示值矩阵。如果要将数据关联到其他数据表格,交叉表通常不是最佳数据格式。 本主题介绍了如何逆透视交叉表,即,在数据加载脚本中使用 L…

C++11的更新介绍(初始化、声明、右值引用)

🪐🪐🪐欢迎来到程序员餐厅💫💫💫 主厨:邪王真眼 主厨的主页:Chef‘s blog 所属专栏:c大冒险 总有光环在陨落,总有新星在闪烁 C11小故事: 19…

【MCU开发规范】:MCU的性能测试

MCU的性能测试 前序性能评判方法MIPSCoreMark EEMBC其他参考 前序 我们平时做MCU开发时,前期硬件选型(选那颗MCU)基本由硬件工程师和架构决定,到软件开发时只是被动的开发一些具体功能,因此很少参与MCU的选型。 大部分…

windows环境下实现ffmpeg本地视频进行rtsp推流

摘要:有时候服务端(如linux)或者边缘端(jetson盒子)需要接受摄像头的视频流输入,而摄像头的输入视频流一般为rtsp,测试时需要搭建摄像头环境,很不方便,因此需要对本地视频…

docker pull镜像的时候指定arm平台

指定arm平台 x86平台下载arm平台的镜像包 以mysql镜像为例 docker pull --platform linux/arm64 mysqldocker images查看镜像信息 要查看Docker镜像的信息,可以使用docker inspect命令。这个命令会返回镜像的详细信息,包括其元数据和配置。 docker i…