Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <ESP8266WebServer.h>
- #include <ESP8266WiFi.h>
- #include <time.h>
- // Wifi Settings
- const char* ssid = "PrettyFlyForAWifi";
- const char* password = "reidbuck";
- WiFiServer server(80);
- // Time Settings
- int timezone = 3;
- int dst = 0;
- // LED Settings
- int blueLedPin = 5;
- int blueLed = 4;
- int blueLevel = 1000;
- int whiteLedPin = 0;
- int whiteLed = 2;
- int whiteLevel = 100;
- void setup() {
- pinMode(blueLedPin, OUTPUT);
- pinMode(blueLed, OUTPUT);
- pinMode(whiteLedPin, OUTPUT);
- pinMode(whiteLed, OUTPUT);
- Serial.begin(115200);
- delay(10);
- // Connect to WiFi network
- Serial.println();
- Serial.println();
- Serial.print("Connecting to ");
- Serial.println(ssid);
- WiFi.begin(ssid, password);
- while (WiFi.status() != WL_CONNECTED) {
- delay(500);
- Serial.print(".");
- }
- Serial.println("");
- Serial.println("WiFi connected");
- // Start the server
- server.begin();
- Serial.println("Server started");
- // Print the IP address
- Serial.print("Use this URL to connect: ");
- Serial.print("http://");
- Serial.print(WiFi.localIP());
- Serial.println("/");
- // Time Config
- configTime(3 * 1200, 0, "pool.ntp.org");
- Serial.println("\nWaiting for time");
- while (!time(nullptr)) {
- Serial.print(".");
- delay(1000);
- }
- // Turn off LEDS ON BOOT
- digitalWrite(blueLed, LOW);
- digitalWrite(whiteLed, LOW);
- }
- void loop() {
- // Get time
- time_t now = time(nullptr);
- Serial.println(ctime(&now));
- delay(1000);
- // Check if a client has connected
- WiFiClient client = server.available();
- if (!client) {
- return;
- }
- // Wait until the client sends some data
- Serial.println("new client");
- // Read the first line of the request
- String request = client.readStringUntil('\r');
- Serial.println(request);
- client.flush();
- // LED Control
- int value = LOW;
- if (request.indexOf("/blueLED=ON") != -1) {
- digitalWrite(blueLed, HIGH);
- analogWrite(blueLedPin, blueLevel);
- value = HIGH;
- }
- if (request.indexOf("/blueLED=OFF") != -1) {
- digitalWrite(blueLed, LOW);
- value = LOW;
- }
- if (request.indexOf("/whiteLED=ON") != -1) {
- digitalWrite(whiteLed, HIGH);
- analogWrite(whiteLedPin, blueLevel);
- value = HIGH;
- }
- if (request.indexOf("/whiteLED=OFF") != -1) {
- digitalWrite(whiteLed, LOW);
- value = LOW;
- }
- // New Bit
- client.println("HTTP/1.1 200 OK");
- client.println("Content-Type: text/html");
- client.println();
- client.println("<HTML>");
- client.println("<HEAD>");
- client.println("<TITLE>LED Control Module</TITLE>");
- client.println("</HEAD>");
- client.println("<BODY>");
- client.println("<FORM ACTION='/' method=post >"); //uses IP/port of web page
- client.println("Set LED LEVELS: <INPUT TYPE=TEXT NAME='LEDWHITE' VALUE='' SIZE='25' MAXLENGTH='50'><BR>");
- client.println("<INPUT TYPE=SUBMIT NAME='submit' VALUE='Send White LED Level'>");
- client.println("</FORM>");
- client.println("<BR>");
- if (request.startsWith("/whiteLevel=") != -1) {
- Serial.println("WHITE LEVEL SET ");
- Serial.println(whiteLevel);
- analogWrite(whiteLed, whiteLevel);
- }
- // Blues
- client.print("The Time is now : ");
- client.print(ctime(&now));
- client.print("Blue Leds are now: ");
- if (blueLedPin == HIGH) {
- client.print("On");
- } else {
- client.print("Off");
- }
- client.println("<br><br>");
- client.println("<a href=\"/blueLED=ON\"\"><button>Turn Blue Leds On </button></a>");
- client.println("<a href=\"/blueLED=OFF\"\"><button>Turn Blue Leds Off </button></a><br />");
- client.println("</html>");
- // Whites
- client.print("White Leds are now: ");
- if (whiteLedPin == HIGH) {
- client.print("On");
- } else {
- client.print("Off");
- }
- client.println("<br><br>");
- client.println("<a href=\"/whiteLED=ON\"\"><button>Turn White Leds On </button></a>");
- client.println("<a href=\"/whiteLED=OFF\"\"><button>Turn White Leds Off </button></a><br />");
- client.println("</html>");
- delay(1);
- Serial.println("Client disonnected");
- Serial.println("");
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement