|
在本篇文章中,我们将主要介绍如何使用nRF24L01收发器模块在Arduino开发板和NodeMCU ESP8266模块之间进行无线通信,然后将数据上传到Thingspeak服务器,也就是实现ESP8266 nRF24L01 Wifi网关和Arduino nRF24L01节点。
在发送器端,我们将DHT11湿度和温度传感器连接到Arduino开发板,同时连接nRF24L01收发器模块。在接收器端,我们将NodeMCU ESP8266-12E开发板与nRF24L01收发器模块连接,以实现无线显示温度和湿度数据。传感器的湿度和温度数据将上传到Thingspeak服务器上。
所需的组件: ● Arduino Uno开发板 ● DHT11湿度和温度传感器 ● nRF24L01模块 ● NodeMCU的ESP8266-12E ● 连接跳线 ● 面包板
nRF24L01 – 2.4GHz射频收发器模块:
这些RF模块在Arduino创客中非常受欢迎。 nRF24L01模块可用于需要无线控制的各种应用中。它们是收发器,这意味着每个模块都可以发送和接收数据。这些模块非常便宜,您可以将它们与任何微控制器(MCU)一起使用。
nRF24L01模块的规格: ● 低成本单芯片2.4GHz GFSK RF收发器IC ● 带天线的范围:250Kb速率(开放区域)> 1000米 ● 功耗:超低功耗 ● 输入电压:3.3V ● 引脚:5V耐压
nRF24L01模块的引脚排列:
nRF24L01模块的工作过程: 该模块使用2.4 GHz频段,并且可以以250 kbps至最高2 Mbps的波特率运行。如果在开放空间中使用且波特率较低,则其范围可达1000米。
该模块可以使用125个不同的通道,这使在一个地方拥有125个独立工作的调制解调器的网络成为可能。每个通道最多可以有6个地址,或者说每个单元可以同时与最多6个其他单元通信。
电路原理图和硬件连接: 在本文中,我们需要组装两个电路,以使用nRF24L01收发器模块在Arduino板和NodeMCU之间进行无线通信,并将数据上传到Thingspeak服务器上。下面显示的第一个电路图是发送器端部。如下图所示组装电路。它由Arduino Uno、nRF24L01和DHT11湿度和温度传感器组成。
以下是Arduino与NRF24L01的引脚连接: ● MISO连接到Arduino UNO的引脚12 ● MOSI连接到Arduino UNO的引脚11 ● SCK连接到Arduino UNO的引脚13 ● CE连接到Arduino UNO的引脚8 ● CSN连接到Arduino UNO的引脚9 ● NRF24L01的GND和VCC分别连接到Arduino UNO的GND和3.3V
下面显示的第二个电路图是接收器端部分。如下图所示组装电路。它由NodeMCU ESP8266-12E WiFi模块和nRF24L01组成。
源代码/程序: 首先下载这些库并添加到Arduino IDE开发环境中: 1. Radiohead NRF24L01库; 2. iDHT11库。
发送器代码:Arduino NRF24L01节点
接收器代码:ESP8266 NRF24L01网关
Thingspeak设置和数据上传: 1. 访问https://thingspeak.com/,如果没有账户请先创建。登录到您的帐户。 2. 创建一个新频道。使用温度和湿度作为参数。输入频道的基本详细信息。然后向下滚动并保存频道。 3. 然后转到API密钥,将此密钥复制并粘贴到NodeMCU代码中。
因此,代码上传后,您就可以在Thingspeak频道上看到湿度和温度数据。
|