库地址:https://github.com/jgromes/RadioLib
库api与实例解释:https://jgromes.github.io/RadioLib/index.html
此页面的目的是提供库 API 的基本用法的概述。有关每个支持的无线电模块的详细信息,请参阅提供的示例。
独立模块
- 将无线模块连接到 Arduino。这包括连接 SPI 总线以及一些 GPIO 引脚。额外的引脚用于 SPI 芯片选择、硬件复位和 GPIO 或中断。每个模块使用略有不同的设置。例如,一些模块可能只有一个中断引脚,而其他模块可能有多个。一些模块可能有复位引脚,其他模块可能没有。
- 向库提供引脚设置。这是使用Module以下格式的构造函数完成的:Module(cs, irq, rst, gpio). 例如:RF69 rf = new Module(10, 2, 3);
- CS:这是用作 SPI 片选的引脚。
- IRQ:这是中断引脚,通常连接到Arduino上的外部中断。这是模块告诉 Arduino 发生了什么事情的一种快速方法——例如,收到了一个数据包。所有 SPI 模块都至少有一个中断引脚。
- RST:大多数模块都有一个硬件复位引脚。如果模块没有复位或芯片使能引脚(例如 CC1101),则设置rst为RADIOLIB_NC。
- GPIO:这是第四个可能的引脚。它对于大多数模块是可选的,但对于某些模块可能是必需的。SX127x 需要额外的中断引脚来执行 CAD 和阻塞接收。SX126x 也将此引脚用作 BUSY 指示引脚。如果不使用,此引脚可以不分配,或设置为RADIOLIB_NC。
- 创建对象后,必须使用该begin()方法初始化模块。通常,这是在 Arduinosetup()函数中完成的。如果要更改模块设置,可以通过为begin()方法提供适当的值来完成。
-
使用RadioShield
将无线模块插入两个插槽中的任何一个,然后使用跳线引脚选择所需的通信通道/GPIO 引脚。
- 在 Arduino 代码中,选择模块插入的插槽。例如,假设 SX1278 模块插入插槽 A:
SX1278 lora = RadioShield.ModuleA; - 创建对象后,必须使用该begin()方法初始化模块。通常,这是在 Arduinosetup()函数中完成的。如果要更改模块设置,可以通过为begin()方法提供适当的值来完成。
- 此时,您的模块已准备好发送或接收您想要的任何数据!