Raspberrry PI Raspberry PI

Raspberry + Squeezelite mit bluetooth Lautsprecher

Hallo Zusammen,
wie viele andere "Gesinnungsgenossen", bin ich bei meiner Multiroom Installation einen weiteren Schritt gegangen. Ich habe eine Bluetooth Box an meine PI mit 7" Display angeschlossen. Mit Hilfe von squeezebox-bluetooth, kann man diese optimal einbinden. Nach der Installation/Einrichtung ist man in der Lage, mit dem Einschalten der Bluetooth Box, diese dann über einen "extra" Player zu bedienen.
Hier die Steps zum einbinden dieser Lösung. Viel Spass dabei... 

 

# https://github.com/oweitman/squeezelite-bluetooth

apt-get install pi-bluetooth

apt-get install squeezelite

apt-get install -y libasound2-dev dh-autoreconf libortp-dev bluez pi-bluetooth bluez-tools libbluetooth-dev libusb-dev libglib2.0-dev libudev-dev libical-dev libreadline-dev libsbc1 libsbc-dev

apt-get install libdbus-glib-1-dev

apt-get install python-pip

apt-get install python3-pip

pip3 install dbus-python

cd /etc/systemd/system 

https://raw.githubusercontent.com/oweitman/squeezelite-bluetooth/master/src/etc/systemd/system/bluezalsa.service

https://raw.githubusercontent.com/oweitman/squeezelite-bluetooth/master/src/etc/systemd/system/btspeaker-monitor.service

cd /etc

mkdir pyserver

cd pyserver

wget https://raw.githubusercontent.com/oweitman/squeezelite-bluetooth/master/src/etc/pyserver/btspeaker-monitor.py

wget https://raw.githubusercontent.com/oweitman/squeezelite-bluetooth/master/src/etc/pyserver/bt-devices

Musik via Squeezebox / Squeeze Player auf einem Raspberry

Die ersten Versuche mit Musik war mit Mopidy & MPD. Das war so 2014. Funktionierte auch mit Spotify. Hier gab es technisch noch ein wenig Potenzial. Auch war ein "Synchronisieren" der Musik Player nicht möglich. Daher bin ich ca 2018 auf Logitech Squeezebox umgestiegen. Das ist ursprünglich eine Logitech Lösung, wo es jetzt auch OpenSource Projekte zu gibt. Anfangs hatte ich den Server auf einer PI 3 am laufen. Mittlerweile läuft der Squeezebox Server auf einer der Synology DS411 slim.

Auf den Raspberrys wo die Musik abgespielt werden soll, läuft jetzt ein Squeezebox Player. Dieser Clients verbinden sich alle mit dem Server und können dann "auch" zentral gesteuert werden.

D.h. ich hab z.B. auf meinem iPhone eine App "iPeng" installiert. Das ist eine coole App um die Squeezebox Clients zu Steuern. 

Der große Vorteil von der Squeezebox Lösung ist das Synchronisieren der Clients. Wenn ich alle Clients eingeschaltet habe, kann ich diese Zusammenschalten sodass wie aus einem Munde der gleiche Stream abgespielt wird.

Vollständige Kauflösungen wie Sonos haben ihre Vorteile wie "Einschalten und läuft", jedoch ist der Preis nicht zu verachten. Auch kann ich meine bestehenden "Lautsprecher" oder die Hifi Anlage im Wohnzimmer weiterhin benutzten. 

Raspberry mit 7Zoll Display im Kioskmodus Starten

Der Raspberry Pi kann viele Funktionen erfüllen. Er wird mit Mopidy oder Squeezelight/Squeezebox zum Musikplayer. Ich habe mich nach ersten Versuchen Volumio und Mopidy/MPD, für Squeezelight/Squeezebox/LMS entschieden. Diese Lösung ist multiroom fähig. Die Software bzw. der Hersteller dieser Lösung wurde von Logitech aufgekauft und dann später als OpenSource zur Verfügung gestellt. Internet Radio, Spotify, lokale MP3 Files etc. können so bequem abgespielt werden. Die Steuerung kann z.B. per Browser oder auch per App (z.B. iPeng) erfolgen.

Im Smarthome kann über OpenHAB auch eine Steuerung erfolgen. Das ist hier aber nicht das Thema.

 

Hat man ein Touch Display für den PI, kann die Steuerung direkt über das Touch-Display erfolgen. Wie man das einrichtet, will ich hier in diesem Beitrag beschreiben. Ziel ist es, das nach einschalten des Gerätes, eine Oberfläche automatische startet, welche eine Eingabe bzw. Steuerung über das Display mit den Fingern ermöglicht.

Ich hab da auch mal mit einer Fritz!PowerLine geschaut, was da für ein Verbrauch anliegt. Die ca. 6 Watt bei aktiven Display und die fast 3 Watt wenn das Display aus ist. Ich denke das ist für einen Dauerbetrieb (wenn nötig) auch noch im Rahmen.

Verbrauch raspberry3 7zoll 

Zunächst lade ich das Betriebssystem NOOBS_v3.2.0 light. Da wird dann nur die "lite" Version über das Internet installiert. Also sowenig wie nötig an Software installiert.

Da nach dem ersten Starten wird SSH aktiviert, die Einstellung für die Sprache über raspi-config eingestellt und so etwas wie "set -o vi" ins /etc/profile geschrieben. Also etwas was mir ein wenig die Arbeit erleichtert auf der "UNIX console". 

raspi-config

apt-get update

apt-get upgrade

apt-get install dnsutils

Dann gehts los und ich arbeite die folgenden Befehlen und Einstellungen ab.

# Install X11 LXDE .... das dauert dann auch gern mal ne Stunde :-/

# https://www.therryvanneerven.nl/how-to-install-raspbian-jessie-on-an-old-raspberry-pi.html

sudo apt-get install -y xinit lxde-core lxterminal lxappearance lightdm xserver-xorg xserver-xorg-video-fbdev 

reboot

 

# Keyboard

# http://ozzmaker.com/virtual-keyboard-for-the-raspberry-pi/

sudo apt-get install -y xinput xinput-calibrator

 

# Touchscreen

# https://rataks.com/blog/raspberry-pi-touchscreen-in-moode-with-chromium.html

apt-get install -y xserver-xorg-legacy xorg

 

# 7" Display howto:

# https://maker-tutorials.com/raspberry-pi-touchscreen-installieren-und-anschliessen-tipps-tricks/

# https://raspberry.tips/raspberrypi-tutorials/raspberry-pi-touch-display-installieren-und-einrichten

sudo apt-get install -y florence at-spi2-core matchbox-keyboard unclutter lsb-release chromium-browser

 

Jetzt wird die grafische Oberfläche installiert

sudo sed -i "s/allowed_users=console/allowed_users=anybody/" /etc/X11/Xwrapper.config
sudo wget https://goo.gl/NEqFRp -O /opt/start-gui
chmod +x /opt/start-gui
sudo wget https://goo.gl/bTB4Vv -O /lib/systemd/system/start-gui.service

Der Start der Oberfläche zur Steuerung des Squeezebox Client nach dem Booten wird durch folgenden Aufruf erledigt:

root@display:~ # cat /opt/start-gui

#!/bin/bash

/usr/bin/xinit /usr/local/share/triode-jivelite/bin/jivelite 

 

Die Konfigurationsdatei für das Stück Software für den Autostart sieht wo aus:

root@display:~ # cat /lib/systemd/system/start-gui.service

[Unit]

Description=Start Chromium GUI

After=nginx.service php5-fpm.service mpd.service

[Service]

Type=simple

ExecStart=/opt/start-gui

User=pi

[Install]

WantedBy=multi-user.target

Den Service muss man dann noch einrichten:
systemctl enable start-gui

Für den Autostart wird u.a. ein Script benötigt, welches nach Login die grafische Oberfläche start. Dabei muss dann wiederum ein "Programm" gestartet werden, welches für die Steuerung genutzt werden kann. Was gibt es besseres als einen Browser (chromium-browser) der auf eine WebSite (mopidy) zugreift. Hierzu das folgende Scipt /opt/start-gui

#!/bin/bash

/usr/bin/xinit /usr/bin/chromium-browser --start-maximized --incognito --single-process --process-per-site --disable-sync-preferences --no-startup-window --kiosk --touch-events --disable-touch-drag-drop --enable-touchview --enable-pinch --window-size=800,480 --windowposition=0,0 --disable-session-crashed-bubble --disable-infobars --no-first-run --app=http://localhost:6680/musicbox_webclient/index.html#home --nocursor

Alternativ hier der Aufruf für JiveLite eine Squeezelite Benutzeroberfläche für Linux

#!/bin/bash

/usr/bin/xinit /opt/jivelite/bin/jivelite.sh

Mit dem Befehl raspi-conf wird die Konfiguration des Systems so eingestellt, das automatisch der Benutzer "pi" sich anmeldet. 


Dann muss noch der "Squeeze..." Client unter Linux installiert werden. Ich nehme dazu den Client  JiveLite

sudo apt-get install git libsdl1.2-dev libsdl-ttf2.0-dev libsdl-image1.2-dev libsdl-gfx1.2-dev libexpat1-dev

Clone luajit from github and compile:

cd /usr/local/src

git clone http://luajit.org/git/luajit-2.0.git
cd luajit-2.0
make
sudo make install
sudo ldconfig

Clone JiveLite from github and compile:
cd /usr/local/src

git clone https://github.com/ralph-irving/jivelite
cd jivelite
make
cd ..
sudo mv ./jivelite /opt

Zum Schluss noch der Tipp mit dem Screensaver über ein einfaches Script "jivelite.sh", welches dann zum Aufruf kommt im "start-gui.sh" Script.

#!/bin/bash

export SDL_VIDEO_ALLOW_SCREENSAVER=1

/opt/jivelite/bin/jivelite

Raspberry PI für Openhab 2 mit HabPannel

Wer Openhab 2 mit HabPanel kennt, möchte vielleicht in seiner Wohnung ohne PC, Handy oder Tablet die Steuerung über Openhab bedienen. Das funktioniert erstaunlich gut. Wie das aussehen kann, zeigen ein paar Bilder. Das letzte Bild zeigt den Verbrauch. Bei ca 3 Watt wenn der Bildschirm aus ist. Bei ca. 6 Watt wenn der Bildschirm an ist.
Die Kosten (Stand Jan 2018) für das ganze betragen ca. 140,- € (PI Bundle ca. 50,-€ , Gehäuse ca. 20,-€ und Display ca. 70,-€)

  • raspberry-7zoll-1-vorne

Simple Image Gallery Extended

Wie man das installiert, wird grundsätzlich hier beschrieben.

Joomla templates by a4joomla