Die Hardware
Wie bereits erwähnt, benötigt man für dieses Projekt ein ESP8266 Wlan Modul (hier auf amazon
), einen kleinen Arduino, beispielsweise einen preiswerten Arduino Nano Klon, und ein LCD Display (hier auf amazon).
Das LCD Display kann, wie in diesem Post erklärt, ganz normal an den Arduino Nano angeschlossen werden. Zur Kommunikation zwischen dem ESP8266 und dem Arduino kann man die serielle Verbindung benutzen. Dabei muss RX des ESP mit TX des Arduino und umgekehrt verbunden werden. Wie man den ESP8266 anschließt und programmiert, habe ich bereits sehr ausführlich hier erklärt.
Das LCD Display kann, wie in diesem Post erklärt, ganz normal an den Arduino Nano angeschlossen werden. Zur Kommunikation zwischen dem ESP8266 und dem Arduino kann man die serielle Verbindung benutzen. Dabei muss RX des ESP mit TX des Arduino und umgekehrt verbunden werden. Wie man den ESP8266 anschließt und programmiert, habe ich bereits sehr ausführlich hier erklärt.
Die Sketche
Der ESP8266 Sketch
Als Quelle für aktuelle Wettervorhersagen verwende ich Yahoo! Wetter, da dort das Wetter im XML Format zur Verfügung gestellt wird. XML ist ein Datenformat, welches, im Gegensatz zu HTML Websiten, dazu ausgelegt wurde von Maschinen gelesen zu werden. Genaues zu XML auf Wikipedia.
Das bedeutet, dass der übermittelte Text vergleichsweise kurz und einfach strukturiert ist:
Um eine XML Seite mit der Wettervorhersage für eure Stadt zu erhalten, müsst ihr auf Yahoo! Wetter den Code eurer Stadt herausfinden,
und in die XML URL einfügen:
http://weather.yahooapis.com/forecastrss?w=676757&u=c
Hier ist 676757 der Code, welchen ihr durch den eurer Stadt ersetzen müsst.
Nun könnt ihr die URL aufrufen, und seht übersichtlich aufgeschlüsselt die aktuellen Wettervorhersagen.
Diese Seite kann der ESP8266, wie eine normale Website, aufrufen, und in einer Variable abspeichern. In dieser Variable kann das Wlan Modul dann über die Funktion indexOf() die passende Stelle finden, und die Wettervorhersagen herausfiltern.
Der gesamte Code für den ESP8266 sieht so aus:
Alles was man vor dem Hochladen nun noch tun muss, ist das passende Wlan Netzwerk samt Passwort eintragen, und den richtigen Code für Yahoo! Wetter eingeben.
Der Arduino Sketch
Der Arduino muss nur die beiden Temperaturen für den nächsten Tag (minimal & maximal) über die serielle Verbindung empfangen, und auf dem LCD Display ausgeben:
kann man auch irgendwie eine regen vorhersage machen??
AntwortenLöschen