目录
- LoRa 模块LoRa32u4 II介绍
- LoRa32u4 II 资料下载
- LoRa32u4 II 规格介绍
- LoRa32u4 II 脚位说明
- 编译环境介绍
-
- 编译环境搭建及测试
- LoRa32u4 II 测试硬件接线图
- 编译环境搭建说明
LoRa 模块LoRa32u4 II介绍
产品图片
LoRa32u4 II 资料下载
链接: https://pan.baidu.com/s/1r9Y6BlBPdMJ0OjWSuVJn5g 提取码: 5z2z
LoRa32u4 II 规格介绍
特性
- 使用 LoRa 协议进行长距离通信
- 超低功耗
- 板载 LiPo 电池充电和管理
- Arduino IDE 兼容性
一般规格
- MCU:Atmega® 32u4 3.3V @ 8MHz
- ROM:32K
- RAM:2K
- 逻辑电平:3.3V
电源规格
- 工作电压:3.3V – 5.0V
- JST PHR 2.0mm 间距电池连接器
- 超低压差 600mA 3.3V 稳压器 - 专用 LiPo 充电和控制 IC
- 发射电流:128mA for 70mS
- 无睡眠接收电流:14mA
- 电流 空闲 + 监听:11mA
- 电流 接收 + 睡眠:1mA
- 当前超级睡眠:300uA
- LiPo 充电电流:100mA(默认设置)1000mA(最大值)
- 电池电压监控通道
LoRa 规格
- 芯片组:Semtech® SX1276
- 天线插座:uFL (IPEX)
- 允许使用线天线的针孔
- 与 MCU 的硬件 SPI 通信
- 发射功率:+20dBm
- 接收灵敏度:
-139dBm LoRa 62.5Khz SF12 146bps
-13162dBh LoRa SF12 293bps
-118dBm LORA 125KHZ SF6 9380bps
-123dBm FSK 5KHZ 1.2Kbps
-117dBm FSK 5KHZ 4.8Kbps
-110dBm FSK 20KHZ 38.4Kbps - FIFO:64字节•数据速率:FSK 1.2K〜300Kbps的LORA 0.018K〜37.5Kbps
- 调变:FSK ,MSK,GFSK,GMSK,LoRa,OOK
- 工作频率:868MHz - 915MHz
- 数字 RSSI 功能
- 自动频率校正
- 自动增益控制
- RF 唤醒功能
- 低电压检测和温度传感器
- 快速唤醒和跳频
- 高度 可配置的数据包处理
- 天线分集和 TX/RX 切换控制
LoRa32u4 II 脚位说明
编译环境介绍
电脑系统
- Windows 10 64位 系统版本没有要求,此版本为此次测试版本
编译软件
- Arduino 1.8.13 版本没有要求,此版本为此次测试版本
官网链接:https://www.arduino.cc/en/software
Arduino需求库
编译环境搭建及测试
LoRa32u4 II 测试硬件接线图
编译环境搭建说明
1. 安装Arduino IDE,从官网下载对应的系统的软件
官网链接:https://www.arduino.cc/en/software
2. 安装LoRa32u4 II USB驱动 adafruit_drivers.exe ,安装文件已共享在百度网盘
链接: https://pan.baidu.com/s/1r9Y6BlBPdMJ0OjWSuVJn5g 提取码: 5z2z
注:
必须安装usb串行(VCP,虚拟Com端口)的驱动程序。这仅适用于Windows,Mac OSX和Linux用户不必安装驱动程序(在大多数情况下)。
3. 安装LoRa32u4 II 开发板文件
把BSFrance文件夹放入 : Documents/Arduino/hardware(此处为Arduino的安装目录里面,如下图)
参考Github链接:https://github.com/BSFrance/BSFrance-avr
注:
Documents/Arduino是默认位置,如果使用其他位置,则原则仍然相同。如果Documents/Arduino中没有任何硬件文件夹,请创建它并解压缩其中的BSFrance存储库。如果您已经有一个BSFrance文件夹,您可以直接将STM32文件夹放入其中
4、LoRa库文件安装
启动Arduino IDE,在“项目-库管理器”里安装LoRa库文件(如下图)
5、打开一个例程并选择对应的板子烧录测试一下
下载完库后会有对应例程,可以尝试打开示例测试一下,此次使用的是LoRaReciver例程测试,打开后在工具/板菜单中选择BS32U4/LoRa32u4II板,在工具/端口菜单中选择正确的串行端口。(如下图)
6、两个板子分别烧录“LoRaSender”和“LoRaReciver”程序并测试
注
此例程在百度网盘资料里,不能直接使用LoRa库里的例程
链接: https://pan.baidu.com/s/1r9Y6BlBPdMJ0OjWSuVJn5g 提取码: 5z2z
LoRaSender源码
#include <SPI.h>
#include <LoRa.h>
#define SS 8
#define RST 4
#define DI0 7
#define BAND 868E6
int counter = 0;
void setup() {
Serial.begin(9600);
delay(200);
LoRa.setPins(SS,RST,DI0);
Serial.println("LoRa Sender");
if (!LoRa.begin(BAND)) {
Serial.println("Starting LoRa failed!");
while (1);
}
Serial.print("Sending packet: ");
}
void loop() {
Serial.print("Sending packet: ");
Serial.println(counter);
LoRa.beginPacket();
LoRa.print("hello ");
LoRa.print(counter);
LoRa.endPacket();
counter++;
delay(1000);
}
发送端串口输出
LoRaReciver源码
#include <SPI.h>
#include <LoRa.h>
#define SS 8
#define RST 4
#define DI0 7
#define BAND 868E6
void setup() {
Serial.begin(9600);
delay(200);
while (!Serial);
Serial.println("LoRa Receiver");
LoRa.setPins(SS,RST,DI0);
if (!LoRa.begin(BAND)) {
Serial.println("Starting LoRa failed!");
while (1);
}
}
void loop() {
int packetSize = LoRa.parsePacket();
if (packetSize) {
Serial.print("Received packet '");
while (LoRa.available()) {
Serial.print((char)LoRa.read());
}
Serial.print("' with RSSI ");
Serial.println(LoRa.packetRssi());
}
}
接收端串口输出
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)