public
Authored by
null pointer
wifi-enabled temperature probe server (nodemcu, ds18b20)
Edited
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
#include <ESP8266WiFi.h>
#include <ESP8266WebServer.h>
#include <OneWire.h>
#include <DallasTemperature.h>
// nodemcu and arduino pins vary in number!
#define ONE_WIRE_BUS 4
// Setup a oneWire instance to communicate with any OneWire device
OneWire oneWire(ONE_WIRE_BUS);
// Pass oneWire reference to DallasTemperature library
DallasTemperature sensors(&oneWire);
/*Put your SSID & Password*/
const char* ssid = "XXXXX"; // Enter SSID here
const char* password = "XXXX"; //Enter Password here
ESP8266WebServer server(80);
void setup() {
// start sensors
sensors.begin();
// start serial port
Serial.begin(9600);
delay(100);
// wait until wifi is connected
Serial.println("connecting to ");
Serial.println(ssid);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.print(".");
}
Serial.println("");
Serial.println("wifi connected...");
Serial.print("IP is "); Serial.println(WiFi.localIP());
// handle incoming requests
server.on("/", handle_OnConnect);
server.on("/temp", handle_onTemp);
server.onNotFound(handle_NotFound);
server.begin();
Serial.println("webserver started");
}
void loop() {
server.handleClient();
}
void handle_OnConnect() {
server.send(200, "text/ascii", SendHTML());
}
void handle_NotFound(){
server.send(404, "text/plain", "Not found");
}
void handle_onTemp() {
sensors.requestTemperatures();
server.send(200, "text/plain", SendTemp());
}
String SendHTML(){
String ptr = "hello world";
return ptr;
}
String SendTemp(){
return String(sensors.getTempCByIndex(0));
}
Please register or sign in to comment