在本教程中,我们将使用 LoRa 模块 SX1278 在 Raspberry Pi 和 Arduino 之间进行点对点通信。 在这里,Arduino 将充当发射器/服务器,而 Raspberry Pi 将充当接收器/客户端。 DHT 11 传感器连接到发射器侧,它将向接收器侧发送温度和湿度数据。 在接收端,Raspberry pi 将在 Cayenne 仪表板上发布这些读数。
零件
电路图
发射器部分 - LoRa 与 Arduino UNO 的接口
在发射器侧,Arduino UNO 与 LoRa 模块和 DHT11 传感器连接。 Arduino UNO 与 LoRa 和 DHT11 的接口如下所示。
接收器部分 - 将 Raspberry Pi 与 LoRa 模块连接起来
在接收器端,树莓派用于从 LoRa 接收器获取数据并将其发送到 Cayenne 平台。
LoRa 模块和 Raspberry Pi 之间的完整连接如下表所示。
用于 LoRa 通信的 Cayenne 设置
Cayenne 是一个物联网平台,可让您控制微控制器。它还用于将任何传感器数据上传到 Cayenne 云。来自 DHT11 传感器的温度和湿度数据将上传到 Cayenne。
首先,登录/注册您的 Cayenne 帐户,然后转到 Cayenne 仪表板并点击“添加新的”,然后点击“设备/小部件”。
Arduino编程LoRa
对于 Arduino 和 Raspberry Pi 之间的通信,使用 Radiohead 库。这个库可以从这里下载。这里 Arduino 作为发射器/服务器工作,并将 DHT 传感器数据发送到 Raspberry Pi。
完整代码
代码分解
像往常一样,通过包含所有必需的库来启动代码。 SPI 库用于 Arduino 和 LoRa 模块之间的 SPI 通信。 RH_RF95库用于LoRa通信,DHT库用于从DHT传感器读取温湿度值。
最后,将值发送到 LoRa 接收器。
用于 LoRa 通信的 Raspberry Pi 设置
Raspberry Pi编程LoRa 通信
这里树莓派用作接收器/客户端,接收 Arduino 传输的 DHT 传感器数据。
完整代码
代码分解
Arduino和Raspberry Pi 通讯建立
详情参阅 - 亚图跨际