PiMowBot Geo-Position
-  PiMowBot-Logo YouTube-Logo Twitter-Logo

  -  EN  |  DE  -

PiMowBot Workshop - ein Mähroboter im Eigenbau

Teil 2: Ohne die richtige Software kann der PiMowBot nicht mähen.

In diesem Workshop erfahren Sie Schritt für Schritt, wie Sie ihren eigenen Rasenmäher-Roboter zum Mähen ihres Rasens auf Basis des Raspberry Pi Zero selbst erstellen und zusammenbauen können.

Der erste Teil des Workshops beschäftigt sich mit dem Zusammenbau der Hardware, der zweite Teil beschreibt die Installation und Konfiguration der Software.

RaspberryPi OS Lite die Basis für den PiMowBot

01 Flashen der Micro-SD-Karte
Laden Sie zunächst die 32bit Lite Version des RaspberryPi OS (aka Raspbian) hier herunter und flashen anschließend das Image auf die SD-Karte oder verwenden Sie dafür direkt den Raspberry Pi Imager.

02 Vorbereiten der Micro-SD-Karte für ein Headless Setup
Bereiten Sie nun die SD-Karte für ein Headless Setup des PiMowBots vor.
Erstellen Sie zunächst wie hier beschrieben eine wpa_supplicant.conf Datei in der Boot Partition der SD-Karte mit den passenden Einstellungen für ihr WiFi-Netzwerk.

Beispiel: wpa_supplicant.conf 

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=DE

network={
    ssid="lawn"
    psk="gehe!m"
}

Legen Sie jetzt eine Datei mit dem Namen SSH in der Boot Partition der SD-Karte an, damit die weiteren Schritte zur Installation und Konfiguration der Software für den PiMowBot per SSH durchgeführt werden können.

03 Den Raspberry Pi das Erste mal starten
Stecken Sie jetzt die vorbereitete Micro-SD-Karte in ihren Raspberry Pi und und schalten den Raspberry Pi über den Taster des Witty Pi Mini ein, um ihn zum Ersten mal zu starten. Der Raspberry Pi booten nun und bindet sich in ihr WiFi-Netzwerk ein. Dass der Pi Zero funktioniert, erkennen Sie an der blinkenden grünen LED. Die IP-Adresse des Raspberry Pi können Sie dem DHCP-Lease an ihrem Rooter (DHCP-Server) entnehmen.
Melden Sie sich dann per SSH am Pi Zero an, also per ssh pi@<IP des RPi> an. Das Initialkennwort des Benutzers pi lautet "raspberry".

Konfiguration von RaspberryPi OS

01 Grundkonfiguration des Raspberry Pi OS
Nachdem Sie sich an ihrem Raspberry Pi erfolgreich per SSH angemeldet haben, führen Sie die weiteren, erforderlichen Schritte zur Konfiguration des Raspberry Pi per   sudo raspi-config   , wie abgebildet durch:

Abbildung 1 

sudo raspi-config
 
raspi-config

02 Ändern Sie das Kennwort des Benutzers pi

Abbildung 2 

sudo raspi-config -> 1 -> S3
 
password

03 Vergeben Sie einen neuen Hostnamen

Abbildung 3 

sudo raspi-config -> 1 -> S4
 
hostname

04 Richtige Zeitzone festlegen

Abbildung 4 

sudo raspi-config -> 5 -> L3 -> Europe -> Berlin
 
serial
serial

05 Aktivieren der seriellen Schnittstelle

Abbildung 5 

sudo raspi-config -> 3 -> P6 -> NO (shell) -> YES
 
serial
serial

06 Aktivieren Sie den I2C-Bus

Abbildung 6 

sudo raspi-config -> 3 -> P5 -> Yes
 
I2C

07 Aktivieren der Kamera

Abbildung 7 

sudo raspi-config -> 3 -> P1 -> Yes
 
camera

Installation der Software für den PiMowBot

01 Update des Betriebssystems
Bevor Sie mit der Installation der weiteren Software beginnen, führen Sie zunächst erst ein Update des Raspberry Pi OS durch. Geben Sie dazu im Terminal folgende Befehle ein und bestätigen Sie während des Updates die Hinweise und Fragen.

sudo apt-get update

sudo apt-get upgrade

Hinweis: Falls erforderlich Rebooten Sie den Raspberry Pi nach der erfolgreichen Aktualisierung per:

sudo reboot

02 Konfiguration eines lokalen Zeitservers (optional)
Falls Sie in ihrem LAN über einen lokalen NTP-Zeitserver verfügen, sollten Sie diesen bei ihrem PiMowBot konfigurieren. Editieren Sie dazu die Konfigurationsdatei mit nano /etc/systemd/timesyncd.conf und fügen dort eine Zeile mit der IP-Adresse ihres lokalen Zeitservers ein, zum Beispiel:

#  This file is part of systemd.
#
#  systemd is free software; you can redistribute it and/or modify it
#  under the terms of the GNU Lesser General Public License as published by
#  the Free Software Foundation; either version 2.1 of the License, or
#  (at your option) any later version.
#
# Entries in this file show the compile time defaults.
# You can change settings by editing this file.
# Defaults can be restored by simply deleting this file.
#
# See timesyncd.conf(5) for details.

[Time]
NTP=192.168.178.250
#FallbackNTP=0.debian.pool.ntp.org 1.debian.pool.ntp.org 2.debian.pool.ntp.org 3.debian.pool.ntp.org
#RootDistanceMaxSec=5
#PollIntervalMinSec=32
#PollIntervalMaxSec=2048

03 Einrichten des Power-Managements
Die Installation der Software für den WittyPi Mini erfolgt gemäß der Herstellerangaben.

Bei einem Headless-Serverbetrieb ist eine Installation der grafischen Oberfläche nicht erforderlich. Im Einzelnen sind dies folgende Schritte:

wget http://www.uugear.com/repo/WittyPi3/install.sh

sudo sh install.sh
  (kein QT5 installieren)

sudo reboot

04 Zeit der Realtime Clock setzen
Nach der Installation der Software für den WittyPi Mini ist noch die Realtime Clock auf die Systemzeit zu setzen. Wechseln Sie in das Verzeichnis der WittyPi Software /home/pi/wittyPi/ und führen dort folgenden Befehl aus:

sudo ./wittyPi.sh

================================================================================
|                                                                              |
|   Witty Pi - Realtime Clock + Power Management for Raspberry Pi              |
|                                                                              |
|                   < Version 2.56 >     by UUGear s.r.o.                      |
|                                                                              |
================================================================================
>>> Current temperature: 13.50°C / 56.3°F
>>> Your system time is: Sat 07 Mar 2020 18:23:54 CET
>>> Your RTC time is:    Fri 25 Oct 2019 16:34:31 CEST
Now you can:
 1. Write system time to RTC
 2. Write RTC time to system
 3. Synchronize time
 4. Schedule next shutdown [07 18:25:00]
 5. Schedule next startup  [10 17:30:00]
 6. Choose schedule script
 7. Reset data...
 8. Exit
What do you want to do? (1~8) 1
 Writing system time to RTC...
 Done :-)

================================================================================
>>> Current temperature: 13.50°C / 56.3°F
>>> Your system time is: Sat 07 Mar 2020 18:24:12 CET
>>> Your RTC time is:    Sat 07 Mar 2020 18:24:13 CET

Nun ist die Realtime Clock richtig gesetzt und der PiMowBot behält die korrekte Zeit.

05 Installation von GNUplot
Einige Telemetrie-Daten des PiMowBots werden nach dem Mähvorgang als Grafiken aufbereitet im Webinterface dargestellt. Dafür wird gnuplot genutzt. Die Installation der gnuplot Software erfolgt durch diesen Befehl.

sudo apt-get install gnuplot

Falls dieses Software Paket nicht installiert ist, können die entsprechenden PiMowBot-It! Funktionen, wie die Heatmaps zum Mähbetrieb, nicht dargestellt werden.

06 Installation von Software zur Steuerung der Aktoren
Für die Ansteuerung der Motoren installieren Sie das python3-pigpio Paket:

sudo apt-get install python3-pigpio

Falls dieses Software Paket nicht installiert ist, kann der Antrieb nicht verwendet werden.

07 Software Pakete zur Inbetriebnahme der Sensoren
Für die Auswertung des Kompass-Sensors ist das python3-smbus Paket erforderlich:

sudo apt-get install python3-smbus

Für die ToF-Sensoren ist die Installation der zugehörigen Python Library notwendig. Bei Verwendung von VL53l0X Sensoren erfolgt das durch den Befehl:

sudo pip3 install git+https://github.com/pimoroni/VL53L0X-python.git

Bei VL53l1X Sensoren hiermit:

sudo pip3 install vl53l1x

Hinweis: Bei Python2 basierten Systemen muss pip anstelle von pip3 bei der Installation der Library verwendet werden.

08 Installation der PiMowBot-It! Management Software
Kopieren Sie das per E-Mail zugesandte Softwarebundle der PiMowBot-It! Management Software mit Hilfe des SCP-Befehls auf ihren Raspberry Pi, z.B:

Kopieren des Tar-Archives 

scp Downloads/PiMowBotIt.tar pi@192.168.178.103:PiMowBotIt.tar

Hinweis: Die beim SCP-Befehl aufgeführte IP-Adresse muss der IP-Adresse ihres Raspberry Pi entsprechen.

Entpacken Sie anschließend das TAR-Archiv auf ihrem Raspberry Pi nach /home/pi/, nachdem Sie sich dort per SSH angemeldet haben.

Entpacken des Tar-Archives 

tar xvf PiMowBotIt.tar

Konfiguration der PiMowBot-It! Management Software

01 Einrichten des Webserver-Moduls als SystemD-Service
Das Webserver-Modul von PiMowBot-It! wird als Respawn-Prozess ins System eingebunden. Dafür wird ein entsprechender systemd-Service per sudo nano /etc/systemd/system/WebserverPiMowBot.service eingetragen:

[Unit]
Description=PiMowBot-It! Webserver-Modul, respawn
After=PiCAM.service
Wants=network-online.target PiCAM.service

[Service]
WorkingDirectory=/home/pi/pimowbot
ExecStartPre=/bin/sleep 25
ExecStart=/home/pi/pimowbot/bin/r3 Webserver.r
User=pi
Restart=always
RestartSec=1
StandardOutput=append:/home/pi/pimowbot/nohup.out
StandardError=append:/home/pi/pimowbot/nohup.out

[Install]
WantedBy=multi-user.target

Anschließend wird der Service per

sudo systemctl enable WebserverPiMowBot.service

aktiviert. Ab jetzt wird beim Hochfahren des Raspberry Pi das PiMowBot-It! Webserver-Modul automatisch als Respawn-Prozess gestartet.

02 Einrichten des PiCAM-Moduls als SystemD-Service
Das PiCAM-Modul von PiMowBot-It! basiert auf einer für den Anwendungsfall optimierten Version der PiCAM-It! Management Software. Es wird als Respawn-Prozess ins System eingebunden, indem ein entsprechender systemd-Service per sudo nano /etc/systemd/system/PiCAM.service eingetragen wird:

[Unit]
Description=PiMowBot-It! PiCAM-Modul, respawn
After=ssh.service

[Service]
WorkingDirectory=/home/pi/pimowbot
ExecStart=/home/pi/pimowbot/bin/r3 PiCAM.r
User=pi
Restart=always
RestartSec=1
StandardOutput=append:/home/pi/pimowbot/nohup.out
StandardError=append:/home/pi/pimowbot/nohup.out

[Install]
WantedBy=WebserverPiMowBot.service

Anschließend wird der Service per

sudo systemctl enable PiCAM.service

aktiviert. Ab jetzt wird beim Hochfahren des Raspberry Pi das PiMowBot-It! PiCAM-Modul automatisch als Respawn-Prozess gestartet.

03 Deaktivierung der initialen Kompass-Kalibrierung (optional)
Beim ersten Start der PiMowBot-It! Management Software wird automatisch eine Kalibrierung des Kompass durchgeführt. Dies dient der Eliminierung des "Hard-Iron-Bias" und damit das Kompass-Modul an ihrem Standort richtig genutzt werden kann.

Der PiMowBot führt während der Kalibrierung des Kompass solange eine Drehung durch bis der Kalibrierungsprozess abgeschlossen ist. Dies kann unter Umständen mehrere Minuten dauern.

Falls nicht genügend Platz (Radius 1m) für die Drehungen des PiMowBots vorhanden ist, sollte die automatische Kalibrierung des Kompass-Moduls deaktiviert werden. Legen Sie dazu vor dem Start der Software einfach folgende Optionsdatei an:

cd /home/pi/pimowbot && echo "" > .PiMowBotIt.Compass

Hinweis: Der Kalibrierungsprozess kann jederzeit nachträglich über das Webinterface des PiMowBots manuell gestartet werden.

04 Start der Software
Wenn Sie alle vorherigen Schritte vollständig und ordnungsgemäß durchgeführt haben, können Sie nun die PiMowBot-It! Management Software durch einen Reboot des Raspberry Pi starten.

sudo reboot

Warten Sie dann ein paar Sekunden bis der Neustart des Raspberry Pi durchgeführt wurde und die Softwaremodule des PiMowBots gestartet sind. Falls der vorherige Schritt übersprungen wurde, beginnt der PiMowBot nun zu rotieren. Nach Abschluss der Kalibrierung öffnen Sie das Webinterface des PiMowBots im Browser. Geben Sie einfach die URL http://<IP des Raspberry Pi>:8080 in ihren Browser ein:

PiMowBot in action
Die erste Testfahrt des PiMowBot

PiMowBot-WebUI
Die Bedienoberfläche des PiMowBot.

05 Aktivierung des Geofence (optional)
Ein Geofence ist ein virtueller Perimeter um ein reales geographisches Gebiet/Grundstück, innerhalb dem der PiMowBot betrieben werden kann. Der Geofence ist als Radius um einen Punkt (Geokoordinate) definiert.

Die Geofence-Option wird über die Geofencing-Settings der PiMowBot-It! Management Software aktiviert, klicken Sie dazu im Webinterface auf . Wurde die Geofence-Option aktiviert, ist ein Betrieb des PiMowBot nur innerhalb des gesetzten Geofence möglich. Außerhalb des Geofence verweigert der PiMowBot den Betrieb.

Tipp: Die Geofence-Option kann als proaktives Mittel gegen Diebstahl verwendet werden.


Damit ist die Installation und Konfiguration der Software des PiMowBot abgeschlossen und der Hauptteil des PiMowBot-Workshop beendet.

Ihr PiMowBot ist nun betriebsbereit. Bitte mähen Sie zunächst im manuellen RC-Betriebsmodus ihren Rasen, um ihren Zusammenbau und die Funktionen des PiMowBots zu überprüfen.

Falls der PiMowBot wider erwarten nicht richtig funktionieren sollte, überprüfen Sie die einzelnen Schritte des ersten und zweiten Teils des Workshops.

Sollte bis hierher soweit alles in Ordnung sein, erfahren Sie hier in einem dritten Teil des Workshops, wie Sie die erweiterten Funktionen des PiMowBots nutzen.

Bitte werfen Sie auch einen Blick in die FAQ. Dort erhalten Sie Antworten auf die häufigsten Fragen zum PiMowBot.


  -   Copyright 2014-2024, TGD-Consulting   -   FAQ   -   PiMowBot powered by Serve-It! TNG   -  

π