Das Programm misst den Füllstand eines Brunnens und visualisiert die Daten auf einer Webseite. Es führt folgende Schritte aus:
- Messdaten abrufen: Es holt Daten von einem Arduino Webserver mit Sensoren über eine HTTP-Anfrage.
- Datenverarbeitung: Die empfangenen Daten werden gefiltert und sortiert, um den Median zu berechnen.
- Ausgabe der Messwerte: Der berechnete Median wird als Signallaufzeit ausgegeben.
- Füllstandberechnung: Die Signallaufzeit wird in Abstand und Füllstand in Prozent umgerechnet.
- Visualisierung: Es zeigt die letzten 48 Stunden der Messwerte in Form von Balken an.
- Datenlogging: Die aktuellen Messdaten werden in einer CSV-Datei gespeichert. Zusätzliche Funktionen berechnen die Höhe und den Abstand der Wasseroberfläche basierend auf der Laufzeit.
- Ethernet-Setup: Initialisiert die Ethernet-Verbindung und den Server mit einer statischen IP-Adresse.
- Ultraschallsensor-Setup: Konfiguriert die Pins für den Trigger- und Echo-Pin des Sensors.
- Hauptschleife (loop):
- Wartet auf eingehende Client-Verbindungen.
- Wenn ein Client verbunden ist, liest er die HTTP-Anfrage.
- Sendet eine HTTP-Antwort mit HTML-Inhalt.
- Ultraschallmessung:
- Führt zehn Messungen der Signallaufzeit durch, indem der Trigger-Pin kurz aktiviert und dann die Zeit gemessen wird, bis das Echo zurückkommt.
- Die gemessenen Zeiten werden dem Client gesendet.
- Verbindung beenden: Nach der Antwort wird die Client-Verbindung geschlossen.
Der Arduino-Code misst die Entfernung mithilfe eines Ultraschallsensors und stellt die Messergebnisse über einen Ethernet-Server bereit. Die Hauptfunktionen sind: