Advertisement
Guest User

Web LED Driver

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