· last year · Nov 07, 2023, 08:35 PM
1#include <DHT.h> // Including library for dht
2
3#include <ESP8266WiFi.h>
4
5String apiKey = "TMGSV7U5CQIK5BKU"; // Enter your Write API key from ThingSpeak
6
7const char *ssid = "DELAROSA"; // replace with your wifi ssid and wpa2 key
8const char *pass = "$Dtd50djfA";
9const char* server = "api.thingspeak.com";
10
11#define DHTPIN D2 //pin where the dht11 is connected
12
13DHT dht(DHTPIN, DHT22);
14
15WiFiClient client;
16
17int sen_1 = D5;
18int sen_2 = D6;
19int sen_3 = D7;
20int sen_4 = 9;
21int sen_5 = 10;
22
23int val_1,val_2, val_3, val_4, val_5 = 0;
24
25int led_1 = D0;//default led nodemcu
26
27void setup()
28{
29 Serial.begin(115200);
30 delay(10);
31 dht.begin();
32
33 Serial.println("Connecting to ");
34 Serial.println(ssid);
35
36 pinMode(sen_1,INPUT_PULLUP);
37 pinMode(sen_2,INPUT_PULLUP);
38 pinMode(sen_3,INPUT_PULLUP);
39 pinMode(sen_4,INPUT_PULLUP);
40 pinMode(sen_5,INPUT_PULLUP);
41 pinMode(led_1,OUTPUT);
42
43 WiFi.begin(ssid, pass);
44
45 while (WiFi.status() != WL_CONNECTED)
46 {
47 delay(500);
48 Serial.print(".");
49 }
50 Serial.println("");
51 Serial.println("WiFi connected");
52
53}
54
55void loop()
56{
57 float h = dht.readHumidity();
58 float t = dht.readTemperature();
59 val_1 = digitalRead(sen_1);
60 val_2 = digitalRead(sen_2);
61 val_3 = digitalRead(sen_3);
62 val_4 = digitalRead(sen_4);
63 val_5 = digitalRead(sen_5);
64 delay(500);
65
66 if (client.connect(server,80)) // "184.106.153.149" or api.thingspeak.com
67 {
68 String postStr = apiKey;
69 postStr +="&field1=";
70 postStr += String(t);
71 postStr +="&field2=";
72 postStr += String(h);
73 postStr +="&field3=";
74 postStr += String(val_1);
75 postStr +="&field4=";
76 postStr += String(val_2);
77 postStr +="&field5=";
78 postStr += String(val_3);
79 postStr +="&field6=";
80 postStr += String(val_4);
81 postStr +="&field7=";
82 postStr += String(val_5);
83 postStr += "\r\n\r\n";
84
85 client.print("POST /update HTTP/1.1\n");
86 client.print("Host: api.thingspeak.com\n");
87 client.print("Connection: close\n");
88 client.print("X-THINGSPEAKAPIKEY: "+apiKey+"\n");
89 client.print("Content-Type: application/x-www-form-urlencoded\n");
90 client.print("Content-Length: ");
91 client.print(postStr.length());
92 client.print("\n\n");
93 client.print(postStr);
94
95 Serial.print("Temperatura: ");
96 Serial.print(t);
97 Serial.print(" Celcius, Humidad: ");
98 Serial.print(h);
99 Serial.print(" Nivel1: ");
100 Serial.print(val_1);
101 Serial.print(" Nivel2: ");
102 Serial.print(val_2);
103 Serial.print(" Nivel3: ");
104 Serial.print(val_3);
105 Serial.print(" Nivel4: ");
106 Serial.print(val_4);
107 Serial.print(" Nivel5: ");
108 Serial.print(val_5);
109 Serial.println("");
110 Serial.println("%. Send to Thingspeak.");
111 }
112 client.stop();
113 Serial.println("Waiting...");
114
115 // thingspeak needs minimum 15 sec delay between updates
116 delay(1000);
117}
118