Raspberry Pi Kamera als Stream Server

Bei diesem Projekt verwende ich eine Raspberry Pi Kamera als Stream Server. Das Betriebssystem ist Rasbian Jessy Lite.

Mit Raspberry Konfig haben wir das Kamera Modul aktiviert.

sudo raspi-config

Ein erster Snapschuss sollte schon jetzt möglich sein.

raspistill -o /tmp/snapshot.jpg

Jetzt können wir die Installation starten.

Zuerst die PublicKey für Apt-Get hinzufügen.

curl http://www.linux-projects.org/listing/uv4l_repo/lrkey.asc | sudo apt-key add -

Die Installationsquellen für Apt-Get hinzufügen.

sudo sh -c 'echo "deb http://www.linux-projects.org/listing/uv4l_repo/raspbian/ jessie main" > /etc/apt/sources.list.d/uv4l.list'

Jetzt kann die Installaion starten.

sudo apt-get update
sudo apt-get install uv4l uv4l-raspicam uv4l-raspicam-extras

Der Dienst sollte jetzt laufen.

sudo service uv4l_raspicam status

oder man kann das Device /dev/video0 mit dem Programm uv4l erstellen.

uv4l --driver raspicam --auto-video_nr --width 640 --height 480 --encoding jpeg

Jetzt erstellen wir ein Foto in /tmp/snapshot.jpg.

dd if=/dev/video0 of=/tmp/snapshot.jpg bs=11M count=1

Jetzt kann man Motion oder einen anderen StreamServer verwenden.

Wir verwenden einen WebRTC StreamServer.

sudo apt-get install uv4l-webrtc

Mit VLC oder dem Firefox kann man sich den Stream ansehen.

vlc http://raspberrypi:8080/stream/video.mjpeg

Motion bietet sehr viel mehr, wie eine Bewegungserkennung und Alarm.

sudo apt install motion

Es gibt auch eine Beispielkonfiguration.

wget http://linux-projects.org/downloads/examples/motion.conf

Jetzt können wir Motion starten.

LD_PRELOAD=/usr/lib/uv4l/uv4lext/armv6l/libuv4lext.so motion -c /home/pi/motion/motion.conf

Im Webbrowser kann unter der Adresse http://raspberrypi:8081/stream.mjpg die Kamera aufzurufen.

Die LED an der Kamera lässt sich deaktivieren, indem der Eintrag disable_camera_led in der Konfig Datei gesetzt wird.

sudo sh -c 'echo "disable_camera_led=1" >> /boot/config.txt'

Weitere Informationen zur UV4L Installation.

Entfernen aller Pakete, die von dpkg mit rc markiert sind

Es gibt einen signifikanten Unterschied zwischen Apt remove oder purge. Apt (dpkg) remove entfernt nur die Paket-Binärdateien. Die Konfigurationsdateien des Pakets werden nicht gelöscht. Solche Pakete haben normalerweise den Zustand rc.

Mit dpkg können Sie den Status aller Pakete anzeigen.

dpkg --list |grep "^rc"

Was bedeutet „rc“? Dieser Zustand bedeutet, dass die Konfigurationsdateien noch nicht entfernt wurden, sondern nur die Binärdateien.

Rc entspricht…

R: Die Binärdateien wurde zur Entfernung markiert.
C: Die Konfigurationsdateien sind weiterhin vorhanden.

Lassen Sie uns die Pakete extrahieren, welche mit „rc“ markiert sind.

dpkg --list |grep "^rc" | cut -d " " -f 3

Nun entfernen wir alle Pakete, die als rc markiert sind.

dpkg --list |grep "^rc" | cut -d " " -f 3 | xargs sudo dpkg --purge

Ubuntu Pakete entfernen welche für die Entfernung markiert sind

Das Tool dpkg gibt den Status „rc“ aus. Was bedeutet der Status und welche Maßnahmen sind zu ergreifen?

– r: das Paket zum Entfernen markiert
– c: die Konfigurationsdateien sind derzeit im System vorhanden

Die Idee ist, markierte Pakete auszuwählen und dann Apt „purge“-Befehl für die ausgewählten Pakete auszuführen:

dpkg --list | grep "^rc" | cut -d " " -f 3 | xargs sudo apt-get -y purge

Ubuntu LTS 14.04 auf 16.04.1 Update nicht möglich

Vielleicht haben Sie auch das Problem, dass ein Update von Ubuntu 14.04. auf 16.04.1 nicht möglich ist.

Zuerst brauchen wir die Update Tools.

sudo apt-get install update-manager-core

Jetzt sollte das Update von LTS 14.04 auf 16.04.1 möglich sein.

sudo do-release-upgrade

Checking for a new Ubuntu release
No new release found

Es wird keine neue Version gefunden, obwohl Ubuntu 16.04.1 veröffentlicht ist. Das Problem liegt in der Freigabe, welche noch nicht erteilt wurde. Dazu muss die Version in der Text Datei veröffentlicht werden.

Die Einstellung welche Version verwendet wird, sind in der Datei /etc/update-manager/release-upgrades gespeichert.

Die Quelle ist in der Datei /etc/update-manager/meta-release definiert. Die LTS Quelle lautet…

http://changelogs.ubuntu.com/meta-release-lts

Die Veröffentlichung wird erst eine Woche nach dem Relese Datum durchgeführt! Will man nicht warten, kann man auf Ubuntu 14.06 ein Update durchführen.

sudo do-release-upgrade --devel-release

Hier wird auf diese Freigabe zugegriffen.

http://changelogs.ubuntu.com/meta-release-lts-development

Will man von Ubuntu 14.04 auf Ubuntu 14.10 updaten, so muss man die Einstellungen von LTS auf Normal ändern.

sudo sed -i s/Prompt=lts/Prompt=normal/g /etc/update-manager/release-upgrades

Quellen: askubuntu.com #1 #2

Ubuntu Pakete sichern

Will man den Server – Anbieter wechselt, so muss man alle Ubuntu Pakete auf ein neues System installieren.

Zu erst Exportieren wird die Liste alle installieren Paket in eine Text-Datei.

sudo dpkg --get-selections > my-packages.list

Auf dem neuen Server kann man die Ubuntu Paket mit der Liste ganz einfach installieren.

sudo dpkg --set-selections < my-packages.list

Jetzt noch die Updates installieren und Abhängigkeiten prüfen.

sudo apt-get -y update
sudo apt-get dselect-upgrade

Weitere Arbeitsschritte:

- Einstellung aus dem Verzeichnis /etc/* kopiert (ggf. anpassen)
- Benutzerdateien aus Verzeichnis /home/* kopieren
- Anwendungsdaten kopieren...
Apache in /var/www/
MySQL in /var/lib/mysql/
Check_MK Agent in /var/lib/check_mk_agent/

Ubuntu Paket mit fixer Version installieren

Manchmal ist es notwendig eine bestimmte Version von einem Programm zu verwenden und nicht automatisch auf die neuste Version zu wechseln.

1. Alte Version entfernen

sudo apt-get remove firefox

2. Versionen anzeigen lassen

sudo apt-cache madison firefox
apt-cache show firefox | grep Version

Version: 40.0+build1-0ubuntu0.14.04.1
Version: 38.0+build2-0ubuntu2

3. Version installieren

sudo apt-get install firefox=38.0\*
sudo apt-get install firefox=38.0+build2-0ubuntu2

4. Updates auf neue Version verhindern

sudo apt-mark hold firefox

Sollte man sich doch entscheiden auf die aktuelle Version zu wechseln, kann man den Vorgang auch rückgängig machen.

sudo apt-mark unhold firefox
sudo apt-get upgrade

Ubuntu Update Steuerung mit Alias

Debian und Ubuntu verwenden als Paketverwaltung das Tool „apt-get“. Um ein System auf den aktuellen Stand zu bringen sind immer folgende Schritte notwendig.

1.) Änderungen der Paketliste laden

sudo apt-get update

2.) Ubuntu Distribution updaten

sudo apt-get dist-upgrade

3.) Aufräumen

sudo apt-get --purge autoremove
sudo apt-get autoclean

Diese drei Schritte kann man in einem Kommando als Alias zusammen fassen.

vim ~/.bash_aliases

alias update="sudo apt-get update && sudo apt-get dist-upgrade -y && sudo apt-get --purge autoremove && sudo apt-get autoclean"

Nach einem Re-Login in die BASH kann man alle Schritte mit einem Befehl update starten.