Home > Technologie > Google Wetter auf grafischer Anzeige mit Arduino

Google Wetter auf grafischer Anzeige mit Arduino

Advertisement

Google Wetter auf grafischer Anzeige mit Arduino

In diesem Projekt verwende ich ein Arduino-Board, um die Wettervorhersage vom Google Weather-Service auf einem VGA-Bildschirm anzuzeigen. Das Display ist offensichtlich grafisch, mit Icons und etwas buntem Text. Es ist eines jener Gadgets, die ich seit einiger Zeit haben wollte - ein Wettervorhersage-Display, das es genau wie die Wanduhr gibt. Ja ich weiß, dass du schönere Sachen auf deiner Zornvogelmaschine hast ... Ich genieße es einfach, es selbst zu tun. Hatte einige Herausforderungen zu überwinden, wie Arduino hat nur 2 KB RAM Begrenzung, ziemlich klein für die Analyse von XML-Daten ...

Eigenschaften
• Aktuelle und Prognose-Wetterinformationen grafisch dargestellt
• Zeitanzeige aus dem Internet über NTP-Protokoll
• Kein PC erforderlich
• Innentemperatur- und Feuchtigkeitsanzeige
• Einfache Verbindung und Montage, nur Ethernet-Kabel und Stromversorgung
• Unterstützt DHCP für die Netzwerkverbindung
• Unterstützt VGA-Bildschirme und kleine 3,2 "-Bildschirme
• Daylight-Saving-Unterstützung über eine Benutzer-Taste

Einige weitere Features umfassen die Änderung der Hintergrundfarbe zwischen Nacht und Tag für die Uhren und ändern Hintergrundfarbe der Wetterdaten Bereiche abhängig von Temperaturen.

Ich habe eine neuere Version davon an: http://www.instructables.com/id/Weather-Underground-on-graphical-display-with-Netd/

Schritt 1: Was ist erforderlich, um dieses Gadget zu bauen?

Google Wetter auf grafischer Anzeige mit Arduino

1. Arduino Ethernet Pro (http://www.sparkfun.com/products/10536) oder Arduino mit Ethernet-Schirm
2. 4D Systems Display (uLCD-32pt) http://www.sparkfun.com/products/10089 oder Display - Adapter (uVGA II) htt p: //www.sparkfun.com/products/10329
3. Arduino E / A-Buchsen
4. 5x Jumper Drähte (nur 4 für den Betrieb erforderlich), beachten Sie die Anzeige und Display-Adapter haben männliche Pins und Arduino nimmt in der Regel weibliche Header.
5. 2GB oder weniger micro-SD (benötigt nur ungefähr 150KB)
6. Netzteil
7. Ethernet-Kabel
8. DHT-22 Temperatur- und Feuchtigkeitssensor (optional, nur für Innentemperatur)
9. Druckknopf (wahlweise freigestellt)
10. 2x 10K Ohm Widerstand (wahlweise freigestellt, nur wenn Sie Innentemperatur wünschen)

Auch für den Bau des Gadgets, benötigen Sie die folgenden
1. FTDI Brett, besser Gebrauch 5Volts eins wie dieses http://www.sparkfun.com/products/9716 eins.
2. PC für die Programmierung
3. Ein Mikro-SD-Lesegerät
4. Lötkolben

Schritt 2: Wo kaufen?

Google Wetter auf grafischer Anzeige mit Arduino

Alle Artikel können bei Sparkfun oder Ihrem bevorzugten elektronischen Komponenten-Shop erworben werden. Wie für den Anzeige- oder Anzeigeadapter kommen sie mit einem der Firmware-Typen SGC oder GFX vorbelastet vor. Es spielt keine Rolle, welche Sie kaufen, da die Umwandlung von einem Firmware-Geschmack in den anderen ist sehr einfache Aufgabe durch ein Werkzeug auf dem PC durchgeführt.

Schritt 3: Wie montiert man?

Google Wetter auf grafischer Anzeige mit Arduino

Google Wetter auf grafischer Anzeige mit Arduino

Bitte lesen Sie diese gründlich, da es Hinweise auf Änderungen, die Sie vielleicht tun möchten.
1. Nach dem Kauf der Ware, laden Sie Software auf Ihren PC, einschließlich:
ein. Arduino IDE (Ich verwende Version 022)
B. 4D Systems Werkzeuge für die Programmierung ihrer Adapter oder Displays von http://www.4dsystems.com.au/prod.php?id=149
C. Arduino Bibliotheken einschließlich: NewSoftwareSerial, Arduino Zeitbibliothek, Ethernet-Bibliothek
2. Verbinden Sie Ihr Display oder Display-Adapter mit dem FTDI (Vcc bis 5V, GND zu GND, Rx bis Tx und Tx bis Rx, DTR auf dem FTDI-Reset-Pin) und FTDI zu USB auf Ihrem PC
3. Laden Sie die richtige Firmware auf das LCD mit dem PmmC Loader Tool von 4D Systems (benötigen Sie die GFX Version)
4. Öffnen Sie das 4D-Systemwerkstattwerkzeug. Öffnen Sie die Programmdatei im Code \ 4D-Unterverzeichnis der ZIP-Datei in dieser Publikation. Folgen Sie den Schritten, wie auch im Bild für dieses Tool gezeigt:
ein. Wählen Sie das richtige Display oder Adaptermodell aus
B. Wählen Sie den richtigen COM-Port (der vom FTDI generiert wird)
C. Wählen Sie das Ziel als "Flash" und nicht "Ram" (nicht vergessen!)
D. Kompilieren und Laden des Programms zum Display / Adapter
5. Platzieren Sie alle notwendigen Arduino-Bibliotheken an der richtigen Stelle (falls noch nicht vorhanden)
6. Verbinden Sie Ihren Arduino mit dem PC
7. Passen Sie die Arduino-Dateien an Ihre Zeitzone und Ihren Ort an
ein. Bearbeiten Sie die Datei NTPAndTime.cpp und ändern Sie die Variable timeZoneSeconds, um die Differenz Ihrer Zeitzone von GMT wiederzugeben. Wenn Sie Westen zu GMT sind, dann verwenden Sie negative Werte.
B. Ändern Sie die Variable dsSeconds, um die Standardänderung aus Ihrer Zeitzone widerzuspiegeln
C. Bearbeiten Sie die Datei NetArduino.pde und ändern Sie die Variable weatherDataGetString entsprechend Ihrer Position (ändern Sie Tel-Aviv zu Ihrer Stadt). Ich empfehle im Browser überprüft , dass sie durch die Eingabe funktioniert: http://www.google.com//ig/api?weather= yourcity in Ihrem Browser - Adressfeld. Sie sollten sehen, einige XML-Antwort im Gegenzug, wenn das funktioniert.
8. Öffnen Sie die Arduino-Skizze NetArduino.pde, kompilieren und laden Sie das Programm zu Ihrem Arduino
9. Verbinden Sie Ihren Micro-SD-Leser mit dem Micro-SD in Ihrem PC
10. Speichern Sie alle Dateien aus dem microSD-Unterverzeichnis in das Stammverzeichnis der micro-SD
11. Entfernen Sie die Mikro-SD aus dem Lesegerät und legen Sie sie in das Display oder den Displayadapter
12. Trennen Sie das Display und Arduino vom PC
13. Schließen Sie den Display- oder Displayadapter wie folgt an Ihren Arduino an:
ein. Vcc des Displays / Adapters auf + 5V von Arduino
B. GND des Displays / Adapters an eine der Arduino GND-Anschlüsse anschließen
C. Verbinden Sie den digitalen I / O-Pin 5 von Arduino mit dem Rx-Pin (3. Pin von rechts am Adapter, wenn der VGA-Anschluss auf der Oberseite ist)
D. Verbinden Sie den digitalen E / A-Pin 4 von Arduino mit dem Tx-Pin (2. Pin von rechts am Adapter)
14. Bauen Sie einen kleinen Schaltkreis für den Taster (siehe optional DHT Sensor Schaltung auch für Schema) wie folgt:
ein. Der Drucktaster ist auf der einen Seite mit Vcc und auf der anderen Seite mit einem Widerstand von 10K Ohm verbunden.
B. Andere Seite des Widerstandes an Masse angeschlossen
C. Verbinden Sie den Arduino Pin 2 mit dem Widerstand / Taster
15. Schließen Sie das Ethernet-Kabel an das Arduino an
16. Schließen Sie das VGA-Display an den Adapter an, wenn Sie den Adapter verwenden möchten
17. Schließen Sie das Netzteil an Arduino an
18. Genießen Sie das Wetter

Schritt 4: Fertigstellen der Baugruppe

Google Wetter auf grafischer Anzeige mit Arduino

Wenn Sie auch die Innentemperatur und Luftfeuchtigkeit möchten, gehen Sie folgendermaßen vor:
1. Baue eine kleine Schaltung mit DHT22, Vcc geht zu Arduino Vcc, GND zum Arduino GND und einem 10K Ohm Widerstand von Vcc zum Datenpin.
2. Verbinden Sie den Datenpin des DHT22 mit dem Pin 3 des Arduino

Schritt 5: Verwenden Sie Celsius oder Fahrenheit?

Dieses Programm zeigt Temperaturen in Celsius an. Wenn Sie jedoch Fahrenheit Grad verwenden, sind hier die Änderungen, die Sie tun müssen (ziemlich einfach)
1. Editieren Sie die 4GL-Display-Programmdatei und ändern Sie die Funktion ShowCelsiusSymbol und ändern putstr ( "C"); Zu putstr ( "F");
2. Ändern Sie die Schwellen der Temperaturen für Heiß- und Kaltindikatoren (TEMP_THHOT und TEMP_THCOLD Konstanten) zu dem, was Sie für Sie gut sind (89 und 68 ist die Äquivalente meiner aktuellen Celsius-Einstellungen)
3. Bearbeiten Sie die Arduino-Datei NetArduino.pde und ändern Sie die Funktion _ProcessWeatherXMLLine, so dass statt der Zeile:
Wenn ((location = matchXmlTag (ptr, PSTR ( "<temp_c data =")))! = 0)
Du wirst haben
Wenn ((location = matchXmlTag (ptr, PSTR ( "<temp_f data =")))! = 0).
Das ist die XML-Tag temp_f anstelle von temp_c
4. Ändern Sie die Funktion Far2Cel in der gleichen Datei, um grundsätzlich t zurückzugeben. Anstelle aller Linien dort.
5. Kompilieren und laden Sie die Programme auf die Geräte

Schritt 6: Hinzufügen oder Ändern von Symbolen

Google Wetter auf grafischer Anzeige mit Arduino

Ich habe viele Bilder heruntergeladen, einschließlich snow.gif (letzter Schnee in Tel-Aviv war 1950). Es ist jedoch möglich, dass es Bedingungen gibt, die ich nicht kenne. Da die API von Google Weather nicht dokumentiert ist, weiß ich ehrlich nicht, ob es mehr gibt. Wenn Sie auf ein fehlendes stoßen, sind hier die notwendigen Schritte, um ein zusätzliches Symbol hinzuzufügen (siehe auch Bilder für die Verwendung der Werkzeuge):
1. Holen Sie sich das fehlende Icon von Google, indem Sie folgende Schritte ausführen (siehe auch Bild):
ein. Öffnen Sie Ihren Browser und zeigen Sie auf den Google-Dienst, indem Sie http://www.google.com//ig/api?weather=yourcity in Ihrem Browser eingeben
B. Siehe fehlende Icon sollte dort in der XML in einem Eintrag ähnlich zu diesem aufgeführt werden: <icon data = "/ ig / images / Wetter / foobar.gif" /> mit Symbol Namen statt foobar natürlich.
C. Laden Sie das Bild, indem Sie in den Browser: http://www.google.com/ig/images/weather/foobar.gif, klicken Sie mit der rechten Maustaste auf das Bild und speichern Sie es in den Ordner mit den Bildern (microSD-Ordner).
D. Starten Sie das 4D-System-Tool namens Graphics Composer, öffnen Sie die Datei goowea.gcs
D.h. Drücken Sie die Schaltfläche Hinzufügen unterhalb der Liste der Bilddateien und fügen Sie Ihre neue Symboldatei hinzu
F. Speichern Sie die Datei mit der Schaltfläche Speichern
G. Notieren Sie, wo die neue Icon-Datei hinzugefügt wurde (vor dem, was und nach dem, was andere Datei)
H. Drücken Sie die Build-Taste (sieht aus wie ein Chip mit roten Beinen)
ich. Beenden Sie das Werkzeug
2. Verbinden Sie den Mikro-SD-Leser mit Ihrem PC und speichern Sie den Ordner microSD erneut
3. Ändern Sie das 4D-Anzeigeprogramm, um über das neue Symbol zu erfahren, und platzieren Sie den Namen genau an der gleichen Stelle der Reihenfolge, wie in Schritt 1.g oben gespeichert. Wenn also der neue Symbolname foobar.gif ist, dann editiere die Datei WeatherScreen.4dg im 4D-Verzeichnis (vorausgesetzt, foobar.gif ist der Name und platziert zwischen coudy.gif und haze.gif) Ändern Sie die Zeilen:
Byte i_Cloudy "cloudy.gif", 0
Byte i_Haze "haze.gif", 0
Nach:
Byte i_Cloudy "cloudy.gif", 0
Byte i_FooBar "foobar.gif", 0
Byte i_Haze "haze.gif", 0
Und die Linien
Wort IconNames
I_coRain, i_coSnow, i_coStorm, i_Cloudy, i_Haze, i_mCloudy, i_mSunny, ...
Nach
Wort IconNames
I_coRain, i_coSnow, i_coStorm, i_Cloudy, i_FooBar, i_Haze, i_mCloudy, i_mSunny, ...
4. Senden Sie mir bitte die Daten

Related Reading