简介
这里展示了如何使用 WiFi 连接读取传感器数据并将其从 NodeMCU ESP8266MOD 板传输到 PC 或移动设备或其他设备浏览器。如果您想获取传感器数据或其他类型的数据并通过 wifi 将其发送到本地服务器或在 Internet 上发布数据,则这是必需的。这允许人们创建物联网 (IoT) 设备和 IoT 项目。在此演示中,我们将使用 NodeMCU 板从 DHT11 传感器获取湿度和温度数据,然后通过 WiFi 网络将该传感器数据无线发送到 PC。
硬件和接口
这里使用 NodeMCU ESP8266 板,它是具有 wifi 功能的微控制器板。下面显示了 NodeMPCU ESP8266MOD 板。
这里使用的湿度和温度传感器是 DHT11,它有四个引脚,但 DHT 传感器分线板有三个引脚。在这里,我们将使用 DHT 传感器面包板。该 DHT 传感器板具有 Vcc 引脚、数字输出引脚和接地引脚。在这里,我们将 DHT11 传感器数字引脚连接到 nodemcu 板的 GPIO05(数字引脚 D1)。
下图为DHT11传感器模块。
下面的电路图显示了如何将 DHT11 传感器的数字输出引脚连接到 NodeMCU 板的 GPIO05(数字引脚 D1)。
DHT11传感器Vcc引脚连接到nodemcu板的3.3V引脚,接地引脚连接到nodemcu板的接地引脚。因此,DHT11 传感器模块使用 NodeMCU 板 3.3V 供电。
下面显示了连接到面包板并连接到 DHT11 的 Nodemcu 板。
为了给 NodeMCU 供电,使用了连接到 NodeMCU 板的 Vin 引脚的 5V 稳压电源。如下所示。
软件与编程
NodeMCU 使用 Arduino IDE(开源且可免费下载)进行编程。除了 Arduino IDE,我们还需要安装两个库(wifi 和 DHT11)和一个头文件(aRest)。
1. DHT11传感器库
该库使我们可以轻松编写用于控制和从传感器获取数据的代码。它可以通过 Arduino IDE 中的库管理器安装。带 Arduino的 DHT11 湿度温度传感器教程解释了如何安装此库。
2.WiFi库
使用这个库,我们可以创建 wifi 连接并使 wifi 编程更容易。该库也可以通过 Arduino IDE 中的库管理器安装。如何安装这个 wifi 库在教程LED Blink using ESP8266 & Arduino IDE with Video and Pictures中有解释。
3.aRest头文件
需要此头文件才能将数据从 NodeMCU 发送到 PC、手机或任何其他设备浏览器。那就是 REST 框架用于通过 WiFi 连接发送数据。这个头文件可以从下面的链接下载。
https://github.com/marcoschwartz/aREST/blob/master/aREST.h
源代码
以下是从 NodeMCU 读取传感器数据并将其传输到 PC 或任何设备浏览器的完整代码
// Import required libraries
#include "ESP8266WiFi.h"
#include "aREST.h"
#include "DHT.h"
// WiFi parameters
const char* ssid = "yourWiFiSSID";
const char* password = "yourWiFipassword";
// declare port number for listening incoming TCP connections
#define LISTEN_PORT 80
// Create an instance of the server
WiFiServer server(LISTEN_PORT);
// Create aREST instance
aREST rest = aREST();
// DHT11 sensor pins
#define DHTPIN 4
#define DHTTYPE DHT11
// Initialize DHT sensor
DHT dht(DHTPIN,