G
gebad
- Dabei seit
- 11.07.2016
- Beiträge
- 187
- Likes
- 72
Anfang 2017 kaufte ich meinen Robomow RS625. Bereits im darauffolgenden Jahr wurde die Weiterentwicklung der Software meines Modells vom Hersteller eingestellt. Bluetooth-Reichweite und die spartanische Ausführung vom GSM veranlassten mich eine eigene Lösung zu finden.
Da ich kein Softwareentwickler bin, stellte mir Frederik Holst Robotan als initiale Vorlage zur Verfügung. Vielen Dank Frederik!
STYX ermittelte die Kommandos für seinen RC30x und testetet das Programm mit diesem Modell.
Mähspitzel verbindet sich per Bluetooth mit dem Mähroboter. Über WLAN kann per http auf die Anwendung zugegriffen werden.
Die Verwendung des Programms erfolgt auf eure Verantwortung. Es können mit Mähspitzel Fehleinstellungen durchgeführt werden, für die ihr selbst verantwortlich seid.
Screenshots und Firmware sind im Anhang mspitzel.zip
Voraussetzung
RS-Modell mit Softwareversion 2.82 bis 2.90 oder RC-Modell mit Softwareversion 1.79 bis 2.02 Andere Modelle und Softwarestände werden vom Programm abgelehnt!
WEMOS LOLIN D32 Pro mit 4MB PSRAM und SD-Slot (Mikro-SIM-Karte)
GPS-Modul u-blox NEO-M8N optional
DC-DC Wandler optional
Anschluss GPS-Modul
Gnd -> Gnd GPS
3V3 -> VCC GPS
DIO 22 -> TX GPS
Weiteres
Nach ESP8266 mit externer WLAN-Antenne für WIFFI, WeMos … | STALL habe ich das ESP32-Modul mit einer externer WLAN-Antenne versehen. Diese bringt eine über 10dBm bessere Signalstärke.
Installation der Software
Eine Anleitung findet ihr u.a. auf Getting Started with the ESP32 - Using the Arduino IDE
Mittels USB-Kabel ist das ESP32 Board mit Eurem Computer zu verbinden.
Unter Werkzeuge der Arduino IDE sind folgende Parameter einzustellen:
* Board: "LOLIN D32 PRO"
* Upload Speed: "921600"
* Flash Frequency: "80MHz"
* Partition Scheme: "Minimal SPIFFS (Large APPS with OTA)"
* Core Debug Level: "Keine"
* PSRAM: "Enabled"
* Port :
Öffnet den Sketch mspitzelAPconnect.ino. Weitere Informationen sind im Sketch enthalten. Ladet den WLAN-Loader auf den ESP32 hoch. Jetzt könnt ihr auf den Loader mit http://WLAN-IP-AdresseESP32:8080/ zugreifen.
Anschließend ist die Datei mspitzel.ino.d32_pro.bin auszuwählen und das Update durchzuführen.
Bei erfolgreichen Upload und ESP32 Neustart ist Mähspitzel mit http://WLAN-IP-AdresseESP32 erreichbar. Falls von euch nicht geändert, ist als Nutzername Mspitzel und bei Passwort Mspitzel007 einzutragen.
Da es mir nicht gelang den erst später sichtbaren Scrollbalken (vertikal Slider) für andere Browser vernünftig darzustellen, empfehle ich Firefox zu verwenden.
Spätere Aktualisierungen können ohne den Loader mit http://WLAN-IP-AdresseESP32:8080/ durchgeführt werden. Es gehen dabei keine Programmeinstellungen verloren.
Mähspitzel mit Rasenroboter verbinden
1. Schritt
Unter Reiter Konfiguration sind Eure Mäherdaten zu setzen. Die SSID setzt sich aus „Mo“ und den letzten 4 Ziffern der Seriennummer zusammen. Die Mainboard-SN ist nicht die Seriennummer! Falls euch die Mainboard-SN des Roboters nicht bekannt sein sollte, so gibt es im Internet eine Anleitung zur Ermittlung derselben.
2. Schritt
Auf Startseite BLE Aus auf Ein stellen. Es ändern sich die Farben dieser Auswahlliste.
Blau – Nach eingetragenen Bluetooth-Gerät wird gesucht
Gelb/Orange – Versuch eines Verbindungsaufbaus
Grün – Mähspitzel ist mit dem Mäher verbunden
Viele Einstellungen sind selbst erklärend. Es gibt jedoch einige Besonderheiten.
Konfiguration
„Neu verbinden“
Bei WLAN-mesh wechselt der ESP32 nicht automatisch zu einen besseren Access Point(AP).
Mit Unterschreitung der eingestellten Feldstärke wird daher eine Neuverbindung zum AP erzwungen. Ich bevorzuge -79 dBm. Der Wert ist jedoch von der lokalen Anordnung eurer AP’s abhängig.
„Ändern Mähereinstellungen“
Ohne Aktivierung können keine Mäher-Einstellungen gesetzt werden.
„Protokolle Runterladen“
Je nach Protokollgröße kann das Runterladen eine Ewigkeit dauern. Ich empfehle daher die Protokolle in regelmäßigen Abständen zu löschen.
„pushbullet Benachrichtigung“
Google Werkzeug zur Push-Benachrichtigung zum Handy. Anleitung zur Einrichtung findet ihr im Internet.
„Benachrichtigungsereignisse Nummern“
Die Ereignisse sind von Robomow im Internet veröffentlicht. Stichwort „stopreason“. Zum Test sind bei mir „2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,24,32,33,41,42,45,46,47,49,56,61,62,63,64,65,66,68,74,75,250“
eingestellt.
Mäher-Einstellungen
Um zu prüfen ob ein Setzen der gewünschten Einstellung erfolgreich war muss man diese Seite erneut aufrufen!
„Inaktive Tage“, „Inaktive Zeit“
WICHTIG – Sind z.B. weniger als 6 Tage aktiv oder die aktiven Tage/Zeiten ungünstig aufgeteilt, so verlängern sich die Bluetooth-Antwortzeiten vom Mäher wesentlich. Im ungünstigen Fall wird dadurch die Bluetooth-Verbindung immer wieder neu aufgebaut.
Unter Umständen wird z.B. die Webseite Mäher-Einstellungen nicht oder nur unvollständig aktualisiert. Ein Setzen der Einstellungen ist dann kaum möglich, bzw. wird einfach nicht durchgeführt und muss mehrfach wiederholt werden. Dies ist auch mit der Robomow-App nachvollziehbar. Ich benötigte viel Zeit um diese Ursache herauszufinden.
„Automatikbetrieb“ - > „Wochenprogramm“
Aus - Schaltet alle Zonen, einschließlich Zonen A und B, aus.
Ein – Alle Zonen, außer Zone A, Zone B und Nebenzone 4, werden eingeschaltet.
„Erkenne Basisstation“ - > „Suchkapazität und Suchspannung“
Wenn ihr diese Werte ändern wollt, so sollt ihr euch mit den eingebauten Akkutyp wirklich sehr gut auskennen oder die Finger davonlassen!
„Drehrichtung Messer Automatisch“
Wird ausschließlich von meinem Programm gesteuert. Eine ständige Bluetooth-Verbindung ist erforderlich. Die Drehrichtung wird nach jeden Mäheinsatz ab 20 Minuten Mähdauer in der Fläche geändert.
„Mäher-Status&GPS“
Wurden durch das optionale GPS-Modul ausreichend Satelliten gefunden, so werden aktuelle Mäher-Position und ein Link auf oberster Zeile eingeblendet.
„Einsatzprotokoll“
Das Einsatzprotokoll wird im EEPROM gespeichert. Maximal 189 Einträge sind im programmierten Ringspeicher möglich. Danach wird ältestes Ereignis durch das Neueste überschrieben.
Telnet
Auf Mähspitzel kann per Telnet (Port 23) zugegriffen werden. Folgende Anweisungen sind ausführbar:
'?' 3 Sekunden auflisten der möglichen Anweisungen.
'Q' Neustart Mähspitzel...
'F' Rücksetzen der Konfiguration. Neustart...
'Z' Lösche letzte Zeile Ereignisprotokoll
'L' Lösche Ereignisprotokoll
'N' Testbenachrichtigung versenden...
Datenschutz/-sicherheit
Dieser Punkt ist als ungenügend zu bewerten. Es ist eben eine unverschlüsselte WLAN-Verbindung im Heimnetz.
Https, bzw. ssh konnten nicht integriert werden. Flash und dynamischer Speicher des ESP32 sind dafür zu klein.
Eine Portweiterleitung vom Internet über den WLAN-Router zum ESP32 ist auf jeden Fall zu unterlassen! Akzeptabel wäre noch eine VPN Verbindung vom Internet in das Heimnetzwerk. Dann ist Mähspitzel auch über das Internet erreichbar.
Da ich kein Softwareentwickler bin, stellte mir Frederik Holst Robotan als initiale Vorlage zur Verfügung. Vielen Dank Frederik!
STYX ermittelte die Kommandos für seinen RC30x und testetet das Programm mit diesem Modell.
Mähspitzel verbindet sich per Bluetooth mit dem Mähroboter. Über WLAN kann per http auf die Anwendung zugegriffen werden.
Die Verwendung des Programms erfolgt auf eure Verantwortung. Es können mit Mähspitzel Fehleinstellungen durchgeführt werden, für die ihr selbst verantwortlich seid.
Screenshots und Firmware sind im Anhang mspitzel.zip
Voraussetzung
RS-Modell mit Softwareversion 2.82 bis 2.90 oder RC-Modell mit Softwareversion 1.79 bis 2.02 Andere Modelle und Softwarestände werden vom Programm abgelehnt!
WEMOS LOLIN D32 Pro mit 4MB PSRAM und SD-Slot (Mikro-SIM-Karte)
GPS-Modul u-blox NEO-M8N optional
DC-DC Wandler optional
Anschluss GPS-Modul
Gnd -> Gnd GPS
3V3 -> VCC GPS
DIO 22 -> TX GPS
Weiteres
Nach ESP8266 mit externer WLAN-Antenne für WIFFI, WeMos … | STALL habe ich das ESP32-Modul mit einer externer WLAN-Antenne versehen. Diese bringt eine über 10dBm bessere Signalstärke.
Installation der Software
Eine Anleitung findet ihr u.a. auf Getting Started with the ESP32 - Using the Arduino IDE
Mittels USB-Kabel ist das ESP32 Board mit Eurem Computer zu verbinden.
Unter Werkzeuge der Arduino IDE sind folgende Parameter einzustellen:
* Board: "LOLIN D32 PRO"
* Upload Speed: "921600"
* Flash Frequency: "80MHz"
* Partition Scheme: "Minimal SPIFFS (Large APPS with OTA)"
* Core Debug Level: "Keine"
* PSRAM: "Enabled"
* Port :
Öffnet den Sketch mspitzelAPconnect.ino. Weitere Informationen sind im Sketch enthalten. Ladet den WLAN-Loader auf den ESP32 hoch. Jetzt könnt ihr auf den Loader mit http://WLAN-IP-AdresseESP32:8080/ zugreifen.
Anschließend ist die Datei mspitzel.ino.d32_pro.bin auszuwählen und das Update durchzuführen.
Bei erfolgreichen Upload und ESP32 Neustart ist Mähspitzel mit http://WLAN-IP-AdresseESP32 erreichbar. Falls von euch nicht geändert, ist als Nutzername Mspitzel und bei Passwort Mspitzel007 einzutragen.
Da es mir nicht gelang den erst später sichtbaren Scrollbalken (vertikal Slider) für andere Browser vernünftig darzustellen, empfehle ich Firefox zu verwenden.
Spätere Aktualisierungen können ohne den Loader mit http://WLAN-IP-AdresseESP32:8080/ durchgeführt werden. Es gehen dabei keine Programmeinstellungen verloren.
Mähspitzel mit Rasenroboter verbinden
1. Schritt
Unter Reiter Konfiguration sind Eure Mäherdaten zu setzen. Die SSID setzt sich aus „Mo“ und den letzten 4 Ziffern der Seriennummer zusammen. Die Mainboard-SN ist nicht die Seriennummer! Falls euch die Mainboard-SN des Roboters nicht bekannt sein sollte, so gibt es im Internet eine Anleitung zur Ermittlung derselben.
2. Schritt
Auf Startseite BLE Aus auf Ein stellen. Es ändern sich die Farben dieser Auswahlliste.
Blau – Nach eingetragenen Bluetooth-Gerät wird gesucht
Gelb/Orange – Versuch eines Verbindungsaufbaus
Grün – Mähspitzel ist mit dem Mäher verbunden
Viele Einstellungen sind selbst erklärend. Es gibt jedoch einige Besonderheiten.
Konfiguration
„Neu verbinden“
Bei WLAN-mesh wechselt der ESP32 nicht automatisch zu einen besseren Access Point(AP).
Mit Unterschreitung der eingestellten Feldstärke wird daher eine Neuverbindung zum AP erzwungen. Ich bevorzuge -79 dBm. Der Wert ist jedoch von der lokalen Anordnung eurer AP’s abhängig.
„Ändern Mähereinstellungen“
Ohne Aktivierung können keine Mäher-Einstellungen gesetzt werden.
„Protokolle Runterladen“
Je nach Protokollgröße kann das Runterladen eine Ewigkeit dauern. Ich empfehle daher die Protokolle in regelmäßigen Abständen zu löschen.
„pushbullet Benachrichtigung“
Google Werkzeug zur Push-Benachrichtigung zum Handy. Anleitung zur Einrichtung findet ihr im Internet.
„Benachrichtigungsereignisse Nummern“
Die Ereignisse sind von Robomow im Internet veröffentlicht. Stichwort „stopreason“. Zum Test sind bei mir „2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,24,32,33,41,42,45,46,47,49,56,61,62,63,64,65,66,68,74,75,250“
eingestellt.
Mäher-Einstellungen
Um zu prüfen ob ein Setzen der gewünschten Einstellung erfolgreich war muss man diese Seite erneut aufrufen!
„Inaktive Tage“, „Inaktive Zeit“
WICHTIG – Sind z.B. weniger als 6 Tage aktiv oder die aktiven Tage/Zeiten ungünstig aufgeteilt, so verlängern sich die Bluetooth-Antwortzeiten vom Mäher wesentlich. Im ungünstigen Fall wird dadurch die Bluetooth-Verbindung immer wieder neu aufgebaut.
Unter Umständen wird z.B. die Webseite Mäher-Einstellungen nicht oder nur unvollständig aktualisiert. Ein Setzen der Einstellungen ist dann kaum möglich, bzw. wird einfach nicht durchgeführt und muss mehrfach wiederholt werden. Dies ist auch mit der Robomow-App nachvollziehbar. Ich benötigte viel Zeit um diese Ursache herauszufinden.
„Automatikbetrieb“ - > „Wochenprogramm“
Aus - Schaltet alle Zonen, einschließlich Zonen A und B, aus.
Ein – Alle Zonen, außer Zone A, Zone B und Nebenzone 4, werden eingeschaltet.
„Erkenne Basisstation“ - > „Suchkapazität und Suchspannung“
Wenn ihr diese Werte ändern wollt, so sollt ihr euch mit den eingebauten Akkutyp wirklich sehr gut auskennen oder die Finger davonlassen!
„Drehrichtung Messer Automatisch“
Wird ausschließlich von meinem Programm gesteuert. Eine ständige Bluetooth-Verbindung ist erforderlich. Die Drehrichtung wird nach jeden Mäheinsatz ab 20 Minuten Mähdauer in der Fläche geändert.
„Mäher-Status&GPS“
Wurden durch das optionale GPS-Modul ausreichend Satelliten gefunden, so werden aktuelle Mäher-Position und ein Link auf oberster Zeile eingeblendet.
„Einsatzprotokoll“
Das Einsatzprotokoll wird im EEPROM gespeichert. Maximal 189 Einträge sind im programmierten Ringspeicher möglich. Danach wird ältestes Ereignis durch das Neueste überschrieben.
Telnet
Auf Mähspitzel kann per Telnet (Port 23) zugegriffen werden. Folgende Anweisungen sind ausführbar:
'?' 3 Sekunden auflisten der möglichen Anweisungen.
'Q' Neustart Mähspitzel...
'F' Rücksetzen der Konfiguration. Neustart...
'Z' Lösche letzte Zeile Ereignisprotokoll
'L' Lösche Ereignisprotokoll
'N' Testbenachrichtigung versenden...
Datenschutz/-sicherheit
Dieser Punkt ist als ungenügend zu bewerten. Es ist eben eine unverschlüsselte WLAN-Verbindung im Heimnetz.
Https, bzw. ssh konnten nicht integriert werden. Flash und dynamischer Speicher des ESP32 sind dafür zu klein.
Eine Portweiterleitung vom Internet über den WLAN-Router zum ESP32 ist auf jeden Fall zu unterlassen! Akzeptabel wäre noch eine VPN Verbindung vom Internet in das Heimnetzwerk. Dann ist Mähspitzel auch über das Internet erreichbar.