WiFi ESP8266 和 DHT22 传感器
组件和用品
![]() |
| × | 1 | |||
![]() |
| × | 1 | |||
![]() |
| × | 1 | |||
![]() |
| × | 1 | |||
![]() |
| × | 1 | |||
![]() |
| × | 1 |
关于这个项目
我想设计一个小型气象站,并用它来长时间自动跟踪室外天气变量并记录到电子表格中。这真的只是为了好玩,了解这些天气因素在我所在县和家里的表现如何。我县农民条件很好,出产蔬菜等绿色食品。过量。为我们的主要城市卖食物。
第一步

步骤 2
将ESP8266与Arduino连接,并从IDE上传代码。

使用串口将代码直接上传到ESP8266模块。请记住,一旦执行此操作,原始固件将被删除。如果您想在 ESP8266 中再次使用原始固件,您将需要一个很长的过程来做到这一点。看看这个视频,它可以给你一个捷径。
步骤 3
连接 DHT22 传感器:



第 4 步
检查您与之前配置的 Thingspeak 频道的通信:





这些是与您的频道通信的强制性代码行:
#include unsigned long myChannelNumber =167x1x; const char * myWriteAPIKey ="VXXXXV86RWRXX9Y"; ThingSpeak.writeField(myChannelNumber, 1, h, myWriteAPIKey);延迟(20000); ThingSpeak.writeField(myChannelNumber, 2, t, myWriteAPIKey);延迟(20000);
第五步
请记住,您的 ESP8266 需要大量电流,因此失败的原因是您需要从 PC USB 端口和外部电源为其供电。


步骤 6
如果您可以在一个频道中记录 8 个字段,请开始考虑您可以向您的站点添加哪些其他天气传感器 - 气压?也许吧!
代码
- temphumwifi.ino
temphumwifi.inoArduino
#include/* 开发人员:hernando Bolanos - Colaborations - wifi 模块的原始代码和库以及上传到 GITHUB 的代码,用于根据每个作者将信息发送到 Thinhspeak-Libraries * * 此代码发送到 Thingspeak DHT22数据每 20 秒 - 使用 wifi * 该程序不使用 arduino,仅使用 GPIO2 接收 DHT22 传感器信息并将其解复用。如何从 arduino IDE 直接加载到 de esp8266 是一个挑战 - 看看“youtube 上的 el profe garcia 视频”*/#include //cargamos la librera DHT#define DHTPIN 2 //Seleccionamos el pin en el que se conectar el sensor#define DHTTYPE DHT22 //Se selecciona el DHT22(hay otros DHT)DHT dht(DHTPIN, DHTTYPE); //Se inicia una variable que ser usada por Arduino para comunicarse con el sensor#include unsigned long myChannelNumber =167319;const char * myWriteAPIKey ="XXXP9V86RWR7R9Y";const char* ssid ="XXXX ";const char*密码 ="XXXX"; WiFiClient 客户端;// 创建服务器实例// 指定要监听的端口作为参数WiFiServer server(80);void setup() { Serial.begin(115200);延迟(10); dht.begin(); //Se inicia el sensor // 连接到 WiFi 网络 Serial.println(); Serial.println(); Serial.print("连接到"); Serial.println(ssid); WiFi.begin(ssid, 密码);而(WiFi.status()!=WL_CONNECTED){延迟(500); Serial.print("."); Serial.println(""); Serial.println("WiFi 已连接"); // 启动服务器 // server.begin(); // Serial.println("服务器启动"); // 打印 IP 地址 Serial.println(WiFi.localIP());ThingSpeak.begin(client); }void loop() {float h =dht.readHumidity(); //Se lee la humedad float t =dht.readTemperature(); //Se lee la tempatura //Se imprimen las variables Serial.println("Humedad:"); Serial.println(h); Serial.println("温度:"); Serial.println(t);延迟(2000); //Se espera 2 segundos para seguir leyendo //datos ThingSpeak.writeField(myChannelNumber, 1, h, myWriteAPIKey);延迟(20000); ThingSpeak.writeField(myChannelNumber, 2, t, myWriteAPIKey);延迟(20000); }
示意图

制造工艺