

AT指令是控制LoRa模块最直接的方式就是通过串口发送文本指令,就能完成频率设置、功率调整、数据收发、状态查询等全部操作,无需编写复杂的底层驱动代码。本文以亿佰特E22系列、E32系列、E220系列等LoRa模块为核心,系统梳理AT指令的完整体系,涵盖参数配置、数据收发、模式切换、错误排查四大核心板块,并在文末对比亿佰特、安信可等主流品牌的指令差异,帮你快速建立LoRa模块的AT指令知识框架。

AT指令(Attention Command)最早源于Hayes调制解调器,是一种通过串口发送文本指令控制通信设备的标准化方式。在LoRa模块中,AT指令同样扮演着"人机对话"的角色——用户通过串口发送AT+开头的指令字符串,模块解析后执行相应操作并返回结果。
AT指令的通用格式如下表所示:
指令类型 | 格式 | 示例 | 说明 |
测试指令 | AT | AT | 测试模块是否正常,返回+OK |
设置指令 | AT+<cmd>=<param> | AT+ADDR=1234 | 设置参数值 |
查询指令 | AT+<cmd>? | AT+ADDR? | 查询当前参数值 |
执行指令 | AT+<cmd> | AT+RESTORE | 执行特定功能 |
所有AT指令以(回车换行)结尾,模块返回以+OK或+ERR开头。
以亿佰特E22系列、E220系列、E29系列为代表的主流LoRa模块,AT指令集分为六大类:
指令分类 | 功能 | 代表指令 |
通用测试类 | 模块通信测试、版本查询、复位 | AT、AT+VER、AT+RESTORE、AT+REBT |
无线参数类 | 频率/信道、功率、速率、地址、网络ID、密钥 | AT+CHANNEL、AT+POWER、AT+RATE、AT+ADDR、AT+NETID、AT+KEY |
串口参数类 | 波特率、校验位、封包长度 | AT+UART、AT+PACKET |
工作模式类 | 透传/定点/广播、WOR角色、中继模式 | AT+MODE、AT+TRANS、AT+WOR、AT+ROUTER |
功能配置类 | LBT监听、RSSI输出、休眠唤醒 | AT+LBT、AT+DRSSI、AT+DELAY |
查询状态类 | 查询所有参数、信号强度、链接状态 | AT+HELP?、AT+DEVTYPE?、AT+ADDR? |
LoRa模块的工作频率通过信道号(Channel)来映射,不同频段对应不同的信道范围:
指令 | 功能 | 参数范围 | 示例 |
AT+CHANNEL=<ch> | 设置工作信道 | 0~80(E22系列) | AT+CHANNEL=23 → 433.125MHz |
AT+CHANNEL? | 查询当前信道 | — | 返回+OK=23 |
AT+FREQ=<freq> | 设置精确频率(EWM293系列) | 单位Hz | AT+FREQ=485125000 → 485.125MHz |
注意事项:通信双方的信道必须一致,否则无法通信。信道号对应的频率由模块固件决定,可在产品手册的频率表中查阅。
指令 | 功能 | 参数范围 | 示例 |
AT+POWER=<power> | 设置发射功率 | 0~最大值(不同型号) | AT+POWER=0 → 22dBm/30dBm |
AT+POWER? | 查询当前功率 | — | 返回+OK=0 |
AT+TXP=<p> | 设置发射功率(EWM293系列) | 0~15 | AT+TXP=15 → 最大功率 |
功率与功耗关系:功率每增加3dB,发射电流约增加一倍。在满足通信距离的前提下,建议使用尽量低的功率,以降低系统功耗。
指令 | 功能 | 参数范围 | 示例 |
AT+RATE=<rate> | 设置空中速率 | 0~7或更高 | AT+RATE=7 → 62.5Kbps |
AT+RATE? | 查询当前速率 | — | 返回+OK=7 |
空中速率与通信距离的关系如下表:
空中速率值 | 实际速率 | 参考通信距离 | 适用场景 |
0 | 2.4Kbps | 最远(约16km) | 超远距离、低数据量 |
3 | 9.6Kbps | 较远 | 一般传感器数据 |
7 | 62.5Kbps | 中等 | 多数据量场景 |
速率越低,接收灵敏度越高,通信距离越远。通信双方空中速率必须一致。
地址和网络ID是LoRa模块组网的核心参数,用于区分不同节点和网络:
指令 | 功能 | 参数范围 | 示例 |
AT+ADDR=<addr> | 设置模块地址 | 0~65535 | AT+ADDR=1234 |
AT+ADDR? | 查询当前地址 | — | 返回+OK=1234 |
AT+NETID=<id> | 设置网络ID | 0~255 | AT+NETID=2 |
AT+NETID? | 查询网络ID | — | 返回+OK=2 |
AT+KEY=<key> | 设置通信密钥 | 4位十六进制 | AT+KEY=1234 |
AT+KEY? | 查询密钥 | — | 返回+ERR(安全考虑不可读取) |
通信规则:两个模块要正常通信,必须满足信道一致、网络ID一致、密钥一致三个条件。地址在透传模式下不影响通信,在定点模式下决定目标节点。
指令 | 功能 | 参数说明 | 示例 |
AT+UART=<baud>,<parity> | 设置波特率和校验 | baud:0=1200…7=115200;parity:0=8N1,1=8O1,2=8E1 | AT+UART=3,0 → 9600 8N1 |
AT+UART? | 查询当前串口参数 | — | 返回+OK=3,0 |
指令 | 功能 | 示例 |
AT+PACKET=<packet> | 设置封包长度 | AT+PACKET=0 → 240字节 |
AT+WOR=<role>,<period> | 设置WOR角色和周期 | AT+WOR=0,3 → WOR接收,周期2000ms |
AT+LBT=<lbt> | 设置LBT信道监听 | AT+LBT=1 → 开启发送前监听 |
AT+DRSSI=<rssi> | 开启接收数据RSSI输出 | AT+DRSSI=1 → 开启 |
AT+ERSSI=<erssi> | 开启环境噪声RSSI | AT+ERSSI=1 → 开启 |
AT+TRANS=<mode> | 设置发送模式 | AT+TRANS=1 → 定点模式 |
AT+ROUTER=<router> | 设置中继模式 | AT+ROUTER=1 → 开启中继 |
AT+DELAY=<delay> | 设置唤醒延迟休眠时间 | AT+DELAY=1000 → 1000ms |
AT+SWITCH=<switch> | 软件切换模式开关 | AT+SWITCH=1 → 开启 |
AT+SEARCH=<search> | 空速自适应功能 | AT+SEARCH=1 → 开启 |
透传模式是最简单也最常用的数据收发方式——串口输入什么,对方就输出什么。配置流程如下:
Step 1: 进入AT配置模式
发送: +++ (无回车换行)
返回: +OK
Step 2: 配置模块A
发送: AT+ADDR=1001 → 返回: +OK
发送: AT+CHANNEL=23 → 返回: +OK
发送: AT+NETID=1 → 返回: +OK
发送: AT+MODE=0 → 返回: +OK(透传模式)
Step 3: 进入透传模式
发送: AT+EXAT → 返回: +OK
Step 4: 收发数据
串口输入: "Hello LoRa" → 对方串口输出: "Hello LoRa"
定点模式允许指定数据发送的目标地址和信道,实现精准的单播通信。
Step 1: 配置模块A(主机,地址1001,信道23)
AT+ADDR=1001 → +OK
AT+CHANNEL=23 → +OK
AT+TRANS=1 → +OK(定点模式)
Step 2: 配置模块B(从机,地址1002,信道23)
AT+ADDR=1002 → +OK
AT+CHANNEL=23 → +OK
AT+TRANS=1 → +OK(定点模式)
Step 3: 主机向地址1002、信道23发送"ABCD"
串口发送HEX: 00 03 EA 17 41 42 43 44
说明: 00 03 EA=目标地址1002(小端), 17=信道23, 41~44="ABCD"
对于【EWM293系列】等支持异步工作模式的LoRa模块,数据收发流程更加灵活:
// 配置异步工作模式
AT+WORKMODE=21 // 设置异步工作模式
AT+FREQ=485125000 // 设置频率为485.125MHz
AT+RATE=6 // 设置空中速率
AT+TXP=15 // 设置发射功率为最大
AT+ADDR=04:03:02:01 // 设置终端地址
AT+ADDRFILTER=1 // 打开地址过滤
// 发送数据(HEX格式)
AT+SENDB=0102030405060708090A // 发送16进制数据
指令 | 功能 | 返回示例 |
AT+HELP? | 查询所有AT指令列表 | 返回完整AT指令表 |
AT+DEVTYPE? | 查询模块型号 | DEVTYPE=EWM22A-400R22D |
AT+FWCODE? | 查询固件编码 | FWCODE=7453-0-21 |
AT+VER | 查询版本信息 | 返回版本号 |
AT+INFO | 查询模块完整信息 | 型号、硬件版本、软件版本 |
AT+UART? | 查询当前串口参数 | +OK=3,0(9600 8N1) |
AT+ADDR? | 查询当前地址 | +OK=1234 |
AT+CHANNEL? | 查询当前信道 | +OK=23 |
AT+NETID? | 查询网络ID | +OK=2 |
AT+LINKC | 查询链接状态(LoRaWAN) | +OK=Connect |
返回信息 | 含义 | 常见原因 | 排查方法 |
+ERR | 指令执行失败 | 参数格式错误、超出范围 | 检查指令格式和参数范围 |
无响应 | 模块未收到指令 | 串口参数不匹配、接线错误 | 检查波特率、校验位、接线 |
+ERR=CMD | 不支持的指令 | 该型号不支持此指令 | 查询产品手册确认指令集 |
+ERR=PARAM | 参数错误 | 参数值超出有效范围 | 参考手册确认参数范围 |
+ERR=BUSY | 模块忙 | 正在发送/接收数据 | 稍后重试 |
返回乱码 | 波特率不匹配 | 串口波特率与模块不一致 | 恢复出厂设置后重试 |
问题1:发送AT指令无响应。检查串口接线(TX/RX是否交叉连接);检查波特率设置(大部分LoRa模块出厂默认9600bps 8N1);确认模块是否处于配置模式(E22系列无线模块 需M0=1, M1=0进入配置模式);检查指令结尾(需加回车换行)。
问题2:指令返回+ERR。检查指令格式(AT指令应全部大写,参数格式是否正确);检查参数范围(如AT+CHANNEL=100可能超出信道范围);检查模块固件版本(部分旧版本可能不支持某些指令)。
问题3:配置后无法通信。检查通信双方的信道、网络ID、密钥、空中速率是否一致;检查天线是否安装牢固;使用AT+DRSSI=1开启RSSI输出,确认信号强度。
问题4:恢复出厂设置。发送AT+RESTORE,返回+OK后模块恢复出厂设置并自动重启。
模式 | 用途 | 特点 |
AT指令模式(配置模式) | 参数配置、状态查询 | 串口输入视为AT指令,模块不转发数据 |
透明传输模式(数据模式) | 正常收发数据 | 串口输入直接打包发送,对方原样输出 |
方式一:通过硬件引脚切换(推荐)。E22系列LoRa模块通过M0和M1引脚的状态决定工作模式:
M0 | M1 | 工作模式 | 说明 |
0 | 0 | 传输模式(透传) | 正常收发数据 |
1 | 0 | 配置模式 | 接收AT指令,进行参数配置 |
0 | 1 | 保留 | — |
1 | 1 | 休眠模式 | 超低功耗休眠 |
方式二:通过软件指令切换(部分型号支持)。从配置模式切换到透传模式:发送AT+EXAT;从透传模式切换到配置模式:发送+++(3个加号,不加回车换行),模块返回+OK后进入AT指令模式。
例如EWD95M系列微型导轨式数传电台和E840系列高性能4G DTU,模式切换方式类似:透传模式发送+++进入AT指令模式,AT指令模式发送AT+EXAT或AT+TRANSPARENT进入透传模式。
例如E105系列星闪透传模块,还支持自动进入透传模式:发送AT+SLEAUTOTRANS=1开启后,连接完成自动进入透传模式,断开后自动退出。
功能 | 亿佰特(E22/E32系列) | 安信可(Ra-01/Ra-02系列) | 说明 |
测试指令 | AT → +OK | AT → OK | 返回格式不同 |
设置地址 | AT+ADDR=<addr> | AT+ADDRESS=<addr> | 指令名不同 |
设置信道 | AT+CHANNEL=<ch> | AT+FREQ=<freq> | 亿佰特用信道号,安信可用频率值 |
设置功率 | AT+POWER=<power> | AT+POWER=<power> | 基本一致 |
设置速率 | AT+RATE=<rate> | AT+DR=<rate> | 指令名不同 |
查询版本 | AT+VER → 版本号 | AT+VER → 版本号 | 基本一致 |
恢复出厂 | AT+RESTORE | AT+RESTORE | 基本一致 |
透传→AT | +++ | +++ | 基本一致 |
AT→透传 | AT+EXAT | AT+MODE=0 | 指令不同 |
亿佰特LoRa产品线中,不同系列LoRa模块的AT指令集也存在差异,主要分为三类:
系列一:E22系列、E32系列、E220系列(通用LoRa模块)。
指令集以AT+ADDR、AT+CHANNEL、AT+POWER、AT+RATE、AT+KEY、AT+NETID为核心;
支持AT+TRANS切换发送模式(透传/定点);
支持AT+WOR设置休眠唤醒;
支持AT+LBT信道监听;
支持AT+ROUTER中继模式。
系列二:E77系列、E78系列、EWD95M系列、E106系列(LoRaWAN模块)。
指令集以LoRaWAN协议配置为核心,包括AT+CAPPEUI、AT+CDEVEUI、AT+CAPPKEY(OTAA入网),AT+CNWKSKEY、AT+CAPPSKEY、AT+CDEVADDR(ABP入网),AT+CCLASS(设备类型Class A/B/C),AT+CDATARETE(空速设置),AT+SEND(发送数据),AT+LINKC(查询链接状态)。
系列三:EWM293系列、EWM22A系列、EWM226系列(工业级IO+LoRa)。
指令集包含AT+WORKMODE(工作模式)、AT+FREQ(精确频率)、AT+SENDB(HEX发送),支持AT+ADDRFILTER(地址过滤),支持AT+FRAMECFG(时隙结构配置)。
需求 | 推荐品牌/系列 | 原因 |
简单点对点/点对多点 | E220/E32/E22/E29系列 | 指令简单,透传易用 |
LoRaWAN标准协议 | E77/E78/E870系列 | 完整LoRaWAN指令集 |
工业IO+无线控制 | E860/EWM293/EWM22A系列 | 集成IO控制 |
低成本开发 | 安信可Ra系列 | 价格较低,生态成熟 |
需要多品牌兼容 | 统一使用LoRaWAN标准 | 国际标准协议 |
首先检查串口接线(TX/RX需交叉连接),确认波特率为出厂默认9600bps 8N1;E22系列需将M0置1、M1置0进入配置模式;所有指令必须以结尾。若仍无响应,尝试恢复出厂设置AT+RESTORE。
通信双方必须满足四个一致:信道(AT+CHANNEL)一致、网络ID(AT+NETID)一致、密钥(AT+KEY)一致、空中速率(AT+RATE)一致。此外检查天线是否接好,可开启AT+DRSSI=1查看信号强度。
透传模式(AT+TRANS=0):串口数据直接广播发送,同信道同网络ID的所有节点都能接收,最简单易用。定点模式(AT+TRANS=1):发送数据前需附加3字节地址头(目标地址高/低位+目标信道),可实现精准单播,适合多节点组网。
发送三个加号+++(不加回车换行),模块返回+OK即进入AT配置模式。注意发送+++前后需留至少1秒的静默时间,避免与正常数据混淆。配置完成后发送AT+EXAT返回透传模式。
出于安全考虑,亿佰特LoRa模块的通信密钥不可读取(AT+KEY?返回+ERR),只能设置不能查询。部署时应统一记录各节点密钥,避免遗忘。密钥为4位十六进制,通信双方必须一致。
速率越低,接收灵敏度越高,通信距离越远,但传输速度越慢、单次发送耗时越长、冲突概率增加。应根据实际需求选择:超远距离低数据量用2.4Kbps,一般传感器用9.6Kbps,多数据量场景用62.5Kbps。
AT指令是LoRa模块开发中最直接、最易上手的方式。通过本文,你应该已经掌握了AT指令的完整体系:配置参数(频率/信道、发射功率、空中速率、地址、网络ID、密钥六大核心参数)、收发数据(透传模式和定点模式两种方式)、模式切换(硬件引脚或软件+++/AT+EXAT指令)、错误排查(根据+ERR返回码快速定位)、品牌差异(亿佰特与安信可等主流品牌指令集的核心差异)。
无论你使用哪个品牌的LoRa模块,AT指令的核心逻辑都是相通的——通过串口发送文本指令,控制模块完成通信任务。掌握了这套知识体系,你就能轻松应对90%以上的LoRa模块开发场景。
亿佰特(Ebyte)作为深耕物联网无线通信领域的国家高新技术企业,提供从无线数传模块到通信设备的全链路产品矩阵,所有产品均通过无线电发射设备型号核准,支持-40~+85℃工业级宽温工作,已在智慧农业、工业物联网、智慧城市等领域规模化落地。
如需进一步了解LoRa模组选型或获取技术支持,欢迎通过以下方式联系亿佰特专业团队:
产品选型与技术咨询:拨打4000-330-990,技术专员一对一解答
技术支持邮箱:support@cdebyte.com
官网了解更多:亿佰特官网—查看完整LoRa模组产品与技术资料
微信公众号:搜索"cdebyte"关注微信公众号,获取最新产品动态与应用方案
相关阅读:
2、LoRa模块从入门到精通:技术原理、选型指南与常见问题全解