diff --git a/monitoring/konfigurace.h b/monitoring/konfigurace.h index 3c1f1e6..5bf3a1c 100644 --- a/monitoring/konfigurace.h +++ b/monitoring/konfigurace.h @@ -1,6 +1,16 @@ -#define SERVERADDR //127, 0, 0, 1 -#define ZABBIXPORT //10051 -#define ZABBIXAGHOST //"Mrazak-Test1" +#define BATERIE_pin A0 // Port na kterem je pripojena baterie pres odpor 150 +#define MRAZAK_pin D5 // Port na kterem je pripojeny mrazak +#define DHT_pin D6 // Port na kterem je pripojene DHT11 -const char* ssid = // "dochazka"; -const char* password = // "Heslo"; +#define SERVERADDR 10, 87, 0, 136 // IP zabbix serveru +#define ZABBIXPORT 10051 // Port zabbix serveru +#define ZABBIXAGHOST "FIXME" // Nazev itemu v zabbixu + +IPAddress staticIP(192, 168, 0, 143); // IP Adresa zarizeni - FIXME +IPAddress gateway(192, 168, 0, 1); // Brana zarizeni +IPAddress subnet(255, 255, 255, 0); // Maska zarizeni + +const int zpozdeni = 120; // cas v sekundach, kdy bude zarizeni v deep sleep modu + +const char* ssid = "FIXME"; // SSID +const char* password = "FIXME"; // Heslo k wifi diff --git a/monitoring/monitoring.ino b/monitoring/monitoring.ino index 8df1936..c57dbc7 100644 --- a/monitoring/monitoring.ino +++ b/monitoring/monitoring.ino @@ -1,63 +1,53 @@ -#include #include +#include #include +#include //#include "konfigurace_local.h" #include "konfigurace.h" -#define pinKONTAKT 14 -#define pinDHT 12 -#define typDHT11 DHT11 - -DHT cidlo(pinDHT, typDHT11); -const int measurment_delay = 60; -unsigned long lastMsg = 0; ESP8266ZabbixSender zSender; +DHT dht(DHT_pin, DHT11); + +void odesli_zpravu(){ + float napeti_baterie = (analogRead(BATERIE_pin) * 4.8)/1024; // napeti baterie + float teplota = dht.readTemperature(); // teplota + float vlhkost = dht.readHumidity(); // vlhkost + int kontakt = (digitalRead(MRAZAK_pin) == 0) ? 1 : 0; // stav kontaktu + + // Vypiseme vse do konzole (pro debug) + Serial.print("Napeti baterie(V): "); + Serial.println(napeti_baterie); + Serial.print("Teplota (°C): "); + Serial.println(teplota); + Serial.print("Vlhkost (%): "); + Serial.println(vlhkost); + Serial.print("Stav kontaktu (0/1): "); + Serial.println(kontakt); + + zSender.ClearItem(); + zSender.AddItem("baterie", napeti_baterie); + zSender.AddItem("teplota", teplota); + zSender.AddItem("vlhkost", vlhkost); + zSender.AddItem("kontakt", kontakt); + zSender.Send(); +} void setup() { - Serial.begin(115200); - delay(2000); - pinMode(pinKONTAKT, INPUT_PULLUP); - Serial.println("Start"); - WiFi.mode(WIFI_STA); - WiFi.begin(ssid, password); - while (WiFi.status() != WL_CONNECTED) { - delay(500); - } - Serial.println("Pripojeno"); - Serial.println(); - Serial.print("MAC adresa: "); - Serial.println(WiFi.macAddress()); - Serial.print("IP adresa: "); - Serial.println(WiFi.localIP()); - WiFiClient client; - zSender.Init(IPAddress(SERVERADDR), ZABBIXPORT, ZABBIXAGHOST); + Serial.begin(115200); + pinMode(MRAZAK_pin, INPUT_PULLUP); + Serial.println("Start"); + WiFi.config(staticIP, gateway, subnet); + WiFi.mode(WIFI_STA); + WiFi.begin(ssid, password); + while (WiFi.status() != WL_CONNECTED) { + delay(100); + } + Serial.println("Pripojeno"); + //odesli_zpravu(); + //ESP.deepSleep(zpozdeni * 1000000); } void loop() { - if (millis() - lastMsg > (1000 * measurment_delay) || millis() < (lastMsg - 1000)) { - sendMessage(); - } -} - -void sendMessage() -{ - int kontakt = digitalRead(pinKONTAKT)? 0 : 1; - float teplota = cidlo.readTemperature(); - float vlhkost = cidlo.readHumidity(); - Serial.print("Kontakt: "); - Serial.println(kontakt); - Serial.print("Teplota: "); - Serial.println(teplota); - Serial.print("Vlhkost: "); - Serial.println(vlhkost); - zSender.ClearItem(); - zSender.AddItem("kontakt", kontakt); - zSender.AddItem("teplota", teplota); - zSender.AddItem("vlhkost", vlhkost); - if (zSender.Send() == EXIT_SUCCESS) { - Serial.println("ZABBIX SEND: OK"); - } else { - Serial.println("ZABBIX SEND: ERROR"); - } - lastMsg = millis(); + odesli_zpravu(); + delay(60000); }