Ich durfte gerade DoorPi komplett neu aufsetzen, drum war ich auf der Suche nach dem Installationsartikel. Der war leider nicht mehr verfügbar. Allerdings ist die momentane setup.py aus dem github Rep auch nicht mehr funktionstüchtig. Von d.h. hier mal ein paar Notizen dazu:
Installation von DoorPi
Zunächst besorgt euch das aktuelle Image von Raspian Buster Lite (https://www.raspberrypi.org/downloads/raspbian/) und packt es mit z.B. Etcher auf eure SD-Karte. Hier dann noch eine Datei "ssh" (ohne Endung) anlegen, falls ihr die Konfiguration im "Headless"-Betrieb vornehmen wollt. Mit Putty (o. anderem SSH-Client) einloggen und mit raspi-config die wichtigsten Einstellungen vornehmen. Dann kommt die eigtl. DoorPi-Installation.
Euer System auf den aktuellen Stand bringen:
Dann brauchen wir git zum clonen des Reps (hier Master branch)
sudo apt-get install git
git clone https://github.com/motom001/DoorPi.git -b master /tmp/DoorPi
Für die Installation brauchen wir noch pip. Die Installation innerhalb von setup.py scheitert allerdings. Also holen wir uns eine aktuelle Version von get-pip.py und installieren es damit.
In das DoorPi Verzeichnis wechseln:
Jetzt müssen wir die setup.py modifizieren (Zeile 52) (entweder über SCP oder per nano/vi/etc.):
ersetzen durch:
try: # for pip >= 10
from pip._internal.req import parse_requirements
except ImportError: # for pip <= 9.0.3
from pip.req import parse_requirements
Damit sollte jetzt der Aufruf von setup.py funktionieren.
Jetzt sollte der Start von doorpi eigtl. bereits ebenfalls funktionieren:
Raus kommt ihr da mit [Strg]+[C]. Leider wird das python-daemon - Modul bei der Installation auch nicht mehr korrekt installiert, sodass ein Start als Service noch nicht möglich ist. Das korrigieren wir schnell:
Es fehlt noch Linphone damit auch das telefonieren klappt. PIP haben wir ja schon installiert, also:
Jetzt bietet es sich noch - je nach Lokalisation des Projektes - an das Webinterface offline verfügbar zu machen:
Abschließend starten wir DoorPi als Service und stellen sicher, dass das auch beim Systemstart passiert:
Das sollte jetzt eigtl. funktionieren. Ansonsten mal schauen, wass "journalctl -xe" euch noch zeigt.
RTSP Server
Das ist jetzt die Stelle, wo die meisten zu unterschiedlichen Paketen greifen. u.A. gibt es neben v4l2rtspserver (https://github.com/mpromonet/v4l2rtspserver.git) noch MotionEye, VLC, RPI-Webcam-Interface, gstreamer, ffmpeg und mjpeg-streamer als Möglichkeiten einen Video-Stream von der Kamera zu bekommen (falls ihr überhaupt das Raspberry Camera Modul nutzt). Unterschiede bestehen im Funktionsumfang, der Kompression des Streams und vor allem hinsichtlich der Performance. Generell ist der PI aber mit einem h264-Hardware-Encoder ausgestattet.
Los geht's: Kamera-Treiber laden
v4l2rtspserver muss leider einmal selbst gebuildet werden, also brauchen wir cmake:
Weiter geht's mit dem Clonen des Reps und dem anschließenden build. Abschließend wird es noch installiert.
git clone https://github.com/mpromonet/v4l2rtspserver.git /tmp/v4l2rtspserver
cd /tmp/v4l2rtspserver
cmake .
make
sudo make install
v4l2rtspserver sollte sich selbst als Service registrieren ("sudo service --status-all" listet euch zur Kontrolle sowohl DoorPi als auch v4l2rtspserver-Services), muss allerdings noch aktiviert werden:
Ansonsten kann man auch hierbei noch die Parameter verändern in "lib/systemd/system/v4l2rtspserver.service" unter ExecStart steht mit welchen Parametern der Server gestartet wird. Die PiCamera unterstützt folgende Auflösungen: https://picamera.readthedocs.io/en/release-1.12/fov.html, sodas z.B. folgendes gehen würde:
Der Stream ist dann unter folgender Adresse erreichbar:
Evtl. formulier ich den Beitrag nochmal um, falls mir unterwegs noch mehr Stolpersteine begegnen ...