SHPI.zero – Raspberry Pi für die Unterputz Montage

In diesem Artikel geht es um den SHPI.zero, einen Raspberry Pi Zero W mit Touchscreen und einer Reihe von Sensoren und Aktoren für die Unterputz Montage.

Seit längerem war ich auf der Suche nach einer Möglichkeit einen Raspberry Pi Unterputz zu verbauen. Vor einiger Zeit bin ich dann auf den SHPI.zero gestoßen und konnte einen Prototypen ergattern, den ich testen durfte.

SHPI.zero

SHPI steht für „Smart Home Peripheral Interface“, bietet jedoch mehr Funktionen als nur die eines Interfaces. Eine Reihe von Sensoren und Aktoren sind in dem SHPI.zero verbaut, die ihn zu einem vollwertigen Smart Home Gerät machen.

Verbaut sind Sensoren zum Messen der Luftqualität, des Umgebungslichts, der Temperatur, der Luftfeuchtigkeit, des Luftdrucks und des Verbrauchs. Weiterhin verbaut sind ein Bewegungsmelder, ein Mikrofon, ein Lautsprecher eine Kamera und ein 3,5″ Touch-Screen-Display. Da es sich um einen Raspberry Pi Zero W handelt, lassen sich natürlich auch noch weitere Sensoren einbinden. Für die Audioausgabe ist leider nur ein Piezo Warnmelder verbaut, jedoch lassen sich über den integrierten Verstärker externe Lautsprecher anschließen (der Verstärker war bei dem Prototypen leider nicht enthalten). Über die drei verbauten Relais lassen sich bis zu drei Geräte direkt über den SHPI.zero steuern. Die verbaute RGB LED lässt sich auch nach belieben ansteuern.

Installation

Die Installation des SHPI.zero ist zwar etwas zeitaufwendig, jedoch simpel. Die ersten Schritte sind identisch mit denen bei einem normalen Raspberry Pi Zero W. Also Raspbian auf eine MicroSD Karte flashen, SSH aktivieren (leere Datei mit dem Namen „SSH“ auf der „boot“-Partition der SD Karte erstellen) und die WLAN-Zugangsdaten in der „wpa_supplicant.conf“ eintragen, was dann wie folgt aussehen würde:

country=DE
ctrl_interface=/var/run/wpa_supplicant GROUP=netdev
update_config=1


network={
    ssid="NETWORK-NAME"
    psk="NETWORK-PASSWORD"
}

Dabei muss natürlich NETWORK-NAME und NETWORK-PASSWORD mit den WLAN-Zugangsdaten ersetzt werden.

Anschließend kann man die MicroSD Karte in den SHPI.zero einsetzen und loslegen. Nicht wundern, wenn der Bildschrim schwarz bleibt. Das ist normal wird sich in den nächsten Schritten ändern.

Jetzt kann man sich über SSH auf den SHPI.zero verbinden. Als Zugangsdaten werden hier (wie bei Raspbian typisch) „pi“ als Benutzername und „raspberry“ als Passwort verwendet.

Ist man per SSH mit dem SHPI.zero verbunden, kann man über APT noch die fehlenden Pakete nachinstallieren, die noch für SHPI.zero notwendig sind.

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install git sshpass libgles2-mesa libgles2-mesa-dev omxplayer librrd-dev libpython3-dev python3-smbus python3-pip python3-pil python3-numpy dfu-programmer autotools-dev automake libusb-dev libusb-1.0-0 libusb-1.0-0-dev gcc-avr binutils-avr avr-libc wiringpi
sudo pip3 install RPi.GPIO pi3d rrdtool ics

Wenn das erledigt ist, können die SHPI Pakete von GitHub heruntergeladen werden

git clone https://github.com/shpi/zero_other_demos.git
git clone https://github.com/shpi/zero_avr_firmware_std.git
git clone https://github.com/shpi/zero_std_setup.git
git clone https://github.com/shpi/zero_main_application.git

Jetzt müssen noch einige Konfigurationsdateien für GPIO, i2c und den Startup kopiert werden.

sudo cp zero_std_setup/config.txt /boot/config.txt
sudo cp zero_std_setup/rc.local /etc/rc.local
sudo cp /home/pi/zero_std_setup/modules.conf /etc/modules-load.d/modules.conf

Im nächsten Schritt muss noch die bcm2835 Bibliothek für die Treiber kompiliert und installiert werden.

wget http://www.airspayce.com/mikem/bcm2835/bcm2835-1.60.tar.gz
tar zxvf bcm2835-1.60.tar.gz
cd bcm2835-1.60
./configure
make
sudo make check
sudo make install
cd ..
cd zero_std_setup
sudo gcc -o hello hello.c -lbcm2835
sudo gcc -o backlight backlight.c -lbcm2835
cp backlight /home/pi/zero_thermostat_demo/backlight
chmod +x /home/pi/zero_thermostat_demo/backlight

Das war es auch schon. Der SHPI.zero kann jetzt neugestartet werden und müsste funktionieren und drr Bildschirm dürfte nun auch ein Bild darstellen.

Um den Touch Treiber zu aktivieren, findet man im Ordner „/home/pi/zero_other_demos“ die Datei „touchdriver.py“. Die Datei muss dann wie folgt aufgerufen werden:

sudo python touchdriver.py

Software

Auf GitHub stellt SHPI eine Software (zero_main_application) und weitere Demos (zero_other_demos) bereit. Beide Repositories wurden bereits heruntergeladen, wenn man die obere Installationsanleitung befolgt hat und befinden sich im Ordner ‚/home/pi/‘. Die zero_main_application gibt einen sehr guten Überblick darüber, was mit dem SHPI.zero möglich ist unter anderem lassen sich darüber die Sensoren auswerten und die Relays schalten. Zusätzlich ist auch ein HTTP-Server enthalten, mit dem man die Relays oder die LED steuern kann. Per MQTT lässt sich der SHPI.zero nicht nur steuern, sondern auch auslesen. Dadurch kann man den Status sämtlicher Sensoren, der Relays, der LED und auch des Systems ansich abrufen. Auf dem Instagram Account von SHPI gibt es reichlich Bilder und Videos, die die Funktionalität der zero_main_application darstellen.

Da das System OpenSource ist, lässt sich natürlich auch eigene Software schreiben und ausführen.

Leider bin ich aber auch schnell an die Grenzen des SHPI.zero gestoßen, was jedoch eher auf den schwachen Raspberry Pi Zero W zurückzuführen ist, der verbaut ist. Da ich Home-Assistant im Einsatz habe, wollte ich den SHPI.zero nutzen um mir im Webbrowser die Home-Assistant Oberfläche darzustellen. Im Prinzip war das auch möglich. Die Home-Assistant Öberfläche wurde geladen und konnte an sich auch verwendet werden, jedoch hat das keinen Spaß gemacht, da zum einem das Laden sehr lange gedauert hat und die Reaktionen beim Scrollen oder Aktivieren von Schaltflächen sehr träge war. Ich bin aber auch schon dabei mir mit Python eine kleine Oberfläche zu schreiben, die mir die wichtigsten Geräte aus Home-Assistant darstellt, um nicht mehr den Weg über den Webbrowser gehen zu müssen.

Bezugsquellen

SHPI Webseite

Fazit

Für einen Protoypen war ich schon begeistert von dem kleinen Gerät. Es sind einige Dinge verbaut die ich nicht benötige, aber auf der anderen Seite hat mir auch einbisschen was gefehlt. Für meinen speziellen Fall wäre es schön, wenn ein Lautsprecher verbaut wäre. Nichts großartiges um etwa Musik damit zu hören, sondern nur um den SHPI.zero besser als Snips.ai Satteliten verwenden zu können. Der Lautsprecher fehlte jedoch nur in dem Prototypen, wen ich bekommen habe – in der finalen Version ist ein Lautsprecher enthalten. Für den Snips.ai Satteliten wäre es auch praktisch, wenn zusätzlich noch das ein oder andere Mikrofon verbaut wäre. Ich fände es auch ganz gut, wenn der Bildschirm etwas größer wäre. Nichtsdestotrotz ist es ein spannendes Gerät und ich werde bestimmt noch viel Spaß damit haben. Ich freue mich bereits auf den SHPI.one, den Nachfolger der viele Punkte die ich zu bemängeln habe beseitigt.

Schaut euch das Projekt gerne selbst an uns schreibt ruhig in die Kommentare was ihr davon haltet oder was euch fehlen würde.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.