RuiViana

NewKT_V04.ino

Aug 17th, 2018
157
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.  
  2. #include <FS.h>
  3. #include <ESP8266WiFi.h>                       //WIFI
  4. //#include <FirebaseArduino.h>                   //FIREBASE
  5. //#include <DNSServer.h>                         //SERVER PORTAL WIFI
  6. #include <ESP8266WebServer.h>                  //SERVIDOR
  7. #include <WiFiManager.h>                       // SCAN WIFI REDES WIFI
  8. #include <EEPROM.h>
  9.  
  10. int val1; byte val2;
  11. int addr = 0; int addr1 = 1; int addr2 = 2;
  12. int comando;
  13. int value;
  14. int limitMen = 128;
  15. int qtdeControl = limitMen / 4;
  16. unsigned long dadosMem[32];             // Matriz para guardar dados lidos da EEPRO
  17. int addrEEPROM = 0;                     // Endereco inicial da EEPROM
  18. int controlOk = 0;                      // Marca que encontrou controle na EEPROM
  19. int posicaoOk = limitMen / 4 + 1;       // Localizaçao do match Inical é maior q qq memoria
  20.  
  21.  
  22. //#define FIREBASE_HOST "kenniacasa.firebaseio.com"
  23. //#define FIREBASE_AUTH "be8OFUwX1NVAxbP2XljoNnR4Xz2FgS57gbC7jBdE"      // TOKEN BANCO DE DADOS FIREBASE
  24.  
  25. bool requestRestart = false;            // REINICIAR FALSO
  26. byte l = 5;       //D1                  // PINO LUZ
  27. byte p = 4;       //D4                  // PINO INTERRUPTOR
  28. byte status = 0;                        // STATUS INICIAL DA LAMPADA
  29. //-----------------------------------------------
  30. void setup()
  31. {
  32.   Serial.begin(115200);                 // VELOCIDADE DA PORTA SERIAL
  33.   pinMode(p, INPUT_PULLUP);             // DECLARANDO PINO SWITE EM ALTA DO INTERRUPTOR
  34.   pinMode(l, OUTPUT);                   // DECLARANDO PINO SAIDA DA LAMPADA
  35.   EEPROM.begin(limitMen);               // limitMen/4 enderecos de 4 byte = 128 bytes
  36.   Serial.println(" ");
  37.   Serial.print("addr EEPROM : "); Serial.println(addr1);
  38.   val2 = EEPROM.read(addr1); //cases eprom+
  39.   Serial.print("valor EEPROM : "); Serial.println(val2);
  40.   digitalWrite(l, val2);
  41.   Serial.println();
  42.   WiFiManager wifiManager;                  // AUTENTICANDO DADOS DAS REDES WIFI
  43.   wifiManager.setBreakAfterConfig(true);    // SALVANDO
  44.  
  45.   if (!wifiManager.autoConnect("InSert Wifi", "12345678"))                     //NOME QUE IRA APARECER NA REDE WIFI DO CLIENTE
  46.   {
  47.     Serial.println("falha ao conectar na rede wifi");
  48.     delay(3000);                                                    // REINCIIAR  QUANDO ENCONTRAR A REDE WIFI
  49.     //    ESP.reset();
  50.     delay(5000);
  51.   }
  52.   Serial.println("conectado :)"); /// EXIBIR QUANDO ESTIVER CONECTADO REDE LOCAL
  53.   Serial.println("local ip");    // IP LOCAL QUANDO ESTIVER CONECTADO
  54.   Serial.println(WiFi.localIP());
  55.  
  56.   //Firebase.begin(FIREBASE_HOST, FIREBASE_AUTH);
  57.   //Firebase.set("sensor/-LJjA6vy0_uYYFAij-OY/st_status", 0);     //-------------------------------> --MUDAR------------------------->>>>>
  58. }
  59. //----------------------------------------------
  60. void loop()
  61. {
  62.   if (WiFi.status() == WL_CONNECTED)
  63.   {
  64.     //digitalWrite(l, Firebase.getInt("sensor/-LJjA6vy0_uYYFAij-OY/st_status"));   //------------------>MUDAR TOKEN---------------------->>>>-----------
  65.     //    Serial.println("passei");
  66.   }
  67.   if ((digitalRead(p) == 0) && (status == 0) && WiFi.status() == WL_CONNECTED)
  68.   {
  69.     Serial.println("passei 1");
  70.     digitalWrite(l, HIGH);    // LIGAR LAMPADA
  71.     EEPROM.write(addr1, 1);   // Salvando na eeprom
  72.     EEPROM.end();
  73.     status = 1;               // MUDAR STATUS
  74.     Serial.print("valor EEPROM : "); Serial.println(EEPROM.read(addr1));
  75.     //Firebase.set("sensor/-LJjA6vy0_uYYFAij-OY/st_status", 1); // --------------------------------------MUdar TOKEN---------------------------------------->>>>
  76.   }
  77.   else
  78.   {
  79.     if ((digitalRead(p) == 1) && (status == 1) && WiFi.status() == WL_CONNECTED)
  80.     {
  81.       Serial.println("passei 2");
  82.       digitalWrite(l, LOW);
  83.       EEPROM.write(addr1, 1);                                       // Salvando na eeprom
  84.       EEPROM.end();
  85.       Serial.print("valor EEPROM : "); Serial.println(EEPROM.read(addr1));
  86.       status = 0;
  87.       //Firebase.set("sensor/-LJjA6vy0_uYYFAij-OY/st_status", 0);     // ENVIA STATUS 0 PARA O FIREBASE
  88.     }
  89.     else
  90.     {
  91.       if ((digitalRead(p) == 0) && (status == 0))                   // SE FOR ACIONADO O PULSO
  92.       {
  93.         Serial.println("passei 3");
  94.         digitalWrite(l, HIGH);                                      // LIGAR LAMPADA
  95.         status = 1;                                                 // MUDAR STATUS
  96.         EEPROM.write(addr1, 1);                                     // Salvando na eeprom
  97.         EEPROM.end();
  98.       }
  99.       else                                                          // SENAO
  100.       {
  101.         if ((digitalRead(p) == 1) && (status == 1))
  102.         {
  103.           Serial.println("passei 4");
  104.           digitalWrite(l, LOW);                                     // DESLIGA LAMPADA
  105.           status = 0;
  106.           EEPROM.write(addr1, 0);                                   // Salvando na eeprom
  107.           EEPROM.end();
  108.           // wdt_reset ();
  109.         }
  110.       }
  111.     }
  112.   }
  113. }
RAW Paste Data