Moin,
ich habe die Urlaubstage genutzt und zwischendurch ein bissel gebastelt. Aber zunächst muss ich mich selbst korrigieren:
Yard Force SA650 ECO (MIT Regensensor)
... das ist Bullshit. Ich habe einen SC600 ECO mit Regensensor. Keine Ahnung wie ich auf einen SA650 gekommen bin.
Egal, jetzt weiter zum Projekt...
Das Ergebnis vorweg - ich habe einen ESP32 auf einer kleinen Eigenbauplatine erfolgreich in das Mäher-Gehirn integriert und kann den Mäher nun mithilfe einer individualisierten "Blynk"-App fast vollständig vom iPhone aus bedienen. Fast vollständig nur deshalb, weil ich nicht alle Taster des Bedienfelds an den ESP32 angeschlossen habe und es noch ein Problem gibt. Später mehr dazu. Folgende Tasten sind nun vom iPhone aus fernbedienbar:
HOME-Taste
START-Taste
SPERREN-Taste (Vorhängeschloss)
4H-Taste
STOP-Taste (zum Öffnen der Bedienklappe)
Darüber hinaus werden folgende STATUS-LEDs des Mähers abgefragt (ESP32 INPUT) und an die Handy-APP übertragen:
HEBEN
SIGNAL (Schleife)
AKKU
LADEN
SPERREN
Zusätzlich habe ich den 32V-Ladeeingang (Ladekontakte des Mähers) per Optokoppler an einen Eingang des ESP32 geführt. Das ermöglicht zusätzlich zur STATUS-LED "LADEN" festzustellen, ob der Mäher korrekt in der Station steht und geladen wird. Funktioniert prima.
Insgesamt ist der Robo sehr gut geeignet, um solche "Hacks" durchzuführen. Das Bedienfeld ist komplett in 3.3V ausgelegt, d.h. diee Taster im Bedienfeld des Mähers legen ein 3.3V-Signal bei Tastendruck gegen GND und auch die LEDs werden mit 3,3V und passenden Vorwiderständen betrieben. Es fehlt also kaum etwas, um einen ESP32 zu integrieren.
Ein paar Details:
Ich habe die 40 Polige Schnittstelle (Wannenstecker) auf der Rückseite des Bedienfelds durchgemessen und geschaut, welcher PIN an welchen Taster bzw. an welche LED geht (eine Übersicht in den Bildern). Die Schnittstelle habe ich mithilfe eines passenden Flachbandkabels (Reste aus alten PC-Umbauten) auf eine eigene kleine Platine geführt und dort über bipolare Transistoren (BC547 - hatte ich noch rumliegen) an den ESP32 angeschlossen. Die Transistoren sind eigentlich gar nicht nötig, das das Mäher-System ja bereits mit 3,3V arbeitet - dann brauchte es evtl. noch Vorwiderstände, da ich nicht weiß, ob sie vor oder nach dem Taster im Bedienfeld vorhanden sind. Diese Überlegungen habe ich mir jedoch erst beim Anschluss der STATUS-LEDs angestellt und habe es für die Taster dabei belassen. So sind alle gewünschten Tasten-PINs mithilfe der GPIOs des ESP gegen GND zu schalten und für den Mäher sieht es so aus, als würde die zugehörige Taste am Bedienfeld gedrückt. Er quittiert jeden RC_Tastendruck auf meinem Handy mit einem "piep" des internen Summers. Die LEDs habe ich direkt auf die GPIOs des ESP32 geführt und lese diese per "INPUT"-Befehl im ESP32-Sketch aus. Da die STATUS-LEDs mal aus sind, blinken oder auch dauerhaft leuchten, muss ich mir im Sketch noch etwas überlegen, wie ich diese verschiedenen Zustände auf meiner App abbilden möchte/kann. Momentan prüfe ich die LEDs-Eingangspins am ESP32 1x pro Sekunde und übertrage den erkannten HIGH oder LOW an die App. Wenn eine STATUS-LED nun blinkt (Frequenz ca. 2-3 Hz) entsteht somit ein "zufälliges" Blinken des LED auf meiner APP ...das möchte ich noch verändern und bin Euch für Eure Vorschläge dankbar.
Das Problem:
Unterhalb der roten STOP-Taste des Mähers befinden sich ZWEI! Mikroschalter, die mit Tastendruck "STOP" öffnen. Ich habe keine Ahnung, weshalb dort zwei dieser Schalter eingebaut sind und konnte es mir bisher nicht erklären. Ich habe bisher gedacht, dass es sich vielleicht um eine redundante (da sicherheitsrelevant) Abbildung der Funktion STOP ist. D.h. wenn ein Schalter defekt ist und die Kontakte bspw. kleben, würde der zweite Mikroschalter immer noch einen STOP des Mähers auslösen. Da ich das nicht auch ferngesteuert so brauche, habe ich nur ein kleines Relais (1x monostabiles Wechsler-Reais als NC) in einen der beiden Schaltkreise zwischengeschaltet, sodass es bei Ansteuerung durch den ESP32 (mit BC547 am digitalen Ausgang) öffnet und somit einen Tastendruck auf "STOP" simuliert. Das klappt außerhalb der Station beim Mähen prima. Steht der Mäher in der Station, nimmt er auch alle Befele (als RC-Tastendruck) entgegen, aber das Starten klappt nicht. Beispiel: Ich schalte den Mäher am Hauptschalter ein und bediene ihn am Handy (so wie ich es manuell machen würde):
1. STOP-Taste
2. Mähdauer (4H-Taste)
3. START-Taste
4. Klappe schließen (STOP-Relais wieder schließen)
Das Problem ist, dass der Mäher schon beim Druck auf die START-Taste noch in der Station nach vorn ruckt, als wolle er losfahren. Da er in der Station steht, geht das natürlich nicht und er stoppt. Beim darauffolgenden "Schließen" der Klappe (also des STOP-Relais) passiert dann nichts mehr. Das ist ein ungewöhnliches "Verhalten" und irgendwas stimmt da noch nicht. Wie gesagt, beim Mähvorgang klappt das STOPPEN, BEFEHLE EINGEBEN (z.B. HOME, SPERREN, ENTSPERREN, START) ohne Beanstandungen.
Habt ihr eine Idee, wozu der 2. Kreis an der STOP-Taste sein könnte? Ich vermute, dass dies mit dem RC-Problem in der Station zusammenhängt und werde bei nächster Gelegenheit beide Kreise durch den ESP32 öffnen/schließen lassen. Ob das Abhilfe schafft, werde ich berichten.
To do...:
1. Sketch für den ESP32 (und die Blynk-App) so fertigstellen, dass die Mähzeit verkürzt wird
Beispielsweise: Mäher verlässt Station zum Mähen ->Zeit stoppen, nach Ablauf von Zeit x ESP32 löst "STOP" aus (HIGH), Befehl "HOME" und "SPERRE", STOP (LOW) und meldet anschließen erfolgreiches Andocken des Mähers in der Station. Dann Abwarten des Ablaufs der voreingestellten Mähdauer (4 Stunden), STOP (HIGH), Entsperren des Mähers, START, STOP (LOW)
2. Lösung des Problems "NICHT-Starten" aus der Ladestation bei Aktivierung der "START-Taste"
Da Bilder mehr als Worte sagen...
Abschließend zu meinem Post - wem das zu viel ist, der muss es nicht lesen! 
Ich habe weder E-Technik, noch Informatik studiert. Ich gehe nicht davon aus, dass mein Aufbau einwandfrei/fehlerfrei ist. Ich nehme aber alle Ratschläge, Ergänzungen und Warnungen gern auf und lerne auch gern hinzu.
Ich freue mich auf Euer Feedback - dann war diese Arbeit nicht umsonst.
Anregungen zum Thema "Blinkende STATUS-LEDs an Blynk-App übertragen, ohne den ESP32 unverhältnismäßig damit zu beschäftigen."
und
"Wozu 2 Mikroschalter bei für die STOP-Taste?"
nehme ich gern auf!!!!
LOS gehts 