一、型号介绍
字符含义:
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模块网关配置:
软件配置完之后,关闭配置软件,打开串口进行测试。
节点模块的串口:
网关模块的串口: