Control Center (Deutsch): Unterschied zwischen den Versionen

Aus www.wiki.ardumower.de
Wechseln zu: Navigation, Suche
Zeile 171: Zeile 171:
 
Als erstes Richten wir Motion als Dienst ein, dazu zu Beginn der Datei den daemon aktivieren (on)
 
Als erstes Richten wir Motion als Dienst ein, dazu zu Beginn der Datei den daemon aktivieren (on)
  
[[Datei:Motion config1.png|400px]]
+
[[Datei:Motion config1.png|150px]]
  
 
Zudem erhöhen wir die Anzahl der Frames, die pro Sekunde aufgenommen werden.  
 
Zudem erhöhen wir die Anzahl der Frames, die pro Sekunde aufgenommen werden.  
Zeile 187: Zeile 187:
 
Die Einstellungen von Motion lassen sich auch über ein Webinterface einstellen. Dies ist besonders zum Testen praktisch. Die Weboberfläche ist normalerweise nicht über das Netzwerk aufrufbar. Da unser PI aber ohne Bildschirm läuft, muss die Weboberfläche im Netzwerk freigegeben werden, wenn man diese nutzen möchte. Dazu den Wert webcontrol_localhost auf off setzen
 
Die Einstellungen von Motion lassen sich auch über ein Webinterface einstellen. Dies ist besonders zum Testen praktisch. Die Weboberfläche ist normalerweise nicht über das Netzwerk aufrufbar. Da unser PI aber ohne Bildschirm läuft, muss die Weboberfläche im Netzwerk freigegeben werden, wenn man diese nutzen möchte. Dazu den Wert webcontrol_localhost auf off setzen
  
 +
[[Datei:Motion config6.png|400px]]
  
 
Die Einstellungen sichern wir mittels STRG+x und Y
 
Die Einstellungen sichern wir mittels STRG+x und Y
  
 +
[[Datei:Motion config7.png|400px]]
  
 
Das Kamerabild ist nach dem Start von Motion (entweder über sudo motion start oder nach Neustart) über den Port 8081 erreichbar. Die Weboberfläche zur Konfiguration über Port 8080. Angenommen, der Raspberry PI hat vom Router die IP Adresse 192.168.178.10 erhalten, kann man mit Eingabe der Adresse 192.168.178.10:8081 im Browser das Kamerabild prüfen
 
Das Kamerabild ist nach dem Start von Motion (entweder über sudo motion start oder nach Neustart) über den Port 8081 erreichbar. Die Weboberfläche zur Konfiguration über Port 8080. Angenommen, der Raspberry PI hat vom Router die IP Adresse 192.168.178.10 erhalten, kann man mit Eingabe der Adresse 192.168.178.10:8081 im Browser das Kamerabild prüfen
  
 
Damit Motion auch wirklich beim booten startet, muss eine weitere Datei angepasst werden
 
Damit Motion auch wirklich beim booten startet, muss eine weitere Datei angepasst werden
 +
 +
<code>sudo nano /etc/default/motion</code>
 +
 +
[[Datei:Motion config8.png|400px]]
 +
 +
Motion wird als Benutzer "motion" ausgeführt. Das Logfile wird unter /var/log/motion/motion.log abgelegt. Der Benutzer motion hat aber keine Berechtigung, darauf zuzugreifen. Ein Start als Dienst ist damit nicht möglich.
 +
 +
Wir können einfach das Verzeichnis löschen mit
 +
 +
<code>sudo rm -rf /var/log/motion</code>
 +
 +
Beim Starten des Dienstes wird das Verzeichnis mit den korrekten Rechten erstellt. Man kann natürlich auch den Owner des Verzeichnisses anpassen oder die Gruppenrechte setzen. Ich finde es so aber einfacher
 +
 +
=Control Center einrichten=
 +
Nun ist es fast geschafft. Jetzt ist es Zeit, das Ardumower Control Center einzurichten. Dazu nutzen wir am besten eine SFTP Client wie WinSCP. Zuvor müssen wir aber die Dateien von Github heruntergeladen habe.
 +
 +
Anschließend kopieren wir alle Verzeichnisse und Dateien, mit Ausnahme von dem Verzeichnis node_modules auf unser .node-red Verzeichnis unter /home/pi
 +
 +
[[Datei:WinSCP.png|400px]]
 +
 +
Dabei überschreiben wir alle alten Dateien
 +
 +
Jetzt starten wir den PI einmal durch mittels <code>sudo reboot</code> oder <code>sudo shutdown -r now</code>.
 +
 +
Nach dem Neustart wird es Zeit, die Node-RED Entwicklungsumgebung zum ersten mal aufzurufen. Dies geschieht mit dem Browser durch den Aufruf der Adresse <ip des PI>:1880, also etwa <code>192.168.178.10:1880</code>
 +
 +
Wir erhalten direkt eine Fehlermeldung, da einige wichtige Komponenten nicht installiert sind
 +
 +
[[Datei:Nodered1.png|400px]]
 +
 +
Dies holen wir sogleich nach, indem wir im Menü auf "Manage Pallette" gehen
 +
 +
[[Datei:Nodered2.png|200px]]
 +
 +
Und unter dem Reiter "Install" die Komponenten installieren
 +
 +
[[Datei:Nodered3.png|400px]]
 +
 +
Node-red-dashboard
 +
 +
[[Datei:Nodered4.png|400px]]
 +
 +
Sowie node-red-contrib-config
 +
 +
[[Datei:Nodered5.png|400px]]
 +
 +
Am besten starten wir danach den Raspberry einmal neu
 +
 +
Nun ist das Control Center über die Adresse <ip des PI>:1880/ui erreichbar, also etwa <code>192.168.178.10:1880/ui</code>
 +
 +
[[Datei:Cc1.png|400px]]
 +
 +
Glückwunsch, das Control Center ist eingerichtet.

Version vom 29. Juni 2018, 18:52 Uhr

Ardumower Control Center

Auf den Ardumower lässt sich auf verschiedene Arten zugreifen, etwa per serieller Konsole oder mit der Arduremote App (Bluetooth, WLAN). Mit dem Ardumower Control Center kommt eine weitere Zugriffsmöglichkeit, nämlich der Browser, hinzu.

Das Control Center kann mit einem beliebigen Browser aufgerufen werden und bietet eine grafische Oberfläche, auf der Sensordaten des Mowers sowie ein Live-Kamerabild (sofern eine Kamera eingebaut ist) angezeigt werden. Das Control Center wird auf einem Raspberry PI ausgeführt, der in dem Mower eingebaut wird. Die folgende Seite beschreibt alle notwendigen Schritte, um das Control Center einzurichten.

Voraussetzungen

Hardware

  • Raspberry PI
  • Netzteil für PI
  • microSD Karte (8GB oder mehr)
  • Netzwerkkabel
  • Kartenleser für PC

Software

  • SSH Client (Putty)
  • SFTP Client zum Datenaustausch (WinscP)
  • Win32DiskImager

Raspberry PI einrichten

SD Karte vorbereiten

Raspberry Strech Lite bzw. letzte Lite Version von raspberrypi.org herunterladen

Raspian Image.png


Nach dem herunterladen das Image entpacken und mittels Win32DiskImager auf die Karte schreiben. Dabei werden alle Daten auf der SD Karte überschrieben. Wird die Karte nicht als Datenträger erkannt, muss sie ggf. vorher formatiert werden.

Win32DiskImager.png


Standardmäßig ist SSH an den Raspberry Images deaktiviert. Den Dienst benötigen wir aber um auf den PI zugreifen zu können. Da wir weder Bildschirm noch Tastatus anschließen wollen oder müssen, kann dies über einen simplen Trick erreicht werden.

Auf der SD Karte wurde eine Partition mit dem Name "boot" erstellt. Diese kann in Windows geöffnet werden. Um SSH zu aktivieren genügt es, eine leere Datei mit dem Namen ssh (ohne Dateiendung) hier zu erstellen.

Boot partition.png

Windows wird meist eine Textdatei erstellen. Wir haben also eine Datei mit ssh.txt erstellt. Es muss aber eine Datei mit dem Namen ssh, ohne Dateiendung sein

Ssh.txt.png

Dazu muss man in Windows einstellen, dass bekannte Dateinamen nicht ausgeblendet werden sollen. Dazu im Windows Explorer die Ordner- und Suchoptionen öffnen. Unter Windows 10 befinden sich diese im Reiter "Ansicht" unter "Optionen"

Hier deaktivieren wir den Haken bei "Erweiterungen bekannter Dateitypen ausblenden"

Dateitypen.png

Die Datei wird nun als ssh.txt angezeigt und lässt sich umbenennen.

Ssh.txt 1.png

Beim Umbenennen kann die Dateierweiterung ".txt" gelöscht werden.

Ssh.png


Jetzt die Karte auswerfen und in den Raspberry einsetzen. Diesen nun mit Strom versorgen und das Netzwerkkabel einstecken. Für die weitere Einrichtung wird nun eine SSH Verbindung zum Raspberry benötigt. Dies geschieht mit einem SSH Client, etwa Putty. Damit man sich mit dem PI verbinden kann, muss dieser zunächst ins Netzwerk eingebunden werden. Da noch keine WLAN Verbindung besteh, muss dies zunächst über ein Netzwerkkabel erfolgen.

Der PI sollte nun vom Heimnetz eine IP Adresse erhalten. Meist geschieht dies durch den DHCP-Server, der auf dem DSL Router ausgeführt wird. Die vergebene IP Adresse kann am Router ausgelesen werden.

Es empfiehlt sich, im Router bzw. DHCP Server einzustellen, dass der Raspberry immer die gleiche IP Adresse erhält.

Systemkonfiguration

Für die Verbindung zum PI den SSH Client (Putty) öffnen und die IP Adresse eingeben

Putty1.png

Die Warnung bestätigen wir mit "Ja"

Putty2.png

Der PI erwartet nun von uns eine Anmeldung. Die initiale Anmeldung erfolgt mit dem Benutzer pi und dem Kennwort raspberry

Raspberry change password.png

Glückwunsch, die erste Hürde ist damit genommen

Raspberry console.png

Als erstes sollte man das Kennwort ändern. Dies und weitere Einstellungen kann man komfortabel mit dem Programm raspi-config erledigen. In der Konsole rufen wir das Programm mit dem Kommando

sudo raspi-config

auf. Durch den Zusatz sudo teilen wir dem PI mit, dass wir als root (Administrator) aufrufen möchten. Ggf. fragt uns der PI nun nach dem root Kennwort. Dies ist wieder raspberry (solange wir es nicht geändert haben)

Raspi config1.png

Mit dem ersten Menüpunkt ändern wir das Kennwort

Raspi config.png

WLAN einrichten

Wo wir schon mal hier sind, können wir auch gleich das WLAN einrichten. Dies geschieht mit dem zweiten Menüpunkt "Network Options"

Raspi config wlan1.png

und da wählen wir Wi-fi.

Als nächstes fragt der PI nach dem Gebietsschema

Raspi config wlan2.png

anschließend nach der SSID und der Passphrase (Kennwort) des WLANs

Raspi config wlan3.png

Nachdem die Einstellungen vorgenommen wurden, landet man wieder im Hauptmenü.

Dateisystem erweitern

Ein letzter Schritt, bevor wir das Programm verlassen. Die Partition die auf der SD Karte erstellt wurde ist deutlich kleiner als die SD Karte. Somit ist wertvoller Speicherplatz verschenkt und unerreichbar. Dies können wir beheben, indem wir das Dateisystem auf den brachliegenden Teil erweitern. Dazu im Menü "Advanced Options" aufrufen und "A1 Expand filesystem" auswählen

Raspi config expand fs1.png

Nach erfolgreicher Erweiterung kommt diese Meldung, es muss also neugestartet werden

Raspi config xpand fs2.png

Wir landen wieder auf dem Hauptmenü und verlassen raspi-config mit <Finish>. Zeit für einen Reboot, also bestätigen wir mit YES

Nach dem Neustarten sollte auf dem WLAN Router nun eine neue WLAN Verbindung erscheinen. Auch hier empfiehlt es sich, die IP Adresse festzulegen, damit nicht beim nächsten anmelden ggf. eine andere IP Adresse vergeben wird.

Systemupdate

Nachdem der PI wieder gestartet ist und wir neu angemeldet sind, wird es Zeit, einige Updates zu laden. Dazu müssen wir den Paketbaum neu aufbauen mit dem Kommando

sudo apt-get upgrade

Nun warten wir, bis alles durchgelaufen ist

Apt-get upgrade.png

Jetzt kommen die eigentlichen Updates. Dies geschieht mit dem Kommando

sudo apt-get upgrade

Wir haben ein frisches Image, somit sind kaum Updates vorhanden. Wir bestätigen die Installation mit "Y"

Apt-get update.png

und warten wieder bis er durch ist.

Node-RED installieren

Installation

Zum Installieren von Node-RED kann dieses Kommando verwendet werden

bash <(curl -sL https://raw.githubusercontent.com/node-red/raspbian-deb-package/master/resources/update-nodejs-and-nodered)

Node red install1.png Node red install2.png

Node-RED als Service einrichten

Damit Node-RED beim booten als Dienst automatisch gestartet wird, muss der Dienst eingerichtet werden

sudo systemctl enable nodered.service

Motion installieren

Motion ist ein Programm, mit dem Bewegungen auf einem Kamerabild beobachtet werden. Eigentlich dient es dazu, bei einer Bewegung auf dem Kamerabild eine Aktion auszuführen, etwa ein Bild aufzunehmen und zu versenden. Motion bietet aber auch eine einfache Möglichkeit, das Kamerabild als Livestream zur Verfügung zu stellen.

Die Installation erfolgt mit

sudo apt-get install motion

Motion konfigurieren

Nun müssen wir einige Einstellungen in Motion durchführen. Diese sind z.B. den Stream im Netzwerk zur Verfügung zu stellen, die Web-Konfiguration im Netzwerk zur Verfügung zu stellen oder die Framerate des Streams einzustellen. Außerdem deaktivieren wir die Bewegungserkennung und das Abspeichern von Bildern Gerade letzteres würde die SD Karte mit der Zeit vollschreiben.

Zur Konfiguration öffnen wir den Editor nano mot diesem Kommando

sudo nano /etc/motion/motion.conf

Als erstes Richten wir Motion als Dienst ein, dazu zu Beginn der Datei den daemon aktivieren (on)

Motion config1.png

Zudem erhöhen wir die Anzahl der Frames, die pro Sekunde aufgenommen werden.

Motion config2.png

Bild sichern deaktivieren, indem output_pictures auf off gesetzt wird

Motion config3.png

Stream Framerate einstellen. Dazu den Wert stream_maxrate auf z.B:10 erhöhen (10 Bilder pro Sekunde). Bei diesem Wert muss man etwas experimentieren, wie es am besten läuft. Hängt im wesentlichen von der Leistungsfähigkeit des PI und der Netzwerkverbindung ab. Hier aktivieren wir auch gleich den Stream im Netzwerk, indem wir stream_localhost auf off setzen. Bitte beachtet, wenn die framerate niedriger eingestellt ist als die stream_maxrate, läuft das Video nicht flüssig

Motion config5.png

Die Einstellungen von Motion lassen sich auch über ein Webinterface einstellen. Dies ist besonders zum Testen praktisch. Die Weboberfläche ist normalerweise nicht über das Netzwerk aufrufbar. Da unser PI aber ohne Bildschirm läuft, muss die Weboberfläche im Netzwerk freigegeben werden, wenn man diese nutzen möchte. Dazu den Wert webcontrol_localhost auf off setzen

Motion config6.png

Die Einstellungen sichern wir mittels STRG+x und Y

Motion config7.png

Das Kamerabild ist nach dem Start von Motion (entweder über sudo motion start oder nach Neustart) über den Port 8081 erreichbar. Die Weboberfläche zur Konfiguration über Port 8080. Angenommen, der Raspberry PI hat vom Router die IP Adresse 192.168.178.10 erhalten, kann man mit Eingabe der Adresse 192.168.178.10:8081 im Browser das Kamerabild prüfen

Damit Motion auch wirklich beim booten startet, muss eine weitere Datei angepasst werden

sudo nano /etc/default/motion

Motion config8.png

Motion wird als Benutzer "motion" ausgeführt. Das Logfile wird unter /var/log/motion/motion.log abgelegt. Der Benutzer motion hat aber keine Berechtigung, darauf zuzugreifen. Ein Start als Dienst ist damit nicht möglich.

Wir können einfach das Verzeichnis löschen mit

sudo rm -rf /var/log/motion

Beim Starten des Dienstes wird das Verzeichnis mit den korrekten Rechten erstellt. Man kann natürlich auch den Owner des Verzeichnisses anpassen oder die Gruppenrechte setzen. Ich finde es so aber einfacher

Control Center einrichten

Nun ist es fast geschafft. Jetzt ist es Zeit, das Ardumower Control Center einzurichten. Dazu nutzen wir am besten eine SFTP Client wie WinSCP. Zuvor müssen wir aber die Dateien von Github heruntergeladen habe.

Anschließend kopieren wir alle Verzeichnisse und Dateien, mit Ausnahme von dem Verzeichnis node_modules auf unser .node-red Verzeichnis unter /home/pi

WinSCP.png

Dabei überschreiben wir alle alten Dateien

Jetzt starten wir den PI einmal durch mittels sudo reboot oder sudo shutdown -r now.

Nach dem Neustart wird es Zeit, die Node-RED Entwicklungsumgebung zum ersten mal aufzurufen. Dies geschieht mit dem Browser durch den Aufruf der Adresse <ip des PI>:1880, also etwa 192.168.178.10:1880

Wir erhalten direkt eine Fehlermeldung, da einige wichtige Komponenten nicht installiert sind

Nodered1.png

Dies holen wir sogleich nach, indem wir im Menü auf "Manage Pallette" gehen

Nodered2.png

Und unter dem Reiter "Install" die Komponenten installieren

Nodered3.png

Node-red-dashboard

Nodered4.png

Sowie node-red-contrib-config

Nodered5.png

Am besten starten wir danach den Raspberry einmal neu

Nun ist das Control Center über die Adresse <ip des PI>:1880/ui erreichbar, also etwa 192.168.178.10:1880/ui

Cc1.png

Glückwunsch, das Control Center ist eingerichtet.