valmorjovito

Untitled

Apr 10th, 2019
87
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <ESP8266WiFi.h>
  2. //#include "ESP8266WebServer.h"
  3.  
  4.  
  5. const char* ssid = "#####"; // Nome da Rede
  6. const char* password = "#####";//Password da rede
  7.  
  8. //DEFINIÇÃO DE IP FIXO PARA O NODEMCU
  9. IPAddress ip(192,168,0,175); //COLOQUE UMA FAIXA DE IP DISPONÍVEL DO SEU ROTEADOR. EX: 192.168.1.110 **** ISSO VARIA, NO MEU CASO É: 192.168.0.175
  10. IPAddress gateway(192,168,0,1); //GATEWAY DE CONEXÃO (ALTERE PARA O GATEWAY DO SEU ROTEADOR)
  11. IPAddress subnet(255,255,255,0); //MASCARA DE REDE
  12. WiFiServer server(80);//Porta 80
  13.  
  14. int saida1=D5;
  15. int saida2=D6;
  16. int value1 = LOW;
  17. int value2 = LOW;
  18.  
  19.  
  20. void setup() {
  21.  
  22. pinMode(saida1,OUTPUT);// Define o D5 como saída
  23. //digitalWrite(ledPin1,LOW);//O LED começa desligado
  24. pinMode(saida2,OUTPUT);//Define o D6 como saída
  25. //digitalWrite(ledPin1,LOW);//O LED começa desligado
  26.  
  27. Serial.begin(115200);
  28. Serial.println();
  29. Serial.print("tentando conexão ");
  30. Serial.println( ssid );
  31.  
  32. WiFi.begin(ssid, password); //PASSA OS PARÂMETROS PARA A FUNÇÃO QUE VAI FAZER A CONEXÃO COM A REDE SEM FIO
  33. WiFi.config(ip, gateway, subnet); //PASSA OS PARÂMETROS PARA A FUNÇÃO QUE VAI SETAR O IP FIXO NO NODEMCU
  34.  
  35.  
  36.  
  37. Serial.println();
  38. Serial.println("Conectando");
  39.  
  40. while( WiFi.status() != WL_CONNECTED ){//Enquanto a ligação não for efectuada com sucesso apresenta a mensagem, tentando conectar
  41. delay(500);
  42. Serial.println("tentando conectar…");
  43. }
  44.  
  45. Serial.println();
  46. Serial.println("Conectado com sucesso!");//Se a ligação é efectuada com sucesso
  47. Serial.print("Endereço IP : ");
  48. Serial.println(WiFi.localIP() );
  49.  
  50. server.begin();// Comunicação com o servidor
  51. Serial.println("Servidor iniciado");
  52. Serial.print("Use esse IP para se conectar ao servidor ");
  53. Serial.print("http://");
  54. 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
  55. Serial.println("/");
  56. }
  57. void loop() {
  58.  
  59. WiFiClient client = server.available();// Verificação se o cliente está conectado
  60. if (!client) { return; }
  61.  
  62. // Espera até o cliente enviar dados
  63. Serial.println("Hello New client");//Apresenta esta mensagem quando o cliente se liga ao servidor
  64. while(!client.available()){
  65. delay(1); }
  66. // Ler a primeira linha do pedido
  67. String request = client.readStringUntil('\r');
  68. Serial.println(request);
  69.  
  70. // Operação do pedido
  71. if (request.indexOf("/LED1=ON") != -1) {
  72. digitalWrite(saida1, HIGH);// Se o pedido no LedPin1 for LED=ON, acende o LED
  73. value1 = HIGH; }
  74.  
  75. else if (request.indexOf("/LED1=OFF") != -1) {
  76. digitalWrite(saida1, LOW);// Se o pedido no LedPin1 for LED=OFF, apaga o LED
  77. value1 = LOW; }
  78.  
  79. if (request.indexOf("/LED2=ON") != -1) {
  80. digitalWrite(saida2, HIGH);// Se o pedido no LedPin2 for LED=ON, acende o LED
  81. value2 = HIGH; }
  82.  
  83. else if (request.indexOf("/LED2=OFF") != -1) {
  84. digitalWrite(saida2, LOW);// Se o pedido no LedPin2 for LED=OFF, apaga o LED
  85. value2 = LOW;}
  86.  
  87.  
  88.  
  89. // Inicialização da página HTML
  90. // Retorno do resposta
  91. client.println("HTTP/1.1 200 OK");
  92. client.println("Content-Type: text/html");
  93. client.println(""); //não esqueça esse aqui
  94. client.println("<!DOCTYPE HTML>"); //inicio html
  95. client.println("<html>");
  96. client.println("<head>");
  97. // client.println("<meta name=\"viewport\" content=\"width=device-width, user-scalable=no\"/>");
  98. client.println("<title>Acionamento remoto</title>"); // da o titulo da aba
  99. client.println("<style type=text/css>"); // estilo css
  100. // client.println("<body style=height:100%; width:100%;>");
  101. //client.println("body{"); // inicio do corpo da imagem de fundo não esquecer do {
  102.  
  103. //client.println("background: url(https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRE4_yFuDoeyA1kIWW7p6b9tMIJo21aIX8c1TFKyfYsLLFgJ4aC");// define a imagem de plano de fundo
  104. //client.println("no-repeat"); // não repete a imagem de fundo
  105. // client.println("700px 100px}"); // define a posição da imagem de fundo não esquecer do }
  106. client.println("</style>"); // fim do estilo da imagem de fundo
  107.  
  108. client.println("</head>");//final do head
  109. client.println("<body style=background-color:#ADD8E6>"); //DEFINE A COR DE FUNDO DA PÁGINA
  110. client.println("<body>");//inicio do body
  111. client.println("<h1>Monitoramento Remoto</h1>");
  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.  
  135. client.println("<br><br>");
  136.  
  137. client.println("<meta http-equiv=refresh content=5;URL='//192.168.0.175/'>");// atualiza a pagina a cada 5s
  138. client.println("</body>");//fim do body
  139. client.println("</html>");//fim do html
  140.  
  141.  
  142. delay(1);
  143. Serial.println("Cliente desconectado");
  144. Serial.println("");
  145.  
  146.  
  147.  
  148.  
  149.  
  150.  
  151. }
RAW Paste Data