Archiv für den Monat März 2016

JSON-Daten im Shell-Script filtern

Das JSON-Format dient an vielen Stellen als lesbares Format zum Datenaustausch zwischen unterschiedlichen Anwendungsprogrammen. JSON-Dateien sind einfache Textdateien, die sich in jedem Texteditor öffnen lassen. Bei grösseren Dateien kann jedoch die Übersicht schnell verloren gehen.

Bei Anfragen an Webserver werden die Daten häufig im JSON-Format zur Verfügung gestellt. Es dient praktisch als Alternative zu XML.

Um nun in einem Shell-Script auf die Daten einfach zugreifen zu können, bietet sich der Einsatz eines JSON-Prozessors für die Kommandozeile an.

Unter Debian, und damit auch für den Raspberry Pi, steht das Paket jq zur Verfügung. Die Installation kann folgendermaßen vorgenommen werden:

sudo apt-get install jq

Zur Vertiefung zu Installation und Anwendung sei auf das Howto und die jq-Website verwiesen.

RPi-Monitor

Xavier Berger veröffentlichte den RPi-Monitor V.2.10 im Januar 2016.

Hatte ich bei der Installation für den Banana Pi noch einige Handarbeit zu leisten. Gibt es hier eine sehr gute Installationsanleitung für den Raspberry Pi.

Die folgenden Screenshots zeigen die aktuelle Situation für einen Raspberry Pi 2 auf dem die Sensordaten eines Wettersensors ASH2200 erfasst und zu ThingSpeak gesendet werden () nach ca. einem Tag Laufzeit.

RPi-Monitor1

RPi-Monitor2

RPi-Monitor3

Wetterdaten auf der Webseite

Escam Brick QD900WiFiNeben der Anzeige der bei  ThingSpeak abgelegten Daten habe ich eine IP Camera Escam Brick QD900WiFi eingebunden. Diese Kamera kann über eBay bereits unter 50 $ gekauft werden.

Im Minutentakt erfolgt ein Snapshot, der auf meinem Server abgelegt und auf meiner Website angezeigt wird.

Die mit diesem Bild der aktuellen Wettersituation ergänzten Wetterdaten meines Wohnorts sind nun auf meiner Webseite abrufbar ->  www.ckuehnel.ch/WetterAltendorfSZ.html

Arduino-Formfaktor

Hersteller von Mikrocontrollern stellen auf ihren Evaluationboards häufig eine Arduino-Schnittstelle zur Verfügung, um das breite Spektrum von Arduino-Shields für das Rapid Prototyping einsetzen zu können. Der eingesetzte Mikrocontroller wird aber nicht mit der Arduino-IDE programmiert.

Für das Rapid Prototyping ist die Arduino-Schnittstelle von großem Vorteil, da auch später noch Komponenten/Shields gewechselt oder an konkrete Anforderungen angepasst werden können.

Die mbed Plattform unterstützt zahlreiche dieser Boards, die ich in der filter- und sortierbaren Liste Arduino-compatible Microcontroller Boards supported by ARMmbed zusammengestellt habe.

archpro1

Beim Arch Pro von Seeed Studio ist der Arduino-Formfaktor durch die gelben Buchsenleisten deutlich erkennbar. Der auf dem Board befindliche Mikrocontroller LPC1768 von NXP (Cortex-M3) kann aus der mbed Umgebung heraus programmiert werden.