Skip to content

10. Implementierung (manuelles Posten)

valasm edited this page Jun 28, 2018 · 22 revisions

Anleitung für das manuelle Posten

Wie im Kapitel 4 - Grobkonzept aufgeführt, wurde von den Studierenden versucht die manuelle Bildaufnahme zu realisieren. Hierfür wurden folgende Schritte unternommen:

  • Aufsetzen eines Raspberry Pis als Webserver mit Apache2
  • Erstellung einer Webseite für den Webserver
  • Einrichtung einer SSH Verbindung auf den Raspberry Pis
  • Installation und Konfiguration der Software „Motion“ auf den Raspberry Pis

Aufsetzen eines Raspberry Pis als Webserver mit Apache2

Um die Raspberry Pis miteinander zu koppeln, wurde auf dem dritten Raspberry Pi ein Webserver eingerichtet. Der Webserver soll mit Hilfe einer statischen Webseite den Livestream-Kontext der beiden Webcams darstellen. Nach einer kurzen Recherche wurde der Webserver in wenigen Schritten eingerichtet.

1. Schritt: Alle Packages aktualisieren
sudo apt-get update

2. Schritt: Apache2 Server herunterladen und installieren
sudo apt-get install apache2 -y

3. IP-Adresse des Rapberry Pis ermitteln
hostname -I

Der Raspberry Pi Webserver ist über die IP 192.168.0.1 erreichbar. Ruf man diese IP auf, so zeigt der Browser folgende Apache Default Webseite an. Das ist ein Indikator für eine erfolgreiche Installation.

default

Erstellung einer Webseite für den Webserver

Das Videostream des Raspberry Pis 1 und 2 soll auf der Webseite angezeigt werden. Mit einem Button soll eine Bildaufnahme erstellet werden können. Außerdem sollen die automatisch erstellten Bilder auf der Webseite angezeigt und mit einem zusätzlichen Button auf Twitter gepostet werden.

1. Schritt: Entwurf auf dem Papier:

20180615_114857

2. Schritt: Entwicklung

Die Seite wurde mit HTML, CSS, JavaScript erstellt. Mit den Capture Webcam 1 und 2 Buttons soll ein aktuelles Foto des Livestreams aufgenommen werden. Die aufgenommenen Fotos sollen auf dem Raspberry mit dem Webserver gespeichert und per PHP Skript im unteren Bereich der Webseite angezeigt werden. Mit dem Post on Twitter Button sollen die aus der Galerie ausgewählten Fotos auf Twitter veröffentlicht werden. Aufgrund des Zeitmangelns und mangelnden PHP Kenntnissen wurde die Buttonfunktionen nicht umgesetzt.

webseite1

3. Schritt: Livestream auf der Webseite einbetten
<iframe style="float: right; height:800; width:600" "src=“http://ip_des_cam_raspberry_pis:8081”></iframe>

Einrichtung einer SSH Verbindung auf den Raspberry Pis

Damit die Webcam Raspberry Pis mit dem Webserver kommunizieren können, wurde auf allen drei Raspberry Pis SSH eingerichtet. Somit können auch die automatisierten Bildaufnahmen aus dem Ordner ausgelesen und auf den Webserver abgelegt werden. Mit folgenden Befehlen wurde SSH eingerichtet:

1. Schritt: SSH installieren
sudo apt-get install ssh

2. Schritt: SSH-Server starten
sudo /etc/init.d/ssh start

3. Schritt: Um den Server automatisch bei jedem Reboot des Raspberry Pis zu starten
sudo update-rc.d ssh defaults

3.Schritt: IP Adresse ermitteln
sudo ifconfig

ip

4. Schritt: Mit dem folgendem Shell Befehl wird ein Ordner mit den aufgenommenen Fotos auf den Webserver übertragen
scp -r /var/www/httml/picture pi@“ip_adresse_des_cam_raspberry_pis“:/home/pi/picture/

Dieser Befehl wurde per Skript automatisiert.

Installation und Konfiguration der Software „Motion“ auf den Raspberry Pis

Mittels der Software "Motion" kann ein Livestream eingerichtet und aufgenommen werden (Bildaufnahmen). In Weiterem wird die Installation und Konfiguration der Software erläutert.

1. Schritt: Angeschlossene USB Webcam überprüfen
sudo lsusb

2. Schritt: Die Software „Motion“ installieren
sudo apt-get install motion

3. Schritt: Die Software „Motion“ starten
sudo motion start

4. Schritt: Funktionalität testen. Wenn alles reibungslos installiert wurde, sieht man einen Livestream über die IP des Raspberry Pis unter dem Port 8081.
http://ip_des_cam_raspberry_pis:8081

5. Schritt: Die Software „Motion“ konfigurieren
sudo nano motion.conf

Es öffnet sich eine Konfigurationsdatei in der Shell. Hier müssen einige Änderungen vorgenommen werden.

motionconf