Schlagwort-Archive: Raspbian

Enviro pHAT am Raspberry Pi (Zero)

Die englische Firma Pimoroni bietet sogenannte pHATs (HAT = Hardware at Top) für den Raspberry Pi an. Von den Abmessungen her orientieren sich diese am Raspberry Pi Zero. Das Interface ist aber durch den 40-poligen GPIO-Stecker definiert, so dass ein solches pHAT auf jeden, diesen Stecker aufweisenden Raspberry Pi installiert werden kann.

Enviro pHAT umfasst vier unterschiedliche Sensoren, die die Messung von Temperatur und Druck, Licht und Farben (RGB), Bewegung in drei Achsen, Ausrichtung des Magnetfelds (Compass) und Gleichspannung über vier Analog-Eingänge ermöglichen. Ausserdem befinden sich zu Beleuchtungszwecken zwei weisse LEDs auf diesem pHAT.

Enviro pHAT Features:

  • LSM303D accelerometer/magnetometer sensor (I2C Slave Addr 0x1d)
  • TCS3472 light and RGB colour sensor (I2C Slave Addr 0x29)
  • ADS1015 4-channel 3.3v, analog to digital sensor (ADC) (I2C Slave Addr 0x48)
  • BMP280 temperature/pressure sensor (I2C Slave Addr 0x77)
  • Two LEDs for illumination (GPIO4)

i2c map

Eine Python Library unterstützt eine komfortable Programmierung in Python. Installation und Inbetriebnahme sind im Dokument „Getting started with Enviro pHAT“ beschrieben.

Bei der Inbetriebnahme blieben die LEDs dunkel. Es muss sicher gestellt sein, dass GPIO4 frei zur Verfügung steht und das Script setup.py gestartet wurde. Danach sollte alles problemlos laufen.

Mit dem Script test_all.py kann nun jede Funktion des Enviro pHAT getestet werden. Der Screenshot zeigt die Ausgabe über die Console.

Unbenannt

#!/usr/bin/env python

import sys
import time
import datetime

from envirophat import light, weather, motion, analog, leds


def write(line):
 sys.stdout.write(line)
 sys.stdout.flush()

write("--- Enviro pHAT Monitoring ---")

try:
 while True:
 leds.on()
 time.sleep(0.02)
 leds.off()
 rgb = light.rgb()
 analog_values = analog.read_all()

output = """
Date : {n}
Temperature: {t} grd C
Pressure : {p} hPa
Light : {c}
RGB : {r}, {g}, {b} 
Heading : {h}
Analog : 0: {a0}, 1: {a1}, 2: {a2}, 3: {a3}
""".format(
 n = datetime.datetime.now(),
 t = round(weather.temperature(),2),
 p = round(weather.pressure(),2),
 c = light.light(),
 r = rgb[0],
 g = rgb[1],
 b = rgb[2],
 h = motion.heading(),
 a0 = analog_values[0],
 a1 = analog_values[1],
 a2 = analog_values[2],
 a3 = analog_values[3]
 )
 output = output.replace("\n","\n\033[K")
 write(output)
 lines = len(output.split("\n"))
 write("\033[{}A".format(lines - 1))

time.sleep(10)
 
except KeyboardInterrupt:
 pass

 

 

Raspberry Pi 3 Speichererweiterung durch WD PiDrive 314 GB

Erweitert man den Speicher des Raspberry Pi 3 durch die WD PiDrive Harddisk mit 314 GB, dann hat man für viele Anwendungen erst mal ausreichend externen Speicher zu Verfügung. Von Interesse sind aber außerdem die Zugriffszeiten auf dieses Medium.

Für den Banana Pi mit SATA-Interface hatte ich das bereits untersucht. Die Ergebnisse sind hier zu finden.

Die Vorbereitung der WD PiDrive Harddisk erfolgte nach den Vorgaben aus dem WD Forum.

Den erweiterten Raspberry Pi 3 mit Raspbian Jessie habe ich dem gleichen Test unterzogen und die folgenden Ergebnisse erzielt:

hdparm

Verglichen zum Banana Pi  präsentieren sich die Ergebnisse wie folgt:

Timing cached reads Timing buffered disk reads Timing O_DIRECT cached reads Timing O_DIRECT buffered disk reads
Banana Pi
USB-HD 1 TB
252.63 27.55 28.79 28.24 MB/sec
Banana Pi
SSD 32 GB
280.69 81.72 127.53 132.77 MB/sec
Raspberry Pi
WD PiDrive 314 GB
483.04 29.67 26.62 25.82 MB/sec
Nur die über das SATA-Interface an den Banana Pi angeschlossene SSD zeigt erwartungsgemäß einen höheren Datendurchsatz. Ansonsten sind die Werte vergleichbar.

 

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.

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

UNIXBench Raspberry Pi 2 Modell B

Der Raspberry Pi 2 Modell B bietet eine erhebliche Leistungssteigerung gegenüber seinen Single-Core-Vorgängern. Neben einem Broadcom BCM2836 900 MHz ARM Cortex-A7 Quad-Core-Prozessor mit VideoCore IV Dual-Core-GPU verfügt der Raspberry Pi 2 Modell B nun auch über 1 GB RAM-Speicher. Der Betriebssystemkern wurde aktualisiert, um die neueste ARM Cortex-A7-Technologie voll auszuschöpfen.

Ich habe Raspbian Jessie installiert und über raspi-config 900 MHz Taktfrequenz (Medium) eingestellt, um den UNIXBench zum Test laufen zu lassen.

Für den Raspberry Pi und andere Linux-Devices sind Ergebnisse von UNIXBench’s zusammengestellt, die mit den hier gewonnenen Ergebnissen raspberrypi-2016-02-10-02 (PDF) ergänzt werden können.

Eine deutliche Leistungssteigerung ist bereits im Single Core Betrieb zu verzeichnen.