Posts by freetz

    Die RX/TX Pins auf der Robotan-Platine sind 1:1 vom ESP durchgeschleift. Du müsstest halt nur schauen, ob diese mit dem Jumper J5 jeweils gekreuzt werden müssen oder nicht. Bei den Dx-Pins, die Du ansprichst, weiß ich nicht, worauf Du Dich beziehst, oben in dem Post stehen die ja nicht. GPS und Bluetooth werden über SoftwareSerial angebunden, das ist aber was anderes und hat mit der Roboter-Steuerung nichts zu tun...

    Also wenn Du das von der Programmierung her hinbekommst, spricht da nichts dagegen. Der Punkt ist nur, dass auch bei den älteren Robotern die Schnittstelle nichts von sich gibt bzw. keine Statusmeldungen ausgibt, wenn man nicht die richtigen Sequenzen sendet. Das ist ein komplexeres Verfahren, aber diese Sequenzen sollten funktionieren:

    Code
    1. 02 01 80 20 A7 03

    Wenn das funktioniert, dann wäre das

    Code
    1. 02 1B 22 80 27 C0 03

    noch interessant, da damit die Firmware und die Modellnummer zurück kommen müsste.

    Was hast Du denn genau getestet? Hast Du mal versucht, die RX/TX-Pins des Mainboards mit den RX/TX-Pins des ESP direkt bzw. gekreuzt zu verbinden? Wie gesagt, das größte Risiko ist, dass Du (bei längerer Verwendung) den ESP braten könntest, aber im Internet gibt es eine Menge Posts, die (auch experimentell nachgewiesen) sagen, dass das kein Problem sein sollte. Du kannst natürlich auch über einen Pegelwandler gehen, aber ich dachte, das hättest Du schon versucht? Wichtig bleibt dabei in jedem Fall, dass Du den ESP getrennt vom Robotan-Board mit Strom versorgen musst, also entweder 5V oder 3.3V vom Mainboard abgreifen und direkt beim ESP in 5V bzw. 3V3 Pins einspeisen.

    Der NodeMCU ESP würde grundsätzlich auch gehen, aber was sollen welche vier Datenports bringen?

    Man kann das Mainboard nicht mit einem Firmware-Update "zerschießen". Ich habe auf einen L75 spaßeshalber auch schon mal eine L30 Elite Plus Firmware aufgespielt (man muss dazu etwas tricksen), da ging fast nix mehr ;). Normale Firmware zurückgespielt und alles war wieder gut. Ohne Trickserei verweigert der Roboter allerdings die Arbeit, wenn Bootloader-Modell und Firmware-Modell nicht zusammenpassen. Aber wie gesagt, auch da hilft dann ein Rückspielen der originalen Firmware. Das "Klacken" ist übrigens ein sehr gutes Zeichen, dass grundsätzlich noch alles in Ordnung ist, denn das wird durch spezielle Befehle, die von der App bzw. dem AmbrogioClient kommen, ausgelöst.

    Ich würde es über ein wiederholtes Aufspielen der Firmware über die App probieren, machnmal braucht das ein paar Versuche. Wenn das nicht geht, und Du keinen Zugang zu einer AmbrogioClient Software hast, bleibt Dir nur der Weg zum Händler. Der sollte das durch das Aufspielen einer passenden Firmware auf jeden Fall wieder hinkriegen.

    Ja, im Rahmen eines Updates wird (unter anderem) das gleiche Datentelegramm auch geschickt, wie es für meine "Reset"-Funktion hinterlegt ist.

    In der App wird der Roboter immer entprechend des App-Brandings angezeigt. Wenn Du also jetzt die Stiga-App installierst und den Roboter damit verbindest, wird er Dir als AutoClip angezeigt etc. Wegen dieser Branding- Strategie zeigt der Roboter auf dem Display auch nur die Modellnummer und keinen Namen ;).


    Freut mich, wenn Dir das Modul weiterhilft. Falls andere noch Interesse haben: Gerne bei mir melden.

    Das hört sich ja gut an! War dann nach dem Nachköten gleicht der Fehler weg oder musste es das Update sein? Hattest Du vor dem Update den Reset über das Robotan Board auch noch mal probiert, ob das den Fehler auch beseitigt hat?

    Beim Durchmessen muss der Mäher nicht an sein. Da geht es nur darum zu schauen, wie die Leitungen verlaufen. Also immer bis zum nächsten Bauteil die Leiterbahn verfolgen und das dann messen. Meine Vermutung ist, dass man entweder direkt zwischen Pin 5/6 bei J5 und Pins 28/29 beim BT-Modul einen Widerstand nahe Null hat, oder man eben über ein paar Bauteile trotzdem direkt zueineander findet. Das würde für das weitere Vorgehen einiges an Gewissheit vorweg bringen. Aber vielleicht klappt ja auch so schon alles auf Anhieb, wenn morgen der Wandler da ist.


    Im Übrigen habe ich jetzt in mehreren Quellen gelesen, dass der ESP8266 doch auch 5V-tolerant ist. Wenn es also mit dem Wandler nicht klappen sollte, dann einfach noch einmal wie beschrieben direkt verbinden. Für den Roboter ist das so oder so kein Problem.

    Und beim Durchsehen Deiner Bilder vom letzten Jahr ist mir noch eine hoffentliche gute Sache aufgefallen: Gleich neben dem J5-Anschluss sitzt ein BlueGiga BT-121 Chip - das ist, wie der Name schon vermuten lässt, ein eigenständiger Bluetooth-Empfänger, der auch über RX- und TX-Pins verfügt. Damit hätten wir auf jeden Fall noch eine Fallback-Möglichkeit. Aber ich vermute stark, dass die RX/TX-Pins auf J5 mit denen des BlueGiga mehr oder weniger direkt verschaltet sind.

    Wenn Dein Multimeter halbwegs feine Spitzen hat, dann kannst Du ja mal nachmessen, ob die Pins 28 und 29 (das sind die Pins 5 und 6 von "links oben" gezählt, wenn man die Schrift auf dem Chip lesen kann, bei R53, ansonsten genaue Lage siehe hier auf S. 10: https://www.silabs.com/documen…heets/BT121-Datasheet.pdf ) mit den Pins 5 bzw. 6 von J5 irgendwie verbunden sind. Nicht direkt, denn der BT-121 läuft mit ca. 3,3V, wohingegen Du bei J5 ja 5V gemessen hattest (was zu dem von 014356 gefundenen Serial Adapter passen würde), so dass dazwischen wohl noch Spannungswandler liegen werden. Aber vielleicht kann man das ja rein vom Auge her schon nachführen.


    Ich vermute aber, dass beide RX/TX-Pins (also vom BT-121 und vom J5) letztlich an gleicher Stelle an der CPU aufschlagen, es somit egal ist, auf welchem Weg diese dort ankommen, und dass von daher auch auf beiden Kommunikationswegen die gleiche "Sprache" gesprochen wird, die zumindest grundsätzlich dem Format, wie wir es schon von den A2000er Boards her kennen, entsprechen sollte.


    Falls sich da wider Erwarten nichts auf J5 senden/empfangen ließe, könntest Du mal schauen, ob man auf dem Weg vom BT-121 zur CPU irgendwo ohne allzu spitze Finger zwei DuPont-Kabel anlöten könnte. Damit würde man sich dann direkt in den Weg vom BT-Modul zur CPU reinhängen und könnte nicht nur selber sendend und empfangend aktiv werden, sondern auch die Bluetooth-Kommunikation belauschen.


    Aber wie gesagt, es würde mich sehr wundern, wenn das nicht auch alles über J5 gehen würde...

    Hn, seltsam. Die Ambrogio-App verbindet immer, wenn sie ein entsprechendes BT-Gerät sieht, das muss noch nichts heißen. Aber dass da gar nichts kommt, wundert mich schon. Ich habe das Modul ja bei mir getestet, insofern sollte es eigentlich laufen, aber falls Du noch mal schauen willst, ob alles korrekt angesteckt ist etc. wäre das eine Überlegung. Und vielleicht mal mit telnet auf die Robotan-IP gehen und dann schauen, ob/was für Telegrammdaten da ausgegeben werden.

    Danke für's Durchmessen! Dann hat das Board 5V-TTL-Pegel. Das Robotan-Board hat auf dem seriellen Port RS232-Pegel anliegen, die sind dafür nicht zu gebrauchen.

    Was Du aber machen kannst, ist folgende Verkabelung:

    Code
    1. ESP8266    <->    J5
    2. TX                5
    3. RX                6
    4. G                 1
    5. 5V                2

    Alles basierend darauf, dass dieses Beschaltung hier auch bei Dir zutrifft:

    https://i.imgur.com/2zsQIGp.png

    (also keine Garantie für nichts!)


    Immerhin ist es nicht umgekehrt (also dass das Mäher Board auf 3,3V läuft und der ESP8266 auf 5V). So ist das Schlimmste, was passieren kann, dass der ESP8266 die Biege macht. Für kurzfristige Experimente hat es bei mir aber bisher immer hingehauen, auch 5V auf den ESP8266 anzulegen.


    Was Du dann tun müsstest:

    1. Schauen, dass Du auf die Robotan-Weboberfläche kommst

    2. Schauen, ob Dein Roboter erkannt wird oder zumindest die Firmwareversion o.ä. angezeigt wird

    3. Wenn ja: Schauen und auflisten, welche anderen Parameter auf der Status-Seite angezeigt werden (Screenshot)

    4. Falls nein: Per Telnet mit der Robotan-IP verbinden und auf dem Webinterface den Bluetooth-Modus starten. Dann mit angestecktem HC-05/HC-06 Bluetooth-Adapter am ESP8266 die (Android-)App auf dem Handy starten und Kontakt mit dem Roboter aufnehmen. Wenn alles gut läuft, siehst Du dann Telegramm-Paare, die zwischen Handy und Roboter ausgetauscht werden. Diese mitloggen und am besten merken/dazuschreiben, wenn Du an einem Punkt eine konkrete Aktion auf dem Handy gemacht hast (Home/Work, Links, Rechts etc.).


    Ich vermute, dass es eine Reihe von neuen Befehlen gibt, die ich dann in der Robotan-Software nachführen könnte.


    Wenn das grundsätzlich klappt, also wenn Du darüber mit dem Roboter kommunizieren kannst und die Telegramm-Logik nicht grundstäzlich verschieden ist, dann kann ich die nächste Platinen-Revision entsprechend anpassen, so dass sie dann auch mit der neueren Roboter-Generation funktioniert.


    Du könntest stattdessen / bis dahin einfach folgendes Modul nehmen und an das Robotan-Modul auf der einen Seite und an den Jumper auf der anderen Seite anschließen:

    https://www.pollin.de/p/rs232-ttl-wandler-mit-max3232-810358


    Viel Erfolg, ich bin sehr gespannt!

    Also dass die Batterie die Ursache für den CODE 302 ist, würde ich eher nicht vermuten; ich hatte letzten Sommer eine zumindest insoweit leere Batterie, dass der Roboter das Datum immer wieder vergessen hat. Das war aber auch der einzige spürbare Effekt.

    Auf jeden Fall bin ich gespannt, ob mein Modul bei Dir dann auch die Lösung bringt, Sendung ist gestern auf den Weg gegangen.

    Danke für die Rückmeldung, lechge!

    Das Datentelegeramm, das ich bei "Reboot Mower" schicke, ist letztlich nur ein Initialisierungsbefehl, der gesendet wird, um das Board "empfänglich" für einen Bootloader zu machen. Der Speicher des Microcontrollers scheint in gewisser Hinsicht beschränkt zu sein, so dass bestimmte Funktionen auch von der AmbrogioClient Software nur durch das Hochladen eines bestimmten Bootloaders ausgeführt werden können. Um z.B. die Batteriespannung auszulesen, lädt der AmbrogioClient z.B. einen bestimmten Bootloader hoch, um an die nötigen Funktionen/Daten zu kommen.


    Wenn auf dieses Daten-Telegramm aber kein Bootloader folgt, startet der Mäher nach kurzer Zeit neu. Für den Normal-Anwender hat dies dann am ehesten den Sinn, den Roboter neu zu starten, was manchmal hilfreich sein kann, wenn er sich zwar festgefahren hat, sich aber durch einen Neustart (bei dem er vom Festgefahrensein noch nichts "weiß") durch das entsprechende Manöver freifahren kann.


    Da diese Sequenz auch am Ende des Report-Ablaufs im AmbrogioClient abläuft, vermute ich, dass entweder ein Standard-Bootloader oder ein Bootloader, der als "funktionierend" angesehen wurde, aktiviert wird. Insofern könnte das eine Lösung des Problems sein, aber wie gesagt, da würde ich mich über einen weiteren solchen Fall absichern wollen, bevor ich das halbwegs mit Gewissheit sagen kann. Die AmbrogioClient Software hat auf jeden Fall keinen dezidierten "Software Reset" oder etwas in der Art, aber wie gesagt, die gleiche Sequenz, die ich über "Reboot Mower" schicke, kommt dort auch in jedem Firmware-Update und eben auch beim Auslesen des Roboters vor. Von daher wäre das eine Erklärung, warum der Händler es dann (wahrscheinlich in der Hinsicht so unwissend wie wir) "repariert" bekommen hat.

    Ein "Version Error" kommt meines Wissens dann, wenn Boot-Loader und Firmware nicht zusammen passen. Das kann entweder passieren, wenn man über den AmbrogioClient (geht das überhaupt noch?) eine FIrmware flasht, die nicht zu dem Roboter passt, oder wenn beim Update etwas schief läuft.

    Ich freue mich natürlich, dass lechge es geschafft hat, seinen Mäher damit wieder ans Laufen zu bekommen, aber so richtig erklären kann ich mir das nicht. Natürlich kann man mit meinem Modul über Bluetooth ein Firmware-Update machen, das man bei Mähern ohne Bluetooth sonst nur beim Händler machen könnte. Und es ist wichtig, immer die Ambrogio App zu nehmen, selbst wenn man keinen Ambrogio hat, denn die ist bisher immer am aktuellsten und fehlerfreisten (relativ gesehen). Aber darüber hinaus macht mein Modul keine "Black Magic".


    Richtig ist aber, dass es über das Modul die Möglichkeit gibt, einen Software Reset zu machen. Der wird normalerweise dafür verwendet, um einen alternativen Boot-Loader aufzuspielen. In der Funktion bringt das an sich nichts, weil noch keiner einen alternativen Boot-Loader geschrieben hat. Die Funktion hat aber die Nebenwirkung, dass, wenn kein alternativer Boot-Loader folgt, der "normale" wieder verwendet wird und ein Reset durchgeführt wird.


    Bisher hätte ich gedacht, dass das das gleiche ist, wie wenn man den Roboter aus- und wieder einschaltet, aber nach dem, was lechge nun geschrieben hat, scheint das auch in dem von ihm beschriebenen Fall zu helfen, was mich natürlich freut, aber wofür ich natürlich keine Garantie geben kann, dass es immer so klappt. Dafür wäre es notwendig, dass man diesen Fehler (und natürlich auch die Lösung) reproduzieren kann. Dann wäre das aber natürlich eine sehr wichtige und hilfreiche Info, die ich dann auch in meinem Projekt so dokumentieren könnte.


    Bei Interesse an Robotan-Platinen einfach eine Mail an robotan (ät) code-it.de schicken.

    Hallo zusammen,


    ich wollte gerade bei einem Bekannten die Knopfzelle auf dem Mainboard wechseln, weil der Roboter beim Einschalten immer mal wieder das Datum vergisst, aber ich bekomme das Ding nicht aus der Halterung? Oder ist die da fest eingelötet? Wenn ja, hat jemand einen Tipp, wie man die am besten austauscht?


    Danke!