

第一次拿到LoRa模块,很多新手都会问同一个问题:这模块需要自己写协议栈吗?答案是:完全不需要。市面上的主流LoRa模块出厂就支持透明传输模式,你只需要通过串口发数据,另一端就能原样收到,跟用一根虚拟串口线一样简单。本文从透明传输原理、AT指令详解、实战配对通信、自定义协议必要性四个维度,带你零基础入门LoRa模块开发,3分钟跑通第一个无线通信链路。

透明传输是LoRa模块最常用的工作模式。模块内部自动完成数据的打包、调制、发送、接收、解调全流程,用户只需要通过串口把原始数据发给模块,另一端就会原样输出收到的数据——发什么,收什么,整个过程对用户来说就像在用一根"无线串口线"。
以亿佰特E22系列LoRa模块为例,出厂默认参数为波特率9600、8N1、透明传输模式。两个模块接上串口转USB工具,打开串口调试助手,配置好相同参数,直接输入数据,对方就能收到——不需要写任何代码。
通信模式 | 描述 | 适用场景 | 需要写协议吗? |
透明传输 | 串口输入什么,对方就输出什么 | 传感器数据采集、远程控制 | 不需要 |
定点传输 | 发送时附加目标地址和信道,模块选择性接收 | 多节点组网 | 需在数据前加地址头 |
广播传输 | 地址设为0xFFFF,同信道所有模块都能收到 | 批量控制、群发通知 | 不需要 |
监听模式 | 地址设为0xFFFF,监听同信道所有数据 | 协议分析、网络调试 | 不需要 |
对比维度 | AT指令模式(串口) | SPI/寄存器直驱模式 |
开发难度 | 极低 | 较高 |
硬件接口 | 仅需UART串口(2根线) | 需SPI接口(6根线+中断引脚) |
底层控制力 | 有限(模块固件封装了底层) | 完全控制(可自定义调制参数) |
代码量 | 0~10行(串口收发即可) | 500~2000行 |
适用人群 | 新手、快速原型、非嵌入式专业 | 有经验的嵌入式开发者 |
LoRa模块的开发方式主要有两种,各有各的适用场景。
AT指令模式下,模块内部已经固化了完整的通信协议栈,用户只需通过串口发送AT指令即可配置参数和收发数据,是目前最推荐新手入门的方式。SPI直驱模式适合对功耗、速率、频段有特殊要求的进阶开发者。
以亿佰特E22系列LoRa模块为例,AT指令集覆盖配置、查询、收发三大类功能。
通用测试指令: AT(测试通信)、AT+VER(查询固件版本)、AT+REBT(重启模块)、AT+RESTORE(恢复出厂设置)。
无线参数配置指令: AT+ADDR=<addr>(设置地址,0~65535)、AT+CHANNEL=<ch>(设置信道,0~80)、AT+NETID=<id>(设置网络ID,0~255)、AT+KEY=<key>(设置通信密钥)、AT+UART=<baud>,<parity>(设置串口波特率)。
模式切换指令: AT+MODE=<mode>(0=透传模式,1=定点模式,3=配置模式)、AT+EXAT(退出配置模式进入透传)、+++(透传模式下返回命令模式)。
所有AT指令以AT+ 开头,以回车换行结束,返回统一以 +OK 或 +ERR 开头。
下面以两个E22系列LoRa模块为例,演示完整的配对通信流程。
硬件准备: 两个LoRa模块、两个USB转TTL串口工具、杜邦线若干、串口调试助手。
接线方法: 模块的VCC接3.3V,GND接GND,TXD接串口工具的RXD,RXD接串口工具的TXD。M0和M1同时接地进入传输模式。
配置模块A: 打开串口调试助手,设置波特率9600、8N1,发送以下指令:
AT+ADDR=1001 — 设置模块A地址为1001
AT+CHANNEL=23 — 设置信道23
AT+NETID=1 — 设置网络ID为1
AT+MODE=0 — 切换到透传模式
AT+EXAT — 退出配置模式,进入透传
配置模块B: 同样步骤,地址设为1002,信道和网络ID必须与模块A一致。
关键要点: 两个模块的信道、网络ID、密钥、空中速率必须设置一致,否则无法通信。
收发测试: 将两个模块的M0和M1都接地,在模块A的串口助手中输入"Hello LoRa!"并发送,模块B的串口助手中应该立即收到同样的内容。这就是透明传输——发什么,收什么。
虽然透明传输开箱即用,但在实际项目中,有些场景需要加一点简单的协议来保证数据可靠性。
不需要自定义协议的场景: 单向传感器上报(传感器定时发一个数值)、简单的遥控开关(发"ON"开灯、"OFF"关灯)、调试测试环境。
需要自定义协议的场景:
1. 数据粘包:多个数据包连续发送时,接收端无法区分边界。解决方案是在数据前后加帧头和帧尾标记。
2. 数据错误:电磁干扰导致数据位翻转。加CRC校验,接收端校验不通过则丢弃。
3. 丢包:信号遮挡导致数据没发过去。加ACK确认和超时重传机制。
4. 多传感器区分:多个传感器数据混在一起,不知道来自谁。加设备ID字段。
一个简单的自定义协议格式: 帧头(2字节)+ 设备ID(1字节)+ 数据类型(1字节)+ 数据长度(1字节)+ 数据(N字节)+ CRC校验(2字节)+ 帧尾(2字节)。对于新手,建议从最简单的"帧头+数据+帧尾"开始,等系统稳定后再逐步增加校验和重传。
1. 入门期(第1天):用AT指令+透传模式,跑通两个模块对发数据;
2. 进阶期(第2~3天):学习定点模式,实现多节点轮询通信;
3. 实战期(第1周):加入简单的帧头+校验,提高数据传输可靠性;
4. 深入期(第2周):学习SPI直驱模式,实现低功耗休眠唤醒和控制。
LoRa模块开发并没有想象中那么复杂。对于新手来说,AT指令模式加透明传输是最快入门的方式——两个模块上电接好,发数据就能收,3分钟就能跑通第一个通信链路。透明传输模式下,模块内部完成了所有无线通信的底层工作,用户只需要关心自己的数据内容。等基础通信跑通了,再根据项目需求逐步加入定点模式、帧头校验、重传机制等进阶功能,一步步把通信方案做扎实。
亿佰特(Ebyte)作为深耕物联网无线通信领域的国家高新技术企业,提供从无线数传模块到通信设备的全链路产品矩阵,所有产品均通过无线电发射设备型号核准,支持-40~+85℃工业级宽温工作,已在智慧农业、工业物联网、智慧城市等领域规模化落地。
如需进一步了解LoRa模组选型或获取技术支持,欢迎通过以下方式联系亿佰特专业团队:
产品选型与技术咨询:拨打4000-330-990,技术专员一对一解答
技术支持邮箱:support@cdebyte.com
官网了解更多:亿佰特官网—查看完整LoRa模组产品与技术资料
微信公众号:搜索"cdebyte"关注微信公众号,获取最新产品动态与应用方案
相关阅读:
2、LoRa模块从入门到精通:技术原理、选型指南与常见问题全解
7 X 24 销售服务热线:
4000-330-990©© 成都亿佰特电子科技有限公司【版权所有】 蜀ICP备13019384号


