--- /dev/null
+#include <ESP8266WiFi.h>
+#include <ESP8266WebServer.h>
+#include "DHT.h"
+#include <NTPClient.h>
+#include <WiFiUdp.h>
+// DHT22: PIN 1: VCC mit 3,3 oder 5V verbinden (funzte beides)
+// PIN 2: Data mit D2 oder D6 funktioniert es, an D8 auch aber dann lässt sich der ESP8266 nicht mehr flashen. Spannungsteiler mit 10K Widerstand
+// Siehe Zeichnung wemos_d1_mini_dht22_bb.jpg im Verzeichnis dieses Skriptes
+// PIN 3: NC bleibt unbelegt
+// PIN 4: GND mit Masse / G verbinden
+
+// Typ des Sensors, hier DHT22
+//#define DHTTYPE DHT11 // DHT 11
+//#define DHTTYPE DHT21 // DHT 21 (AM2301)
+#define DHTTYPE DHT22 // DHT 22 (AM2302), AM2321
+
+// Zugangsdaten zum WLAN:
+const char* ssid = "TBZ-PARIV";
+const char* password = "3898512881807530";
+
+const long utcOffsetInSeconds = 3600;
+char daysOfTheWeek[7][12] = {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"};
+
+WiFiUDP ntpUDP;
+NTPClient timeClient(ntpUDP, "pool.ntp.org", utcOffsetInSeconds);
+
+ESP8266WebServer server(80);
+
+// DHT Sensor
+// PIN mit dem "Data" des DHT22 verbunden ist
+uint8_t DHTPin = D2;
+
+// Initialize DHT sensor.
+DHT dht(DHTPin, DHTTYPE);
+
+float Temperature;
+float Humidity;
+long lastMillis=millis();
+ void setup() {
+ Serial.begin(115200);
+ delay(100);
+
+ pinMode(DHTPin, INPUT);
+
+ dht.begin();
+
+ Serial.println("Connecting to ");
+ Serial.println(ssid);
+
+ //connect to your local wi-fi network
+ WiFi.begin(ssid, password);
+
+ //check wi-fi is connected to wi-fi network
+ while (WiFi.status() != WL_CONNECTED) {
+ delay(1000);
+ Serial.print(".");
+ }
+ Serial.println("");
+ Serial.println("WiFi connected..!");
+ Serial.print("Got IP: "); Serial.println(WiFi.localIP());
+
+ server.on("/", handle_OnConnect);
+ server.onNotFound(handle_NotFound);
+
+ server.begin();
+ Serial.println("HTTP server started");
+ timeClient.begin();
+ Serial.println("NTP started");
+}
+void loop() {
+ server.handleClient();
+ //every 5 minutes via serial
+ if (millis() - lastMillis >= 5*60*1000UL) {
+ lastMillis = millis(); //get ready for the next iteration
+ printTempSerial();
+ }
+}
+
+void printTempSerial() {
+ getDataFromSensor();
+ Serial.print(timeClient.getHours());
+ Serial.print(":");
+ Serial.print(timeClient.getMinutes());
+ Serial.print(":");
+ Serial.print(timeClient.getSeconds());
+ Serial.print(" ");
+ Serial.print("Temp: ");
+ Serial.print(Temperature);
+ Serial.print(" - ");
+ Serial.print("Humidity: ");
+ Serial.println(Humidity);
+}
+
+void getDataFromSensor() {
+ timeClient.update();
+ Temperature = dht.readTemperature(); // Gets the values of the temperature
+ Humidity = dht.readHumidity(); // Gets the values of the humidity
+}
+
+void handle_OnConnect() {
+ getDataFromSensor();
+ server.send(200, "text/html", SendHTML(Temperature,Humidity));
+}
+
+void handle_NotFound(){
+ server.send(404, "text/plain", "Not found");
+}
+
+String SendHTML(float Temperaturestat,float Humiditystat){
+ String ptr = "<!DOCTYPE html> <html>\n";
+ ptr +="<head><meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, user-scalable=no\">\n";
+ ptr +="<title>TBZ Wetterdaten</title>\n";
+ ptr +="<meta http-equiv=\"refresh\" content=\"2\" >";
+ ptr +="<style>html { font-family: Helvetica; display: inline-block; margin: 0px auto; text-align: center;}\n";
+ ptr +="body{margin-top: 50px;} h1 {color: #444444;margin: 50px auto 30px;}\n";
+ ptr +="p {font-size: 24px;color: #444444;margin-bottom: 10px;}\n";
+ ptr +="</style>\n";
+ ptr +="</head>\n";
+ ptr +="<body>\n";
+ ptr +="<div id=\"webpage\">\n";
+ ptr +="<h1>Klimadaten</h1>\n";
+
+ ptr +="<p>Zeit: ";
+ ptr += timeClient.getHours();
+ ptr +=":";
+ ptr += timeClient.getMinutes();
+ ptr +=":";
+ ptr += timeClient.getSeconds();
+ ptr +="<p>";
+
+ ptr +="<p>Temperature: ";
+ ptr +=(double)Temperaturestat;
+ ptr +=" C</p>";
+ ptr +="<p>Humidity: ";
+ ptr +=(double)Humiditystat;
+ ptr +=" %</p>";
+
+ ptr +="</div>\n";
+ ptr +="</body>\n";
+ ptr +="</html>\n";
+ return ptr;
+}