其他笔记
EC800K AT连接移远云
配置过程
# 配置产品信息(初次连接需配置)
AT+QIOTCFG="productinfo","pxxxxt","cDVTxxxxxxxxWGVB"
# 连接开发者中心
AT+QIOTREG=1
# 查询当前连接状态(+QIOTSTATE: 8为正常)
AT+QIOTSTATE?
# 在非MQTT连接下执行,发送JSON格式数据
AT+QIOTCFG="tsl",1
发送过程
# 即将发送10字节数据,字节数一定要和实际字节数一样
AT+QIOTMODELTD=1,10
# 此时模块返回 > ,表示可以输入数据,1表示物模型ID,后者代表数据
{"1":99.9}
接收过程
#模块串口输出此数据
+QIOTEVT: 5,10212,3,17
{"4":{"2":false}}
回传过程
# 下发指令后一定要回传,平台才知道下发成功
AT+QIOTMODELTD=2,11
{"2":false}
ESP-AT 开启 WebServer
ESP-AT WEBSERVER开启
指令 | 返回结果 | 作用 |
---|---|---|
AT | OK | 测试通信 |
AT+RESTORE | OK | 清除配网信息 |
AT+CWMODE=3 | OK | 配置 ESP32 设备为 Station + SoftAP 模式 |
AT+CWSAP="pos_softap","",11,0,3 | OK | 设置 SoftAP 的 ssid 和 password |
AT+CIPMUX=1 | OK | 使能多连接 |
AT+WEBSERVER=1,80,25 | OK | 创建 web server |
Wi-Fi HaLow AT 配置
AP 模块快速配置
AT+CHAN_LIST=9080,9160,9240
AT+BSS_BW=8
AT+SSID=YCP666
AT+KEYMGMT=WPA-PSK
或者
AT+KEYMGMT=NONE
AT+PSK=aa58569a9edd7c3a55e446bc658ef76a7173d023d256786832474d737756a82
AT+MODE=ap
STA 模块快速配置
AT+SSID=YCP666
AT+KEYMGMT=none
metis-l
metis-l 引脚
指令格式
SFD | CMD | Length | Payload | XOR |
---|---|---|---|---|
0xFF | CMD Value | n | Payload Value | ODD |
1 byte | 1 byte | 1 byte | n bytes | 1 byte |
指令
常用指令 | 指令值 | 描述 |
---|---|---|
CMD_DATA_REQ | 0x00 | 发送MBUS数据 |
CMD_DATA_IND | 0x03 | 输出接收数据 |
CMD_SET_MODE_REQ | 0x04 | 在运行时更改模式 |
CMD_RESET_REQ | 0x05 | 重启模块 |
CMD_SET_REQ | 0x09 | 把用户参数写入非易失储存 |
CMD_SETUARTSPEED_REQ | 0x10 | 设置UART波特率 |
CMD_GET_REQ | 0x0A | 从非易失储存读取参数 |
CMD_SERIALNO_REQ | 0x0B | 读取模块序列号 |
CMD_FWV_REQ | 0x0C | 读取固件版本 |
CMD_RSSI_REQ | 0x0D | 读取RSSI |
例如:
查询版本:FF0C00F3
w-Mbus模式
适用于CMD_SET_MODE_REQ
868Mhz
wM-BUS Mode | Mode value | Direction | Role | Freq | code |
---|---|---|---|---|---|
S1-m | 0x02 | TX_Only | meter | 868.300 | Manchester |
S2 | 0x03 | TX&&RX | meter or gateway | 868.300 | Manchester |
T1_meter | 0x05 | TX_Only | meter | 868.300 | Manchester |
T2_meter | 0x07 | TX&&RX | meter | 868.950 | 3 out of 6 |
T2_other | 0x08 | TX&&RX | gateway | 868.950 | 3 out of 6 |
C2_T2_other | 0x09 | RX_Only | gateway | 868.300 | Manchester |
C1_meter | 0x0C | TX_Only | meter | 868.950 | NRZ |
C2_meter | 0x0D | TX&&RX | meter | 869.950 | NRZ |
C2_other | 0x0E | TX&&RX | gateway | 868.525 | NRZ |
功能配置
- 非易失性用户参数。
CMA_SET_RST
重启之后可保留,消耗闪存周期 - 易失性用户参数。重启之后不保留,不消耗闪存周期。适用于要修改的配置经常变的情况。
发送数据
- 配置模式
- 重启:使用
RESET
引脚或者CMD_ RESET_REQ
- 透传或者帧传输
CMD_DATA_REQ
接收数据
注意:请记住,电表正在使用周期性间隔发送帧,因此您需要至少等待此时间段才能接收范围内的电表。
在具有多个电表的重型环境中,可能会发生数据包冲突。在这种情况下,您必须花多个时间才能收到预期的电表。
当希望设置数据采集器或接收设备时,如果仅需要单向通信(这里是接收功能),除了设置用户设置中的 Mode_Preselect 参数外,还需执行以下步骤。如果需要双向通信,则需要定制固件。
具体设置步骤:
- 恢复出厂设置和复位
- 首先执行
CMD_FACTORYRESET_REQ
命令,命令值为0xFF1100EE
。 - 然后执行
CMD_RESET_REQ
命令,命令值为0xFF0500FA
。
- 首先执行
- UART 设置
- 主机 UART 需使用 9600 波特、8 位数据位、无校验位、1 位停止位(8n1)的设置(用于接下来的几步操作)。
- 使用
CMD_SET_REQ
命令设置UART_CMD_OUT_ENABLE
为 1,命令为0xFF0903050101F0
。 - 使用
CMD_SET_REQ
命令设置RSSI_Enable
为 1,命令为0xFF0903450101B0
。 - 使用
CMD_SETUARTSPEED_REQ
命令将 UART 波特率设置为 115200 波特,命令为0xFF100107E9
。
- 模式选择
- 根据需要设置
Mode_Preselect
为默认接收模式。如果是 S2 模式则无需更改;如果是C2_T2_other
(仅接收模式),则使用CMD_SET_REQ
命令0xFF0903460109BB
进行设置。
- 根据需要设置
- 再次复位及后续操作
- 再次执行
CMD_RESET_REQ
命令(0xFF0500FA
)。之后主机 UART 需要使用配置好的波特率(115200 波特),并且主机不应发送CMD_DATA_REQ
命令或透明数据到模块。 - 在这种设置下,模块主要用于接收数据,并不需要主机主动发送数据请求(
CMD_DATA_REQ
)或透明数据来触发数据接收过程。模块会根据所配置的无线 M - BUS 模式和相关设置,自动接收符合条件的数据帧。
- 再次执行
发送数据
-
适用场景及前提
- 当希望设置一个仪表或模拟仪表时,如果仅需要单向通信(这里是发送功能),除了设置用户设置中的
Mode_Preselect
参数外,还需执行以下步骤。如果需要双向通信,则需要定制固件。如果仪表需要电池供电操作,需参考第 11 章并使用其中列出的特殊 UART 设置。
- 当希望设置一个仪表或模拟仪表时,如果仅需要单向通信(这里是发送功能),除了设置用户设置中的
-
恢复出厂设置和复位
- 首先执行
CMD_FACTORYRESET_REQ
命令,命令值为0xFF1100EE
。 - 然后执行
CMD_RESET_REQ
命令,命令值为0xFF0500FA
。
- 首先执行
-
UART 设置
- 主机 UART 需使用 9600 波特、8 位数据位、无校验位、1 位停止位(8n1)的设置(用于接下来的几步操作)。
-
模式选择
- 根据要模拟的仪表发送模式设置
Mode_Preselect
。 - 对于 S1 - m 模式,使用
CMD_SET_REQ
命令0xFF0903460102B0
; - 对于 T1_meter 模式,使用
CMD_SET_REQ
命令0xFF0903460105B7
; - 对于 C1_meter 模式,使用
CMD_SET_REQ
命令0xFF090346010CBE
。
- 根据要模拟的仪表发送模式设置
-
波特率设置及后续操作
- 使用
CMD_SETUARTSPEED_REQ
命令将 UART 波特率设置为 115200 波特,命令为0xFF100107E9
。 - 再次执行
CMD_RESET_REQ
命令(0xFF0500FA
)。之后主机 UART 需要使用配置好的波特率(115200 波特)。
- 使用
-
发送数据操作
- 如果主机想要发送数据,使用
CMD_DATA_REQ
命令并提供一个符合 wM - BUS 标准的帧给模块。
- 如果主机想要发送数据,使用
透传模式
不推荐透传模式
格式:
L field | Payload | RSSI |
---|---|---|
length | (length - 1) bytes | 1 bytes |
L field | Payload |
---|---|
length | (length) bytes |
简单版
发送
SFD | CMD | Length | Payload | XOR |
---|---|---|---|---|
0xFF | 0x00 | 0xXX | 0xXX 0xXX... | ODD |
接收
- 启用命令输出:
UART_CMD_OUT_ENABLE
- 就会自动接收到
SFD | CMD | Length | Payload | XOR |
---|---|---|---|---|
0xFF | 0x03 | 0xXX | 0xXX 0xXX... | ODD |
或者
SFD | CMD | Length | Payload | RSSI | XOR |
---|---|---|---|---|---|
0xFF | 0x03 | 0xXX + 1 | 0xXX 0xXX... | RSSI | ODD |
用户参数设置指令
设置功率
SFD | CMD | Length | reg | param length | param | XOR |
---|---|---|---|---|---|---|
0xFF | 0x09 | 0x03 | 0x3D | 0x01 | 0x01~0x06 | 0xC8 |
设置最长发送接收包
SFD | CMD | Length | reg | param length | param | XOR |
---|---|---|---|---|---|---|
0xFF | 0x09 | 0x03 | 0x0A | 0x01 | 0xFA(250) | 0x04 |
设置打开加密
SFD | CMD | Length | reg | param length | param | XOR |
---|---|---|---|---|---|---|
0xFF | 0x09 | 0x03 | 0x0B | 0x01 | 0x00/0x01 | 0x04 |
设置打开RSSI
SFD | CMD | Length | reg | param length | param | XOR |
---|---|---|---|---|---|---|
0xFF | 0x09 | 0x03 | 0x45 | 0x01 | 0x00/0x01 | 0xB0 |
设置打开RSSI
SFD | CMD | Length | reg | param length | param | XOR |
---|---|---|---|---|---|---|
0xFF | 0x09 | 0x03 | 0x45 | 0x01 | 0x00/0x01 | 0xB0 |
License:
CC BY 4.0