安信可LoRa系列模块(Ra-01S)用户评测初体验
大家好,最近买了两块Ra-01S模组,该模组基于LoRa技术,感兴趣的可以买两个,我们一起玩起来。
LoRa 是一种基于扩频技术的超远距离无线传输方案。这一方案改变了以往关于传输距离与功耗的折衷考虑方式,为用户提供一种简单的能实现远距离、长电池寿命、大容量的系统,进而扩展传感网络。目前,LoRa 主要在全球免费频段运行,包括433、868、915MHz等。
安信可LoRa系列模块(Ra-01S)由安信可科技设计开发。该模组用于超长距离扩频通信,其射频芯片SX1268主要采用LoRa远程调制解调器,用于超长距离扩频通信,抗干扰性强,能够最大限度降低电流消耗。
应用场景?
- 自动抄表
- 智能家居与安防系统
- 工业监视与控制
- 家庭和楼宇自动化
- 远程灌溉系统
- 无线传感器数据采集
Ra-01S引脚定义
Ra-01S 应用电路
封装尺寸
如果想使用该模组制作PCB板,我们必需先知道该模组的封装尺寸
硬件连接
Ra-01S端 |
STM32端 |
备注 |
---|---|---|
3V3 | 3.3V | |
GND | GND | |
RST | PB10 | |
BUSY | PA2 | |
NSS | PA4 | SPI1片选 |
MOSI | PA7 | SPI1数据输入 |
MISO | PA6 | SPI1数据输出 |
SCK | PA5 | SPI1时钟输入 |
其他引脚 | 悬空即可 |
官方Demo
官方开发资料
https://docs.ai-thinker.com/%E5%BC%80%E5%8F%91%E8%B5%84%E6%96%99
打开上面链接,因为我们的模组型号为:Ra-01S,所以我们下载下图框选的例程:
使用Keil软件打开如下工程文件:
修改工程中的BUSY、RST引脚为实际连接的引脚,STM32与Ra-01S通信的接口选择SPI1,供电选择3.3V供电。
因为我们要使用我们公众号自己的核心板进行验证测试,所以将工程配置中的芯片修改为:STM32F103RC。
最后将程序编译下载,打开串口助手,在串口助手中能够正常接收到STM32中打印输出的串口数据,证明,官方Demo运行成功。
移植
官方例程的工程结构跟咱们平时分享的不太一样,为了方便使用,我们将官方Demo移植到我们的工程中,此次移植在最小系统板的例程基础上修改。
拷贝文件
在自己的工程中创建一个新的文件夹SX127X,将官方Demo工程中的HAL文件夹和peripherals文件夹下的radio文件夹拷贝到自己工程的HARDWARE/SX127X文件夹中。
去掉无用文件
因为咱们的工程中已经有了自己的延时函数还有串口1的驱动文件,所以这里不需要下面的几个文件:
包含路径
添加文件至工程中
引用头文件
#include"project_config.h"#include"sx126x_example_send.h"#include"sx126x_example_recive.h"
添加测试代码
printf("XiaoHaGeSysInitOK,version:%s\r\n",SOFT_VERSION);//测试demo,一个程序只能打开一条测试demo,进入测试demo后将进入死循环,不会返回了//ExampleSX126xReciveDemo();//循环接收demoExampleSX126xSendDemo();//定时发送demo
编译下载验证
总结
今天我们先让官方的Demo跑起来,后面我们会自己做一个板子,将Ra-01S模组封装起来,然后结合我们的最小系统板制作一个远程控制,如果大家对这个LoRa模组的使用感兴趣的话,请持续关注哈。