当前文档版本为 v0.2.0,您可以访问当前页面的 开发中 版本以获取最近可能的更新。

网关子卡开发说明

1. 产品概述

​ ChirpLAN模块定位为一个支持网络和点对点协议的低频半双工Chirp模块,内置功能完整的 AT 指令, 使用串口进行数据收发,降低了无线应用的门槛,可实现一对一或一对多的通信应用场景。本说明书主要介绍ChirpLAN模块网关子卡协议开发说明。

1.1 网关子卡SDK框架

下图为ChirpLAN网关子卡模块的协议框图,可帮助对系统有一个总体的认识。

image-20221110165915270

Chirplan网关子卡协议框架图

ChirpLAN网关子卡支持用户通过AT指令控制Chirp模块进行数据收发,Chirp模块接收到数据后,会通过串口将数据透传到用户。

ChirpLAN网关子卡支持用户配置为发射/接收/待机状态,不支持低功耗休眠。

1.2网关子卡工作流程

下图为网关子卡工作流程图,模块上电后根据默认系统配置参数进入接收,用户可以通过指令修改收发参数配置、下发数据发送任务,模块在接收到数据后会将结果通过串口通知用户。用户每次指令操作后需要等到模块回复指令结果后,才可继续操作下一条指令。

注意,模块参数掉电不保存,重新上电后需要根据需求重新配置参数。

image-20220909104935653

Chirplan网关子卡工作流程图

2. 网关子卡AT指令集

2.1AT指令语法

AT指令采用基于ASCII码的命令行,命令格式如下:

AT+<CMD>[OP][para-1,para-2,....para-n]<\r\n>
AT指令格式

说明

AT+

命令消息前缀

CMD

命令字符

OP

指令操作符。可以是以下内容:“=”:表示参数设置“?”:表示查询参数的当前值“”:表示执行命令“=?”:表示查询设置指令的参数

para-1,para-2,….para-n

表示设置的参数值

\r\n

回车换行结束符,ASCII码为0x0D 0x0A

注:

<>:表示必须包含的内容。

[]:表示可选的内容。

\r:回车结束符,ASCII码为0x0D。

\n:换行符,ASCII码为0x0A。

指令设置完成后,可以通过查询指令查看当前参数值,串口波特率115200。

下文中为了便于阅读,将\r\n隐藏。

2.2AT指令总览

通用指令集

命令

描述

AT+PREAM

设置读取模块的前导码时间

AT+FREQ

设置读取模块的频点

AT+MODE

设置读取模块射频参数

AT+RX

设置模块进入/退出发射状态

AT+TX

设置模块发送数据

AT+KEY

设置模块加密密钥

2.3设置前导码时间

设置读取前导码时间

命令类型

命令格式

响应

测试命令

AT+PREAM=?

+PREAM:”preamble:0-4294967 ms”
OK

查询命令

AT+PREAM?

+PREAM:8
OK

执行命令

AT+PREAM=<value>

OK
或者
+CME ERROR:<err>

参数说明

<value>:模组前导码时间,支持范围0-4294967,单位为毫秒。
超过范围,或者设0,都会将前导码长度设置为8

示例

AT+PREAM=500
表示设置模组的前导码时间为500ms

2.4设置接收频点

设置读取接收频点

命令类型

命令格式

响应

测试命令

AT+FREQ=?

+FREQ:”freq : 370000000 - 600000000,740000000 - 1200000000”
OK

查询命令

AT+FREQ?

+FREQ:471900000
OK

执行命令

AT+FREQ=<value>

OK
或者
+CME ERROR:<err>

参数说明

<value>:模组频率值,单位Hz

示例

AT+FREQ=461100000
表示设置模组的接收频点为461.1MHz

2.5设置射频参数

设置读取射频参数

命令类型

命令格式

响应

测试命令

AT+MODE=?

+MODE:”BW(1:6-9),SF(2:07-12),CR(1:1-4),LDR(1:0-1),CRC(1:0-1),PWR(2:00-29)”
OK

查询命令

AT+MODE?

+MODE:60740122
OK

执行命令

AT+MODE=<value>

OK
或者
+CME ERROR:<err>

参数说明

<value>:模组射频参数,共8字节,依次为BW(1),SF(2),CR(1),LDR(1),CRC(1),PWR(2)

示例

AT+MODE=60740122
表示设置模组参数为:BW为62.5K,SF为7,CR为4,LDR为0,CRC为1,PWR功率为22
注意这里这是的PWR是挡位,而不是实际输出功率值

2.6设置接收模式

设置接收模式

命令类型

命令格式

响应

测试命令

AT+RX=?

+RX:”enter rx:0-1”
OK

查询命令

/

/

执行命令

AT+RX=<value>

OK
或者
+CME ERROR:<err>

参数说明

<value>:设置接收模式,共1字节

示例

AT+RX=1
表示设置模组进入接收模式
AT+RX=0
表示设置模组退出接收模式(模组将保持待机STB3模式)

2.7设置发送数据

设置发送数据

命令类型

命令格式

响应

测试命令

AT+TX=?

+TX:”transmit”
OK

查询命令

/

/

执行命令

AT+TX=<value>

OK
或者
+CME ERROR:<err>

参数说明

<value>:数据

示例

AT+TX=fe2441fc4d
表示设置发送数据:0xfe 0x24 0x41 0xfc 0x4d

2.8设置加密密钥

设置加密密钥

命令类型

命令格式

响应

测试命令

AT+KEY=?

+KEY:”AES KEY”
OK

查询命令

AT+KEY?

+KEY:000102030405060708090a0b0c0d0e0f
OK

执行命令

AT+KEY=<value>

OK
或者
+CME ERROR:<err>

参数说明

<value>:密钥内容(密钥长度为16字节)

示例

AT+KEY=000102030405060708090a0b0c0d0e0f
表示16字节密钥为:{0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,
0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F}