From 49d48f06690e13f8d534bf00336fdd5910b60085 Mon Sep 17 00:00:00 2001 From: Dany Thinnes Date: Wed, 22 May 2024 12:05:08 +0200 Subject: [PATCH] =?UTF-8?q?Quellcode=20hinzugef=C3=BCgt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ESP8266-Stromauslesen.ino | 156 ++++++++++++++++++++++++++++++++++++++ Werte.txt | 19 +++++ 2 files changed, 175 insertions(+) create mode 100644 ESP8266-Stromauslesen.ino create mode 100644 Werte.txt diff --git a/ESP8266-Stromauslesen.ino b/ESP8266-Stromauslesen.ino new file mode 100644 index 0000000..9f52c93 --- /dev/null +++ b/ESP8266-Stromauslesen.ino @@ -0,0 +1,156 @@ +#include +#include +#include +#include + +#include "ph.h" + +int httpCode; +int pos = 0; +int datenpos = 0; + +bool lesen = false; + +ESP8266WebServer server(80); + +const byte beginn[] = { 0x1b, 0x1b, 0x1b, 0x1b, 0x01, 0x01, 0x01, 0x01 }; +const byte ende[] = { 0x1b, 0x1b, 0x1b, 0x1b, 0x1a }; + +byte daten[512]; + +double stand = 0; +double leistung = 0; + +void setup() +{ + Serial.begin(9600); + + WiFi.begin(phSSID, phPasswort); + + while(WiFi.status() != WL_CONNECTED) + { + delay(500); + } + + ArduinoOTA.setHostname("tutorial"); + ArduinoOTA.setPassword("12345"); + ArduinoOTA.begin(); + + server.onNotFound([]() + { + server.send(404, "text/plain", "Die Seite wurde nicht gefunden!"); + }); + + server.on("/", []() + { + server.send(200, "text/plain", "Mahlzeit und willkommen bei Projekt Hirnfrei"); + }); + + server.begin(); +} + +void loop() +{ + ArduinoOTA.handle(); + + server.handleClient(); + + WiFiClient client; + HTTPClient http; + + if(Serial.available() > 0) + { + byte input = Serial.read(); + + if(lesen) + { + daten[datenpos] = input; + datenpos++; + + if(input == ende[pos]) + { + pos++; + + if(pos == sizeof(ende)) + { + lesen = false; + + pos = 0; + + standLesen(); + leistungLesen(); + + if(http.begin(client, "http://192.168.178.123:2280/speichern.php?wert="+String(stand)+";"+String(leistung))) + { + httpCode = http.GET(); + } + } + } + else pos = 0; + } + + if(!lesen) + { + if(input == beginn[pos]) + { + pos++; + + if(pos == sizeof(beginn)) + { + lesen = true; + + pos = 0; + } + } + else pos = 0; + } + } +} + +void standLesen() +{ + byte seq[] = { 0x01, 0x00, 0x01, 0x08, 0x00, 0xff }; + + int index = 0; + + for(int i=0;i