前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Ra-01S LoRa模组通讯实验

Ra-01S LoRa模组通讯实验

作者头像
用户8913398
发布2021-08-16 16:06:05
1.6K0
发布2021-08-16 16:06:05
举报
文章被收录于专栏:嵌入式实验基地

哈喽,大家好,本期跟大家带来的是安信可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,加好友进群一起交流呀!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-01-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 小飞哥玩嵌入式 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档