项目简介
本项目是经修改后可在Arduino环境运行的IBM LMIC(LoraMAC-in-C)库,支持SX1272、SX1276收发器及兼容模块。它提供完整的LoRaWAN Class A和Class B实现,支持EU - 868和US - 915频段,助力开发者在Arduino平台实现LoRaWAN通信功能。
项目的主要特性和功能
- LoRaWAN功能实现:实现完整的LoRaWAN Class A和Class B功能,支持设备入网、数据收发及网络消息处理。
- 硬件适配:支持SX1272和SX1276系列收发器,可与多种Arduino板配合使用。
- 数据传输:支持考虑占空比的上行数据包发送、RX2窗口的下行数据包接收,支持自定义频率和数据速率。
- 安全机制:具备加密和消息完整性检查功能。
- 网络激活:支持空中激活(OTAA / 加入)方式。
安装使用步骤
安装库
- 使用Arduino库管理器安装:选择“Sketch” -> “Include Library” -> “Manage Libraries...”进行安装。
- 复制仓库安装:将此Git仓库复制到你的sketchbook/libraries文件夹。
配置
- 编辑库文件夹中的
config.h
文件,配置或禁用部分功能,至少设置正确的收发器类型(SX1272或SX1276)。 - 在草图文件中设置引脚映射,示例如下:
c lmic_pinmap lmic_pins = { .nss = 6, .rxtx = LMIC_UNUSED_PIN, .rst = 5, .dio = {2, 3, 4}, };
运行示例
本库提供三个示例:
- ttn - abp.ino
:使用激活-by - 个性化(ABP)方式发送“Hello, world!”消息,支持数据包接收。
- ttn - otaa.ino
:使用空中激活(OTAA)方式发送“Hello, world!”消息。
- raw.ino
:展示如何在较低级别访问无线电,可直接在节点之间发送原始(非LoRaWAN)数据包。
编译运行
根据硬件平台和网络环境,配置相关参数和设置,然后编译并运行项目,测试LoRaWAN功能是否正常。
注意事项
- 该库部分功能未充分测试,使用未测试功能时需谨慎。
- 若遇到下行链路和OTAA问题,可调整时钟误差尝试解决。
- 不同网络的下行数据速率可能不同,使用时需根据实际情况设置。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】