Below is the Sketch for This Project, you can modify it to suit your own
designs.
/*
MerrittSoft
NodeController
07/04/2020
Language: C++/Arduino
Thank you to those people that made the Libarays in this project posable.
*/
#include <ESP8266WiFi.h>
#include <ESP8266WebServer.h>
ESP8266WebServer server;
const int output0 = D0;
const int output1 = D1;
const int output2 = D2;
const int output3 = D3;
const int output4 = D4;
const int output5 = D5;
const int output6 = D6;
const int output7 = D7;
const int output8 = D8;
char* ssid = "ssid_name";
char* password = "ssid_password";
void setup()
{
pinMode(output0, OUTPUT);
digitalWrite(output0, HIGH);
pinMode(output1, OUTPUT);
pinMode(output2, OUTPUT);
pinMode(output3, OUTPUT);
pinMode(output4, OUTPUT);
pinMode(output5, OUTPUT);
pinMode(output6, OUTPUT);
pinMode(output7, OUTPUT);
pinMode(output8, OUTPUT);
digitalWrite(output1, HIGH);
digitalWrite(output2, HIGH);
digitalWrite(output3, HIGH);
digitalWrite(output4, HIGH);
digitalWrite(output5, HIGH);
digitalWrite(output6, HIGH);
digitalWrite(output7, HIGH);
digitalWrite(output8, HIGH);
WiFi.begin(ssid, password);
WiFi.hostname("NodeController");
WiFi.mode(WIFI_STA);
Serial.begin(115200);
while (WiFi.status() != WL_CONNECTED)
{
Serial.print(".");
delay(500);
}
Serial.println("");
Serial.print("IP Address: ");
Serial.println(WiFi.localIP());
Serial.println();
server.on("/", []() {
server.send(200, "text/plain", "NodeController");
});
// below are the commands that activate the Relays
// eg. the /RELAY1ON is the command you add to the end of the ip address to turn Relay 1 ON eg. 10.220.1.20/RELAY1ON ,
// This can be done in a Web Browser address bar on the same network
server.on("/RELAY1ON", subroutine1on);
server.on("/RELAY2ON", subroutine2on);
server.on("/RELAY3ON", subroutine3on);
server.on("/RELAY4ON", subroutine4on);
server.on("/RELAY5ON", subroutine5on);
server.on("/RELAY6ON", subroutine6on);
server.on("/RELAY7ON", subroutine7on);
server.on("/RELAY8ON", subroutine8on);
server.on("/RELAY1OFF", subroutine1off);
server.on("/RELAY2OFF", subroutine2off);
server.on("/RELAY3OFF", subroutine3off);
server.on("/RELAY4OFF", subroutine4off);
server.on("/RELAY5OFF", subroutine5off);
server.on("/RELAY6OFF", subroutine6off);
server.on("/RELAY7OFF", subroutine7off);
server.on("/RELAY8OFF", subroutine8off);
server.begin();
}
void loop() {
digitalWrite(output0, LOW);
server.handleClient();
}
void subroutine1on()
{
Serial.print("Relay 1 ON ");
Serial.println();
delay(1000);
server.send(204, "");
digitalWrite(output1, LOW);
return;
}
void subroutine2on()
{
Serial.print("Relay 2 ON ");
Serial.println();
delay(1000);
server.send(204, "");
digitalWrite(output2, LOW);
return;
}
void subroutine3on()
{
Serial.print("Relay 3 ON ");
Serial.println();
delay(1000);
server.send(204, "");
digitalWrite(output3, LOW);
return;
}
void subroutine4on()
{
Serial.print("Relay 4 ON ");
Serial.println();
delay(1000);
server.send(204, "");
digitalWrite(output4, LOW);
return;
}
void subroutine5on()
{
Serial.print("Relay 5 ON ");
Serial.println();
delay(1000);
server.send(204, "");
digitalWrite(output5, LOW);
return;
}
void subroutine6on()
{
Serial.print("Relay 6 ON ");
Serial.println();
delay(1000);
server.send(204, "");
digitalWrite(output6, LOW);
return;
}
void subroutine7on()
{
Serial.print("Relay 7 ON ");
Serial.println();
delay(1000);
server.send(204, "");
digitalWrite(output7, LOW);
return;
}
void subroutine8on()
{
Serial.print("Relay 8 ON ");
Serial.println();
delay(1000);
server.send(204, "");
digitalWrite(output8, LOW);
delay(3000);
return;
}
void subroutine1off()
{
Serial.print("Relay 1 OFF ");
Serial.println();
delay(1000);
server.send(204, "");
digitalWrite(output1, HIGH);
return;
}
void subroutine2off()
{
Serial.print("Relay 2 OFF ");
Serial.println();
delay(1000);
server.send(204, "");
digitalWrite(output2, HIGH);
return;
}
void subroutine3off()
{
Serial.print("Relay 3 OFF ");
Serial.println();
delay(1000);
server.send(204, "");
digitalWrite(output3, HIGH);
return;
}
void subroutine4off()
{
Serial.print("Relay 4 OFF ");
Serial.println();
delay(1000);
server.send(204, "");
digitalWrite(output4, HIGH);
return;
}
void subroutine5off()
{
Serial.print("Relay 5 OFF ");
Serial.println();
delay(1000);
server.send(204, "");
digitalWrite(output5, HIGH);
return;
}
void subroutine6off()
{
Serial.print("Relay 6 OFF ");
Serial.println();
delay(1000);
server.send(204, "");
digitalWrite(output6, HIGH);
return;
}
void subroutine7off()
{
Serial.print("Relay 7 OFF ");
Serial.println();
delay(1000);
server.send(204, "");
digitalWrite(output7, HIGH);
return;
}
void subroutine8off()
{
Serial.print("Relay 8 OFF ");
Serial.println();
delay(1000);
server.send(204, "");
digitalWrite(output8, HIGH);
return;
}