ISS Tracker to CSV für den Raspberry Pi – Vers. 3. Hier nun noch eine Möglichkeit die ISS Postion zu ermitteln und in CSV-Format zu übersetzen. In diesem Flow, ist das CSV-Ergebniss etwas anders. Jeder Satz besteht aus drei Zeilen siehe:
Teslas SpaceX-Astronauten sind nun von der ISS auf dem Rückweg zur Erde und werden heute Abend in Florida landen. Wer sich das live anschauen will, kann das über den live Stream der NASA um 20:48 Uhr tun.
Heimreise aus 400 Kilometern Höhe.
Mein Raspberry Pi trackt ja die Position der ISS wie hier berichtet.
Mit dem NodeRed-Flow wird ja ein Webservice für die Position verwendet und direkt abgefragt. Es gibt aber auch noch einen eigenen NodeRed Flow. Dieser Node, ist nicht defaultmäßig vorhanden und muss erst in NodeRed installiert werden (suche nach node-red-contrib-iss-location). Eine Code Analyse hat gezeigt, das der Node die gleiche OpenNoitify API abfragt. Die Parameter heißen bei der Rückgabe des Flows nur etwas anders: lon, lan, name (der name ist der Timestamp)
Hier nun der Code des Flow mit dem eigenen ISS Node (siehe Foto oben), der genau das gleiche tut wie der erste. Er schreibt die Positions-Daten der ISS in eine Datei im CSV-Format.
Wie kann im NodeRED Covid-19 Dashboard die Skala für alle gleichzeitig gesetzt werden? In diesem Dasboard gibt es 2×3 Werte die immer gleich sein sollen:
Bisher musste ich in jedem der 6 Gauge-Nodes den Wert einzeln setzen. Man kann die Gauge-Nodes aber auch über die Eigenschaft: msg.ui_control setzen:
Deshalb habe ich eine globale Variable gemacht, die man an einer Stelle mit global.set setzen kann. Das auslesen geht dann mit global.get. So braucht man nur eine Stelle ändern. Hier die Details:
Wie können die Flows in NodeRED organisiert werden? Damit ein Flow nicht überladen wird und auch um die GUI von der Logik zu trennen (MVC, Model View Controller Konzept) können die link-in bzw. link-out Nodes verwendet werden. Das sind diese:
Die link-out Nodes werden in den Quell Flow integriert, z.B.
Auf meinem Raspberry Pi läuft NodeRed. Damit kann man schnell eine Coron-Dashboard für Deutschland (oder jedes andere Land) erstellen. Es wird jede Stunde aus den Daten des CSSE via REST-API https://covid19.mathdro.id/api/confirmed gespeist.
Dafür einmalig die GUI Elemente installieren über: npm install node-red-dashboard oder
Wie können die Covid-19 Daten der Johns Hopkins CSSE über die JSON-Api https://covid19.mathdro.id/api in einem Node-RED Flow integriert werden, so das automatisch eine Pushover Nachricht an das Handy versendet wird. Auch ein autom. Tweet an Twitter ist schnell gemacht. Auf einem Raspberry Pi läuft dafür Node-RED.
Im Rahmen seines gesetzlichen Auftrags stellt der DWD seine Wetter- und Klimainformationen entgeltfrei auf dem Open Data-Server https://opendata.dwd.de bereit. Fuer den Zugang ist keine Registrierung notwendig. Es gelten die Nutzungsbedingungen unter: https://www.dwd.de/copyright. Also alle frei zugänglichen Geodaten und Geodatendienste dürfen entsprechend der „Verordnung zur Festlegung der Nutzungsbestimmungen für die Bereitstellung von Geodaten des Bundes (GeoNutzV) unter Beigabe eines Quellenvermerks ohne Einschränkungen weiterverwendet werden.
Die Infos werden in einer JSON Datei bereitgestellt. Der Aufbau wird hier beschrieben. Dann erstellen wir mal einen NodeRed Flow der den Pollenflug-Gefahrenindex täglich per Pushover an das Handy versenden kann. In dem Beispiel wird nur der Wert für Niedersachsen und Birke und Hasel verwendet. Auch wird nur eine Meldung versendet wenn der Wert sich ändert. In den nächste Monaten wird wohl auch nicht viel an Pollen fliegen, wie die Statistik zeigt. Was die Werte bedeuten, geht aus dieser Tabelle hervor.
Manchmal wird ein Flow für eine gewisse Zeit nicht mehr benötigt. Man kann ihn leicht deaktivieren bzw. wieder aktivieren. Das geht nicht über ein Menü, sondern über einen doppelklick auf den TAB:
Wie hier beschrieben, in Kurzfassung mit ein paar weiteren Details.
Es werden aber ein paar Stunden für Download und erstellen der SD-Karte benötigt. Auch die erste init. für NodeRed usw. benötigt etwas Zeit (ca. 2-4 Stunden). Aber man kann in der meisten Zeit ja auch andere Dinge machen … :
Vor ein paar Tagen hatte ich geschrieben, wie mit rules von openHAB über Alexa eine Sprachausgabe gemacht werden kann. Die rules wollte ich nun ersetzen durch einen nodeRED Flow. Das geht ganz einfach. Hier ein Beispiel Flow der jeden Abend um 10:30 Uhr den Text ausgibt, das ich in Bett gehen soll, damit ich morgen wieder fit bin.
Der Flow kann von nodered.org heruntergeladen werden.
Heute vor 20 Jahren, am 1.12.1998 ging die Domain wenzlaff.de zum ersten mal ans Netz. Wie die Zeit vergeht.
Es war eine statische Webseite mit Freeware und Sprüche Datenbank mit Newsletter und einigen C++ und Java Programmen zum kostenlosen Download aus meiner Hand. Hier ein etwas unvollständiges Bildschirmfoto, mehr habe ich leider nicht mehr gefunden:
Aber auch schon lange vor dieser Zeit, hatte ich eine Homepage, die aber dann auf den Servern der UNI-Bremen kostenlos gehostet wurde. Da hatte ich als Informatiker einen Zugang mit Akustikkoppler mit 300 Baud und Lochkarten hatten wir da auch noch. Das war wenigstens etwas zum anfassen, batches mit Lochkarten schreiben, cool!
Und es gab keine Werbung im Internet.
Die schöne alte Zeit. Und in der Zwischenzeit gab es immer mal neue Technologie. Vom statischen html zum xhtml und JavaScript über einen eigenen Java html Generator mit Templates bis heute zu den Content-Management-System mit eigener Datenbank.
Bis heute konnte ich auch auf dieser Webseite immer auf Werbung verzichten. Juhu …
Wie soll es weiter gehen? Gibt es noch Themen nach über 1000 Beiträgen? Ideen habe ich noch genug, was fehlt ist die Zeit!
In diesem Sinne, vielen Dank an alle Leser und für das viele Feedback (die über 1000 Kommentare mit Kommentarfunktion habe ich ja abgeschaltet…DSGVO läßt grüßen) das auch nach wie vor erwünscht ist, aber eben über E-Mail
Vor vier Tagen ist die neue 0.19.2 Version von Node-Red für den Raspberry Pi veröffentlicht worden. Was es so neues gibt, kann man hier sehen. Die Liste ist lang!
NodeRED: „A visual tool for wiring the Internet of Things.“ Eine neue NodeRED Version 0.18.7 ist veröffentlicht worden. Was ist neu? Siehe hier. Sei Mutig! Update auf die neue Version.
Also zum updaten ein:
1
2
cd.node-red
update-nodejs-and-nodered
auf der Konsole eingeben und nach 13 Minuten, ist die neue Version installiert:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
Running Node-RED update foruser pi at/home/pi
Thiscan take20-30minutes on the slower Pi versions-please wait.
Stop Node-RED
Remove old version of Node-RED
Remove old version of Node.js-
Update Node.js LTSNode v9.5.0Npm5.6.0
Clean npm cache
Install Node-RED core0.18.7
Move globalnodes tolocal-
Install extra Pi nodes-
Npm rebuild existing nodes
Add menu shortcut
Update systemd script
grep:/home/pi/.config/lxpanel/LXDE-pi/panels/panel:No such file ordirectory
Update update script
Any errors will be logged to/var/log/nodered-install.log
All done.
You can now start Node-RED with the command node-red-start
orusing the icon under Menu/Programming/Node-RED
Thenpoint your browser tolocalhost:1880orhttp://{your_pi_ip-address}:1880
Started Mon25Jun21:19:56CEST2018-Finished Mon25Jun21:32:32CEST2018
Wie können doppelte Nachrichten gefiltert werden? Manchmal will man das eine Nachricht nur einmal versendet wird, auch wenn sie innerhalb einer bestimmten Zeit nochmal mit dem gleichen Wert versendet wird. Das geht mit dem deduplicate Node. Wenn der mit npm i node-red-contrib-deduplicate installiert wurde, kann er wie folgt eingesetzt werden:
NodeRED: „A visual tool for wiring the Internet of Things.“ Eben ist eine neue NodeRED Version 0.18.5 veröffentlicht worden. Was ist neu? Siehe hier. Sei Mutig! Update auf die neue Version.
Also zum updaten ein:
1
2
cd.node-red
update-nodejs-and-nodered
auf der Konsole eingeben und nach ein paar Minuten (20-30 min), ist die neue Version installiert:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Thiscan take20-30minutes on the slower Pi versions-please wait.
Stop Node-RED
Remove old version of Node-RED
Remove old version of Node.js-
Update Node.js LTSNode v9.5.0Npm5.6.0
Clean npm cache
Install Node-RED core0.18.5
Move globalnodes tolocal-
Install extra Pi nodes-
Npm rebuild existing nodes
Add menu shortcut
Update systemd script
Update update script
Any errors will be logged to/var/log/nodered-install.log