LoRa32U4II 介绍以及基于Arduino IDE编译环境搭建及测试

5 篇文章 1 订阅
3 篇文章 0 订阅

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需求库

  • LoRa 库文件 0.8.0

编译环境搭建及测试

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>

//LoRa32u4II (868MHz-915MHz) ports
#define SS      8
#define RST     4
#define DI0     7
#define BAND    868E6  //915E6

int counter = 0;

void setup() {
  Serial.begin(9600);
  delay(200);
  //while (!Serial); // comment if LoRa32u4 USB port is not used
 
  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);

  // send packet
  LoRa.beginPacket();
  LoRa.print("hello ");
  LoRa.print(counter);
  LoRa.endPacket();
  counter++;
  delay(1000);
}

发送端串口输出
在这里插入图片描述
LoRaReciver源码

#include <SPI.h>
#include <LoRa.h>

//LoRa32u4II (868MHz-915MHz) ports
#define SS      8
#define RST     4
#define DI0     7
#define BAND    868E6  //915E6

void setup() {
  Serial.begin(9600);
  delay(200);
  while (!Serial);// comment if LoRa32u4 USB port is not used
  
  Serial.println("LoRa Receiver"); 
  LoRa.setPins(SS,RST,DI0); 
  
if (!LoRa.begin(BAND)) {
    Serial.println("Starting LoRa failed!");
    while (1);
  }
}

void loop() {
  // try to parse packet
  int packetSize = LoRa.parsePacket();
  if (packetSize) {
    // received a packet
    Serial.print("Received packet '");

    // read packet
    while (LoRa.available()) {
      Serial.print((char)LoRa.read());
    }

    // print RSSI of packet
    Serial.print("' with RSSI ");
    Serial.println(LoRa.packetRssi());
  }
}

接收端串口输出
在这里插入图片描述

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值