Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // cteni dat z SHT, odeslani na domoticz, spanek
- #include <ESP8266WiFi.h>
- const int sleepTimeS = 10; // sleep time in minutes
- WiFiClient client;
- // domoticz
- const char * domoticz_server = "IP";
- int port = 8080; //Domoticz port
- int idx = 6; //IDX for virtual sensor, found in Setup -> Devices
- //wifi
- #define AP_SSID "ssid"
- #define AP_PASSWORD "heslo"
- int wifi_connect = 0;
- //SHT or Si7020 setup
- #if defined(ARDUINO)
- #include "Wire.h"
- #include "Si7020.h"
- #elif defined(SPARK)
- #include "Si7020/Si7020.h"
- #endif
- Si7020 sensor;
- float hum = 0;
- float temp = 0;
- void setup()
- {
- sensor.begin();
- Serial.begin(115200);
- wifiConnect();
- }
- void loop()
- {
- getData();
- senddata();
- Serial.println("Jdu spat");
- delay(100);
- ESP.deepSleep(sleepTimeS * 1000000 * 60, WAKE_RF_DEFAULT);
- delay(100);
- }
- void wifiConnect()
- {
- Serial.print("Connecting to: ");
- Serial.println(AP_SSID);
- WiFi.begin(AP_SSID, AP_PASSWORD);
- while (WiFi.status() != WL_CONNECTED) {
- delay(1000);
- Serial.print(".");
- wifi_connect++;
- Serial.print(wifi_connect);
- if (wifi_connect == 20) {
- wifi_connect = 0;
- Serial.println("nemuzu se pripojit jdu spat");
- ESP.deepSleep(30 * 1000000 * 60, WAKE_RF_DEFAULT);
- }
- }
- Serial.println("");
- Serial.println("WiFi connected");
- }
- void getData()
- {
- hum = sensor.getRH();
- temp = sensor.getTemp();
- Serial.println();
- Serial.println("**********************************************");
- Serial.println("Humidity (%)\tTemperature (C)");
- Serial.print("\t");
- Serial.print(hum, 1);
- Serial.print("\t\t");
- Serial.print(temp, 1);
- Serial.println("\t\t");
- Serial.println("**********************************************");
- Serial.println();
- }
- void senddata()
- {
- // Domoticz format /json.htm?type=command¶m=udevice&idx=IDX&nvalue=0&svalue=TEMP;HUM;HUM_STAT
- while (!client.connect(domoticz_server, port)) {
- Serial.println("connection failed");
- Serial.println("nemuzu se pripojit na domoticz jdu spat");
- ESP.deepSleep(30 * 1000000 * 60, WAKE_RF_DEFAULT);
- }
- client.print("GET /json.htm?type=command¶m=udevice&idx=");
- client.print(idx);
- client.print("&nvalue=0&svalue=");
- client.print(temp);
- client.print(";");
- client.print(hum);
- client.print(";0"); //Value for HUM_STAT. Can be one of: 0=Normal, 1=Comfortable, 2=Dry, 3=Wet
- client.println(" HTTP/1.1");
- client.print("Host: ");
- client.print(domoticz_server);
- client.print(":");
- client.println(port);
- client.println("User-Agent: Arduino-ethernet");
- client.println("Connection: close");
- client.println();
- delay(100);
- while (client.available()) {
- String line = client.readStringUntil('\r');
- Serial.print(line);
- }
- Serial.println("Odeslano na domoticz");
- delay(200);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement