0.版权声明
本文由夏虫不可与之言冰搜集翻译制作,文档来源成都惠利特自动化科技有限公司本文为翻译文,给各位geek参考。不用于任何盈利,如有侵权,联系删除。
1.摘要
本文档适用于CubeCell的所有模块和开发板系列。 LoRaWAN协议已集成在AT指令中,可以直接
与LoRaWAN基站通信。默认情况下,CubeCell系列模块(HTCC-AMxx)可以支持AT指令。CubeCell开发板的默认值为出厂测试程序。如果此AT指令示例正常运行,重置后进入睡眠模式,会打印以下内容。:
2.串口设置
波特率:115200
停止位:1
数据位:8
校验位:无
结束符:无
3. AT指令语法
3.1语法概述
- 所有AT指令行必须以“ AT +”开头。
- 没有结束符。 不要发送回车或换行作为结束。
- 重置后,CubeCell将在初始打印后进入深度睡眠模式,发送“ AT + XXX”信息唤醒设备。
- 返回响应通常遵循以下指令:
1. 执行成功返回“ + OK”;
2. 如果执行失败或语法格式错误,则返回“ + ERROR”,并同时提示错误内容。
3.2 AT指令集
基础控制指令(括号中为译者注释,并不会显示)
唤醒设备
指令 | 响应 |
---|---|
AT+XXX | ASR is Waked, LowPower Mode Stopped(ASR已唤醒,低功耗模式已停止) |
描述 | 复位后,设备处于睡眠状态,并通过串行端口中断唤醒设备。 从理论上讲,通过串行端口发送任何数据都可以触发中断并唤醒设备。 例如“ ABC” |
休眠设备
指令 | 响应 |
---|---|
AT+LPM=1 | +OK LowPower Mode Stared(低功耗模式已启动). |
描述 | 使设备进入睡眠模式 |
重置
指令 | 响应 |
---|---|
AT+RESET=1 | (打印开机/重置信息) |
描述 | 设备重置 |
恢复出厂设置
指令 | 响应 |
---|---|
AT+DefaultSet=1 | (打印开机/重置信息) |
描述 | 恢复出厂设置后,响应结束后,将进入睡眠模式 |
禁用版权信息打印
指令 | 响应 |
---|---|
AT+Copyright=1 | (启动引导程序模式开始时启用/禁用版权信息打印。 默认启用) |
描述 | 高于V1.0(包括V1.0)的引导加载程序版本支持此指令 |
查询芯片的唯一ID
指令 | 响应 |
---|---|
AT+ChipID=? | +OK +ChipID:13A******622(芯片ID:13A******622) |
描述 | 读取芯片的唯一编号,可用于查询相应的序列号 |
输入序列号以激活Arduino支持
指令 | 响应 |
---|---|
AT+CDKEY=A8 5****93****D DC3******1F0 23EDE6 | +The board is activated, don’t need to active again(板卡已经激活,无需再次激活) Activation successful:+The board is activated,(激活成功:单板已激活) Activation failed:+ERROR: please input correct CDKEY. (激活失败:错误:请输入正确CDKEY) |
描述 | 字符内容限制为0到F - 默认情况下,所有工厂都将开发板激活 -默认情况下模块是激活的,但是可以提供非激活版本,如果使用Arduino,则可以使用此指令激活 |
LoRaWAN模式/普通LoRa模式切换
指令 | 响应 |
---|---|
AT+LORAWAN=? | +OK +LORAWAN=0 或者 +OK +LORAWAN=1 0 |
描述 | 查找当前的LoRaWAN支持: -返回值为0,普通LoRa模式; –返回值为1,LoRaWAN协议模式。 –默认情况下,AT指令支持LoRaWAN协议。 您可以通过更改此指令的变量来切换LoRaWAN协议或普通的LoRa发送和接收模式 |
AT+LORAWAN=0 | +OK +LORAWAN=0 Copyright @ 2019 Heltec Automation.All rights reserv +LORAWAN=0 +FREQ=470000000 +SF=7 +TxPower=10 |
描述 | 响应完成后,系统进入休眠状态。在此模式下,无线电信号通过SX1262芯片传输,并且纯硬件的操作不会运行任何协议,可以用于频谱调试或简单的收发器测试。AT+ LORAWAN = 1打印电源/ 重置信息。 |
AT+LORAWAN=1 | (打印开机/重置信息) |
描述 | 响应完成后,系统进入休眠状态,并且设备支持LoRaWAN协议 |
用户AT指令
用户可能需要特殊的指令。 这是向CubeCell添加用户指令的示例。 在此示例中,我们添加了一个测试指令:“ AT-test-abcd”,如果通过串行端口将“ ATtest-abcd”发送到CubeCell,则CubeCell返回“ abcd”
用户AT指令执行逻辑
当系统收到每条AT指令时,它会优先考虑与AT_user_check函数中用户定义的字段进行比较。 如果该函数的返回值为true,则执行该函数内的用户定义程序。 如果返回值为false,则跳过该函数以匹配系统的默认AT指令。
“ 普通LoRa模式”专有指令
设置LoRa监听/发送参数
指令 | 响应 |
---|---|
AT+LoraSet=? | +OK +LoraPara:868000000,18,12,0,1,8,1,0,0 |
描述 | LoRa节点间通信参数说明(0 – FALSE; 1 – TRUE): 频率:868000000(868MHz) 功率:18dBm(18分贝毫瓦) SF:12 BW:0 Code rate:1 Preamble length:8 CRC:1 IQ Invert:0 Save to FLASH:0 |
AT+LoraSet=868000000,18,12,0,1,8,1,0,0 | +OK +LoraPara:868000000,18,12,0,1,8,1,0 |
描述 | 设置LoRa节点间通信参数 |
- SF:扩展因子,范围7〜12
- BW:带宽,0 – 125K,1 – 250K,2 – 500K
- Code rate:码率,1 – 4 / 5、2 – 4 / 6、3 – 4 / 7、4 – 4/8;
- Preamble length:前同步码长度为8〜65535位
- CRC:循环冗余校验,0 –禁用CRC检查,1 –启用CRC检查
- IQ Invert:0-不反相,1-反相
- Save to FLASH:将参数保存到闪存,0 –不保存,1 –保存
接收模式
指令 | 响应 |
---|---|
AT+RX=0 | +OK +RX=0 |
描述 | 设备处于接收模式,没有超时; 保持设备处于监听状态,直到接收到数据并且监听状态结束之前,监听频率,扩展因子和发射参数都相同。 要再次接收数据,您需要从新模式进入监听模式 |
AT+RX=1000 | +OK +RX=1000 |
描述 | 设备处于接收模式,超时1000ms; 如果在1000毫秒内未接收到数据,则输出“ RX Timeout” |
接收数据输出模式选择
指令 | 响应 |
---|---|
AT+PrintMode=? | +OK +PrintMode=0 |
描述 | 查询当前接收到的数据输出方式: -返回值0:字符串输出; -返回值1:十六进制输出 |
AT+PrintMode=1 | +OK +PrintMode=1 |
描述 | 将设备设置为十六进制输出格式,以RX模式接收的数据将以十六进制格式打印,参数仅为0或1 |
LoRaWAN模式专有指令
设置 DevEui
指令 | 响应 |
---|---|
AT+DevEui=? | +OK +DevEui=2232330000888802(For OTAA Mode) |
描述 | 在当前系统中以OTAA模式输出DevEui |
AT+DevEui=8888888888888888 | +OK +DevEui=8888888888888888(For OTAA Mode) |
描述 | 将DevEui设置为8888888888888888; 16位长度,仅从0到F的准状态十六进制字符 |
设置 AppEui
指令 | 响应 |
---|---|
AT+AppEui=? | +OK +AppEui=0000000000000000(For OTAA Mode) |
描述 | 在当前系统中以OTAA模式输出DevEui |
AT+AppEui=8888888888888888 | +OK +AppEui=8888888888888888(For OTAA Mode) |
描述 | 将AppEui设置为8888888888888888; 16位长度,仅从0到F的准状态十六进制字符 |
设置AppKey
指令 | 响应 |
---|---|
AT+AppKey=? | +OK +AppKey=88888888888888888888888888888888(For OTAA Mode) |
描述 | 在当前系统中以OTAA模式输出AppKey |
AT+AppKey=88888888888888888888888888888888 | +OK +AppKey=88888888888888888888888888888888(For OTAA Mode) |
AT+AppEui=? | +OK +AppEui=0000000000000000(For OTAA Mode) |
描述 | 将AppKey设置为88888888888888888888888888888888; 32位长度,仅从0到F的准状态十六进制字符 |
设置NwkSKey
指令 | 响应 |
---|---|
AT+NwkSKey=? | +OK +NwkSKey=D72C7****DCCA****EE4A7****6EF67(For ABP Mode) |
描述 | Output snout in the current system for NwkSKeyfor ABP mode(这句没看懂不敢乱翻译) |
AT+NwkSKey=88888888888888888888888888888888 | +OK +NwkSKey=88888888888888888888888888888888(For ABP Mode) |
描述 | 将NwkSKey设置为88888888888888888888888888888888; 32位长度,仅从0到F的准状态十六进制字符 |
设置 AppSKey
指令 | 响应 |
---|---|
AT+AppSKey=? | +OK +AppSKey=15B1D463DD1118****C7DA85(For ABP Mode) |
描述 | 在当前系统中以ABP模式输出AppSKey |
AT+AppSKey=88888888888888888888888888888888 | +OK +AppSKey=88888888888888888888888888888888(For ABP Mode) |
描述 | 将AppSKey设置为88888888888888888888888888888888; 32位长度,仅从0到F的准状态十六进制字符 |
设置 DevAddr
指令 | 响应 |
---|---|
+DevAddr=? | +OK +DevAddr=007E6AE1(For ABP Mode) |
描述 | 当前系统在ABP模式下输出DevAddr |
AT+DevAddr=88888888 | +OK ++DevAddr=88888888(For ABP Mode) |
描述 | 将DevAddr设置为88888888; 8位长度,仅从0到F的准状态十六进制字符 |
设置 OTAA / ABP mode
指令 | 响应 |
---|---|
AT+OTAA=? | +OK +OTAA=1 或者 +OK +OTAA=0 |
描述 | 返回值1(默认):OTAA模式 返回值0:ABP模式 |
AT+OTAA=0 | +OK +OTAA=0 |
描述 | 仅使用0或1个参数切换到ABP模式 |
配置ADR
指令 | 响应 |
---|---|
T+ADR=? | +OK +ADR=1 或者 +OK +ADR=0 |
描述 | 返回值1(默认):ADR功能已打开; 返回值0:禁用ADR功能 |
AT+ADR=0 | +OK +ADR=0 |
描述 | 启用用ADR功能,参数只能为0或1 |
配置LoRaWAN通道掩码
关于LoRaWAN通道掩码,此文档对您可能有意义:
LoRaWAN子频带使用示例
指令 | 响应 |
---|---|
AT+ChMask=? | +OK +ChMask=0000000000000000000000FF |
描述 | 当前的LoRaWAN工作通道为0〜7 |
AT+ChMask=00000000000000000000FF00 | +OK +ChMask=00000000000000000000FF00 |
描述 | 此命令已将LoRaWAN工作通道设置为8〜15。 如果此命令在加入之前运行,则必须重置硬件。 如果设备已经加入,它将在下一次发送中生效 |
触发OTAA访问
指令 | 响应 |
---|---|
AT+Join=1 | 开始上网: +OK joining… 成功访问网络: +OK joining…joined |
描述 | 设备断电或重置后,需要从新的网络开始 |
设置通讯周期占空比
指令 | 响应 |
---|---|
AT+DutyCycle=? | +OK +DutyCycle=15000 |
描述 | 返回值(以毫秒为单位),在这种情况下,每15秒与网关通信一次 |
AT+DutyCycle=60000 | +OK +DutyCycle=60000 |
描述 | 在此示例中,将通信周期设置为60秒。 您最多可以设置每毫秒65535000,设置后,它将在下次发送数据时生效 |
设置通讯模式A / C级
指令 | 响应 |
---|---|
AT+Class=? | +OK +Class=A |
描述 | 返回值为A类或C类,代表相应的工作模式 |
AT+Class=C | +OK +Class=C |
描述 | 只有AT + Class = A或AT + Class = C是有效的。 设置后,下次发送数据生效 |
开启/关闭ACK
指令 | 响应 |
---|---|
AT+IsTxConfirmed=? | +OK +IsTxConfirmed=1 |
描述 | ACK接收(通信确认)功能默认情况下处于打开状态。 网关接收到上行链路后,发送下行消息通知节点已接收到数据 |
AT+IsTxConfirmed=0 | +OK +IsTxConfirmed=0 |
描述 | 关闭ACK接收。由于ADR功能,如果自动调整节点速率等参数,在此模式下仍将进行下行数据打印 |
AT+IsTxConfirmed=1 | +OK +IsTxConfirmed=1 |
描述 | 打开ACK收据。 设置后,将在发送下一个数据时生效 |
配置fport
指令 | 响应 |
---|---|
AT+AppPort=? | +OK +AppPort=2 |
描述 | 查询当前上游数据端口 |
AT+AppPort=5 | +OK +AppPort=5 |
描述 | 将fport设置为5,参数范围为0〜255。设置后,下次发送数据生效 |
设置重传次数(如果发送失败)
指令 | 响应 |
---|---|
AT+ ConfirmedNbTrials=? | +OK +ConfirmedNbTrials=8 |
描述 | 如果通信失败,则系统默认将数据重传到网关8次,每2次更改一次速率以尝试最佳传输 |
AT+ ConfirmedNbTrials=3 | +OK +ConfirmedNbTrials=3 |
描述 | 将重传次数设置为3,参数范围为3〜8。设置后,将在下次发送数据时生效 |
发送数据
可以在“ LoRa正常模式”和“ LoRaWAN模式”中使用以下命令
- LoRa正常模式:数据将直接发送
- LoRa模式:发送数据前,请按照符合LoRaWAN协议的格式进行封装
指令 | 响应 |
---|---|
AT+SendHex=AABBCCDD012345 | LoRaWAN Mode: +OK +Send Hex Data:AABBCCDD012345 confirmed uplink sending … The node communicates successfully with the gateway and receives the ACK issued by the gateway, which prints. receive data: rssi = -xx, snr = -x, datarate = x LoRa Normal mode: +OK +Send Hex Data:AABBCCDD012345 TX done |
描述 | 发送十六进制字符串“ 0xAA,0xBB,0xCC,0xDD,0x01、0x23、0x45”。只有0到F的十六进制字符必须是偶数位,两位为一个字节,最大为64个字节。 |
发送字符串
指令 | 响应 |
---|---|
AT+SendStr=abcdefghijk | LoRaWAN mode: +OK +Send String:abcdefghijk confirmed uplink sending …<br/>The node communicates successfully with the gateway and receives the ACK issued by the gateway, which prints receive data: rssi = -47, snr = -1, datarate = 0 LoRa Normal mode: +OK +Send String:abcdefghijk TX done |
描述 | 发送字符串“ abcdefghijk”。仅ASCII字符,最多64个字节 |
4.应用实例
4.1通过LoRa正常模式发送数据
1)接通CubeCell的电源(HTCC-AM0x模块需要外部低电平触发复位)
2)唤醒设备:AT + XXX
3)禁用LoRaWAN协议:AT + LORAWAN = 0
4)将工作频率设置为470MHz:AT + FREQ = 470000000
5)扩频因子,发射功率保持默认;
6)发送数据:AT + SendStr = abcdefghijk
4.2通过LoRaWAN模式发送数据
此模式需要与LoRa网关配合使用。
1)接通CubeCell的电源(HTCC-AM0x模块需要外部低电平触发复位)
2)唤醒设备:AT + XXX
3)打开LoRanWAN协议支持:AT + LORAWAN = 1
4)切换到OTAA工作模式:AT + OTAA = 1
5)DevEui,AppKey等参数可以保留默认值,但是您需要确保它们与服务器上注册的参数相对应;
6)连接到网络(如果网关未关闭,则仅连接到网络一次):AT + Join = 1
7)成功访问互联网后发送数据,例如AT-SendHexAABBCCDD012345
8)发送数据后,如有必要,进入睡眠模式:AT-LPM = 1
9)如果在下一个周期唤醒设备,则可以直接发送数据,而无需再次访问网络。