Arduino LoRaWAN 库
该存储库包含了封装为在通用平台上运行的简单 LoRaWAN 库,允许使用 SX1272、SX1276 收发器和兼容模块(如某些 HopeRF RFM9x 模块)。
该存储库完全基于 Ideetron B.V. 最初创建的库。这个库经过了轻微修改,这个[仓库](https://github.com/ElectronicCats/Beelan-LoRaWAN/blob/master/ https://git.antares.id/lorawan-loraid/arduino-loraid) 的主要目的是为 Arduino 提供一个具有简单 API 的 LoRaWAN MAC 层。
功能
Arduino LoRaWAN 库支持在 EU-868、AS-923、US-915 和 AU-915 频段运行的 LoRaWAN A 类和 C 类实现。请注意,这个库相当简单,旨在演示 LoRaWAN 的功能。
确定可用的功能:
- 发送上行数据包,考虑占空比。
- 自定义频率和数据速率设置。
- 在 RX1 窗口接收下行数据包(EU-868、AS-923、US-915、AU-915)。
- 空中激活(OTAA / 加入)(EU-868、AS-923)。
- C 类操作。
- 在 RX1 窗口接收下行数据包(US-915)。
- 在 RX2 窗口接收下行数据包。
- 空中激活(OTAA / 加入)(US-915)。
尚未测试的功能:
- 接收和处理 MAC 命令。
如果您尝试了这些未经测试的功能并且可以正常工作,请务必告诉我们(创建 Github 问题可能是最好的方式,您也可以提交拉取请求来改进这个存储库)。
安装库
请参阅 wiki 的入门部分了解安装库的说明。
配置
通过编辑库文件夹中的 config.h
文件,可以配置或禁用许多功能。不幸的是,Arduino 环境没有提供任何方法来从草图中进行这种(编译时)配置,因此在切换草图或更新库时,请务必重新检查您的配置。
至少,您应该在 config.h 中设置正确的板类型,大多数其他值应该保持默认值即可。
使用 US_915 时,您需要选择要使用的子频段,默认为子频段 6。
我们必须在库的 Config.h 中手动设置频率计划(EU_868、US_915、AS_923、AS_923_2...)。
支持的硬件
该库旨在与普通 LoRa 收发器一起使用,通过 SPI 连接。特别是,支持 SX1272 和 SX1276 系列(应包括 SX1273、SX1277、SX1278 和 SX1279,它们仅在可用频率、带宽和扩频因子方面有所不同)。它已经在 SX1272 和 SX1276 芯片上进行了测试,使用 Semtech SX1272 评估板和 HopeRF RFM92 和 RFM95 板(据称分别包含 SX1272 和 SX1276 芯片)。
目前市场上一些支持的预制板包括:
- Electronic Cats BastWAN
- Electronic Cats CatWAN USB-Stick
- Electronic Cats CatWAN 继电器板
- Electronic Cats CatWAN 扩展板
- Cytron Shield LoRa-RFM
- Dragino
本库已在以下设备上进行测试:
- Arduino Uno
- WeMos D1 R2 (ESP8266系列板)
- ESP32
- Electronic Cats CatWAN USB-Stick
- Electronic Cats Bast-WAN (基于SAMR34)
- NINA B302 (NRF52840核心)
- STMDuino
- RENESAS兼容板
连接
为了使这个库正常工作,您的Arduino(或任何Arduino兼容板)应该连接到收发器。具体连接方式取决于所使用的收发器板和Arduino型号,因此本节将尝试解释每个连接的作用,以及在何种情况下(不)需要这些连接。
引脚映射
如上所述,Arduino侧的大多数连接可以使用任意I/O引脚。要告诉Arduino LoRaWAN库这些信息,需要在草图文件中使用引脚映射结构。
例如,它可能如下所示:
sRFM_pins RFM_pins = {
.CS = SS,
.RST = RFM_RST,
.DIO0 = RFM_DIO0,
.DIO1 = RFM_DIO1,
.DIO2 = RFM_DIO2,
.DIO5 = RFM_DIO5
};
API
- 请参阅 API.md。
测试
- 请参阅 测试文件夹
如何贡献
欢迎贡献!
请阅读 贡献手册 文档,该文档将向您展示如何为项目贡献您的更改。
✨ 感谢所有 贡献者! ✨
更多信息请参阅 Electronic Cats CLA。
请查看 社区行为准则 了解我们希望建立的社区愿景以及我们对社区的期望。
维护者
Electronic Cats投入时间和资源提供这个开源设计,请通过购买Electronic Cats的产品来支持Electronic Cats和开源硬件! 感谢Beelan
许可证
本仓库中的大多数源文件均在 MIT许可证 下提供。示例使用更宽松的许可证。部分AES代码在LGPL下提供。请参阅每个单独的源文件以获取更多详细信息。