-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathESP8266.ino
61 lines (52 loc) · 1.39 KB
/
ESP8266.ino
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
#include <ESP8266WiFi.h>
#include <ESP8266WebServer.h>
#include <ESP8266SSDP.h>
const char* ssid = "";
const char* password = "";
ESP8266WebServer server(80);
void setup(){
Serial.begin(9600);
pinMode(14, OUTPUT);
pinMode(12, OUTPUT);
digitalWrite(14, LOW); //not sure which state works best
digitalWrite(12, HIGH);
WiFi.mode(WIFI_STA);
WiFi.hostname("ESP2866CM-Dev");
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
digitalWrite(LED_BUILTIN, HIGH);
delay(500);
Serial.print(".");
digitalWrite(LED_BUILTIN, LOW);
}
digitalWrite(LED_BUILTIN, LOW);
server.on("/description.xml", handleSSDP);
server.on("/make-coffee", makeCoffee);
server.onNotFound(handle_NotFound);
server.begin();
SSDP.setSchemaURL("description.xml");
SSDP.setHTTPPort(80);
SSDP.setName("ESP8266-Coffee-Machine");
SSDP.setSerialNumber("");
SSDP.setModelName("ESP8266 simple coffee machine");
SSDP.setModelNumber("ESP8266CM010");
SSDP.setDeviceType("upnp:rootdevice");
SSDP.begin();
}
void loop(){
server.handleClient();
}
void makeCoffee(){
digitalWrite(14, HIGH);
digitalWrite(12, LOW);
delay(500);
digitalWrite(14, LOW);
digitalWrite(12, HIGH);
server.send(200, "text/html", "ok");
}
void handleSSDP(){
SSDP.schema(server.client());
}
void handle_NotFound(){
server.send(404, "text/plain", "Not found");
}