哈喽,大家好,本期跟大家带来的是安信可LoRa模组通讯测试,这一对小宝贝也是从电子芯吧客官网申请而来的,在我抽屉里已经放了好多天了,最近有点时间,赶紧来测试测试。小飞哥最近一直在玩无线通讯,有兴趣的伙伴可以一起交流哈,话不多说,还是直接进入正题。 先来看一张模块的靓照,小而精美:
stm32f103c8t6最小系统:
实现目标:
利用stm32f103c8t6作为主控,通过SPI接口实现两个LoRa模块之间的通信。
硬件准备:
两块stm32f103c8t6或者其他主控板
两个LoRa Ra-01S模块
两个USB转串口(TTL)工具
软件准备:
Keil5
串口调试助手
资料地址:
https://github.com/Mr-Wyff/Ra-01S-LoRa.git
测试结果:
主机发送:Embeded-Party,从机回复:Hello-Everyone
一、Ra-01S模组简介
该模组用于超长距离扩频通信,其射频芯片 SX1268 主要采用 LoRa远程调制解调器, 用于超长距离扩频通信,抗干扰性强, 能够最大限度降低电流消耗。借助 SEMTECH 的 LoRa™专利调制技术,SX1268 具有超过-148dBm 的高灵敏度,+22dBm 的功率输出,传输距离远,可靠性高。同时,相对传统调制技术,LoRa调制技术在抗阻塞和选择方面也具有明显优势,解决了传统设计方案无法同时兼顾距离、抗干扰和功耗的问题。
主要特性:
① LoRa调制解调器
② 支持 FSK、GFSK、MSK、GMSK、LoRa™及 OOK 调制方式
③ 支持频段 410MHz~525MHz
④ 工作电压为 3.3V,最大输出 +22dBm ,最大工作电流为 140mA
⑤ 接收状态下具有低功耗特性,接收电流最低为 4.5mA ,待机电流为 1.6mA
⑥ 高灵敏度:低至-140dBm
⑦ 小体积双列邮票孔贴片封装
⑧ 模块采用 SPI 接口,使用半双工通信,带 CRC、高达256字节的数据包引擎
主要参数:
电气特性:
数字端口特性:
PIN引脚定义:
应用电路:
推荐模组封装设计尺寸: 注意:此为Ra-01S 模组封装图,推荐依照此图来设计PCB板,使模组能在PCB 板上正常工作;且设计焊盘时需注意,不能把 PCB上的焊盘设计的比模组对应焊盘内缩偏移,而 PCB焊盘相对模组焊盘外扩则不影响模组使用。
二、软件实现
软件驱动包可以在我上面提供的地址下载,或者到安信可官网下载,里面有两个demo包,本次测试的是自动收发的代码,下载完成后,上电就可以自动收发啦,想要按键控制的,可以下载另外一个代码,安信可代码地址:
https://docs.ai-thinker.com/%E5%BC%80%E5%8F%91%E8%B5%84%E6%96%99
RA-01S与单片机硬件连接:
Ra-01S | STM32F103C8T6 |
---|---|
NSS | PA4 |
SCK | PA5 |
MOSI | PA6 |
MISO | PA7 |
RST | PB1 |
BUSY | PA0 |
DIO1 | PA1 |
DIO3 | PA11 |
USB转串口模块与MCU连接:
USB转串口 | STM32F103C8T6 |
---|---|
RXD | PA9(TXD) |
TXD | PA10(RXD)可不接 |
GND | GND |
下载接口:
我用的是最小系统,只有SWD接口,所以下载接线图是按照SWD方式接线的
STLINK/JLINK | STM32F103C8T6 |
---|---|
VCC | VCC(3.3V) |
SWD | SWD |
CLK | CLK |
GND | GND |
软件实现:
打开工程后,在main函数修改此处,一个模组作为主机,另一个作为从机,原始代码主机发送“PING”,从机接到后回复“PONG”,若没有收到会出现接收超时的提示,要先给从机上电,在主机,实际测试,不分也可以通讯成功,建议大家还是先从后主,官方给出的上电顺序,避免出现不必要的麻烦。
需要注意的是,当出现init OK的时候并不能说明你的SPI接线是正确的,只是对IO初始化成功了,即使SPI线接错了,也会报OK的,不要问我为什么知道。。。相信接线对细心地小伙伴绝不是什么问题。。。
主函数初始化部分主要是对发射、接收、超时、失败函数做了一些初始化,看源码时不明白的,那么你的函数指针需要下点功夫咯。
然后,小飞哥为了给自己打波广告,修改了原始的发送、回复内容,这部分大家看源码吧,就不啰嗦了,别忘了CRC校验部分,观察数据会发现,Embeded-Party后面似乎还有个乱码小尾巴,那就是CRC校验的值,不是我们接受错误了,注意一下就可以了,测试结果图在文章开始部分。
本次要分享的内容就要结束啦,介绍的也比较浅显,更深入的使用,可以添加小飞哥好友,一起探讨,小飞哥也还在研究中,希望对大家对于LoRa通讯模组的使用有个了解,不足之处,大家多多指教哈。
如果你觉得对自己有帮助的话,给个赞,点个关注,点个在看,感谢前进的道路上有你的陪伴!
欢迎大家关注Embeded小飞哥,让我快点遇到优秀的你,然后一起变得更加优秀,加油!!!小飞哥微信号:w974762670,加好友进群一起交流呀!