Home > Technologie > Eine Wettervorhersageanzeige mit Node-red und einem Raspberry-Pi

Eine Wettervorhersageanzeige mit Node-red und einem Raspberry-Pi

0
Advertisement

Eine Wettervorhersageanzeige mit Node-red und einem Raspberry-Pi

Haben Sie gehört , Node-RED ? Dieses grafische Tool zielt darauf ab , Entwickler in ihrer Mission zu helfen , das Internet der Dinge mit Draht Fluss basierte Programmierung .

Ich beobachtete einige Tutorials und Demonstrationsvideos, um zu verstehen, wie Boxen nach dem Fluss Nachrichten an jeden anderen senden, um schließlich Nachrichten an die Außenwelt zu senden oder ein Stück Hardware wie eine LED oder einen Temperatursensor zu steuern.

Wir sehen hier , wie eine Wettervorhersage Anzeige zu erstellen Raspberry-Pi verwenden, Node-RED und Yahoo Wetter API.

Mehr Infos über Node-RED:

http://nodered.org/

Https: //learn.adafruit.com/raspberry-pi-hosting-no ...

Schritt 1: Die Hardware

Eine Wettervorhersageanzeige mit Node-red und einem Raspberry-Pi

Um eine Anzeige zu meinem Himbeere hinzufügen, wählte ich die PCD8544 von Sunfounder .

Schritt 2: Installation der Node-RED-Box zur Steuerung der LCD-Anzeige

Eine Wettervorhersageanzeige mit Node-red und einem Raspberry-Pi

Ich wollte eine Box auf meinem Node-RED «palette» für meinen LCD stehen. Dann habe ich einen Knoten-RED - Modul nach dem engagierten Tutorial .

Installieren Sie Node-RED
Sie können die Node-RED Installationsanleitung für Raspberry finden Sie hier: http://nodered.org/docs/hardware/raspberrypi

Installieren Sie den TreiberPi-Treiber

Mein Node-RED - Paket verwendet von WiringPI-Bibliothek von Gordon Henderson . Von Ihrem Raspberry-Pi-Terminal installieren Sie den Treiber:

  $ Cd / home $ git clone git: //git.drogon.net/wiringPi
  $ Cd wiringPi $ sudo ./build

Installieren Sie das Feld "Node-RED" für das LCD-Display "PCD85444"

Immer noch mit Ihrem Raspberry verbunden, installieren Sie die LCD-Knoten-RED-Box Ich erstellte:

  $ Sudo npm install -g Knoten-rot-Beitrag-pcd8544-rpi

Bei Bedarf können Sie den Quellcode auf meinem GitHub Repo finden: https: //github.com/pevandenburie/node-red-contrib ...

Start Node-RED

Dann starten Sie Node-RED auf der Himbeere:

  Pi @ raspberrypi ~ $ sudo Knoten-rot
  Willkommen bei Node-RED ============
  27 Feb 21:39:17 - [info] Node-RED Version: v0.13.1 27 Feb 21:39:17 - [info] Node.js Version: v0.12.6 27 Feb 21:39:17 - [info] Loading Palettenknoten 27 Feb 21:39:42 - [info] Einstellungsdatei: /root/.node-red/settings.js 27 Feb 21:39:42 - [info] Benutzerverzeichnis: /root/.node-red 27 Feb 21.39.42 - [info] Flow - Datei: /root/.node-red/flows_raspberrypi.json 27. Februar 21.39.42 - [info] Server jetzt an läuft http://127.0.0.1:1880/ 27. Februar 21:39:42 - [info] Starten fließt
  27 Feb 21:39:44 - [info] Angefangene Ströme

Verwenden von Node-RED

Öffnen Sie auf Ihrem Computer Ihren bevorzugten Browser und geben Sie die URL der Node-RED-Schnittstelle mit der IP-Adresse Ihrer Raspberry auf Port 1880 ein:

Http: // raspberry_IP_address: 1880

Das Node-RED wird geöffnet. Unten links sind die Raspberry-Pi-spezifischen Kästchen aufgeführt, und Sie sollten die PCD8544 LCD-Box sehen.

Schritt 3: Testen der LCD

Eine Wettervorhersageanzeige mit Node-red und einem Raspberry-Pi

Eine Wettervorhersageanzeige mit Node-red und einem Raspberry-Pi

Eine Wettervorhersageanzeige mit Node-red und einem Raspberry-Pi

Hier kommt der Spaß. Jetzt spielen wir mit Node-RED Palette!

1- Drap - and - Drop ein "injizieren" Eingabefeld und die "pcd8544-RPI" Box, dann wire "injizieren" Ausgang "pcd8544-RPI" Eingang.

2- Konfigurieren Sie das "injizieren" Feld der Nachricht string ": Hallo Raspberry 2" zu senden. Das "2:" -Präfix zeigt an, dass das Feld "pcd8544" für die LCD-Zeile 2 steht.

3- Drücken Sie "DEPLOY", und drücken Sie die Taste auf der linken Seite des "injizieren" -Box.

Schauen Sie sich die LCD - Anzeige: Sie sollten "Hallo Himbeere" zu sehen.

Schritt 4: Verwenden von Yahoo Weather API

Eine Wettervorhersageanzeige mit Node-red und einem Raspberry-Pi

Eine Wettervorhersageanzeige mit Node-red und einem Raspberry-Pi

Eine Wettervorhersageanzeige mit Node-red und einem Raspberry-Pi

Yahoo bietet eine einfache Wetter API aktuelle Wetter und Prognose abrufen je nach Standort.

Haben Sie einen Versuch , indem Sie diese URL in den Browser zu öffnen: https: //query.yahooapis.com/v1/public/yql q = wählen ...

Diese URL gibt Wetterinformationen zurück (Sie ersetzen Paris durch Ihren eigenen Platz) innerhalb eines riesigen JSON, den wir analysieren müssen, um Informationen abzurufen, die wir anzeigen möchten:

- Die aktuelle Lage (tatsächlich werden wir es auch in der URL zur Verfügung stellen).

- Das Textformat der drei nächsten Tage prognostiziert.

Wir brauchen zwei Dinge:

- Eine "HTTP - Anforderung" Tabelle oben Yahoo Wetter URL zu senden;

- Eine "Funktionsfeld" , um die JSON zu analysieren und die Nachrichten zu formatieren , um "pcd8544-RPI" LCD - Display - Box zu senden.

Diese beiden Felder werden in den im vorherigen Schritt angelegten Fluss eingefügt.

Nun, ich aufhören , die suspens: Ich habe den Teilstrom mit der Yahoo Wetter Parsen zur Verfügung:

- Kopieren Sie die Knoten-rot-yahooweather2screen.json JSON von hier: https: //gist.github.com/pevandenburie/022a94f5bf00 ...

- In der Node-RED - Palette, öffnen Sie das Menü auf der rechten oberen Ecke, dann Import / Zwischenablage, und die JSON Text einfügen.

Ein schönes "yahooweather2screen" erscheint: legen Sie ihn einfach auf der Palette, und verbinden Sie sie zwischen dem Kasten (dessen Text wird einfach ignoriert werden) "injizieren" und der "pcd8544-RPI" -Box.

Drücken Sie "DEPLOY" , dann die Taste auf der linken Seite des "injizieren" -Box. Betrachten Sie das Display: Sie sehen das Wetter für die aktuelle und die nächsten zwei Tage.

Das beigefügte Bild zeigt , dass "Nebel" Nachricht geschnitten wird. Dies ist ziemlich ärgerlich, und ich muss noch eine schöne Möglichkeit, um lange Nachrichten anzeigen, wenn ich nicht wollen, um eine breitere Display kaufen! aufrechtzuerhalten.

Schritt 5: Schlussfolgerung

Aktualisierungsauslöser

Ein Zeitraum von 2 Stunden scheint gut, die Wettervorhersage Informationen zu aktualisieren. Konfigurieren Sie hierzu das Feld "Injektion" mit dem Intervall "Wiederholen", das auf 2 Stunden festgelegt ist, und wählen Sie "Einmal beim Start".

Startreihenfolge

Sie werden wahrscheinlich wollen, dass Node-RED beim Starten automatisch startet: der zuletzt eingesetzte Fluss wird dann geladen.

Die Node-RED - Dokumentation erklärt , wie Systemd verwenden , um dies zu erreichen.

Related Reading