diff --git a/wlan_energie_thingspeak/wlan_energie_thingspeak.ino b/wlan_energie_thingspeak/wlan_energie_thingspeak.ino index 2217c364cd32ac4ed7b69941730947f4f1774380..e04472e9ebdc1fb57501d7629b319f7cfc2a3b80 100644 --- a/wlan_energie_thingspeak/wlan_energie_thingspeak.ino +++ b/wlan_energie_thingspeak/wlan_energie_thingspeak.ino @@ -1,22 +1,27 @@ // https://tttapa.github.io/ESP8266/Chap13%20-%20OTA.html // ESP32 oder ESP8266? -#define ESP32 +#define ESP8266 // Boardverwaltung: -// ESP8266: NodeMCU 1.0 (ESP-12E Module) -// ESP32: NodeMCU-32S +// ESP8266: NodeMCU 1.0 (ESP-12E Module) // http://arduino.esp8266.com/stable/package_esp8266com_index.json +// ESP32: NodeMCU-32S // https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json // // Werkzeuge --> Bibliotheksverwaltung: Thingspeak +// Hardware Circuit: +// CNY70 IR RX/TX with IR-Transistor +// Emitter: Ground, Collector D6 (GPIO12) +// optional: 5GHz Radarsensor: GND, 3V, D7 (GPIO13) +#define IMPULSE_PRO_KWH 250 #ifdef ESP32 #include <WiFi.h> #include <WiFiMulti.h> WiFiMulti wifiMulti; #else -#include <ESP8266WiFi.h> +#include <ESP8266WiFi.h> #include <ESP8266WiFiMulti.h> ESP8266WiFiMulti wifiMulti; // Create an instance of the ESP8266WiFiMulti class, called 'wifiMulti' #endif @@ -54,8 +59,6 @@ const char * myWriteAPIKey = PASSWORTE_myWriteAPIKey; // Paste your ThingSpea // https://randomnerdtutorials.com/interrupts-timers-esp8266-arduino-ide-nodemcu/ // - - WiFiClient client; // Startvalue of Counter kWh @@ -161,7 +164,7 @@ void loop() { unsigned long diff_last = last_pulse - last_pulse_before_thingspeak; if (diff_last > 0 && new_impulse > 0) { - rate = (1000 * 60 * 60 * new_impulse) / (diff_last); // ergibt Watt + rate = (1000 * 60 * 60 * new_impulse) / (diff_last) / (1000/IMPULSE_PRO_KWH); // ergibt Watt Serial.print("Thingspeak: "); } else { @@ -169,13 +172,13 @@ void loop() { Serial.print("divide by zero! "); } - counter_electricity_Wh += new_impulse; + counter_electricity_Wh += new_impulse * (1000/IMPULSE_PRO_KWH); // der Zähler macht 1000 Impulse pro kWh, also einen pro Wh Serial.print("Thingspeak: "); Serial.print(rate); Serial.print(" ,"); - Serial.print(counter_electricity_Wh / 1000); + Serial.print(counter_electricity_Wh / 1000); // kWh Serial.print("."); - Serial.print(counter_electricity_Wh % 1000); + Serial.print(counter_electricity_Wh % 1000); // Nachkommastelle Serial.print(" ,"); Serial.println(digitalRead(13));