项目简介
本项目是基于Arduino框架开发的LoRa通信系统。通过对IBM LMIC(LoraMAC-in-C)库进行适度修改,使其能在Arduino环境运行,可使用SX1272、SX1276等收发器及兼容模块,实现LoRa通信协议。
项目的主要特性和功能
- LoRaWAN协议支持:提供较为完整的LoRaWAN Class A和Class B实现,支持EU - 868和US - 915频段。
- 基本通信功能:能考虑占空比进行上行数据包发送;支持加密和消息完整性检查;可在RX2窗口接收下行数据包;支持自定义频率和数据速率设置;支持空中激活(OTAA / 加入网络)。
- 灵活配置:可通过编辑
config.h
文件对部分功能进行配置或禁用。 - 多硬件支持:适用于多种Arduino板,如AVR架构、ARM架构的Arduino,以及ESP8266等,支持SX1272和SX1276系列的LoRa收发器。
- 示例丰富:提供
ttn - abp.ino
、ttn - otaa.ino
和raw.ino
三个示例,分别展示不同的通信方式和功能。
安装使用步骤
安装库
- 使用Arduino库管理器:在Arduino IDE中,选择“Sketch” -> “Include Library” -> “Manage Libraries...”,搜索并安装该库。
- 复制仓库:将该Git仓库复制到你的sketchbook/libraries文件夹。
配置
- 编辑
config.h
文件,设置正确的收发器类型(SX1272 vs SX1276),其他值可使用默认设置。 - 在代码中设置引脚映射,示例如下:
c lmic_pinmap lmic_pins = { .nss = 6, .rxtx = LMIC_UNUSED_PIN, .rst = 5, .dio = {2, 3, 4}, };
编译和上传
- 确保Arduino IDE版本为1.6.6或以上。
- 在Arduino IDE中选择正确的开发板和串口。
- 编译并上传代码到Arduino设备。
运行和测试
将Arduino设备连接到LoRa无线通信模块,运行程序进行功能测试。注意部分未测试功能(如在RX1窗口接收下行数据包、接收和处理MAC命令、Class B操作)使用时需谨慎。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】