Advertisement
Guest User

LED Controller

a guest
Oct 26th, 2017
134
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.10 KB | None | 0 0
  1. #include <ESP8266WebServer.h>
  2. #include <ESP8266WiFi.h>
  3. #include <time.h>
  4.  
  5. // Wifi Settings
  6. const char* ssid = "PrettyFlyForAWifi";
  7. const char* password = "reidbuck";
  8. WiFiServer server(80);
  9.  
  10. // Time Settings
  11. int timezone = 3;
  12. int dst = 0;
  13.  
  14. // LED Settings
  15. int blueLedPin = 5;
  16. int blueLed = 4;
  17. int blueLevel = 1000;
  18.  
  19. int whiteLedPin = 0;
  20. int whiteLed = 2;
  21. int whiteLevel = 100;
  22.  
  23.  
  24.  
  25.  
  26. void setup() {
  27. pinMode(blueLedPin, OUTPUT);
  28. pinMode(blueLed, OUTPUT);
  29. pinMode(whiteLedPin, OUTPUT);
  30. pinMode(whiteLed, OUTPUT);
  31. Serial.begin(115200);
  32. delay(10);
  33.  
  34.  
  35. // Connect to WiFi network
  36. Serial.println();
  37. Serial.println();
  38. Serial.print("Connecting to ");
  39. Serial.println(ssid);
  40.  
  41. WiFi.begin(ssid, password);
  42.  
  43. while (WiFi.status() != WL_CONNECTED) {
  44. delay(500);
  45. Serial.print(".");
  46. }
  47. Serial.println("");
  48. Serial.println("WiFi connected");
  49.  
  50. // Start the server
  51. server.begin();
  52. Serial.println("Server started");
  53.  
  54. // Print the IP address
  55. Serial.print("Use this URL to connect: ");
  56. Serial.print("http://");
  57. Serial.print(WiFi.localIP());
  58. Serial.println("/");
  59.  
  60. // Time Config
  61. configTime(3 * 1200, 0, "pool.ntp.org");
  62. Serial.println("\nWaiting for time");
  63. while (!time(nullptr)) {
  64. Serial.print(".");
  65. delay(1000);
  66. }
  67.  
  68. // Turn off LEDS ON BOOT
  69.  
  70. digitalWrite(blueLed, LOW);
  71. digitalWrite(whiteLed, LOW);
  72. }
  73.  
  74. void loop() {
  75.  
  76. // Get time
  77. time_t now = time(nullptr);
  78. Serial.println(ctime(&now));
  79. delay(1000);
  80.  
  81. // Check if a client has connected
  82. WiFiClient client = server.available();
  83. if (!client) {
  84. return;
  85. }
  86.  
  87. // Wait until the client sends some data
  88. Serial.println("new client");
  89.  
  90. // Read the first line of the request
  91. String request = client.readStringUntil('\r');
  92. Serial.println(request);
  93. client.flush();
  94.  
  95. // LED Control
  96. int value = LOW;
  97.  
  98.  
  99. if (request.indexOf("/blueLED=ON") != -1) {
  100. digitalWrite(blueLed, HIGH);
  101. analogWrite(blueLedPin, blueLevel);
  102. value = HIGH;
  103. }
  104. if (request.indexOf("/blueLED=OFF") != -1) {
  105. digitalWrite(blueLed, LOW);
  106. value = LOW;
  107. }
  108.  
  109. if (request.indexOf("/whiteLED=ON") != -1) {
  110. digitalWrite(whiteLed, HIGH);
  111. analogWrite(whiteLedPin, blueLevel);
  112. value = HIGH;
  113. }
  114. if (request.indexOf("/whiteLED=OFF") != -1) {
  115. digitalWrite(whiteLed, LOW);
  116. value = LOW;
  117. }
  118.  
  119. // New Bit
  120. client.println("HTTP/1.1 200 OK");
  121. client.println("Content-Type: text/html");
  122. client.println();
  123.  
  124. client.println("<HTML>");
  125. client.println("<HEAD>");
  126. client.println("<TITLE>LED Control Module</TITLE>");
  127. client.println("</HEAD>");
  128. client.println("<BODY>");
  129.  
  130. client.println("<FORM ACTION='/' method=post >"); //uses IP/port of web page
  131.  
  132. client.println("Set LED LEVELS: <INPUT TYPE=TEXT NAME='LEDWHITE' VALUE='' SIZE='25' MAXLENGTH='50'><BR>");
  133.  
  134. client.println("<INPUT TYPE=SUBMIT NAME='submit' VALUE='Send White LED Level'>");
  135.  
  136. client.println("</FORM>");
  137.  
  138. client.println("<BR>");
  139.  
  140. if (request.startsWith("/whiteLevel=") != -1) {
  141. Serial.println("WHITE LEVEL SET ");
  142. Serial.println(whiteLevel);
  143. analogWrite(whiteLed, whiteLevel);
  144. }
  145.  
  146. // Blues
  147. client.print("The Time is now : ");
  148. client.print(ctime(&now));
  149. client.print("Blue Leds are now: ");
  150.  
  151. if (blueLedPin == HIGH) {
  152. client.print("On");
  153. } else {
  154. client.print("Off");
  155. }
  156. client.println("<br><br>");
  157. client.println("<a href=\"/blueLED=ON\"\"><button>Turn Blue Leds On </button></a>");
  158. client.println("<a href=\"/blueLED=OFF\"\"><button>Turn Blue Leds Off </button></a><br />");
  159. client.println("</html>");
  160.  
  161. // Whites
  162.  
  163. client.print("White Leds are now: ");
  164.  
  165. if (whiteLedPin == HIGH) {
  166. client.print("On");
  167. } else {
  168. client.print("Off");
  169. }
  170. client.println("<br><br>");
  171. client.println("<a href=\"/whiteLED=ON\"\"><button>Turn White Leds On </button></a>");
  172. client.println("<a href=\"/whiteLED=OFF\"\"><button>Turn White Leds Off </button></a><br />");
  173. client.println("</html>");
  174.  
  175. delay(1);
  176. Serial.println("Client disonnected");
  177. Serial.println("");
  178.  
  179. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement