Mini-AVR-Webserver mit LCD-Anzeige
In das bestehende Projekt der Temperaturerfassung und der Messung der Wassertemperatur sind noch ein weitere Funktionen integriert wurden.Der AVR-Webserver basiert auf dem Pollin NET-IO-Board mit einem ATMega 644 und der Webserversoftware von U. Radig.
Wassertemperatur, Surfbasis aktuell, Anzeige Wetterdaten und Informationsanzeige
Der Server erfüllt jetzt gleichzeitig vier unterschiedliche Aufgaben:
1. Wassertemperatur
Messung der Wassertemperatur und Bereitstellung des AD-Wertes auf einer eigenen Webseite. Dieser Zahlenwert kann von außen über ein PHP-Script abgefragt und ausgewertet werden.
siehe Webcam Informationsbereich Wassertemperatur:
https://www.surf-erfurt.de/webcam/webcam.jpg
2. Surfbasis aktuell
Ein angeschlossener Schalter mit integrierter zweifarbiger LED meldet über eine weitere Webseite, ob die Surfstation besetzt ist. Auch diese Webseite kann von außen abgerufen werden und wird ebenfalls per PHP weiterverarbeitet.
siehe Webcam Informationsbereich „Basis aktuell : geschlossen/offen
https://www.surf-erfurt.de/webcam/webcam.jpg
3. Anzeige Wetterdaten
Die Anzeige aller aktuellen Wetterdaten sollte im Außenbereich der Surfstation möglich sein.
Die Lösung ist ein vierzeiliges LCD-Display, welches die aktuellen Daten anzeigt. Die aufbereiteten Wetterdaten werden vom Hautserver über eine Webseite bereitgestellt. Diese Webseite fragt der AVR-Server ab und zeigt die Informationen auf dem Display nacheinander an.
Auch die Wettervorhersage von windfinder.com holt sich der AVR-Server und stellt sie in einer Sequenz dar.
4. Informationsanzeige
Auf einem weiteren LCD-Display können allgemeine Informationen auf vier Zeilen angezeigt werden. Die Eingabe der Informationen erfolgt über ein separates Webformular des Hauptservers.
Aufbau
Erläuterungen zu den Teilaufgaben
Teilaufgabe 1. Temperaturmessung:
siehe Temperaturmessung
Anzeige des AD-Wertes über die index.htm
Teilaufgabe 2. „Basis aktuell“:
Am NET-IO wurde der PORTA mit den Anschlüssen PA6 und PA7 mit einer zweifarbigen LED verbunden und an PINA5 der Schalter angeschlossen.
Die Abfrage des Schalters geschieht in der ISR der analog.c und wird somit jede Sekunde abgefragt. Entsprechend der Schalterbetätigung leuchtet die rote oder grüne LED.
In der webpage.h ist die io.htm als Webseite zur Fernabfrage eingetragen. Sie nutzt die von U. Radig vorbereitete Variable "%PINA5".
Teilaufgaben 3. und 4. LCD-Anzeige
Die LCD’s sind entsprechend des Belegungsplans an den freien Port des 25-poligen Sub-D Steckers angeschlossen. Die Initialisierung und Bereitstellung der C-Routinen erfolgt durch die vorhandenen lcd.h und lcd.c Dateien.
Die in der Originalsoftware vorgesehene http-get-Funktion wurde als erster Ansatz zur Abfrage einer fremden Webseite genutzt. Durch ein Projekt bzw. Forumeintrag „Wetterdaten per Webservice abholen“ kam der Möglichkeit einer XML-Datei-Abfrage hinzu. Auf diese Grundlage wurde die alpi_weather.h und alpi_weather.c entsprechend unseren Vorgaben erweitert.
"XML-Datei":
Download Projektdateien
{jsmallfib [Download/AVR-Webserver/Version1_2]}