WaveMesh2.0 AT指令是济南创艺电子科技有限公司为其WaveMesh2.x分布式移动自组网系列模块设计的配置与控制指令集。该指令集采用纯ASCII字符编码,所有指令均以“ATXX”4个字符为前缀,以回车符(\r,十进制值13,十六进制值0x0D)结束,方便外设通过串口与模块进行人机交互,实现对模块参数读写、网络配置、射频测试、休眠控制等多种功能的操作。
WaveMesh2.0 AT指令支持本地模块操作与远程模块操作,适配full-mesh、树型和星型等多种网络拓扑结构,可广泛应用于智能抄表、智能楼宇、低功耗传感网络等各类基于WaveMesh2.0协议的物联网场景。
指令格式:所有指令以“AT”开头,后接2个字符的指令标识(如“CC”“TR”等),部分指令可携带参数,参数以十六进制ASCII字符表示,单个字节参数对应2个ASCII字符,指令结尾必须添加回车符。
参数规则:指令参数为十六进制ASCII字符,字节偏移量、长度、数据等参数均采用2个ASCII字符表示一个字节的高4位和低4位;多个参数之间可省略空格,模块具备灵活的字符串解析能力。
响应机制:指令执行成功时,模块通常返回“ATOK\r”;读取类指令会额外返回对应的读取数据;参数错误或执行失败时,可能无反馈或返回“ATER\r”(取决于模块报文解析配置)。
传输要求:WaveMesh标准模块要求单条AT指令字符之间连续停顿不超过10个字符,建议使用支持连续字符发送的串口终端软件(如SecureCRT)进行操作。
WaveMesh2.0 AT指令适用于济南创艺电子WaveMesh2.x系列所有模块,包括但不限于:
WM1268-049N、WM1278-049N
WM2300-049M、WM4438-049M、WM4438-049N
WM5043-049M、WM5043-049N
WM6505-049M、WM6505-049N
WM7139-049M、WM7139-049N、WM7139-049S
AT 指令采用纯 ASCII 字符并且以回车符结束,方便人机交互。这里推荐 ASCII 字符的串口终端软件 SecureCRT,其界面如下:

由于 WaveMesh 标准模块要求一条 AT 指令字符之间不能有连续 10 字符以上的停顿,可以采在 SecureCRT 界面下方的 Chat Window 中输入命令,按回车键直接发送,非常方便。
在 File 菜单中选择 Quick Connect 对话框,选择 Serial 协议,选择对应的端口号,模块默认波特率是 115200 n 8 1,并且不要使能 Flow Control。

在 Session Options 对话框内设置 Serial Options 参数:选择对应的串口,这里模块的默认波特率为 115200 n 8 1,不要使能 Flow Control 选项,界面如下:

在 Session Options 对话框内设置 Advanced Emulation 参数:使能 Local echo 和Translate incoming CR to CR/LF 选项,界面如下:

WaveMesh2.0 AT指令按功能可分为本地模块操作指令、远程模块操作指令、射频测试指令、系统控制指令四大类,以下详细介绍各核心指令的功能、格式、参数及示例。
本地模块操作指令用于直接对连接串口的本地模块进行参数读写、状态查询等操作,所有WaveMesh2.0模块均支持此类指令(部分指令有固件类型限制)。
功能:读取本地模块内存中的数据,仅作为协议栈调试使用,模块内存数据结构体不对外公开。
格式:
ATC[?] OFF LEN <CR>//(“[]”内为可选内容,OFF为字节偏移量,LEN为读取长度)
参数说明:
OFF:字节偏移量,取值范围0x00~0xFF,用2个ASCII字符表示(如偏移量0表示为“00”,偏移量35表示为“23”)。
LEN:读取长度,取值范围0x00~0xFF,用2个ASCII字符表示(如长度1表示为“01”,长度16表示为“10”)。
成功响应:
ATC? OFF DATA1 [DATA2 ... DATAn] <CR>//(DATA1~DATAn为读取到的参数字节,以十六进制ASCII字符表示,空格分隔)
示例:

读取偏移量0字节开始的6字节参数:发送“ATC?0006\r”,十六进制值为41 54 43 3F 30 30 30 36 0D。
假设返回“ATC? 00 01 02 03 04 05 06\r”,表示从偏移量0开始的6字节数据分别为0x01、0x02、0x03、0x04、0x05、0x06。
💡说明:
模块支持灵活的指令解析,“ATC?=0006\r”“ATC? 0 6\r”等格式均可被正确解析;读取范围受模块缓存限制,最大可读取范围为0x000~0x179。
功能:读取本地模块的配置参数(标准模块参数固定为128字节),是常用的参数查询指令。
格式:
ATCB OFF LEN <CR>//(OFF为字节偏移量,LEN为读取长度)
参数说明:与ATC?指令的OFF、LEN参数规则一致,需满足OFF ≤ 127且OFF + LEN ≤ 128,否则超出部分数据会被丢弃。
成功响应:
ATCB OFF DATA1 [DATA2 ... DATAn] <CR>
示例:

“ATCB0006\r”,字符串对应的十六进制的值为 41 54 43 42 30 30 30 36 0D;“ATCB 00 01 02 03 04 05 06\r”, 字符串对应的十六进制的值为 41 54 43 42 20 30 30 20 30 31 20 30 32 20 30 33 20 30 34 20 30 35 20 30 36 0D;“ATCB1003\r”,字符串对应的十六进制的值为 41 54 43 42 31 30 30 33 0D;“ATCB 10 0A 0B 0C\r”, 字符串对应的十六进制的值为 41 54 43 42 20 31 30 20 30 41 20 30 42 20 30 43 0D。说明:
功能:修改本地模块的配置参数,修改后需通过ATCB指令验证修改结果。
格式:
ATCM [=] OFF DATA1 [DATA2 ... DATAn] <CR> //(OFF为字节偏移量,DATA1~DATAn为待写入的参数字节)
参数说明:OFF参数规则与ATCB一致;DATA1~DATAn each用2个ASCII字符表示一个字节的十六进制值。
成功响应:
ATOK\r
示例:

0x01, 0x02, 0x03, 0x04, 0x05, 0x06: “ATCM00010203040506\r”,字符串对应的十六进制的值为 41 54 43 4D 30 30 30 31 30 32 30 33 30 34 30 35 30 36 0D;“ATOK\r”, 字符串对应的十六进制的值为 41 54 4F 4B 0D; 0x0A, 0x0B, 0x0C: “ATCM100A0B0C\r”,字符串对应的十六进制的值为 41 54 43 4D 31 30 30 41 30 42 30 43 0D;“ATOK\r”, 字符串对应的十六进制的值为 41 54 4F 4B 0D;说明:
“ATCM100A0B0C\r”解析: “ATCM=100A0B0C\r” “ATCM = 10 0A 0B 0C\r” “ATCM 10 0A 0B 0C\r” “ATCM 10 A B C\r” “ATCM=10 A B C\r”功能:仅适用于树型网络STD固件类型的ROOT模块,用于使能ROOT重发功能并设置同步休眠时间间隔。
格式:
ATCR [00 ~ FF] <CR>//(可选参数为同步休眠时间间隔,单位为4194.304ms,取值范围0x00~0xFF,对应0~17.8957分钟)
成功响应:
ATOK\r
说明:
功能:仅适用于树型网络STD固件类型的ROOT模块,用于取消ROOT重发功能并设置同步休眠时间间隔。
格式:
ATCO [00~FF] <CR>//(参数规则与ATCR一致)
成功响应:
ATOK\r
说明:
功能:读取或修改本地模块的当前地址,地址参数以十六进制ASCII字符表示。
格式:
ATCA [地址参数] <CR>(无参数时为读取地址,有参数时为修改地址)
成功响应:
修改时返回
ATOK\r//修改时返回
读取时返回地址信息+<CR>
示例:

说明:
功能:读取本地模块的全球唯一标识(UUID)。
格式:
ATCU <CR>
成功响应:
返回模块UUID的十六进制ASCII字符+<CR>
示例:

功能:读取本地模块的固件版本、硬件ID、电源电压、温度、复位原因等核心信息。
格式:
ATCI <CR>
成功响应:
返回包含模块各类信息的字符串+<CR>
示例:

响应解析如下:
ATCI 00 04 02 8E 8F 15 31 FF 3B 7A 000000 00010000BA3B 000000000000 0000E0 000E WAVEMESH-STD-M8L152M8-X6505-049M
该返回报文的参数依次为:
ATCI // AT 指令名称
00 // 综合距离(ROOT 为 0)
04 // 相邻节点数
02 //路由节点数
8E // 电压最低值:电压(v)= 0x8E / 42.67 = 3.33v
8F // 电压最高值:电压(v)= 0x8F / 42.67 = 3.35v
15 // 温度:0x15 = 21(摄氏度)
31 // 复位原因:bit5(电源跌落复位),bit4(WaveMesh 协议栈复位),bit3(硬件调试复位),bit2(非法指令复位),bit1(射频异常复位),bit0(上电复位)
FF // 签名
3B // 局部地址
7A // bit7~bit3 (主信道号),bit1~bit0(频段)
000000 // 网络 ID
00010000BA3B // 全球唯一号
000000000000 // 客户 ID
0000E0 // 硬件 ID
000E // 固件版本
WAVEMESH-STD-M8L152M8-X6505-049M // 固件名称
固件名称的定义如下:
WAVEMESH // 协议栈名称
STD // 协议栈类型
M8L152M8 // MCU 的名称
X6505 // 射频芯片名称
049 // 射频频段
M // 模块类型
功能:读取或修改本地模块的RTC时间,支持全网分布式授时(树型网络由ROOT模块授时,full-mesh网络由任意模块授时)。
格式:
ATCT [年月日时分秒BCD码] <CR>//(无参数时读取时间,有参数时修改时间)
参数说明:年月日时分秒BCD码用2个ASCII字符表示一个字节,年份仅表示后2位(如2026年表示为“26”)。
成功响应:
RTC时间+<CR>//读取时返回
ATOK\r//修改时返回
说明:带参数的ATCT指令会开启全网所有模块的RTC计时,且无法关闭;无需授时的网络可不执行此指令,以节省功耗。
远程模块操作指令用于通过本地模块(树型网络仅ROOT模块可发起,full-mesh网络任意模块可发起)对网络内的远程模块进行参数读写、信息查询等操作,支持单节点、多节点、全网节点的批量操作。
功能:读取远程模块内存中的数据,仅用于协议栈调试,支持地址通配符批量查询。
格式:
ATRR [@ADD1@ADD2…=] OFF LEN <CR>//(@ADD1~@ADD2为远程节点地址,OFF为偏移量,LEN为读取长度)
参数说明:
@ADD:远程节点地址,用2个ASCII字符表示一个字节,多个地址用“@”分隔;全网节点查询可省略地址或使用通配符“@***********”(默认地址长度6字节,12个“”)。
OFF、LEN:与ATC?指令规则一致,取值范围0x00 ~ 0xFF,最大读取范围0x000 ~ 0x14D。
成功响应:
ATOK\r
ATRR@ADD OFF DATA1 [DATA2…] <CR>//随后陆续返回各远程节点响应:
示例:读取全网节点偏移量0字节开始的6字节参数,发送
ATRR0006\r”或“ATRR@************=0006\r
返回
ATOK\r
各远程节点会依次返回自身内存数据
功能:读取远程模块的配置参数(标准模块参数固定为118字节),支持批量查询,是远程参数管理的核心指令。
格式:
ATRB [@ADD1@ADD2…=] OFF LEN <CR>//(参数规则与ATRR一致)
参数限制:OFF ≤ 117且OFF + LEN ≤ 118,否则超出部分数据被丢弃。
成功响应:
ATOK\r//立即返回
ATRB@ADD OFF DATA1 [DATA2…] <CR>//随后陆续返回各远程节点响应
功能:修改远程模块的配置参数,支持批量修改,修改后需通过ATRB指令验证。
格式:
ATRM [@ADD1@ADD2…=] OFF DATA1 [DATA2…] <CR>//(参数规则与ATRB一致)
成功响应:
ATOK\r//立即返回
ATRM@ADD OFF DATA1 [DATA2…] <CR>//随后陆续返回各远程节点响应
示例:修改地址为0x00000000000A的节点偏移量16字节开始的3字节参数为0xAA、0xBB、0xCC,发送
ATRM@00000000000A=10AABBCC\r
返回
ATOK\r//表示指令发起成功
远程节点返回对应响应表示修改完成。
功能:读取远程模块的固件版本、硬件信息、信号强度、路由状态、电压温度等信息,可用于网络拓扑诊断和压力测试。
格式:
ATRI [@ADD1@ADD2…=] [REPEATS] <CR>//(REPEATS为重复返回次数,0x00~0xFF,0x00表示1次)
成功响应:
ATOK\r//立即返回
ATRI@ADD 节点信息串 <CR>//随后陆续返回各远程节点响应:
响应解析:节点信息串包含源节点地址、路由节点地址、上下行信号强度、综合距离、邻居节点数、电压温度、复位原因、网络ID、硬件固件版本等信息,具体解析规则参考ATCI指令。
射频测试指令用于模块的硬件射频性能测试,包括发射功率、接收灵敏度、休眠电流等关键指标的验证。
功能:测试模块在指定频点(配置参数主信道)和发射功率下的无线功率、电流、频点稳定性,发射单音信号。
格式:
ATTT <CR>
ATTT [SF [BW]] <CR>//(SF为扩频因子,0x05~0x0C对应SF5~SF12;BW为带宽,0x00~0x0A对应7.81kHz~500kHz)
成功响应:
ATOK\r//模块LED灯常亮。
测试建议:测试电压3.3V~3.6V,电源持续供电电流≥150mA(部分模块发射电流高达120mA)。
功能:测试模块发射调制波的功率、电流、频偏、波形、邻道干扰、谐波等指标。
格式:
ATTM <CR>
ATTM [SF [BW]] <CR>//(SF为扩频因子,0x05~0x0C对应SF5~SF12;BW为带宽,0x00~0x0A对应7.81kHz~500kHz)
成功响应:
ATOK\r//模块LED灯常亮。
功能:测试模块接收调制波的灵敏度和电流,(G)FSK直接模式下可通过MP0/MP1引脚输出解调时钟和比特流。
格式:
ATTR <CR>
ATTR [SF [BW]] <CR>//(SF为扩频因子,0x05~0x0C对应SF5~SF12;BW为带宽,0x00~0x0A对应7.81kHz~500kHz)
成功响应:
ATOK\r//模块LED灯常灭;接收到有效信号时LED状态会变化(LoRa模式仅指示信号存在)
功能:测试模块的休眠电流(分为无RTC时钟和有RTC时钟两种状态)。
格式:
ATTS [休眠时间] <CR>//(休眠时间0x00~0xFF,单位秒,0x00或无参数表示永久休眠)
参数说明:无参数时不开启RTC时钟,测试最低休眠电流;带非0参数时开启RTC时钟,测试带时钟休眠电流,RTC开启后无法通过该指令关闭。
成功响应:
ATOK\r//模块LED灯常灭。
测试建议:使用高精度万用表测量,部分模块休眠电流低至0.5uA。
功能:软件复位模块,重启固件,无需断电。
格式:
ATTQ <CR>
成功响应:
ATOK\r//模块在~15ms后重启,固件启动时间与射频芯片初始化校准时间相关。
调试专用指令:ATC=(修改本地模块内存)、ATRW(修改远程模块内存)、ATCC(读取本地参数)、ATUC(修改本地参数)、ATUP(更新固件)仅用于内部调试或配置工具,正式固件不支持,请勿随意使用。
地址匹配:远程指令使用地址通配符时,需确认网络内所有模块的地址长度一致(默认6字节),否则可能导致查询失败。
功耗控制:开启RTC授时(ATCT带参数)后会增加模块功耗,无需授时的场景应避免执行该指令;休眠测试时建议先测试无RTC休眠电流,再测试带RTC休眠电流。
固件适配:部分指令(如ATCR、ATCO、ATCE)仅适用于特定固件类型(如树型网络STD固件),使用前需确认模块固件版本。
报文长度:所有指令的报文长度不得超过模块最大接收长度,否则超出部分会被丢弃;读取类指令的返回报文长度受模块缓存限制,需合理设置读取长度。
| 响应码 | 含义 | 出现场景 |
|---|---|---|
| ATOK\r | 指令执行成功 | 修改类指令、测试类指令、控制类指令执行正确时 |
| ATER\r | 指令参数错误 | 参数格式错误、偏移量/长度超出限制、地址不存在等 |
| 无响应 | 指令解析失败或模块未正常连接 | 指令格式错误、串口连接异常、模块未上电等 |
| SF参数(十六进制) | 扩频因子 | BW参数(十六进制) | 带宽(实际值) |
|---|---|---|---|
| 0x05 | SF5 | 0x00 | 7.81 kHz |
| 0x06 | SF6 | 0x08 | 10.42 kHz |
| 0x07 | SF7 | 0x01 | 15.63 kHz |
| 0x08 | SF8 | 0x09 | 20.83 kHz |
| 0x09 | SF9 | 0x02 | 31.25 kHz |
| 0x0A | SF10 | 0x0A | 41.67 kHz |
| 0x0B | SF11 | 0x03 | 62.50 kHz |
| 0x0C | SF12 | 0x04 | 125 kHz |
| - | - | 0x05 | 250 kHz |
| - | - | 0x06 | 500 kHz |
版本:V1.0
修订日期:2026-01-13
适用范围:WaveMesh2.x系列模块
编写单位:济南创艺电子科技有限公司