Advertisement
Guest User

Untitled

a guest
Mar 21st, 2019
221
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. //#include <FS.h>
  2. #include <Adafruit_CCS811.h>
  3. #include <BH1750.h>
  4. #include <BME280.h>
  5. #include <DNSServer.h>
  6. #include <ESP8266WebServer.h>
  7. #include <ESP8266WiFi.h>
  8. //#include <Ticker.h>
  9. #include <WiFiClientSecure.h>
  10. //#include <WiFiManager.h>
  11. #include <Wire.h>
  12.  
  13. IPAddress IP(192, 168, 1, 101);
  14. IPAddress Brana(192, 168, 1, 1);
  15. IPAddress Podsit(255, 255, 255, 0);
  16.  
  17. const char* Nazev_WiFi = "XXXXX";
  18. const char* Heslo_WiFi = "XXXXX";
  19.  
  20. BME280 teplomer;
  21.  
  22. Adafruit_CCS811 CO2senzor;
  23.  
  24. BH1750 luxmetr;
  25.  
  26. //Ticker ticker;
  27.  
  28. void setup(){
  29.   Serial.begin(115200);
  30.   delay(10);
  31.   //pinMode(BUILTIN_LED, OUTPUT);
  32.   teplomer.begin();
  33.   luxmetr.begin();
  34.  
  35.   /*Serial.println();
  36.   WiFiManager wifimanager;
  37.   IPAddress _ip = IPAddress(192, 168, 1, 101);
  38.   IPAddress _gw = IPAddress(192, 168, 1, 1);
  39.   IPAddress _sn = IPAddress(255, 255, 255, 0);
  40.  
  41.   wifimanager.setSTAStaticIPConfig(_ip, _gw, _sn);
  42.   wifimanager.setAPCallback(ZacatekKonfigurace);
  43.   wifimanager.setSaveConfigCallback(KonecKonfigurace);*/
  44.  
  45.   /*if(!wifimanager.autoConnect("XXXXXX", "XXXXXX")){
  46.     Serial.println("Pripojeni selhalo, zkus to znovu.");
  47.     delay(3000);
  48.     ESP.reset();
  49.     delay(5000);
  50.   }*/
  51.  
  52.  
  53.  
  54. //Serial.print("Uspesne pripojeno pres WiFiManager.");
  55.  
  56.   WiFi.config(IP, Brana, Podsit);
  57.   WiFi.begin(Nazev_WiFi, Heslo_WiFi);
  58.   while(WiFi.status() != WL_CONNECTED){
  59.     delay(500);
  60.     Serial.print(".");
  61.   }
  62.  
  63.   Serial.println();
  64.   Serial.print("IP adresa: ");
  65.   Serial.println(WiFi.localIP());
  66.   Serial.print("MAC adresa: ");
  67.   Serial.println(WiFi.macAddress());
  68.  
  69.   CO2senzor.begin();
  70. }
  71.  
  72. /*void tick(){
  73.   digitalWrite(BUILTIN_LED, !digitalRead(BUILTIN_LED));
  74. }
  75.  
  76. void ZacatekKonfigurace(WiFiManager *wmp){
  77.   ticker.attach(0.2, tick);
  78. }
  79.  
  80. void KonecKonfigurace(){
  81.   ticker.detach();
  82.   digitalWrite(BUILTIN_LED, LOW);
  83. }*/
  84.  
  85. bool OdeslatData(float teplota, float vlhkost, float tlak, uint16_t CO2, uint16_t svetlo){
  86.   const char* Google_Script_host = "script.google.com";
  87.   String Google_Script_URL = "/macros/s/XXXXXXXXX/exec?teplota=" + String(teplota) + "&vlhkost=" + String(vlhkost) + "&tlak=" + String(tlak) + "&CO2=" + String(CO2) + "&svetlo=" + String(svetlo);
  88.   const int HTTPS_port = 443;
  89.   WiFiClientSecure klient;
  90.  
  91.   if(!klient.connect(Google_Script_host, HTTPS_port)){
  92.     Serial.println("Chyba spojeni.");
  93.     return false;
  94.   }
  95.  
  96.   klient.print(String("GET ") + Google_Script_URL + " HTTP/1.1\r\n" + "Host: " + String(Google_Script_host) + "\r\n" + "User-Agent: MOPSIKOSTANICE1\r\n" + "Connection: close\r\n\r\n");
  97.  
  98.   while(klient.connected()){
  99.     String line = klient.readStringUntil('\n');
  100.     if(line.indexOf("200 OK")){
  101.       klient.flush();
  102.       return true;
  103.     }
  104.   }
  105.   return false;
  106. }
  107.  
  108. void loop(){
  109.   CO2senzor.readData();
  110.   float teplota = teplomer.readTemp();
  111.   float vlhkost = teplomer.readHumidity();
  112.   float tlak_pa = teplomer.readPressure();
  113.   float tlak_hpa;
  114.   uint16_t CO2 = CO2senzor.geteCO2();
  115.   uint16_t svetlo = luxmetr.readLightLevel();
  116.  
  117.   Serial.println();
  118.   Serial.println("Teplota: "+String(teplota)+" °C");
  119.   Serial.println("Vlhkost: "+String(vlhkost)+" %");
  120.   tlak_hpa = tlak_pa/100;
  121.   Serial.println("Tlak: "+String(tlak_hpa)+" hPa");
  122.   Serial.println("CO2: "+String(CO2)+" ppm");
  123.   Serial.println("Svetlo: "+String(svetlo)+" lx");
  124.   Serial.println();
  125.  
  126.   if(OdeslatData(teplota, vlhkost, tlak_hpa, CO2, svetlo)){
  127.     Serial.println("Ulozeno do Google Tabulky.");
  128.   }
  129.   else{
  130.     Serial.println("Chyba pri ukladani do Google Tabulky.");
  131.   }
  132.  
  133.   delay(900000);
  134. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement