Advertisement
Guest User

Untitled

a guest
Oct 19th, 2018
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.22 KB | None | 0 0
  1.  
  2. #include <ESP8266WiFi.h>
  3. #include <WiFiClient.h>
  4. #include <ESP8266mDNS.h>
  5. #include <WiFiUdp.h>
  6. #include <ArduinoOTA.h>
  7. #include <ESP8266WebServer.h>
  8.  
  9.  
  10. int status = WL_IDLE_STATUS;
  11. //---------------------------------------------------------------
  12. //Nasza strona WWW w pamięci urządzenia
  13. const char MAIN_page[] PROGMEM = R"=====(
  14. <!DOCTYPE html>
  15. <html>
  16. <body>
  17. <center>
  18. <h1>T E L E I N F O R M A T Y K A</h1>
  19. <h1>WE ZUT</h1>
  20. <h1>NOC NAUKOWCOW 2018</h1>
  21. <h1>STEROWANIE TYPU On/Off</h1>
  22. <h1>ESP8266 - WiFi Acces Point</h1>
  23. <h1>SERWER WWW </h1>
  24. <br>
  25.  
  26. Kliknij aby<a href="ledOn" target="led_status">LED ON</a><br>
  27. Kliknij aby <a href="ledOff" target="led_status">LED OFF</a><br>
  28. Kliknij aby Wlaczyc miganie<a href="miganie" target="led_status">LED ON</a><br>
  29.  
  30. Stan LED :<iframe name="led_status" width="100" height="25" frameBorder="0">
  31. <br>
  32. <hr>
  33. <a href="https://www.we.zut.edu.pl/">www.we.zut.edu.pl</a>
  34. </center>
  35. </body>
  36. </html>
  37. )=====";
  38. //---------------------------------------------------------------
  39.  
  40. #define LED 2 //NodeMCU posiada wbudowany niebieski LED podłączony do portu GPIO2
  41.  
  42. /* ustaw swoją sieć */
  43. const char *ssid = "IoT";
  44. const char *password = "12345iot";
  45. // domyślny adres 192.168.4.1
  46. ESP8266WebServer server(80);
  47.  
  48.  
  49. /*O ile nic nie zostało zmienion strona po zalogowaniu
  50. * się na sieć
  51. * o nazwie ESP
  52. * z hasłem 12345678
  53. * witryna będzie widoczna pod adresem http://192.168.4.1
  54. */
  55. void handleRoot() {
  56.  
  57. Serial.println("startujemy ze stroną");
  58. String s = MAIN_page; //zapamiętaną w pamięci naszą stronę WWW przypisujemy do zmiennej tekstowej s
  59. server.send(200, "text/html", s); // wysyłamy stronę
  60. }
  61.  
  62. void handleLEDon() {
  63. digitalWrite(LED,LOW); //stan niski na porcie led świeci
  64. server.send(200, "text/html", "ON"); //Informujemy świat o stanie naszego leda w technologii ajax
  65. }
  66.  
  67. void handleLEDoff() {
  68. digitalWrite(LED,HIGH); //LED off stan wysoki
  69. server.send(200, "text/html", "OFF"); //Informujemy świat ...
  70. }
  71.  
  72. void miganie()
  73. {
  74. int counter = 0;
  75. server.send(200, "text/html", "miganie");
  76. do
  77. {digitalWrite(LED,LOW); //stan niski na porcie led świeci
  78. delay(500);
  79. digitalWrite(LED,HIGH); //LED off stan wysoki
  80. delay(500);
  81. counter++;
  82. }
  83. while(counter<10);
  84. }
  85.  
  86. byte macad[6];
  87.  
  88. void mac()
  89. {
  90. Serial.begin(9600);
  91. status = WiFi.begin(ssid);
  92. WiFi.macAddress(macad);
  93. Serial.print("MAC: ");
  94. Serial.print(macad[5] ,HEX);
  95. Serial.print(macad[4], HEX);
  96. Serial.print(macad[3], HEX);
  97. Serial.print(macad[2], HEX);
  98. Serial.print(macad[1], HEX);
  99. Serial.println(macad[0], HEX);
  100. }
  101.  
  102. void setup() {
  103. // /* You can remove the password parameter if you want the AP to be open. */
  104. //startujemy punkt dostępowy
  105. //WiFi.softAP(ssid, password);
  106. // IPAddress myIP = WiFi.softAPIP();
  107. Serial.begin(115200);
  108. delay(10);
  109.  
  110. // We start by connecting to a WiFi network
  111.  
  112. Serial.println();
  113. Serial.println();
  114. Serial.print("Connecting to ");
  115. Serial.println(ssid);
  116.  
  117. WiFi.begin(ssid, password);
  118.  
  119. while (WiFi.status() != WL_CONNECTED) {
  120. delay(500);
  121. Serial.print(".");
  122. }
  123.  
  124. Serial.println("");
  125. Serial.println("WiFi connected");
  126. Serial.println("IP address: ");
  127. Serial.println(WiFi.localIP());
  128.  
  129.  
  130.  
  131. //ustawiamy port w trybie OUTPUT czyli pozwalamy na ustawianie stanu niskiego lub wysokiego na porcie
  132. pinMode(LED,OUTPUT);
  133. //niech pod właczeniu led będzie wygaszony
  134. digitalWrite(LED,HIGH);
  135. server.on("/", handleRoot);
  136. server.on("/ledOn", handleLEDon); //patrz <a href="ledOn">
  137. server.on("/miganie", miganie);
  138. server.on("/ledOff", handleLEDoff);
  139.  
  140. server.begin();
  141. // uff serwer się uruchomi - chyba
  142. //------------------------------------------------
  143. //------------------------------------------------
  144. // wrzucanie nowego softu przez sieć
  145. ArduinoOTA.onStart([]() {
  146. });
  147. ArduinoOTA.onEnd([]() {
  148. digitalWrite(2, HIGH); // niech coś się dzieje
  149. digitalWrite(2, LOW);
  150. delay(100);
  151. digitalWrite(2, HIGH);
  152. });
  153. ArduinoOTA.onError([](ota_error_t error) {
  154. digitalWrite(2, LOW);
  155. delay(10000);
  156. digitalWrite(2, HIGH);
  157. });
  158. ArduinoOTA.begin();
  159. }
  160.  
  161. void loop() {
  162. ArduinoOTA.handle();
  163. server.handleClient();
  164. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement