Bodensee Maker Faire 2016

An diesem Wochenende findet in Friedrichshafen am Bodensee die Bodensee Maker Faire statt. Die Maker Faire ist diesmal kombiniert mit der HAM Radio und einem ausgedehnten Flohmarkt für Funkamateure. Eine gute Gelegenheit auch mal die jeweils andere Welt kennen zu lernen.

Die Maker Faire wird begleitet durch eine Reihe von Workshops und Vorträgen, weshalb vor einem Besuch das Programm mal studiert werden sollte (sh. Link oben). Ein paar Bilder sollen meine Eindrücke hier wiederspiegeln.

MakerFaireBodensee 1

MakerFaireBodensee 2MakerFaireBodensee 3Website

MakerFaireBodensee 4MakerFaireBodensee 5MakerFaireBodensee 6Website

MakerFaireBodensee 7Website

MakerFaireBodensee 8MakerFaireBodensee 9MakerFaireBodensee 10

 

Solar-Ladegerät zur Spanungsversorgung

Zur Spannungsversorgung eines autonomen IoT-Knotens können sogenannte Solar Power Banks, wie sie für das Laden von Handys, Smartphone und Tabletts angeboten werden, eine günstige Alternative darstellen.

Ich habe seit Längerem noch einen anderen Test mit einem Solarpanel und einem LiPo-Akku auf der Basis von Einzelkomponenten laufen, der hier verfolgt werden kann. Bei diesem Test wird zur Reduzierung der Stromaufnahme der IoT-Knoten nach der Übermittlung der jeweiligen Messdaten für längere Zeit in einen Schlafzustand versetzt.

Das hier gezeigte und recht kompakte Solar-Ladegerät hat die folgenden technischen Daten:

  • Solarpanel: 1.5 W
  • Lithium-Polymer-Akku
  • Kapazität: 10’000 mAh
  • Eingang: 5 V DC
  • Ausgang: 5 V/1 A (optional 5 V/2 A)
  • Größe: 13.2 cm x 7.8 cm x 1.6 cm

Die Überwachung der Ausgangsspannung des Solar-Ladegeräts erfolgt durch den IoT-Knoten selbst. Im Minutentakt wird eine Internetverbindung aufgebaut, die Ausgangsspannung gemessen, der Messwert an den Thingspeak-Server gesendet und der IoT-Knoten in den Schlafzustand versetzt. Das ergibt für ca. 12 s eine Belastung mit ca. 150 mA, während im Schlafzustand die Stromaufnahme auf ca. 100 μA zurückgeht. Ohne Nachladung durch das Solarpanel sollte das eine Laufzeit von ca. 9 Tagen ergeben.

Der Test wurde heute, am 16.06.2016 12:50, gestartet und der Verlauf kann auf Thingspeak.com verfolgt werden.

Unixbench Raspberry Pi Zero

Der Raspberry Pi Zero V1.3  ist ein um ein Kameraport (CSI) erweiterter Raspberry Pi Zero., gekennzeichnet durch die folgenden Eigenschaften:

  • 1Ghz, Single-core CPU Broadom BCM2835
  • 512MB RAM
  • Mini HDMI and USB On-The-Go ports
  • Micro USB power
  • HAT-compatible 40-pin header
  • Composite video and reset headers
  • Size: 65mm long x 30mm wide x 5mm thick
  • pint-sized CSI connector to connect the Raspberry Pi Camera Module

Weiterlesen

Raspberry Pi Zero

Heute war der Raspberry Pi Zero, vor wenigen Tagen bestellt bei Pimoroni (UK). im Briefkasten.

20160521_134433

Im Pibow Zero Case kann sich der Raspberry Pi Zero durchaus sehen lassen.

20160521_140002_000

Als nächstes werde ich auch diesen Raspberry Pi mit dem PREEMPT_RT Patch versehen, um ihn echtzeitfähig zu machen. Auf die Ergebnisse bin ich gespannt.

Echtzeitfähiger Raspberry Pi

In vielen Bereichen der Steuerungstechnik wird echtzeitfähiges Verhalten der eingesetzten Rechner erwartet. Für Mikrocontroller, die ohne Betriebssystem (bare metal) arbeiten, ist das in der Regel kaum ein Problem. Will man auf ein Betriebssystem nicht verzichten, dann stehen zahlreiche Echtzeit-Betriebssysteme (RTOS) zur Verfügung.

Für Linux-Devices gibt es verschiedene Möglichkeiten, Echtzeitfähigkeit sicher zu stellen. Im White Paper „LINUX und Echtzeit – Eine Übersicht prinzipieller Lösungsansätze“ werden unterschiedliche Möglichkeiten dazu aufgezeigt. Der PREEMPT_RT Patch des Mainline-Linux-Kernels ist der favorisierte und durch die Linux-Community getragene Ansatz.

Die Schritte zum Aufsetzen eines PREEMPT_RT Kernels für den Raspberry Pi  sind auf einer separaten Webseite dokumentiert.

An dieser Stelle werden die Ergebnisse der Latenzzeitmessung mit dem Programm cyclictest für Raspbian Jessie und den Kernel mit  PREEMPT_RT Patch verglichen:

Linux raspberrypi 4.4.9+ #884 Fri May 6 17:25:37 BST 2016 armv6l GNU/Linux

$ sudo ./cyclictest -l50000000 -m -n -a0 -t1 -p99 -i400 -h400 –q

hist
# Total: 049929616
# Min Latencies: 00014
# Avg Latencies: 00033
# Max Latencies: 03978
# Histogram Overflows: 70384

Die mittlere Latenzzeit beträgt 33 µs, wobei 70384 der insgesamt 50 Mio Messungen oberhalb von 400 µs liegen und die maximale Latenzzeit sogar 3978 µs beträgt.

Linux raspbberypi 4.1.15-rt15 #1 PREEMPT RT Tue May 17 17:19.15 CEST 2016 armv6l GNU/Linux

$ sudo ./cyclictest -l50000000 -m -n -a0 -t1 -p99 -i400 -h400 –q

rthist
# Total: 050000000
# Min Latencies: 00015
# Avg Latencies: 00027
# Max Latencies: 00146
# Histogram Overflows: 00000

Die mittlere Latenzzeit beträgt 27 µs und die maximale Latenzzeit nur 146 µs.

Fazit

Durch den Einsatz des PREEMPT_RT Patchs auf den Kernel werden die Latenzzeiten deutlich reduziert und Determinismus des zeitlichen Verhaltens erreicht.

Für den hier untersuchten Raspberry Pi wurde die maximale Latenzzeit von fast 4 ms auf weniger als 150 µs reduziert.

BeagleBone Green

BeagleBone Green (BBG) ist eine gemeinsame Entwicklung von BeagleBoard.org und Seeed Studio. Das Board basiert auf dem Open-Source-Hardware-Design des BeagleBone Black.

BeagleBone Green

BeagleBone Green

BBG hat zwei Grove-Anschlüsse erhalten, wodurch es leichter ist, Sensoren / Aktoren aus der umfangreichen Grove-Familie zu kontaktieren. Der HDMI-Anschluss musste den Grove-Anschlüssen weichen, kann aber über eine HDMI-Cape zur Verfügung gestellt werden. Wichtige Informationen sind im BBG Wiki zu finden.

Weiterlesen

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