Raspberry Pi 3 – Unnötige Pakete entfernen (Jessie)

Die beliebteste Distribution für den Raspberry Pi, das Raspbian wird mittlerweile in 2 Versionen zum Download angeboten. Einmal mit der neuen „Pixel“ Desktop Oberfläche und einmal als Lite Variante. Die „Pixel“ Version ist mittlerweile auf über 4GB angewachsen, was an den dutzenden vorinstallierten Apps liegt.
Den meisten kram wie Minecraft oder irgendwelche Entwicklungsumgebungen braucht man in der Regel ja eigentlich nie – also weg damit.
Ich habe mal eine Liste gemacht, mit den zusätzlich installierten Apps:

wolfram-engine
minecraft-pi
python-minecraftpi
sonic-pi
python3-numpy
smartsim
penguinspuzzle
timidity
scratch
nuscratch
python3-pygame
python-pygame
python-tk
python-picraft
bluej
claws-mail
greenfoot
minecraft-pi
nodered
geany
libreoffice*
xpdf

Um die Pakete zu deinstallieren folgenden Befehl absetzen:

apt-get remove wolfram-engine minecraft-pi python-minecraftpi sonic-pi python3-numpy smartsim penguinspuzzle timidity scratch nuscratch python3-pygame python-pygame python-tk python-picraft bluej claws-mail greenfoot minecraft-pi nodered geany libreoffice* xpdf

Anschließend gibt es noch eine Menge an nicht mehr benötigten Abhängigkeiten, die man ebenfalls deinstallierten sollte:

apt-get autoremove --purge

Was sagt ihr, gibt es noch weitere Pakete die man aufnehmen sollte ?

Mopidy Musicbox/Webradio auf dem Raspberry Pi installieren

Was ist Mopidy überhaupt ? Mopidy ist ein „Music Player Daemon“ – in kurz ein MPD Server, welcher Music sowohl lokal aber auch streamen kann.
So kann man zum Beispiel ein Raspberry Pi nehmen, Lautsprecher anschließen und die Software installiere. Und schon hat man ein Musikspieler den man per Webinterface oder auch Handyapp fernsteuern kann.
Mittlerweile gibt es auch viele Integrationen wie zum Beispiel für Spotify, Soundcloud, Youtube, Radio, iTunes etc. sodass man auch Musik von dort einbinden kann.
Eine kleine Auflistung der verschiedenen (sehr kreativen!) Werke findet man hier:

www.pimusicbox.com
www.pimusicbox.com

Ich habe hier eine kurze Anleitung geschrieben, wie ihr Mopidy auf eurem Raspberry Pi (oder auch jedem anderem Ubuntu System) installieren könnt und die Grundkonfiguration vornehmt.
1. Das offizielle APT Repository von Mopidy seinem System hinzufügen.

wget -q -O - https://apt.mopidy.com/mopidy.gpg |sudo apt-key add -
sudo wget -q -O /etc/apt/sources.list.d/mopidy.list https://apt.mopidy.com/jessie.list

2. Mopidy installieren. Ich habe zusätzlich noch die Spotify Erweiterung (mopidy-spotify) installiert. Eine Übersicht der Web-Extensions, sowie die Installationsanleitung findet ihr hier.

apt-get update && apt-get dist-upgrade && apt-get install mopidy mopidy-spotify

Quelle: mopidy.com

3. Mopidy das erste Mal starten. Einfach Ausführen, damit werden alle notwendigen Verzeichnisse und die Standard Konfiguration erzeugt.

pi@raspberrypi:~ $ mopidy
INFO Starting Mopidy 1.1.1
INFO Loading config from builtin defaults
INFO Loading config from command line options
INFO Creating dir /home/pi/.cache/mopidy
INFO Creating dir /home/pi/.config/mopidy
INFO Creating dir /home/pi/.local/share/mopidy
INFO Loading config from builtin defaults
INFO Loading config from command line options
INFO Creating file /home/pi/.config/mopidy/mopidy.conf
INFO Initialized /home/pi/.config/mopidy/mopidy.conf with default config
INFO Enabled extensions: mopify, mpd, http, moped, stream, m3u, material-webclient, softwaremixer, file, local
INFO Disabled extensions: spotify
WARNING Found spotify configuration errors, the extension has been automatically disabled:
WARNING spotify/username must be set.
WARNING spotify/password must be set.
WARNING Please fix the extension configuration errors or disable the extensions to silence these messages.
INFO Starting Mopidy mixer: SoftwareMixer
INFO Starting Mopidy audio
INFO Starting Mopidy backends: StreamBackend, M3UBackend, FileBackend, LocalBackend
INFO Audio output set to "autoaudiosink"
INFO Creating dir /home/pi/.local/share/mopidy/m3u
INFO Loaded 0 M3U playlists from /home/pi/.local/share/mopidy/m3u
INFO Creating dir /home/pi/.local/share/mopidy/local
INFO No local library metadata cache found at /home/pi/.local/share/mopidy/local/library.json.gz. Please run `mopidy local scan` to index your local music library. If you do not have a local music collection, you can disable the local backend to hide this message.
INFO Loaded 0 local tracks using json
INFO Starting Mopidy core
INFO Starting Mopidy frontends: QueueManagerFrontend, MpdFrontend, HttpFrontend
INFO MPD server running at [::ffff:127.0.0.1]:6600
INFO HTTP server running at [::ffff:127.0.0.1]:6680

4. Stoppen und Konfiguration anpassen
Mit STRG+C beenden wir wieder den Mopidy Server und passen jetzt die Konfiguration an, sodass wir den Server aus unserem Netzwerk aus erreichen können.

vi /home/pi/.config/mopidy/mopidy.conf

Hier passen wir den Hostname von 127.0.0.1 auf 0.0.0.0 an, welche für alle IP-Adressen des Pi steht.
Wer Spotify benutzt muss an dieser Stelle noch die Zugangsdaten seines Premium Account eintragen. Die restlichen Einstellungen ergeben sich eigentlich.

[mpd]
enabled = true
hostname = 0.0.0.0
port = 6600
[http]
enabled = true
hostname = 0.0.0.0
port = 6680

Ihr könnt Mopidy auch über folgende Befehle kontrollieren:

sudo service mopidy start
sudo service mopidy stop
sudo service mopidy restart

5. Mopidy Webinterface aufrufen
Wenn Mopidy gestartet ist, könnt ihr das Webinterface über den oben eingestellten Port (Standard = 6680) erreichen. Also:

http://raspberryIP:6680

Ihr habt dann eine Auflistung aller installierten Webinterfaces und könnt loslegen !

Howto: Raspberry Pi – Wlan Stick installieren (TP-Link TL-WN725N)

TL-WN725N_compressedFür meinen Raspberry Pi habe ich mir einen USB Wlan Stick zugelegt. Der TP-Link TL-WN725N ist extrem klein und kostet auch nur ca. 6,50€ (Amazon).
Einfach reinstecken – Plug & Play hat nicht funktioniert.
Nach ein bisschen Recherche habe ich dann herausgefunden, dass es von diesem Modell 2 Versionen gibt.
Eine v1 welche ohne weiteres auf Anhieb funktioniert und eine v2 wofür man noch explizit die Treiber installieren muss.
Wie findet man heraus welche Version man hat ? Das wird in diesem Blogbeitrag sehr gut beschrieben. Grob zusammengefasst sieht man es an der VID/PID:

pi@raspberrypi ~ $ lsusb
(...)
Bus 001 Device 008: ID 0bda:8176 Realtek Semiconductor Corp. RTL8188CUS 802.11n WLAN Adapter <<<<---- V1
(...)
Bus 001 Device 010: ID 0bda:8179 Realtek Semiconductor Corp. <<<<---- V2 

[stextbox id=“warning“]Mit einem Update der Raspberry Firmware / Kernel kann es sein, dass der derzeit genutzte Treiber nicht mehr eingebunden werden kann. Daher würde ich empfehlen,  zuerst die Firmware via: rpi-update zu aktualisieren und im Anschluss den Treiber zu installieren, bevor man sich doppelte Arbeit macht.[/stextbox]
Mein Raspberry läuft momentan mit folgendem Kernel:

root@raspberrypi:/home/pi/rtl8188eu# uname -a
Linux raspberrypi 3.10.21+ #604 PREEMPT Mon Dec 2 20:17:09 GMT 2013 armv6l GNU/Linux

Nun kommen wir zum Teil der schon bestimmt hundert mal im Netz zu finden ist:
1. Treiber herunterladen

wget https://dl.dropboxusercontent.com/u/80256631/8188eu-20131113.tar.gz

2. Entpacken

tar -zxvf 8188eu-20131113.tar.gz

3. Readme lesen und wenn nicht vorhanden die Firmware-Datei kopieren

sudo cp rtl8188eufw.bin /lib/firmware/rtlwifi

4. Kernel Modul installieren

install -p -m 644 8188eu.ko /lib/modules/3.10.21+/kernel/drivers/net/wireless/
insmod /lib/modules/3.10.21+/kernel/drivers/net/wireless/8188eu.ko
depmod -a

Damit ist das Kernel Modul installiert und der Treiber sollte laufen. Ob alles korrekt ist, kann man in der dmesg Ausgabe sehen:

dmesg
[11017.157267] Chip Version Info: CHIP_8188E_Normal_Chip_TSMC_A_CUT_1T1R_RomVer(0)
[11017.212202] usbcore: registered new interface driver r8188eu
[11017.392585] r8188eu: Firmware Version 11, SubVersion 1, Signature 0x88e1
[11017.939313] r8188eu: MAC Address = 64:66:b3:1b:dc:6e
[11019.532822] r8188eu: ERROR assoc success

Das Gerät sollte nun auch via ifconfig sichtbar sein:

wlan0 Link encap:Ethernet Hardware Adresse 64:66:b3:1b:dc:6e
inet Adresse:192.168.10.104 Bcast:192.168.10.255 Maske:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metrik:1
RX packets:290 errors:0 dropped:2 overruns:0 frame:0
TX packets:9 errors:0 dropped:1 overruns:0 carrier:0
Kollisionen:0 Sendewarteschlangenlänge:1000
RX bytes:52803 (51.5 KiB) TX bytes:1578 (1.5 KiB)

Anschließend kann die Wlan Verbindung zum Access Point wie bei jedem Linux eingerichtet werden. Wie das geht habe ich hier separat beschrieben.
Troubleshooting:
Falsche Treiberversion für den aktuellen Kernel:

modprobe 8188eu
ERROR: could not insert '8188eu': Exec format error

Den Fehler sieht man häufig – der Treiber ist einfach für einen anderen Kernel kompiliert.
Im raspberrypi.org Forum findet man aber einen Beitrag, wo bisher alle Treiber für den aktuellen Kernel geliefert wurden.
Zitat (MrEngman):
The currently available drivers are for raspbian 3.10.18+ #577 to #596. Use command uname -a to determine the version you are using and download the necessary file, untar it and install it, and the firmware file if necessary, using the commands below.
Driver files

#577 - 8188eu-20131105.tar.gz https://dl.dropboxusercontent.com/u/80256631/8188eu-20131105.tar.gz
#579 - 8188eu-20131106.tar.gz https://dl.dropboxusercontent.com/u/80256631/8188eu-20131106.tar.gz
#585 - 8188eu-20131106.tar.gz https://dl.dropboxusercontent.com/u/80256631/8188eu-20131106.tar.gz
#585 - 8188eu-20131106.tar.gz https://dl.dropboxusercontent.com/u/80256631/8188eu-20131106.tar.gz
#587 - 8188eu-20131110.tar.gz https://dl.dropboxusercontent.com/u/80256631/8188eu-20131110.tar.gz
#590 - 8188eu-20131111.tar.gz https://dl.dropboxusercontent.com/u/80256631/8188eu-20131111.tar.gz
#592 - 8188eu-20131111.tar.gz https://dl.dropboxusercontent.com/u/80256631/8188eu-20131111.tar.gz
#594 - 8188eu-20131113.tar.gz https://dl.dropboxusercontent.com/u/80256631/8188eu-20131113.tar.gz
#596 - 8188eu-20131113.tar.gz https://dl.dropboxusercontent.com/u/80256631/8188eu-20131113.tar.gz

(via)

Howto: Raspberry PI – WLAN Verbindung einrichten

300px-RaspberryPiDie Einrichtung in ein WLan ist beim Raspberry PI identisch zu den „großen“ Distributionen wie Ubuntu, Suse, Debian etc. Raspbian basiert ja sogar auf Debian.
Hier kurz und knapp erklärt, was man konfigurieren muss, damit sich der PI mit eurem Access Point verbindet:
Als erstes prüfen ob das Wlan Gerät korrekt erkannt wurde. Die meisten USB-Sticks funktionieren per Plug & Play ohne noch groß Treiber zu installieren.
Es gibt jedoch ein paar Ausnahmen – wie z.B. der „TP-Link TL-WN725N“ – wie man den zum Laufen bekommt beschreibe ich in einem anderem Beitrag noch ausführlich.
1. ifconfig
Hier sollte eine Ausgabe erscheinen wie diese (bis auf die IP-Adresse etc.):

wlan0 Link encap:Ethernet Hardware Adresse 64:66:b3:1b:dc:6e
inet Adresse:192.168.10.104 Bcast:192.168.10.255 Maske:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metrik:1
RX packets:290 errors:0 dropped:2 overruns:0 frame:0
TX packets:9 errors:0 dropped:1 overruns:0 carrier:0
Kollisionen:0 Sendewarteschlangenlänge:1000
RX bytes:52803 (51.5 KiB) TX bytes:1578 (1.5 KiB)

2. Interface bearbeiten
In dieser Datei steht die Konfiguration der Netzwerkgeräte. In meinem Beispiel verwende ich DHCP von meiner Fritz-Box.
Die Zugangsdaten zum Access-Point werden in einer extra Datei (/etc/wpa_supplicant/wpa_supplicant.conf) gespeichert.
vi /etc/network/interfaces

allow-hotplug wlan0
iface wlan0 inet dhcp
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
iface default inet dhcp

3. Zugangsdaten eintragen
Hier werden die SSID, Kennwort und die Verschlüsselung festgelegt. Ich verwende noch die WPA-Verschlüsselung.
Die SSID und das Kennwort sollte in Anführungszeichen stehen. Weitere Beispiele für WPA2, WEP oder 802.1x gibt es hier.
vi /etc/wpa_supplicant/wpa_supplicant.conf

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
ssid="Constey"
psk="meinKennwort"
# Protocol type can be: RSN (for WP2) and WPA (for WPA1)
proto=WPA
# Key management type can be: WPA-PSK or WPA-EAP (Pre-Shared or Enterprise)
key_mgmt=WPA-PSK
# Pairwise can be CCMP or TKIP (for WPA2 or WPA1)
pairwise=TKIP
#Authorization option should be OPEN for both WPA1/WPA2 (in less commonly used are SHARED and LEAP)
auth_alg=OPEN
}

Anschließend die Konfiguration fürs Netzwerk neu laden:

service networking restart

Eventuell hilft auch ein:

ifdown wlan0
ifup wlan0

Wenn die Verbindung zum Access Point korrekt hergestellt wurde, sollte ifconfig eine Ausgabe identisch zu der von oben erzeugen.
Nachtrag: 07.03.2015 – Wenn man Probleme hat und sich der PI nicht zum Wlan verbinden will kann man seine Konfiguration wie folgt testen:

wpa_supplicant -i wlan0 -D wext -c /etc/wpa_supplicant/wpa_supplicant.conf -d