ESP8266 ESP-01 Remote Multi Socket
Hårdvara:
1. (1) ESP8266 - ESP01
2. (1) relä 220V (5V kontroll)
3. (1) Multi Socket
Hur man gör:
Se ovan Foto
ESP8266 programmering:
- Ladda upp följande kod till ESP-01
- Ändra SSID och lösenord
- Ändra hem väg Port följande för att kontrollera det du kan.
Mer Information: iMediaBank - http://www.imediabank.com
< p > / * < br > * SANKI 2016 03 31
*
* Denna skiss visar hur du ställer in en enkel HTTP-liknande server.
* Servern kommer att ställa en GPIO pin beroende på begäran
* < en href = "http://server_ip/gpio0" rel = "nofollow" > http://server_ip/gpio0 < /a > ställer GPIO0 hög/låg,
* < en href = "http://server_ip/gpio2" rel = "nofollow" > http://server_ip/gpio0 < /a > ställer GPIO2 hög/låg
* server_ip är modulen ESP8266 IP-adress, kommer att
* ut till följetong när modulen är ansluten.
*
* Innan du kör:
* Ändra SSID och lösenord
* Ändra portnummer
*
* / < /p >< p > #include
#include
#include
< /p >< p > #include #include < /p >< p > const char * ssid = "";
CONST char * lösenord = ""; < /p >< p > ESP8266WebServer server(1102); < /p >< p > const int ledde = 0;
String sMessage = "";
void handleNotFound() {
digitalWrite (LED_BUILTIN, 1);
Sträng meddelande = "Filen inte Found\n\n";
meddelande += "URI:";
meddelande += server.uri();
meddelande += "\nMethod:";
meddelande += (server.method() == HTTP_GET)? " FÅ":"POST";
meddelande += "\nArguments:";
meddelande += server.args();
meddelande += "\n";
för (uint8_t jag = 0; jag < /p >< p > void handleMessage (int gpio0, int gpio2) {
digitalWrite (LED_BUILTIN, 1); < /p >< p >
Förbereda svar
Sträng s = "HTTP/1.1 200 OK\r\nContent-Type: text/html";
Sträng s = "\r\n\r\n\r\n
\r\n";
//s += "
"; Färg endast < /p >< p > s +="
";
s += "
< /p >< p > ";
s += "< /p >< p >";
s += "
"; < /p >
s += "";
s += "< div >";
/*
s += "GPIO2 är nu";
s += (val)?" hög":"låg";
s += "";
*/
s += "< p > ESP-01 Relay < /p >";
s + = "" + sMessage + "";
om (gpio0 == 0)
s += "< p > relä 0 (gpio 0) av < /p >";
annat
s += "< p > relä 0 (gpio 0) ON < /p >";
om (gpio2 == 0)
s += "< p > relä 0 (gpio 2) av < /p >";
annat
s += "< p > relä 0 (gpio 2) ON < /p >";
s += "< p > Återställ: alla ONAll av < /p >";
s += "< / div >
"; < p > //s += m +"\n";
s += "< /p >< p > \n";
Server.send (200, "text/html", s);
digitalWrite (LED_BUILTIN, 0);
} < /p >< p > void handleRoot() {
digitalWrite (LED_BUILTIN, 1);
Server.send (200, "text/plain", "Hej från esp8266! ---\nTest port /gpio ");
handleMessage(digitalRead(0), digitalRead(2));
digitalWrite (LED_BUILTIN, 0);
} < /p >< p > void handleReset (int onoff) {
digitalWrite (LED_BUILTIN, 1);
Server.send (200, "text/plain", "Hej från esp8266! ---\nTest port /gpio ");
om (onoff == 0) {
digitalWrite (0, 0);
digitalWrite (2, 0);
handleMessage (0, 0);
}
om (onoff == 1) {
digitalWrite (0, 1);
digitalWrite (2, 1);
handleMessage (1, 1);
}
digitalWrite (LED_BUILTIN, 0);
} < /p >< p > sträng ipToString (IP-adress ip) {
Sträng s = "";
för (int jag = 0; jag < 4; i ++)
s + = jag? "." + String(ip[i]): String(ip[i]);
returnera s;
} //-See mer på: < en href = "http://www.esp8266.com/viewtopic.php?p=25466#sthash.TxIeuo7o.dpuf" rel = "nofollow" > http://server_ip/gpio0 >< /p >< p > void setup(void) {
pinMode (LED_BUILTIN, OUTPUT);
digitalWrite (LED_BUILTIN, 0);
Serial.BEGIN(115200);
WiFi.begin (ssid, lösenord);
Serial.println(""); < /p >< p > / / Wait för anslutning
medan (WiFi.status()! = WL_CONNECTED) {
Delay(500);
Serial.Print(".");
} < /p >< p > server.begin();
Serial.println ("HTTP server började");
Serial.println("");
Serial.Print ("ansluten till");
Serial.println(SSID);
Serial.Print ("IP-adress:");
Serial.println(WiFi.localIP()); < /p >< p > om (MDNS.begin("esp8266")) {
Serial.println ("MDNS responder började");
} < /p >< p > uint8_t MAC_array [6].
char MAC_char [18]; < /p >< p > WiFi.macAddress(MAC_array);
sprintf (MAC_char, "% 02 x: 02% x: % 02 x: 02% x: % 02 x: % 02 x", MAC_array[0],MAC_array[1],MAC_array[2],MAC_array[3],MAC_array[4],MAC_array[5]);
Serial.Print ("MAC-adress:");
Serial.println(MAC_char); < /p >< p > sMessage += "[SSID:" + String(ssid) + "] [Server IP:" + ipToString(WiFi.localIP()) + "] [MAC:" + MAC_char + "]";
förbereda GPIO2
pinMode (2, utgång);
digitalWrite (2, 0);
pinMode (0, OUTPUT);
digitalWrite (0, 0); < /p >< p > server.on ("/", handleRoot); < /p >< p > server.on ("/ reseton", [] () {
Server.send (200, "text/plain", "detta fungerar lika bra");
handleReset(1);
{}); < /p >< p > server.on ("/ resetoff", [] () {
Server.send (200, "text/plain", "detta fungerar lika bra");
handleReset(0);
{}); < /p >< p > server.on ("/ gpio2", [] () {
Sträng m = "GPIO 2:";
int val = digitalRead(2);
om (val == 0) {
Val = 1;
m + = "ON";
} annat {
Val = 0;
m + = "OFF";
}
digitalWrite (2, val).
Server.send (200, "text/plain", m);
handleMessage(digitalRead(0), val);
{}); < /p >< p > server.on ("/ gpio0", [] () {
Sträng m = "GPIO 0:";
int val = digitalRead(0);
om (val == 0) {
Val = 1;
digitalWrite (0, 1);
m + = "ON";
} annat {
Val = 0;
digitalWrite (0, 0);
m + = "OFF";
}
digitalWrite ledde (, val);
Server.send (200, "text/plain", m);
handleMessage (val, digitalRead(2));
});
/*
Server.on ("/ gpio2/0", [] () {
Server.send (200, "text/plain", "Stäng av GPIO 2");
digitalWrite (2, 0);
});
*/
server.onNotFound(handleNotFound); < /p >< p >
} < /p >< p > void loop(void) {
server.handleClient();
} < /p >