Advertisement
valmorjovito

Untitled

Mar 20th, 2019
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.92 KB | None | 0 0
  1. #include "ESP8266WiFi.h"
  2. #include "ESP8266WebServer.h"
  3.  
  4. const char* ssid = "Pixel"; // Nome da Rede
  5. const char* password = "djmalcom";//Password da rede
  6.  
  7.  
  8. int ledPin1=14; // GPIO13 do ESP8266 e D7 do NodeMCU
  9. int ledPin2=12; // GPIO2 do ESP8266 e D4 do NodeMCU
  10. WiFiServer server(80);//Porta 80
  11.  
  12. void setup() {
  13.  
  14. pinMode(ledPin1,OUTPUT);// Define o D7 como saída
  15. digitalWrite(ledPin1,LOW);//O LED começa desligado
  16. pinMode(ledPin2,OUTPUT);//Define o D4 como saída
  17. digitalWrite(ledPin1,LOW);//O LED começa desligado
  18.  
  19. Serial.begin(115200);
  20. Serial.println();
  21. Serial.print("tentando conexão ");
  22. Serial.println( ssid );
  23.  
  24. WiFi.begin(ssid,password);
  25.  
  26. Serial.println();
  27. Serial.println("Conectando");
  28.  
  29. while( WiFi.status() != WL_CONNECTED ){//Enquanto a ligação não for efectuada com sucesso apresenta a mensagem, tentando conectar
  30. delay(500);
  31. Serial.println("tentando conectar…");
  32. }
  33.  
  34.  
  35. Serial.println();
  36.  
  37. Serial.println("Conectado com sucesso!");//Se a ligação é efectuada com sucesso
  38. Serial.print("Endereço IP : ");
  39. Serial.println(WiFi.localIP() );
  40.  
  41. server.begin();// Comunicação com o servidor
  42. Serial.println("Servidor iniciado");
  43.  
  44. // Print the IP address
  45. Serial.print("Use esse IP para se conectar ao servidor ");
  46. Serial.print("http://");
  47. Serial.print(WiFi.localIP());//Abrindo o Brower com este IP acedemos á pagina HTML de controlo dos LED´s, sendo que este IP só está disponível na rede à qual o ESP8266 se encontra ligado
  48. Serial.println("/");
  49.  
  50. }
  51.  
  52. void loop() {
  53.  
  54. // Verificação se o cliente está conectado
  55. WiFiClient client = server.available();
  56. if (!client) {// Verifica se o cliente está conectado ao servidor, executa este ciclo até estar conectado
  57. return;
  58. }
  59.  
  60. // Espera até o cliente enviar dados
  61. Serial.println("Hello New client");//Apresenta esta mensagem quando o cliente se liga ao servidor
  62. while(!client.available()){
  63. delay(1);
  64. }
  65.  
  66. // Ler a primeira linha do pedido
  67. String request = client.readStringUntil('\r');
  68. Serial.println(request);
  69. client.flush();
  70.  
  71. // Operação do pedido
  72.  
  73. int value1 = LOW;
  74. int value2 = LOW;
  75. if (request.indexOf("/LED1=ON") != -1) {
  76. digitalWrite(ledPin1, HIGH);// Se o pedido no LedPin1 for LED=ON, acende o LED
  77. value1 = HIGH;
  78. }
  79. else if (request.indexOf("/LED1=OFF") != -1) {
  80. digitalWrite(ledPin1, LOW);// Se o pedido no LedPin1 for LED=OFF, apaga o LED
  81. value1 = LOW;
  82. }
  83.  
  84. if (request.indexOf("/LED2=ON") != -1) {
  85. digitalWrite(ledPin2, HIGH);// Se o pedido no LedPin2 for LED=ON, acende o LED
  86. value2 = HIGH;
  87. }
  88. else if (request.indexOf("/LED2=OFF") != -1) {
  89. digitalWrite(ledPin2, LOW);// Se o pedido no LedPin2 for LED=OFF, apaga o LED
  90. value2 = LOW;
  91. }
  92.  
  93. // Set ledPin according to the request
  94. //digitalWrite(ledPin, value);
  95.  
  96. // Inicialização da página HTML
  97. // Retorno do resposta
  98. client.println("HTTP/1.1 200 OK");
  99. client.println("Content-Type: text/html");
  100. client.println(""); // do not forget this one
  101. client.println("<!DOCTYPE HTML>"); //inicio html
  102. client.println("<html>");
  103. client.println("<head>");
  104. client.println("<title>supervisorio de botoes</title>"); // da o titulo da aba
  105. client.println("<style type=text/css>"); // estilo css
  106. client.println("body{"); // inicio do corpo da imagem de fundo não esquecer do {
  107. client.println("background: url(https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRE4_yFuDoeyA1kIWW7p6b9tMIJo21aIX8c1TFKyfYsLLFgJ4aC) ");// define a imagem de plano de fundo
  108. client.println("no-repeat"); // não repete a imagem de fundo
  109. client.println("700px 100px}"); // define a posição da imagem de fundo não esquecer do }
  110. client.println("</style>"); // fim do estilo da imagem de fundo
  111. client.println("</head>");
  112.  
  113.  
  114. client.print("Estado da saida 1: ");
  115. if(value1 == HIGH) {// Se está ligado apresenta “on”
  116. client.print("ligado");
  117. } else {
  118. client.print("desligado");// Se está desligado apresenta “Off”
  119. }
  120. client.println("<br><br>");
  121. client.println("<a href=\"/LED1=ON\"\"><button>ligar </button></a>");// Ligar o LED1 corresponde Turn On
  122. client.println("<a href=\"/LED1=OFF\"\"><button>desligar </button></a><br />"); // Desligar o LED1 corresponde Turn Off
  123. client.println("<br><br>");
  124.  
  125. client.print("Estado da saida 2: ");
  126. if(value2 == HIGH) {// Se está ligado apresenta “on”
  127. client.print("ligado");
  128. } else {
  129. client.print("desligado");// Se está desligado apresenta “Off”
  130. }
  131. client.println("<br><br>");
  132. client.println("<a href=\"/LED2=ON\"\"><button>ligar </button></a>");// Ligar o LED2 corresponde Turn On
  133. client.println("<a href=\"/LED2=OFF\"\"><button>desligar </button></a><br />"); // Desligar o LED2 corresponde Turn Off
  134. client.println("</html>");
  135.  
  136. delay(1);
  137. Serial.println("Client disonnected");
  138. Serial.println("");
  139.  
  140. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement