1 | #include <ESP8266WiFi.h>
|
2 | #include <DHT11.h>
|
3 |
|
4 | const char* ssid = "ssid"; // Your ssid
|
5 | const char* password = "password"; // Your Password
|
6 |
|
7 | int pin = 2;
|
8 |
|
9 | WiFiServer server(80);
|
10 | DHT11 dht11(pin);
|
11 |
|
12 | double Fahrenheit(double celsius) {
|
13 | return ((double)(9 / 5) * celsius) + 32;
|
14 | }
|
15 |
|
16 | double Kelvin(double celsius) {
|
17 | return celsius + 273.15;
|
18 | }
|
19 |
|
20 | void setup() {
|
21 | Serial.begin(115200);
|
22 | delay(10);
|
23 | Serial.println();
|
24 |
|
25 | // Connect to WiFi network
|
26 | WiFi.mode(WIFI_STA);
|
27 | Serial.println();
|
28 | Serial.println();
|
29 | Serial.print("Connecting to ");
|
30 | Serial.println(ssid);
|
31 |
|
32 | WiFi.begin(ssid, password);
|
33 |
|
34 | while (WiFi.status() != WL_CONNECTED) {
|
35 | delay(500);
|
36 | Serial.print(".");
|
37 | }
|
38 | Serial.println("");
|
39 | Serial.println("WiFi connected");
|
40 |
|
41 | // Start the server
|
42 | server.begin();
|
43 | Serial.println("Server started");
|
44 |
|
45 | // Print the IP address
|
46 | Serial.println(WiFi.localIP());
|
47 | }
|
48 |
|
49 | void loop() {
|
50 | int err;
|
51 | float temp, humi;
|
52 | if ((err = dht11.read(humi, temp)) == 0)
|
53 | {
|
54 | Serial.print("temperature:");
|
55 | Serial.print(temp);
|
56 | Serial.print(" humidity:");
|
57 | Serial.print(humi);
|
58 | Serial.println();
|
59 | }
|
60 | else
|
61 | {
|
62 | Serial.println();
|
63 | Serial.print("Error No :");
|
64 | Serial.print(err);
|
65 | Serial.println();
|
66 | }
|
67 | WiFiClient client = server.available();
|
68 | client.println("HTTP/1.1 200 OK");
|
69 | client.println("Content-Type: text/html");
|
70 | client.println("Connection: close"); // the connection will be closed after completion of the response
|
71 | client.println("Refresh: 5"); // refresh the page automatically every 5 sec
|
72 | client.println();
|
73 | client.println("<!DOCTYPE html>");
|
74 | client.println("<html xmlns='http://www.w3.org/1999/xhtml'>");
|
75 | client.println("<head>\n<meta charset='UTF-8'>");
|
76 | client.println("<title>ESP8266 Temperature & Humidity DHT11 Sensor</title>");
|
77 | client.println("</head>\n<body>");
|
78 | client.println("<H2>ESP8266 & DHT11 Sensor</H2>");
|
79 | client.println("<H3>Humidity / Temperature</H3>");
|
80 | client.println("<pre>");
|
81 | client.print("Humidity (%) : ");
|
82 | client.println((float)humi, 2);
|
83 | client.print("Temperature (°C) : ");
|
84 | client.println((float)temp, 2);
|
85 | client.print("Temperature (°F) : ");
|
86 | client.println(Fahrenheit(temp), 2);
|
87 | client.print("Temperature (°K) : ");
|
88 | client.println(Kelvin(temp), 2);
|
89 | client.println("</pre>");
|
90 | client.println("<H3>www.elec-cafe.com</H3>");
|
91 | client.print("</body>\n</html>");
|
92 | delay(DHT11_RETRY_DELAY); //delay for reread
|
93 | }
|