MowMate – die neue ESP32-UI für den Ardumower

Hallo @Zwer2k,
ich bin sehr an deinem Projekt interessiert! Ich habe seit 2022 einen Ardumower und bin eigentlich sehr zufrieden damit. Anfangs habe ich ihn mit der Sunray-App genutzt und seit 2023 mit Cassandra auf einem Raspberry. Anfang diesen Jahres habe ich mit dann den Raspberry in den Mower eingebaut und habe aber immer wieder Probleme damit, anfangs mit diversen USB-WLAN-Sticks, die nicht richtig unter Linux auf dem Raspberry funktionierten und die Verbindung nicht zuverlässig gehalten haben und auch mit der Verbindung des Raspberry über USB mit dem Mower, die immer wieder einmal abbricht.
Deshalb würde ich die Sache mit dem ESP32-S3 gerne versuchen. Allerdings habe ich das PCB 1.4 und das GCM4 im Mower. Sind die Anchlüsse identisch mit dem PCB 1.3? Auch scheint mein ESP32-S3 ein anderes Modul zu sein, zumindest ist die Pinbelegung ein wenig anders und vor allem habe ich keine Ahnung, wie und womit ich die Binaries auf das Modul bekomme (ich arbeite mit Linux). Anfangs hatte ich auch ein ESP32 im Mower, das habe ich damals mit Arduino-IDE geflasht.
Kannst du mir etwas auf die Sprünge helfen?
Ich sage schon einmal Danke!
Grüße Jürgen
 
Hallo Jürgen,
sorry, war diese Woche unterwegs, bin daher nicht dazu gekommen dir zu antworten.
So wie ich es sehe sind beide Versionen (V1.3 und V1.4) von der Pinbelegung ähnlich, gilt daher die selbe Verdrahtung.
Bei ESP32-S3 sollte es auch recht einfach rauszufinden sein wo entsprechende Pins rausgeführt sind. Einfach nach Pinout ESP32-S3 googeln (eventuell Bildersuche benutzen). Welch Variante hast du?

Für einfachere Installation habe ich
Web-Installer auf Github bereitgestellt.
 
Zuletzt bearbeitet:
Vielen Dank für deine Antwort!
Es ist mir zwischenzeitlich gelungen, das ESP zu flashen. Es funktioniert auch, ich konnte es in mein Netzwerk einzubinden, ich kann es im Browser erreichen und mir werden Daten angezeigt. Ich kann den Mäher per Remote steuern und auch mit Cassandra mähen. Log wird auch angezeigt, das Terminal und GPS aber nicht.
Was mir noch nicht gelungen ist, ist die Karte aus Cassandra zu importieren.
Welche Variante mein ESP ist, kann ich leider nicht sagen, das Pinout ist auf dem Bild zu sehen. Ich habe es wie in Beitrag #5 gezeigt angeschlossen, GPIO15 an P27 TX0 und GPIO7 an P23 sowie 5V und GND.
Ich werde heute Nachmittag einmal komplett mit Cassandra mähen, dann melde ich mich wieder.

Edit: Das Anhängen von Bildern funktioniert leider wieder einmal nicht!
 
Ich habe den Mower heute mit Cassandra mähen lassen, Cassandra läut auf einem Raspberry 3B und ist per HTTP mit dem Modem verbunden. Hat soweit alles geklappt. Ich habe auch ein Update erfolgreich installiert. Ich weiß aber nicht, wie ich die Karte aus Cassandra auf den ESP32 bekomme. Ich habe in Cassandra einen Export als json gemacht und wenn ich dieses in Mowmate importieren will erhalte ich eine Fehlermeldung:
Import Error Failed to Import CaSSAnDra GeoJOSN. Configure the reference longitude/latitude in Position settings first.
In Cassandra und auch auf dem Modem ist Position relativ eingestellt.
Ich habe eine recht komplexe Mähkarte mit 13 Exclusionen, wenn ich die neu erstellen muss, bleibe ich bei meinem Setup.
 
Die Karte sollte beim Starten des Mähvorgangs aus CaSSAnDra in MowMate angezeigt werden, anschließend kannst du sie in der Kartenverwaltung speichern.
1791322960896.png

Kannst du mir mal dein Karten CaSSAnDra Kartenexport per PN bereitstellen, dann kann ich mal prüfen woran es hängt.

Für vollen GPS-Dashboard benötigst du Sunray-Patch aus dem Beitrag #11.
Für Terminal benötigst du zweite Serielle Verbindung zwischen PCB1.4 WiFi-Pins und ESP32-S3 TX1. Da muss ich noch einmal den Verbindungsplan überarbeiten.
 
Ich habe den Mower heute mit Cassandra mähen lassen, Cassandra läut auf einem Raspberry 3B und ist per HTTP mit dem Modem verbunden. Hat soweit alles geklappt. Ich habe auch ein Update erfolgreich installiert. Ich weiß aber nicht, wie ich die Karte aus Cassandra auf den ESP32 bekomme. Ich habe in Cassandra einen Export als json gemacht und wenn ich dieses in Mowmate importieren will erhalte ich eine Fehlermeldung:
Import Error Failed to Import CaSSAnDra GeoJOSN. Configure the reference longitude/latitude in Position settings first.
In Cassandra und auch auf dem Modem ist Position relativ eingestellt.
Ich habe eine recht komplexe Mähkarte mit 13 Exclusionen, wenn ich die neu erstellen muss, bleibe ich bei meinem Setup.
Ab v1.7.0 sollte CaSSAnDra Import per JSON funktionieren.
 
Hallo @Zwer2k, vielen Dank! Jetzt kann ich die Karte importieren und ich kann sie in MowMate sehen, aber irgendwie komme ich trotzdem noch nicht so richtig weiter mit dem Berechnen der Mähbahnen und Hochladen der Karte. Mir wird immer angezeigt: Karte nicht synchron! Ich muss mich da wohl erst noch einarbeiten in das ganze Programm und i. M. regnet es erst einmal kräftig und die Mähsaison ist ohnehin bald zu Ende. Ich denke aber, wenn es mal richtig funktioniert bei mir, es ist eine ganz tolle Sache, was du da zusammengebastelt hast, meine Hochachtung!
 
Hallo @jottka ,
blöde Frage: Verwendest du den MowMate ESP als einziges WLAN Modul oder hast du noch den original ESP dran? Kommuniziert MowMate mit Sunray (siehst du Spannung, GPS)? MowMate soll als Roter/Modem fungieren, es soll das alte WLAN-Modul ersetzen.
Kannst du deine Vollständige Verkabelung zwischen MowMate und PCB1.4 posten, am besten mit dem Bild von dem ESP32-S3. Kannst das Bild gerne über mein Link in PM hochladen, wenn es hier nicht funktioniert
 
Ich habe den alten ESP nicht mehr dran, der war defekt und mit dem Raspberry mit Cassandra im Mower habe ich ihn ja auch nicht mehr gebraucht. Den neuen habe ich an den gleichen Pins auf dem PCB 1.4 angeschlossen, also nicht an P44, zusätzlich noch, wie in deiner Beschreibung in #3, an P27 und P23.
Heute Mittag, vor dem Regen, hatte ich Spannungsanzeige und GPS-Fix angezeigt und der Mower war auch an der richtigen Stelle auf der Karte.
Ein Bild mit den Anschlüssen auf dem Board habe ich erstellt.
Mal schauen, wie sich das Wetter morgen zeigt, dann werde ich nochmal probieren.
Hier noch die Serial-Definitionen aus der sunray-config.h:

#elif __SAMD51__ // Adafruit Grand Central M4
#define WIFI Serial2
#define ROBOT Serial2
#define BLE Serial3
#define GPS Serial4

Edit: Datei anhängen geht nicht, ich habe das Bild hochgeladen.
 
So solle die Verkabelung vollständig sein.

RX1/TX1 sind für Terminal, die Können entweder mit U11 oder P44 (gestrichelte Linien ) verbunden sein.
GND mehrfach zu verdrahten ist nicht erforderlich und kann sogar durch Masseschleifen Störungen verursachen.

Änderungen in Sunray:
#elif __SAMD51__
#define BOARD "Adafruit Grand Central M4"
#define CONSOLE Serial1 // Adafruit Grand Central M4

#elif __SAMD51__ // Adafruit Grand Central M4
#define WIFI Serial2
#define ROBOT Serial2
#define BLE Serial2
#define GPS Serial4

Damit Bluetooth funktioniert muss vermutlich BLE auch auf Serial2 geändert werden. Hab ich aber nicht getestet.

Kannst du bitte testen und Rückmeldung geben, dann kann den Schaltplan in die Doku übernehmen.

1791557019241.png

Einstellung der Spannungsversorgung:
JP4 BlueV. 5v
JP10 BlueS. 3,3V

JP6 WlanV. nicht verwendet, aber sicherheitshalber auf 3,3V
JP11 WlanS. 3,3V

PS: Ich füge die Bilder einfach aus der Zwischenablage per Strg+V ein, funktioniert problemlos. Ansonsten eventuell anderen Browser probieren.
 
Zuletzt bearbeitet:
Hallo @Zwer2k, vielen Dank für deine Bemühungen. Bei mir will das Ganze nicht so recht funktionieren. Ich habe die Verkabelung jetzt so gemacht, wie auf deinem Bild, RX1 und TX1 von P44 (gestrichelte Linien), nur ein GND-Anschluss, Jumper sind auch so gesetzt, config.h auch. Ich kann den ESP über HTTP erreichen, es werden mir weder die Spannung noch GPS angezeigt. Starte ich Cassandra, erscheinen diese Daten sofort, sobald sich Cassandra mit dem ESP verbindet! Das kann doch eigentlich nicht normal sein, oder?
Bluetooth habe ich noch nicht probiert, ich möchte erst einmal eines zum Laufen bringen.
Das mit den Bildern mit Strg-V hatte ich noch nicht probiert, ich habe das immer mit "Dateien anhängen" versucht und das klappt nicht. Danke dafür!
 
Wenn die Werte mit Cassandra angezeigt werden, ist es schon ein gutes Zeichen.
Hast du richtiges "ArduMower encryption password" in MowMate-Einstelleungen gesetzt? Es scheint, als ob es nicht passen würde und erst durch Cassandra entschlüsselt wird.

Wenn RX1/TX1 verbunden ist, und #define CONSOLE Serial1 gesetzt ist, solltest du auch was in Terminal sehen.

Wenn es nicht gehen sollte, schick mal Logs aus dem Log-Menü (zuvor auf debug stellen) und aus dem Terminal

Gruß
Jurij
 
Oben