Ok dw I fixed it on my own!
#include <ESP8266WiFi.h>
#include <WiFiClient.h>
#include <ESP8266WebServer.h>
#include <ESP8266mDNS.h>
#define OLED_RESET 4
const String intname = "doorlock";
byte mac[6]; // MAC Address
const char* ssid="AP-NAME-HERE";
const char* password="PASSWORD-HERE";
IPAddress ip(192, 168, 1, 53);
IPAddress gateway(192, 168, 1, 254);
IPAddress subnet(255, 255, 255, 0);
IPAddress dns(192, 168, 1, 254); //primaryDNS
//IPAddress secondaryDNS(1, 1, 1, 1); // optional
ESP8266WebServer server(80);
const int output1=14; //14
const int output2=12; //12
const int output3=13; //13
const int output4=15; //15
boolean device1=false;
boolean device2=false;
boolean device3=false;
boolean device4=false;
void handleRoot() {
//digitalWrite(led, 1);
//server.send(200, "text/plain", "hello from esp8266!");
//digitalWrite(led, 0);
String cmd;
cmd += "<!DOCTYPE HTML>\r\n";
cmd += "<html>\r\n";
//cmd += "<header><title>ESP8266 Webserver</title><h1>\"ESP8266 Web Server Control\"</h1></header>";
cmd += "<head>";
cmd += "<meta http-equiv='refresh' content='5'/>";
cmd += "</head>";
if(device1){
cmd +=("<br/>Device1 : ON");
}
else{
cmd +=("<br/>Device1 : OFF");
}
if(device2){
cmd +=("<br/>Device2 : ON");
}
else{
cmd +=("<br/>Device2 : OFF");
}
if(device3){
cmd +=("<br/>Device3 : ON");
}
else{
cmd +=("<br/>Device3 : OFF");
}
if(device4){
cmd +=("<br/>Device4 : ON");
}
else{
cmd +=("<br/>Device4 : OFF");
}
cmd += "<html>\r\n";
server.send(200, "text/html", cmd);
}
void handleNotFound(){
//digitalWrite(led, 1);
String message="File Not Found\n\n";
message += "URI: ";
message += server.uri();
message += "\nMethod: ";
message += (server.method() == HTTP_GET)?"GET":"POST";
message += "\nArguments: ";
message += server.args();
message += "\n";
for (uint8_t i=0; i<server.args(); i++){
message += " " + server.argName(i) + ": " + server.arg(i) + "\n";
}
server.send(404, "text/plain", message);
//digitalWrite(led, 0);
}
void setup(void){
pinMode(output1, OUTPUT);
pinMode(output2, OUTPUT);
pinMode(output3, OUTPUT);
pinMode(output4, OUTPUT);
digitalWrite(output1, HIGH);
digitalWrite(output2, HIGH);
digitalWrite(output3, HIGH);
digitalWrite(output4, HIGH);
Serial.begin(115200);
WiFi.mode(WIFI_STA);
WiFi.config(ip, dns, gateway, subnet);
WiFi.begin(ssid, password);
Serial.println("");
// by default, we'll generate the HIGH voltage from the 3.3v line internally! (neat!)
//display.begin(SSD1306_SWITCHCAPVCC, 0x3D); // initialize with the I2C addr 0x3D (for the 128x64)
delay(2000);
// Wait for connection
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
ip = WiFi.localIP();
Serial.println("");
Serial.print("Connected to ");
Serial.print(intname);
Serial.println("");
Serial.print("Connected To ");
Serial.println(ssid);
Serial.print("IP Address: ");
Serial.println(ip);
WiFi.macAddress(mac);
Serial.print("MAC: ");
Serial.print(mac[5],HEX);
Serial.print(":");
Serial.print(mac[4],HEX);
Serial.print(":");
Serial.print(mac[3],HEX);
Serial.print(":");
Serial.print(mac[2],HEX);
Serial.print(":");
Serial.print(mac[1],HEX);
Serial.print(":");
Serial.println(mac[0],HEX);
if (MDNS.begin("esp8266")) {
Serial.println("MDNS responder started");
}
server.on("/", handleRoot);
server.on("/status1=1", [](){
server.send(200, "text/plain", "device1=ON");
digitalWrite(output1, LOW);
device1=true;
// also you can lock door automatically after 5 secs!
delay(4000); // waits for a second
digitalWrite(output1, HIGH);
device1=false;
});
server.on("/status1=0", [](){
server.send(200, "text/plain", "device1=OFF");
digitalWrite(output1, HIGH);
device1=false;
});
server.on("/status2=1", [](){
server.send(200, "text/plain", "device2=ON");
digitalWrite(output2, LOW);
device2=true;
});
server.on("/status2=0", [](){
server.send(200, "text/plain", "device2=OFF");
digitalWrite(output2, HIGH);
device2=false;
});
server.on("/status3=1", [](){
server.send(200, "text/plain", "device3=ON");
digitalWrite(output3, LOW);
device3=true;
});
server.on("/status3=0", [](){
server.send(200, "text/plain", "device3=OFF");
digitalWrite(output3, HIGH);
device3=false;
});
server.on("/status4=1", [](){
server.send(200, "text/plain", "device4=ON");
digitalWrite(output4, LOW);
device4=true;
});
server.on("/status4=0", [](){
server.send(200, "text/plain", "device4=OFF");
digitalWrite(output4, HIGH);
device4=false;
});
server.onNotFound(handleNotFound);
server.begin();
Serial.println("HTTP server started");
}
void loop(void){
server.handleClient();
}
does anyone know how to also include a pincode option for extra security? so that ?statuts1=1&pincode=1234
that would be aswome if someone could help me figure that last part out?
but anyway i hope this post helps someone who needs a static ip and my code works so, if you got any use out ofit or know about how to put in a poincode let me know in reply please, thanks! ps il buy you a beer if you can help with the pincode part!