大家好,我是程序员小哈。
最近买了两块Ra-01S模组,该模组基于LoRa技术,感兴趣的可以买两个,我们一起玩起来。
LoRa 是一种基于扩频技术的超远距离无线传输方案。这一方案改变了以往关于传输距离与功耗的折衷考虑方式,为用户提供一种简单的能实现远距离、长电池寿命、大容量的系统,进而扩展传感网络。目前,LoRa 主要在全球免费频段运行,包括433、868、915MHz等。
安信可LoRa系列模块(Ra-01S)由安信可科技设计开发。该模组用于超长距离扩频通信,其射频芯片SX1268主要采用LoRa远程调制解调器,用于超长距离扩频通信,抗干扰性强,能够最大限度降低电流消耗。
如果想使用该模组制作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时钟输入 |
其他引脚 | 悬空即可 |
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("XiaoHaGe SysInit OK,version:%s\r\n",SOFT_VERSION);
//测试demo,一个程序只能打开一条测试demo,进入测试demo后将进入死循环,不会返回了
//ExampleSX126xReciveDemo(); //循环接收demo
ExampleSX126xSendDemo(); //定时发送demo
今天我们先让官方的Demo跑起来,后面我们会自己做一个板子,将Ra-01S模组封装起来,然后结合我们的最小系统板制作一个远程控制,如果大家对这个LoRa模组的使用感兴趣的话,请持续关注哈。
如果喜欢文本的话,请给小哈哥点个赞,如果能帮忙点个“在看”或“转发”一下就更感谢啦!~
如果想获取本文相关测试源码,请后台回复关键字:20210809
一个专注于嵌入式知识分享,学习路上不迷路的公众号,欢迎关注。
想加技术交流群的,可以扫码加我微信,让我拉你进群。