目录
1、概述
才开始接触Lora,记录一下在调试中遇到的一些问题,比如接线,bug排查。第一次接触真的很容易遇到问题,所以记录一下,方便复习,同时也希望给后续有这方面内容的伙伴们提供一点思路。
2、实验环境
软件:Win11、串口助手(sscom5.13.1)和配置软件(RF_Setting(E22-E9X(XL)))。
硬件:Lora模块(E22-400T30S)* 2
TTL串口转USB模块 * 2
串口转usb转化器 * 2
电源适配器12V,1.5A * 2
杜邦线8根
接线帽*8
3、了解模块
具体的还是得看用户手册,放下面了,大家自取
链接:https://pan.baidu.com/s/1YqmZN7XYD0uaFEtXClDekw?pwd=ga19
提取码:ga19
4、硬件线路连接
方式1、使用TTL串口转化USB模块
具体如下图,M0、M1如果接上跳线帽就代表接地为0,拔下跳线帽接电压就为1。RX和TX如果不通的话,就互换,主要看你的TLL串口转化USB模块,我这个就是RX接RX,TX接TX。供电就直接用电源适配器,方便好用,但是得注意适配器是否正常使用。
方式2、使用串口转USB转化器
直接使用产品自带的串口转USB转化器,也可以直接互通数据,且含有接地
接线说明
//2个lora模块
M0--输入(极弱上拉)--和M1配合,决定模块的4种工作模式(不可悬空,如不使用可接地)
M1--输入(极弱上拉)--和M0配合,决定模块的4种工作模式(不可悬空,如不使用可接地)
TXD--输出--TTL串口输出,连接到外部 RXD 输入引脚;
RXD--输入--TTL串口输入,连接到外部 TXD 输出引脚;
AUX--输出--用于指示模块工作状态;用户唤醒外部MCU,上电自检初始化期间输出低电平;(可以悬空)
VCC--VCC供电--直接连接5V
GND--GND供地--直接连接GND
在文档中有说明模式设置,如下图,主要是设置M0和M1,我们主要是使用传输模式和配置模式。
以下连接都使用方式二进行,主打一个便捷
传输模式下:
M0、M1都接上跳线帽
此时M0、M1都为0,即为传输模式
配置模式下:
M1--VCC
M1旁边的G悬空 因为转化器有接地
M0插上跳线帽
此时M1为高电平,M0为低电平,即为配置模式
5、通信测试
5.1、透传模式
透传模式即发送什么接收说明,在同一频率下的模块会无差别接收。
第一步:进入配置模式
在配置模式(M1为高电平,M0为低电平)下,使用厂商自带的配置软件RF_Setting,打开串口,先点击“恢复出厂设置”的默认参数,再点击写入参数,然后关闭串口。
第二部:进入通信模式
再将模式改为通信模式(M0、M1都为低电平)
修改波特率为9600,发送数据
如果引入更多模块,一个模块发送,其余模块都会一起接收到同样的数据
问题排查:
如果遇到A发送数据,B能够接收,但是B发送数据,A不能够接收,那么就是电源适配器的供电问题,换一个电源适配器即可
5.2、定点传输
透传模式对数据没有任何要求,而定点模式对数据有一定的要求,在发送数据时,要先输入两个字节的模块地址+一个字节的通信信道,之后再输入你需要传输的数据,接收方会在识别之后自动过滤模块地址以及通信信道。
注:1、模块地址的范围为0~65535,通信信道的范围为0~83
2、模块地址要设置为不一样的
3、定点传输时需指定模块地址+通信信道
第一步:进入配置模式--写入参数
需要修改传输方式以及模块地址,切记模块地址不能相同
第二步:进入传输模式--传输实验
在模块地址为0的模块,给模块地址为1的发数据,00 01 17 XXXX
在模块地址为1的模块,给模块地址为0的发数据,00 00 17 XXXX
其中前两个字节00 0X为模块地址,第三个字节是通信信道,配置软件上为十进制的23,转换为十六进制的17,XXXX为要发送的内容
5.3、传播传输
广播发射只对通信信道有要求,一对多发射,主机的发送模块地址为FF FF,通过通信信道选择接收方,如下图
6、其他测试
自己做了一个网络ID和密钥的测试,实验结果如下
是否能通信 | 网络ID相同 | 网络ID不同 |
密钥相同 | 能通信 | 不能通信 |
密钥不同 | 不能通信 | 不能通信 |
注:网络ID范围0~255
密钥范围0~65535
每次重启设备,密钥会自动改为0