Wasserstand einer Zisterne mit einem Wemos D1 mini überwachen.

Die Beschaltung

Der Programmcode:
#include <ESP8266WiFi.h>

const char* ssid = "Wifi Name";
const char* password = "Password vom Wifi";

WiFiServer server(80);

int trigger = 0;
int echo = 2;
long dauer = 0;

long entfernung = 0;

void setup() {
  Serial.begin(115200);
  delay(10);
  Serial.println();

  pinMode(trigger, OUTPUT);
  pinMode(echo, INPUT);

  // Connect to WiFi network

  WiFi.mode(WIFI_STA);
  Serial.println();
  Serial.println();
  Serial.print("Connecting to ");
  Serial.println(ssid);

  WiFi.begin(ssid, password);

  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }
  Serial.println("");
  Serial.println("WiFi connected");

  // Start the server
  server.begin();
  Serial.println("Server started");

  // Print the IP address
  Serial.println(WiFi.localIP());
}

void loop() {

  digitalWrite(trigger, LOW);
  delay(5);
  digitalWrite(trigger, HIGH);
  delay(10);
  digitalWrite(trigger, LOW);
  dauer = pulseIn(echo, HIGH);
  entfernung = (dauer / 2) / 29.1;

  String cmd;
  cmd += "\"";

  WiFiClient client = server.available();
  client.println("HTTP/1.1 200 OK");
  client.println();
  client.println("<!DOCTYPE html>");
  client.println("<html xmlns='http://www.w3.org/1999/xhtml'>");
  client.println("<head>\n<;meta charset='UTF-8'>");
  client.println("<title>Wasserstand Regenwasserzisterne</title>");
  client.println("</head>\n<body>");
  client.println("<H2>Wasserstand Regenwasserzisterne</H2>");
  client.println("<h3>");

  if (entfernung >= 200 || entfernung <= 0)
  {
    client.println("Kein Messwert");
  }
  else
  {
    entfernung = 192 - entfernung;
    entfernung = entfernung * 84.7457;
    client.print(entfernung);
    client.println(" Liter");
  }
  if (entfernung >= 0 && entfernung <= 1833)
  {
    client.print("<br><img src=");
    client.print(cmd);
    client.print("http://xxx/bat_0.jpg");
    client.print(cmd);
    client.print(" ");
    client.print("width=");
    client.print(cmd);
    client.print(80);
    client.print(cmd);
    client.println("/>");
  }
  if (entfernung >= 1833 && entfernung <= 3666)
  {
    client.print("<br><img src=");
    client.print(cmd);
    client.print("http://xxx/bat_emty.jpg");
    client.print(cmd);
    client.print(" ");
    client.print("width=");
    client.print(cmd);
    client.print(80);
    client.print(cmd);
    client.println("/>");
  }
    if (entfernung >= 3666 && entfernung <= 5500)
  {
    client.print("<br><img src=");
    client.print(cmd);
    client.print("http://xxx/bat_2.jpg");
    client.print(cmd);
    client.print(" ");
    client.print("width=");
    client.print(cmd);
    client.print(80);
    client.print(cmd);
    client.println("/>");
  }
    if (entfernung >= 5500 && entfernung <= 7332)
  {
    client.print("<br><img src=");
    client.print(cmd);
    client.print("http://xxx/bat_half.jpg");
    client.print(cmd);
    client.print(" ");
    client.print("width=");
    client.print(cmd);
    client.print(80);
    client.print(cmd);
    client.println("/>");
  }
    if (entfernung >= 7332 && entfernung <= 9165)
  {
    client.print("<br><img src=");
    client.print(cmd);
    client.print("http://xxx/bat_4.jpg");
    client.print(cmd);
    client.print(" ");
    client.print("width=");
    client.print(cmd);
    client.print(80);
    client.print(cmd);
    client.println("/>");
  }
    if (entfernung >= 9165 && entfernung <= 16000)
  {
    client.print("<br><img src=");
    client.print(cmd);
    client.print("http://xxx/bat_full.jpg");
    client.print(cmd);
    client.print(" ");
    client.print("width=");
    client.print(cmd);
    client.print(80);
    client.print(cmd);
    client.println("/>");
  }
  
  client.println("</h3>");
  client.print("</body>\n</html>");
  delay(500);
}
Die Berechnung des Volumen:

Ultraschallsensor HC-SR04

2,99 
Umsatzsteuerbefreit gemäß UStG §19
zzgl. Versand
Lieferzeit: ca. 1-3 Werktage

Ultraschallentfernungsmesser AJ-SR04M / JSN-SR04T Wasserdicht

10,99 
Umsatzsteuerbefreit gemäß UStG §19
zzgl. Versand
Lieferzeit: ca. 1-3 Werktage

D1 mini V3.0 ESP8266

6,29 
Umsatzsteuerbefreit gemäß UStG §19
zzgl. Versand
Lieferzeit: ca. 1-3 Werktage