Remote Betrieb – Stand 31.10.2021

Zurück zu den Kameras zur Raumüberwachung (siehe Remote Betrieb – Stand 03.10.2021). Die Raspberry Pi müssen zunächst eingerichtet werden und mit der nötigen Software versehen werden bevor sie ihren Dienst als Überwachungskameras aufnehmen können.

Grundeinstellungen vornehmen

Die deutsche Tastatur liegt mir mehr als die englische, so dass ich zunächst über das Konfigurationsmenü den Raspberry Pi „eingedeutscht“ und einige wichtige Einstellungen vorgenommen habe. (Die englische Tastatur hat zum Beispiel den Bindestrich auf der Taste „ß“ und auch einige andere Zeichen sind deutlich anders angeordnet, so dass ich hier immer die richtigen Zeichen suchen muss.)

Nach dem Hochfahren und Einloggen ruft

sudo raspi-config

das Konfigurations-Tool auf.

Die für den Einsatz wichtigen Punkte werden nacheinander abgearbeitet. (bei Pi und Pi Zero unterscheidet sich das Menü etwas.)

Zunächst werden unter dem Punkt „1 System Options | S1 Wireless LAN“ die WLAN-Einstellungen vorgenommen.

Select the country in which the Pi is to be used: "DE Germany"
Please enter SSID: "[Name des WLAN]"
Please enter passphrase: "[WLAN-Passwort]"

Als nächstes habe ich unter „1 System Options | S3 Password“ ein neues Passwort für den Benutzer Pi festgelegt.

Dann bekommt der Raspberry Pi unter Punkt „1 System Options | S4 Hostname“ einen eindeutigen Namen.

Danach muss unter Punkt „3 Interface Options | P1 Camera“ die Kamera aktiviert werden. („Yes“ auswählen und mit [Enter] bestätigen)

Als nächstes habe ich unter Punkt „5 Localisation Options | L1 Locale“ die Systemsprache auf Deutsch gesetzt.

Hier werden zunächst die Sprachen Deutsch und Englisch (voreingestellt) ausgewählt. Englisch kann und sollte man belassen. Wenn ein Systemtext nicht übersetzt wurde, wird er in Englisch angezeigt (was wohl auch ohne die Auswahl stattfinden würde, aber schaden kann es nicht!)

Locales to be generated: "de_DE.UTF-8" + "en_GB.UTF-8"

Danach wird die Standardsprachauswahl auf Deutsch gesetzt

Default locale for the system environment: "de_DE.UTF-8"

Dann habe ich noch unter Punkt „5 Localisation Options | L3 Keyboard“ die Tastatenbelegung eingedeutscht. Hier werden nacheinander folgende Einstellungen nötig:

Keyboard: "Generic 105-key PC (Intl.)"
Keyboad Layout: "Other"
Country of origin for the keyboard: "German"
Keyboad Layout: "German"
Key to function as AltGr: "The default for the keyboard layout"
Compose Key: "No compose key"

Danach wird das WLAN unter „5 Localisation Options | L4 WLAN Country“ optimiert:

DE Germany

Weiter geht es unter Punkt „5 Localisation Options | L2 Timezone“ mit der Festlegung der Zeitzone. Hier wird zunächst das Gebiet umrissen

Geographic area: "Europe"

Und im nächsten Schritt die Position näher bestimmt.

Time zone: "Berlin"

Danach sollte noch unter Punkt „6 Advanced Options – A1 Expand Filesystem“ das Dateisystem optimiert und schlussendlich alle Einstellungen übernommen werden und das Konfigurationsmenü beendet.

Nach dem Neustart fühlt man sich gleich „heimischer“ mit deutscher Tastatur und Systemsprache.

Ab jetzt gilt das neu vergebene Passwort für den Benutzer „pi“.

Es kann auch nicht schaden das System zu aktualisieren:

sudo apt-get update
sudo apt-get upgrade
sudo reboot

Als nächstes habe ich nach dem erneuten Einloggen das System selbst aktualisiert und den Raspberry Pi nochmals neu gestartet, um auch hier die Aktualisierungen zu übernehmen. (Einige Webseiten raten einem tunlichst davon ab, aber bei mir gab es keine Probleme und die goldene Regel der Windows-Welt besagt, man sollte sein System immer aktuell halten. Diese Regel scheint in der Linux-Welt nicht so richtig zu gelten! Ich mache es trotzdem.;))

sudo rpi-update
sudo reboot

Remotezugriff einrichten

Der Schritt ist recht einfach. Man muss nur den XRDP-Server installieren. …und zur Sicherheit wieder ein Neustart durchführen.

sudo apt-get install xrdp
sudo reboot

Danach kann über die Remotedesktopverbindung unter Windows 10 remote auf den Raspberry Pi zugegriffen werden.

Statische IP-Adresse vergeben

Als erstes muss die Netzwerkkonfigurationsdatei im Editor geöffnet werden.

sudo nano /etc/dhcpcd.conf

In der Datei sind die Zeilen für die statische IP-Adresse glücklicherweise für DAUs schon vorhanden, aber als Kommentar deaktiviert. Durch das Entfernen der Kommentarkennzeichnung „#“ vor den Zeilen und dem Ändern der beispielhaft eigetragenen IP wird die statische IP-Adresse nach einem Neustart aktiv und man kann den Raspberry Pi bzw. die Kamera unter der immer gleichen IP-Adresse erreichen.

interface eth0
static ip_adress=x.x.x.x/24
static routers=x.x.x.x
static domain_name_servers=x.x.x.x

Achtung: In der Datei ist als Interface beispielhaft „eth0“ angegeben. Der Raspberry Pi Zero bringt von Haus aus nur WLAN mit. Verwendet man einen Zero muss „eth0“ durch „wlan0“ ersetzt werden. x.x.x.x ist jeweils durch die entsprechenden IP-Adressen zu ersetzen.

die Datei wird mit [STRG]+[O] und anschließendem [Enter] gespeichert, [STRG]+[X] schließt den Editor.

sudo reboot

nicht vergessen!

python3-picamera installieren

Zunächst wird das Programm installiert:

sudo apt install python3-picamera

Danach muss ein Skript zum Starten des Programms erstellt werden. Dazu sind folgende Eingaben nötig:

cd
sudo nano startcam.sh

In der Datei sind folgende Zeilen einzugeben:

#!/bin/sh
cd /home/pi/WIOpi/cam
python3 cam.py

Mit [STRG]+[O] und dann [Enter] und anschließendem [STRG]+[X] zum Beenden wird die Datei gespeichert. Danach wird das Skript ausführbar gemacht.

cd
sudo chmod +x startcam.sh

WIOpi installieren

Als nächstes wird WIOpi installiert. Mit WIOpi kann der Kamera-Stream auch direkt in einem rocRAIL-Fahrregler angezeigt werden, was später interessant für mit Kameras ausgerüstete (Trieb-)Fahrzeuge ist. Daneben kann der Stream aber auch direkt in einem Browser oder anderer Software angezeigt werden. Für die Installation muss folgendes eingegeben werden:

cd
mkdir WIOpi
cd WIOpi
wget https://wiki.rocrail.net/rocrail-snapshot/WIOpi-ARMHF.tar.gz
tar xf WIOpi-ARMHF.tar.gz
rm WIOpi-ARMHF.tar.gz

Danach wird die benötigte INI-Datei erstellt.

/home/pi/WIOpi/startwiopi.sh

Irgendwann wiederholt sich die Ausgabe auf dem Bildschirm. Dann bricht man den Vorgang einfach mit [STRG]+[C] ab.

jetzt muss der rocRAIL-Server in der INI eingetragen werden. Dazu wird die INI-Datei aufgerufen.

sudo nano /home/pi/WIOpi/wiopi.ini

…und in der folgenden Zeile [Servername] durch die IP oder dem Namen des rocRAIL-Servers ersetzt.

Mit [STRG]+[O] und dann [Enter] und anschließendem [STRG]+[X] zum Beenden wird die Datei wieder gespeichert.

Als nächstes werden die Autostart-Einträge gesetzt.

crontab -e

In der Auswahlliste wird Punkt [1] ausgewählt und folgende Einträge gesetzt:

@reboot /home/pi/WIOpi/startwiopi.sh
@reboot /home/pi/startcam.sh

Mit [STRG]+[O] und dann [Enter] und anschließendem [STRG]+[X] zum Beenden wird die Datei wieder gespeichert.

zum Schluss noch

sudo reboot

Nach dem Neustart meldet sich der WIOpi an der Zentrale an und der CAM Stream ist verfügbar.

Der Stream kann im Browser mit dem Befehl x.x.x.x:8081 angezeigt werden (x.x.x.x durch die IP-Adresse des Raspberry Pi ersetzen).

Man kann in der Datei „cam.py“ die Einstellungen für die Kamera bzw. den Stream den eigenen Bedürfnissen anpassen. Geöffnet wird diese mit dem Befehl:

sudo nano /home/pi/WIOpi/cam/cam.py

hier kann man dann die Auflösung, Bidwiederholrate, Rotation (falls man die Kamera schief oder falsch herum in die Lok einbaut ;)) usw. einstellen.

Für die Auflösung gibt es zwei Zeilen:

<img src="stream.mjpg" width=320 height="240"

und

picamera.PiCamera(resolution='320x240', framerate=12) as camera:

Die erste regelt die Darstellung im Browser. Die zweite die Darstellung im rocRAIL-Fahrregler. Nach den Änderungen wieder mit [STRG]+[O] und [Enter] und anschließendem [STRG]+[X] zum Beenden die Datei speichern.

für python3-picamera gibt es diverse Dokus im Internet. Die ersten Google-Einträge waren in Englisch. da habe ich dann nicht weiter geforscht, da mir auch die Einstellungen zum Ändern der Auflösung, Rotation, Bildwiederholrate und des Titels reichen.