Wie Raspberry Pi mit Cassandra mit PCB 1.4 verbinden?

Kleines Update... nachdem durch diverse Experimente der M4 gar keine Lust mehr hatte mit mir zusammenzuarbeiten, habe ich Schritt für Schritt den Raspi 3B neu installiert und immer getestet ab wann es Probleme gibt.

1. CaSSAndRA + Onboard WLAN + bossa-cli = OK
2. motion für die cam installiert = OK
3. Installscript für den WLAN-Adapter - BrosTrend AC1200 Model: AC3L = sporadisch SAM-BA Fehler

Was für die Probleme verantwortlich ist konnte ich noch nicht rausfinden... bin aber auf der Suche.

Was nutzt Ihr denn für die WLAN-Verbindung.... das Onborad-WLAN ist in meinen Augen etwas zu unzuverlässig.

P.S.
Das M4 läuft bei mir jetzt mit dem v3.16.0 Bootloader
 
@Mr. Tree
danke Dir... dann bin ich wenigstens nicht völlig auf dem Holzweg ;)

Bei mir kommt es schon sehr verstärkt vor. Erst dachte ich die Sleep Time hätte was bewirkt weil es 5x hintereinander gut ging... aber in zwischen denke ich, dass es nicht das script ist. jklotzek nutzt im wesentlichen das gleiche script.

In einem Nebensatz eines Github issue fiel der Hinweis, dass der "modemmanager" nicht laufen sollte da er beim erscheinen des ttyACM0 Port den selbigen für ein paar sekunden blockieren kann.

@jklotzek
Evtl. könntest du mal schreiben, ob der dienst bei dir läuft
systemctl status ModemManager.service

Ich habe ihn mal vollständig deinstalliert und werde berichten wie es so läuft ;)
Vielleicht ist es doch ein Load problem vom cpu... also noch als info von mir: Ich habe machnmal sehr viele serialouputs am laufen, es hakt dann hier und da.. aber ansonsten läuft der zero standalone.. nichts installiert und os im only read sd modus (hat mir schon 3 sd´s zerschossen, seitdem nicht mehr), möglicherweise häufen sich die failed flashes wenn er davor permanent am übertragen war. ich warte da nämlich nicht. Also, falls du testen willst, dann lass ihm doch mal einige zeit vor dem flashen und kille deine cam etc. und andere laufende programme davor.
 
  • Like
Reaktionen: f2k
@Mr. Tree
Ich werde Deinen Vorschlag mal in meine Tests mit einfließen lassen. Erst dachte ich, dass CaSSAndRA evtl. den ttyACM0 "stört" und habe das Script entsprechend erweitert.
Laut Check_MK kommt die CPU-utilization in der Spitze nicht über 40%. Normal im idle läuft der Pi so bei 10-15%.
 
Wie @Mr. Tree schon vermutet hat, ist auf dem serialbus scheinbar zu viel traffic gewesen. Dem ModemManager habe ich keine Beachtung mehr geschenkt und ihn gelassen wie er bei "Auslieferung" war.

Das Script ist jetzt so angepasst, dass CaSSandRA und motion gestoppt werden und eine 10 Sekunden Pause gemacht wird. (geht evtl. auch eleganter aber ich bin kein Programmierer) ;)

Bei dem bosac Befehl ist auch der Debug Schalter gesetzt... deswegen kommt sehr viel Output in der Console, aber seit den Änderungen läuft der Flashvorgang wieder zuverlässig durch.

Code:
#!/usr/bin/env python
from __future__ import print_function
import serial, sys, time, os
from time import sleep

# CaSSAndRA stoppen
def stopService():
    try:
        #stop cassandra service
        os.popen("sudo systemctl stop cassandra.service")
        print("CaSSAndRA service terminated successfully...")

    except OSError as ose:
        print("Error while running the command", ose)

    pass
stopService()

# motion stoppen
def stopService():
    try:
        #stop motion service
        os.popen("sudo systemctl stop motion.service")
        print("motion service terminated successfully...")

    except OSError as ose:
        print("Error while running the command", ose)

    pass
stopService()

print("10")
time.sleep(1)
print("9")
time.sleep(1)
print("8")
time.sleep(1)
print("7")
time.sleep(1)
print("6")
time.sleep(1)
print("5")
time.sleep(1)
print("4")
time.sleep(1)
print("3")
time.sleep(1)
print("2")
time.sleep(1)
print("1")
time.sleep(1)

# command-line argument is the port the Arduino is on
serialPort = sys.argv[1]
print("Resetting the Arduino Leonardo/Micro at {}... ".format(serialPort), end="")

# First we open and close the port at some normal baudrate.
ser = serial.Serial(port=serialPort, baudrate=9600)
ser.close()

# Now, we open the port at the magic 1200 baud.
ser.baudrate=1200
ser.open()

# Tricky, completely undocumented bit: RTS must be HIGH and DTR LOW.
# Otherwise absolutely nothing happens!
# ...yeah, I know.
ser.setRTS(True)
ser.setDTR(False)

# Close the 1200 baud connection, triggering a reset of the Arduino.
# The bootloader will run for 8 seconds (14 blinks).
ser.close()

# yay!!!
print("done.")

# Addendum: If this is used right before uploading new code,
# we need to give the bootloader some time to start up.
time.sleep(5)

# Uebertragen der Daten an dem M4
os.system('sudo bossac -i -d --port=/dev/ttyACM0 -U -i --offset=0x4000 -w -v ~/sunray.ino.grand_central_m4.bin -R')

time.sleep(5)

# CaSSAndRA starten
def startService():
    try:
        #start cassandra service
        os.popen("sudo systemctl start cassandra.service")
        print("CaSSAndRA service started successfully...")

    except OSError as ose:
        print("Error while running the command", ose)

    pass
startService()

# motion starten
def startService():
    try:
        #start motion service
        os.popen("sudo systemctl start motion.service")
        print("motion service started successfully...")

    except OSError as ose:
        print("Error while running the command", ose)

    pass
startService()

Vorsichtshalber habe ich aber vom M4 Board einen Resettaster an die Rückseite des Ardumower verlegt. Das Ganze ist erfreulich einfach weil das Board bereits Pins zum abgreifen vorhanden hat. RST und GND müssen nur per Taster kurzgeschlossen werden (oder eben 2x kurz hintereinander). Die Pins habe ich aus Platzgründen etwas abgewinkelt.

Reset.jpg

Taster.jpg
 
Moin in die Runde,

ich habe irgendwie Probleme mit der USB-Verbindung mit cassandra, der Fehler tritt mal nach 5 Min auf, oder nach 1 Stunde Mähen:
2025-07-10 10:26:45INFO RX: IMU gyro calibration (robot must be static)... 6
2025-07-10 10:26:45INFO RX: 0:0:13 ctlDur=0.02 op=ImuCalibration(initiatedByOperator 0)->Idle freem=240667 sp=200014C4 bat=27.61,0.000(0.03) chg=0.30,0(0.07) diff=-12.535 tg=0.00,0.00 x=-0.23 y=-1.35 delta=0.00 tow=376023000 lon=9.27427197 lat=51.32496000 h=475.4 n=-1.35 e=-0.23 d=-0.05 sol=2 age=0.01
2025-07-10 10:26:44INFO RX: IMU gyro calibration (robot must be static)... 5
2025-07-10 10:26:43INFO RX: S,27.62,-0.23,-1.35,0.00,2,0,0,0.33,0,0.00,0.00,0.02,49,0.02,45,0,0.00,-1,0,0x0c
2025-07-10 10:26:43INFO RX: CON:AT+S
2025-07-10 10:26:43INFO RX: IMU gyro calibration (robot must be static)... 4
2025-07-10 10:26:43INFO RX: IMU gyro calibration (robot must be static)... 3
2025-07-10 10:26:43INFO RX: charger conn=0 chgEnabled=0 chgTime=0 charger: 0.03 V 0.01 A bat: 27.62 V diffV=-0.28 slope(v/min)=0.00 slopeLowCounter=1
2025-07-10 10:26:43INFO RX: WARNING - LoopTime: 3 min=2 mean=3.52 max=8582
2025-07-10 10:26:42INFO RX: P,0x50
2025-07-10 10:26:42INFO RX: absolutePosSource=0 lon=9.27427525 lat=51.32497275
2025-07-10 10:26:42INFO RX: CON:AT+P,0,9.27427525,51.32497275,
2025-07-10 10:26:42INFO RX: S2,0,0xe1
2025-07-10 10:26:42INFO RX: CON:AT+S2
2025-07-10 10:26:42INFO RX: S,0.00,-0.23,-1.34,0.00,2,0,0,0.25,0,0.00,0.00,0.02,0,0.01,0,0,0.00,-1,0,0x54
2025-07-10 10:26:42INFO RX: CON:AT+S
2025-07-10 10:26:42INFO RX: V,Sunray,1.0.324,1,137,Adafruit Grand Central M4,AM,XX,XX,9a:0f:f6:96:53:41:32:46:41:20:20:20:ff:05:27:15,0x02
2025-07-10 10:26:41INFO RX: sending encryptMode=1 encryptChallenge=137
2025-07-10 10:26:41INFO RX: CON:AT+V
2025-07-10 10:26:41INFO Send command to robot: setPositionMode
2025-07-10 10:26:41INFO Connection successful
2025-07-10 10:26:41INFO Connecting...
2025-07-10 10:26:31ERROR [Errno 5] Input/output error
2025-07-10 10:26:31ERROR Exception in communication occured, trying to reconnect
2025-07-10 10:26:22INFO RX: S,27.11,-1.53,-4.92,1.06,2,1,20,1.20,0,-1.01,-4.05,0.02,49,1.85,41,-826071,-0.02,-1,0,0x18
2025-07-10 10:26:22INFO RX: CON:AT+S
2025-07-10 10:26:20INFO RX: Info - LoopTime(ms) now=3 min=2 mean=2.91 max=4
2025-07-10 10:26:20INFO RX: S,27.09,-1.93,-5.65,1.06,2,1,20,0.16,0,-1.01,-4.05,0.02,48,1.98,41,-826071,0.00,-1,0,0xfc
2025-07-10 10:26:20INFO RX: CON:AT+S
2025-07-10 10:26:19INFO RX: 0:6:48 ctlDur=0.02 op=Mow(initiatedByOperator 1) freem=227079 sp=20000098 bat=27.10,-0.007(1.99) chg=0.27,0(0.06) diff=-26.887 tg=-1.01,-4.05 x=-2.11 y=-5.95 delta=1.03 tow=375997200 lon=9.27424477 lat=51.32491836 h=476.6 n=-5.97 e=-2.12 d=-1.22 sol=2 age=1.18
2025-07-10 10:26:18INFO RX: S,27.12,-2.35,-6.34,1.06,2,1,20,0.10,0,-1.01,-4.05,0.02,48,1.87,41,-826071,-0.02,-1,0,0x17
2025-07-10 10:26:18INFO RX: CON:AT+S
2025-07-10 10:26:16INFO RX: S,27.14,-2.72,-7.01,1.07,2,1,20,0.95,0,-1.01,-4.05,0.02,48,1.82,40,-826071,0.00,-1,0,0xee
2025-07-10 10:26:16INFO RX: CON:AT+S
2025-07-10 10:26:15INFO RX: S2,0,0xe1
2025-07-10 10:26:15INFO RX: CON:AT+S2
2025-07-10 10:26:14INFO RX: 0:6:43 ctlDur=0.02 op=Mow(initiatedByOperator 1) freem=227079 sp=200014C4 bat=27.19,-0.007(1.56) chg=0.29,0(0.05) diff=-26.949 tg=-1.01,-4.05 x=-3.03 y=-7.55 delta=1.06 tow=375992200 lon=9.27423123 lat=51.32490556 h=476.9 n=-7.58 e=-3.05 d=-1.51 sol=2 age=1.12
2025-07-10 10:26:14INFO RX: S,27.20,-3.08,-7.63,1.10,2,1,20,0.93,0,-1.01,-4.05,0.02,48,1.55,40,-826071,-0.00,-1,0,0x18
2025-07-10 10:26:14INFO RX: CON:AT+S
2025-07-10 10:26:12INFO RX: S,27.21,-3.47,-8.27,1.12,2,1,20,0.90,0,-1.01,-4.05,0.02,49,1.54,39,-826071,-0.02,-1,0,0x26
2025-07-10 10:26:12INFO RX: CON:AT+S
2025-07-10 10:26:10INFO RX: Info - LoopTime(ms) now=3 min=2 mean=2.91 max=4


Ich nutze einen Pi 4 Model B mit 2GB, er wird sauber über einen extra Spannungswandler von P17 (oder16?) dauerhaft mit Strom versorgt.
Cassandra läuft als system Dienst.
Kennt jemand dieses Problem?

Zusatzinfo: die Batterieanzeige fällt dann auch immer auf 0,0%, oder kommt das durch den Reboot vom M4?

Versuchsweise wollte ich den Pi per Serieller Schnittstelle verbinden, aber irgendwie bekomme ich da gar keine Daten, auch wenn ich das WLAN Modul den ESP32 dort verbinde (welcher mal funktioniert hatte mit grrauviewer), sagt mir die GrauViewer App "keine Verbindung" obwohl sich der ESP am Router anmeldet und die Weboberfläche auch erreichbar ist.
Habe mal einen RS232 Adapter per USB an den Rechner angeschlossen, da kommt auch nichts an, kann man die RS232 Schnittstelle im Code deaktivieren?
Habe schon einen zweiten M4 getestet, genau das gleiche verhalten!
Oder hat das PCB 1.4 Sicherheitseinrichtungen die einen defekt haben können?


Wäre super wenn mir hierbei jemand helfen kann, vorzugsweise die Errors weg zu bekommen.
 
Hallo zusammen,
da es ja bald wieder los geht und i. M. das Wetter günstig ist, habe ich mich die letzten Tage mal mit meinem Ardumower beschäftigt.
Ich nutze zur Steuerung meines Mowers schon seit Mai 2023 CaSSAndRA auf einem Raspberry 3B. Nun habe ich mich daran gemacht, diesen in den Mower einzubauen. Dieser Thread war mir dabei eine große Hilfe.
Ich habe den Raspi über einen Step-Down-Wandler an P16 angeschlossen und das Grand-Central M4 über USB am Raspi, CaSSAndRA-Kommunikation auf UART umgestellt und alles funktionierte au Anhieb.
Eine Herausforderung war das hier beschriebene OTA-Update.
Bossac habe ich für den Raspberry nicht gefunden, sondern nur BOSSA, was aber eine grafische Oberfläche auf dem Raspi erfordert. Also habe ich versucht, bei meiner RaspiOS-Lite-Installation einen grafischen Desktop nach zu installieren, wohl wissend, dass der Raspi 3B damit an seine Grenzen kommt. Dann habe ich die Arduino-IDE installiert, um dann festzustellen, dass das nicht wirklich zu nutzen ist.
Dann habe ich mich im Netz auf die Suche begeben und habe bei Github eine Kommandozeilen-Version der Arduino-IDE gefunden: Arduino-CLI.
Dort gibt es ein deb-Paket für arm64 und eine recht ausführliche Dokumentation. Also habe ich die gesamte grafische Oberfläche wieder deinstalliert und dieses deb-Paket installiert und habe es problemlos zum Laufen bekommen. Die Hilfe dieses Programmes ist komplett in deutsch und sehr umfangreich, ich bin begeistert.
Dann habe ich noch die board_manager.additional_url für das GCM4 und die erforderlichen Bibliotheken installiert, den sunray-Ordner aus MrTree's Sunray-Modding-Spielwiese auf den Raspi kopiert und einen Versuch gewagt, sunray zu compilieren. Mit einem recht einfachen Einzeiler ist mir das auch in wenigen Minuten gelungen.
Den seriellen Monitor stellt das Programm auch zur Verfügung.

Zwei Probleme habe ich aber noch:
1. In der config.h kann ich ja einstellen, die SD-Karte zur Log-Aufzeichnung zu nutzen. Kann mir da vielleicht jemand eine Tipp geben, wie ich diese Log-Aufzeichnung auf einen USB-Stick am Raspi umlenken könnte? Da stehe ich momentan vor einer Wand.
2. Hat einer von Euch einen Tipp für einen Raspi-tauglichen, aktuellen USB-WLAN-Stick mit abnehmbarer Antenne, so dass ich die Außenantenne des ESP32, den ich ja nun nicht mehr brauche, verwenden kann.
Zur Zeit habe ich einen BrosTrend AC650 in Gebrauch, da ließ sich der Treiber des Herstellers problemlos installieren, der hat aber keine abnehmbare Antenne, weshalb ich ihn nun an der eingebauten USB-Buchse angesteckt habe.
Ich habe mit verschiedenen USB-WLAN-Sticks unter Linux schon einiges durch und habe nicht mehr allzu viel Lust, mir da noch einige zu besorgen,um sie dann wegen Unbrauchbarkeit unter Linux, wieder zurück zu schicken.

LG Jürgen
 
Eigentlich wollte ich ein neues Thema erstellen, aber das klappt i. M. nicht, warum auch immer!

Ich habe nun meine ersten erfolgreichen Versuche mit dem eingebauten Raspberry gemacht, seit ein paar Tagen habe ich aber das Problem, dass mir Cassandra meldet, dass der Mower offline ist. Ich kann den Raspberry über ssh erreichen, im seriellen Monitor sieht alles i.O. aus und der Mower zieht seine Bahnen wie gewünscht.

Die Ausgabe von journalctl -u cassandra -f nach der offline-Meldung:

Code:
Apr 16 13:24:19 mowerraspi python3[477]: 2026-04-16 13:24:19 WARNING Backend: Could not connect to the rover. State set to offline
Apr 16 13:24:21 mowerraspi python3[477]: 2026-04-16 13:24:21 INFO Message: Attention! Robot is offline was send to operator
Apr 16 13:24:26 mowerraspi python3[477]: 2026-04-16 13:24:26 INFO RX:
Apr 16 13:25:06 mowerraspi python3[477]: 2026-04-16 13:25:06 INFO RX: .10,) dif60 tg625.9152 50.6735 h=35 . 4
Apr 16 13:25:10 mowerraspi python3[477]: 2026-04-16 13:25:10 INFO Schedule: active: False, job started: False, job finished: False, start failed cnt: 0
Apr 16 13:25:46 mowerraspi python3[477]: 2026-04-16 13:25:46 INFO RX: 95.7874 9 n . d=2 age=0
Apr 16 13:26:10 mowerraspi python3[477]: 2026-04-16 13:26:10 INFO Schedule: active: False, job started: False, job finished: False, start failed cnt: 0
Apr 16 13:26:11 mowerraspi python3[477]: 2026-04-16 13:26:11 INFO RX:
Apr 16 13:27:10 mowerraspi python3[477]: 2026-04-16 13:27:10 INFO Schedule: active: False, job started: False, job finished: False, start failed cnt: 0
Apr 16 13:28:11 mowerraspi python3[477]: 2026-04-16 13:28:11 INFO Schedule: active: False, job started: False, job finished: False, start failed cnt: 0
Apr 16 13:28:46 mowerraspi python3[477]: 2026-04-16 13:28:46 INFO RX: 7
Apr 16 13:29:11 mowerraspi python3[477]: 2026-04-16 13:29:11 INFO RX:
Apr 16 13:29:11 mowerraspi python3[477]: 2026-04-16 13:29:11 INFO Schedule: active: False, job started: False, job finished: False, start failed cnt: 0
Apr 16 13:30:11 mowerraspi python3[477]: 2026-04-16 13:30:11 INFO Schedule: active: False, job started: False, job finished: False, start failed cnt: 0
Apr 16 13:30:20 mowerraspi python3[477]: 2026-04-16 13:30:20 INFO RX: .006(3) 0(0.01) diff1 tg=-8.12 -.-43 .316
Apr 16 13:31:11 mowerraspi python3[477]: 2026-04-16 13:31:11 INFO Schedule: active: False, job started: False, job finished: False, start failed cnt: 0
Apr 16 13:31:35 mowerraspi python3[477]: 2026-04-16 13:31:35 INFO RX:
Apr 16 13:32:11 mowerraspi python3[477]: 2026-04-16 13:32:11 INFO Schedule: active: False, job started: False, job finished: False, start failed cnt: 0
Apr 16 13:32:40 mowerraspi python3[477]: 2026-04-16 13:32:40 INFO RX: 8873 la8374913 3
Apr 16 13:32:42 mowerraspi python3[477]: 2026-04-16 13:32:42 INFO RX: I .
Apr 16 13:33:11 mowerraspi python3[477]: 2026-04-16 13:33:11 INFO Schedule: active: False, job started: False, job finished: False, start failed cnt: 0
Apr 16 13:33:55 mowerraspi python3[477]: 2026-04-16 13:33:55 INFO RX: .(-5--
Apr 16 13:34:05 mowerraspi python3[477]: 2026-04-16 13:34:05 INFO RX:  2385747 .2
Apr 16 13:34:11 mowerraspi python3[477]: 2026-04-16 13:34:11 INFO Schedule: active: False, job started: False, job finished: False, start failed cnt: 0
Apr 16 13:34:15 mowerraspi python3[477]: 2026-04-16 13:34:15 INFO RX:
Apr 16 13:35:11 mowerraspi python3[477]: 2026-04-16 13:35:11 INFO Schedule: active: False, job started: False, job finished: False, start failed cnt: 0
Apr 16 13:36:11 mowerraspi python3[477]: 2026-04-16 13:36:11 INFO Schedule: active: False, job started: False, job finished: False, start failed cnt: 0
Apr 16 13:37:11 mowerraspi python3[477]: 2026-04-16 13:37:11 INFO Schedule: active: False, job started: False, job finished: False, start failed cnt: 0
Apr 16 13:37:25 mowerraspi python3[477]: 2026-04-16 13:37:25 INFO RX: c
Apr 16 13:38:09 mowerraspi python3[477]: 2026-04-16 13:38:09 INFO RX:
Apr 16 13:38:11 mowerraspi python3[477]: 2026-04-16 13:38:11 INFO Schedule: active: False, job started: False, job finished: False, start failed cnt: 0
Apr 16 13:38:34 mowerraspi python3[477]: 2026-04-16 13:38:34 INFO RX:
Apr 16 13:39:11 mowerraspi python3[477]: 2026-04-16 13:39:11 INFO Schedule: active: False, job started: False, job finished: False, start failed cnt: 0
Apr 16 13:39:16 mowerraspi python3[477]: 2026-04-16 13:39:16 INFO RX: 0.05
Apr 16 13:39:49 mowerraspi python3[477]: 2026-04-16 13:39:49 INFO RX: 949
Apr 16 13:40:04 mowerraspi python3[477]: 2026-04-16 13:40:04 INFO RX:
Apr 16 13:40:11 mowerraspi python3[477]: 2026-04-16 13:40:11 INFO Schedule: active: False, job started: False, job finished: False, start failed cnt: 0
Apr 16 13:40:31 mowerraspi python3[477]: 2026-04-16 13:40:31 INFO RX: .1170-7.118445786402 h=3-7.68 e13.7 d=3.0 28
Apr 16 13:40:39 mowerraspi python3[477]: 2026-04-16 13:40:39 INFO RX: 9.
Apr 16 13:40:44 mowerraspi python3[477]: 2026-04-16 13:40:44 INFO RX:
Apr 16 13:41:11 mowerraspi python3[477]: 2026-04-16 13:41:11 INFO Schedule: active: False, job started: False, job finished: False, start failed cnt: 0
Apr 16 13:41:29 mowerraspi python3[477]: 2026-04-16 13:41:29 INFO RX:  .0386 lat=..
Apr 16 13:42:08 mowerraspi python3[477]: 2026-04-16 13:42:08 INFO RX: .21405.64821 30
Apr 16 13:42:11 mowerraspi python3[477]: 2026-04-16 13:42:11 INFO Schedule: active: False, job started: False, job finished: False, start failed cnt: 0
Apr 16 13:42:28 mowerraspi python3[477]: 2026-04-16 13:42:28 INFO RX: 6,00.26.4994512.91 y=43.43- 02
Apr 16 13:42:38 mowerraspi python3[477]: 2026-04-16 13:42:38 INFO RX: 3.,-. x=-14.14 y=-9.28 delta=0 9 e=-. a077
Apr 16 13:42:58 mowerraspi python3[477]: 2026-04-16 13:42:58 INFO RX: 00-2 1,-80214.690845 l8 h-
Apr 16 13:43:03 mowerraspi python3[477]: 2026-04-16 13:43:03 INFO RX: 139 .
Apr 16 13:43:11 mowerraspi python3[477]: 2026-04-16 13:43:11 INFO Schedule: active: False, job started: False, job finished: False, start failed cnt: 0
Apr 16 13:43:23 mowerraspi python3[477]: 2026-04-16 13:43:23 INFO RX: 6
Apr 16 13:44:11 mowerraspi python3[477]: 2026-04-16 13:44:11 INFO Schedule: active: False, job started: False, job finished: False, start failed cnt: 0
Apr 16 13:44:20 mowerraspi python3[477]: 2026-04-16 13:44:20 INFO RX: 0M220260002.77 11608 t12.16850223.4788 0-. e= .
Apr 16 13:44:33 mowerraspi python3[477]: 2026-04-16 13:44:33 INFO RX: . y=-5.3862 .61. 0c0:34 ctlDurM fre bat=2-0.00 2-2.45 tow=3816848681 la4788625 h=-5.24 e=-12. d=3.02 sol=2 a
Apr 16 13:45:11 mowerraspi python3[477]: 2026-04-16 13:45:11 INFO Schedule: active: False, job started: False, job finished: False, start failed cnt: 0
Apr 16 13:46:11 mowerraspi python3[477]: 2026-04-16 13:46:11 INFO Schedule: active: False, job started: False, job finished: False, start failed cnt: 0
Apr 16 13:47:11 mowerraspi python3[477]: 2026-04-16 13:47:11 INFO Schedule: active: False, job started: False, job finished: False, start failed cnt: 0
Apr 16 13:47:23 mowerraspi python3[477]: 2026-04-16 13:47:23 INFO RX: -29
Apr 16 13:47:48 mowerraspi python3[477]: 2026-04-16 13:47:48 INFO RX: .39,-2.59 x=-10.27 y=-4.4 de81 lat93 46 .29.90
Apr 16 13:48:12 mowerraspi python3[477]: 2026-04-16 13:48:12 INFO Schedule: active: False, job started: False, job finished: False, start failed cnt: 0
Apr 16 13:48:52 mowerraspi python3[477]: 2026-04-16 13:48:52 INFO RX:
Apr 16 13:49:12 mowerraspi python3[477]: 2026-04-16 13:49:12 INFO Schedule: active: False, job started: False, job finished: False, start failed cnt: 0
Apr 16 13:49:17 mowerraspi python3[477]: 2026-04-16 13:49:17 INFO RX:
Apr 16 13:49:37 mowerraspi python3[477]: 2026-04-16 13:49:37 INFO RX: 0.
Apr 16 13:50:12 mowerraspi python3[477]: 2026-04-16 13:50:12 INFO Schedule: active: False, job started: False, job finished: False, start failed cnt: 0
Apr 16 13:50:43 mowerraspi python3[477]: 2026-04-16 13:50:43 INFO RX:
Apr 16 13:51:11 mowerraspi python3[477]: 2026-04-16 13:51:11 INFO Writing State-Data to the file
Apr 16 13:51:11 mowerraspi python3[477]: 2026-04-16 13:51:11 INFO State data are saved successfully in state.pickle
Apr 16 13:51:12 mowerraspi python3[477]: 2026-04-16 13:51:12 INFO Schedule: active: False, job started: False, job finished: False, start failed cnt: 0
Apr 16 13:51:12 mowerraspi python3[477]: 2026-04-16 13:51:12 INFO RX:
Apr 16 13:51:12 mowerraspi python3[477]: 2026-04-16 13:51:12 INFO Calced state data are saved successfully in calcstate.pickle
Apr 16 13:51:12 mowerraspi python3[477]: 2026-04-16 13:51:12 INFO Writing Statistics-Data to the file
Apr 16 13:51:13 mowerraspi python3[477]: 2026-04-16 13:51:13 INFO Statistics data are saved successfully in stats.pickle
Apr 16 13:51:13 mowerraspi python3[477]: 2026-04-16 13:51:13 INFO Calced statistics data are saved successfully in calcstats.pickle
Apr 16 13:52:12 mowerraspi python3[477]: 2026-04-16 13:52:12 INFO Schedule: active: False, job started: False, job finished: False, start failed cnt: 0
Apr 16 13:52:12 mowerraspi python3[477]: 2026-04-16 13:52:12 INFO RX: I3  2
Apr 16 13:53:12 mowerraspi python3[477]: 2026-04-16 13:53:12 INFO Schedule: active: False, job started: False, job finished: False, start failed cnt: 0
Apr 16 13:54:12 mowerraspi python3[477]: 2026-04-16 13:54:12 INFO Schedule: active: False, job started: False, job finished: False, start failed cnt: 0
Apr 16 13:55:12 mowerraspi python3[477]: 2026-04-16 13:55:12 INFO Schedule: active: False, job started: False, job finished: False, start failed cnt: 0
Apr 16 13:56:12 mowerraspi python3[477]: 2026-04-16 13:56:12 INFO Schedule: active: False, job started: False, job finished: False, start failed cnt: 0
Apr 16 13:57:12 mowerraspi python3[477]: 2026-04-16 13:57:12 INFO Schedule: active: False, job started: False, job finished: False, start failed cnt: 0
Apr 16 13:57:26 mowerraspi python3[477]: 2026-04-16 13:57:26 INFO RX:
Apr 16 13:58:10 mowerraspi python3[477]: 2026-04-16 13:58:10 INFO RX: 10
Apr 16 13:58:12 mowerraspi python3[477]: 2026-04-16 13:58:12 INFO Schedule: active: False, job started: False, job finished: False, start failed cnt: 0
Apr 16 13:58:26 mowerraspi python3[477]: 2026-04-16 13:58:26 INFO RX:
Apr 16 13:58:36 mowerraspi python3[477]: 2026-04-16 13:58:36 INFO RX: 01 x=-17.57 y=
Apr 16 13:59:12 mowerraspi python3[477]: 2026-04-16 13:59:12 INFO Schedule: active: False, job started: False, job finished: False, start failed cnt: 0
Apr 16 13:59:41 mowerraspi python3[477]: 2026-04-16 13:59:41 INFO RX: .
Apr 16 13:59:56 mowerraspi python3[477]: 2026-04-16 13:59:56 INFO RX: 2
Apr 16 14:00:12 mowerraspi python3[477]: 2026-04-16 14:00:12 INFO Schedule: active: False, job started: False, job finished: False, start failed cnt: 0
Apr 16 14:00:40 mowerraspi python3[477]: 2026-04-16 14:00:40 INFO RX:  8
Apr 16 14:00:50 mowerraspi python3[477]: 2026-04-16 14:00:50 INFO RX: 0
Apr 16 14:01:12 mowerraspi python3[477]: 2026-04-16 14:01:12 INFO Schedule: active: False, job started: False, job finished: False, start failed cnt: 0
Apr 16 14:01:32 mowerraspi python3[477]: 2026-04-16 14:01:32 INFO RX: 6c
Apr 16 14:01:45 mowerraspi python3[477]: 2026-04-16 14:01:45 INFO RX:
Apr 16 14:02:12 mowerraspi python3[477]: 2026-04-16 14:02:12 INFO Schedule: active: False, job started: False, job finished: False, start failed cnt: 0
Apr 16 14:03:00 mowerraspi python3[477]: 2026-04-16 14:03:00 INFO RX: 19
Apr 16 14:03:12 mowerraspi python3[477]: 2026-04-16 14:03:12 INFO Schedule: active: False, job started: False, job finished: False, start failed cnt: 0
Apr 16 14:04:13 mowerraspi python3[477]: 2026-04-16 14:04:13 INFO Schedule: active: False, job started: False, job finished: False, start failed cnt: 0
Apr 16 14:04:19 mowerraspi python3[477]: [33B blob data]
Apr 16 14:05:13 mowerraspi python3[477]: 2026-04-16 14:05:13 INFO Schedule: active: False, job started: False, job finished: False, start failed cnt: 0
Apr 16 14:05:40 mowerraspi python3[477]: 2026-04-16 14:05:40 INFO RX: 00.
Apr 16 14:06:13 mowerraspi python3[477]: 2026-04-16 14:06:13 INFO Schedule: active: False, job started: False, job finished: False, start failed cnt: 0
Apr 16 14:06:20 mowerraspi python3[477]: 2026-04-16 14:06:20 INFO RX: .
Apr 16 14:07:04 mowerraspi python3[477]: 2026-04-16 14:07:04 INFO RX: 0.
Apr 16 14:07:13 mowerraspi python3[477]: 2026-04-16 14:07:13 INFO Schedule: active: False, job started: False, job finished: False, start failed cnt: 0
Apr 16 14:07:54 mowerraspi python3[477]: 2026-04-16 14:07:54 INFO RX:
Apr 16 14:08:13 mowerraspi python3[477]: 2026-04-16 14:08:13 INFO Schedule: active: False, job started: False, job finished: False, start failed cnt: 0
Apr 16 14:09:13 mowerraspi python3[477]: 2026-04-16 14:09:13 INFO Schedule: active: False, job started: False, job finished: False, start failed cnt: 0
Apr 16 14:09:34 mowerraspi python3[477]: 2026-04-16 14:09:34 INFO RX: 45
Apr 16 14:10:13 mowerraspi python3[477]: 2026-04-16 14:10:13 INFO Schedule: active: False, job started: False, job finished: False, start failed cnt: 0
Apr 16 14:10:44 mowerraspi python3[477]: 2026-04-16 14:10:44 INFO RX: 08402 s

Ich bin jetzt ein wenig ratlos. Was kann die Ursache dafür sein? Kabelproblem zwischen Raspi und GCM4, aber da dürfte doch auch der serielle Monitor nicht funktionieren, oder? Wo kann ich ansetzen? Kann mir da jemand auf die Sprünge helfen?

Der Mower hat jetzt seine Aufgabe erfüllt und ist brav in seine Station gefahren, über Cassandra kann ich ihn aber nicht verfolgen.

VG Jürgen
 
Deine serielle Schnittstelle stirbt, warum ist schwierig zu sagen, ich dachte ich hatte da ein soft reboot drin wenn das vorkommt, scheint bei dir aber nicht zu wirken. Am besten die Stelle im log suchen wo das passiert, dann könnte man überlegen was zu machen ist
 
Kann ich dir das log vom Anfang heute bis zum Zeitpunkt wo der Mower fertig war mal als PN schicken?
Ich kann damit nicht wirklich etwas anfangen.
Danke schon im Voraus.
 
OK, Danke. Ich werde beim nächsten Mähen mal genau die Zeit beobachten, um dann die passende Stelle im Log zu finden.
 
Das Problem hat sich nach langem Suchen lösen lassen: Es ist irgendwie ein Wackelkontakt oder eine kalte Lötstelle am Power-Anschluss des Pi.
Ich habe es zufällig entdeckt, als ich den Pi ausgebaut auf dem Tisch in Betrieb hatte und an dem Stecker gewackelt habe und dabei beobachtet habe, dass die rote LED geflackert hat. Solange ich den Pi im Haus betrieben habe, war das vermutlich kein Problem aber auf dem holprigen Rasen ist er regelmäßig neu gestartet und hat mir dann nicht mehr angezeigt, was der Mower macht. Dieser hat aber seine Bahnen gezogen und seine Aufgabe bis zu Ende erledigt.
Nun versorge ich den Pi über die GPIO-Pins und alles funktioniert einwandfrei. Die Micro-USB Spannungsversorgung bis zum Pi 3 soll ja ohnehin öfter Probleme bereitet haben.

VG Jürgen
 
Oben