Mein Projekt CaSSAndRA zur Steuerung des Ardumowers

Noch ne Frage:
Wenn ich die Position der Base Station Antenne ändere, muss wahrscheinlich die Karte neu angelegt werden?
Position mode: relativ
 
So da es jetzt mal nicht regnet, könnte ich mir die Frage selber beantworten. Karte muss neu angelegt werden.
Die Karte auf dem Mäher ist eine bin Datei. Ist das nur eine komprimierte Geojson Datei?
Ich habe das Problem, das ich sie mit Python zwar auslesen kann, aber wenn ich mir sie dann anzeigen lassen, sind das nur wilde Linien und keine Karte.
Irgendwie will die KI das immer umwandeln und versucht die Werte durch 1000 zu teilen.
 
Irgendwie bekomme ich aktuell die neuste Version nicht zum laufen.
Komme von einer Uralt 0.115 und versuche die 0.219 zum laufen zu bekommen.

Aber ab einer gewissen Version scheint die Map Calculation nicht mehr richtig zu laufen.
Der Server springt in den "Map upload" Task, aber im Log kommt dann nur ein Dauerloop von das die CRC nicht stimmt.
Nach einer Zeit kommt dann ein Upload Error.

Hab die requirements.txt aktualisiert und zeigt auch alles passend an.

Bin Testweise mal in den 1.0.0 Branch gesprungen, dann aber erst realisiert dass das ja ein altes Zwischenrelease ist?
Die funktioniert z.B. noch... damit klappt die App dann aber nicht weil zu alt. :)

Eine Idee?

2025-07-05-19-08-53-Log.png
Ich hatte auch das Problem mit dem CRC Error...hab es gelöst bekommen, indem ich meine SD Karte im Mower formatiert habe. -vielleicht klappt es ja bei dir auch
 
Hallo Alexander,

ich habe in meinem Garten nun endlich stabiles WLAN und bin guter Dinge, dass ich in der kommenden Saison Cassandra störungsfrei nutzen kann! :)
Ich habe daher nochmal meine Mähkarten neu geplant und finde Cassandra wirklich sehr gelungen! Auch, dass man mehrere einzeln geplante Karten dann wieder zusammen als eine neue speichern kann, ist super! Ich habe noch zwei Ideen, die aus meiner Sicht super hilfreich wären:
  1. wäre es möglich die Winkelberechnung so umzustellen, dass 0 Norden ist? Ich finde das logischer, da z.B. in der Landwirtschaft und anderen Bereichen die Spurberechnung auch so erfolgt. Wäre ja nur eine Umrechnung. Falls das aus deiner Sicht nicht nachvollziehbar ist - wo im code könnte ich es ggf. nur für meine Version anpassen?
  2. Ist es möglich bei der Planung und anschließenden Speicherung der Karten die ursprüngliche bounding-box mit zu speichern (s.h. Bild), sodass sie beim Aufrufen im Taskplanner mit aufgerufen wird? Das hätte aus meiner Sicht den Vorteil, dass man schnell die zu bearbeitende Fläche ändern kann. Z.B. wenn man nur mal die Kanten oder nur im Stück ohne Rand mähen will...aber das ist wahrscheinlich technisch komplizierter oder?Screenshot 2026-02-21 095402.jpg
edit: ich habe es gefunden und habe die Linienberechnung wie folgt für mich in Kompassrichtung geändert. In Cassandra/Cassandra/src/backend/map/path.py habe ich folgende zeilen

Python:
#check if random angle
if parameters.angle == None or math.isnan(float(parameters.angle)):
    angle = random.randrange(start=359)
    logger.debug(f'Coverage path planner uses random angle: {angle}Deg')
else:
    angle = parameters.angle

durch folgenden ersetzt:
Python:
# Angle from UI is a heading: 0 = North, 90 = East
# Internal (shapely/math): 0 = East, 90 = North
def heading_to_math(a):
    return (90 - float(a)) % 360

# check if random angle
if parameters.angle == None or math.isnan(float(parameters.angle)):
    angle = random.randrange(start=359)
    logger.debug(f'Coverage path planner uses random angle: {angle}Deg (math)')
else:
    angle = heading_to_math(parameters.angle)
    logger.debug(f'Coverage path planner uses heading: {parameters.angle}Deg -> math: {angle}Deg')

Das scheint soweit erstmal zu funktionieren und die Winkel sind damit wie folgt: 0 = Nord, 90 = Ost usw.
 
Zuletzt bearbeitet:
Ist es möglich bei der Planung und anschließenden Speicherung der Karten die ursprüngliche bounding-box mit zu speichern (s.h. Bild), sodass sie beim Aufrufen im Taskplanner mit aufgerufen wird? Das hätte aus meiner Sicht den Vorteil, dass man schnell die zu bearbeitende Fläche ändern kann. Z.B. wenn man nur mal die Kanten oder nur im Stück ohne Rand mähen will...aber das ist wahrscheinlich technisch komplizierter oder?
Das ist bereits so, es werden nicht die Linien gespeichert, sondern nur die Bounding Box mit entsprechenden Mähparametern. Darstellen unter Dash ist auch nicht wild, wenn ich mich richtig erinnere es muss dann in JSON einfach richtig verpackt werden. Aber an der UI mache ich nichts mehr, möchte mich nicht mehr in den Dash Sumpf noch mal begeben.

Probiere Cassandra_native aus, dort ist das bereits so umgesetzt
 
Hallo,
entschuldige, ich lese hier mit und versuche das nachzuvollziehen. Aber leider kann ich diese Codezeilen in "Cassandra/Cassandra/src/backend/map/map.py" nicht finden ? Ich bin erst beim Einarbeiten in github
 
Sorry, mein Fehler. Es ist path.py
@EinEinfach ich hatte tatsächlich Cassandra native installiert und es funktionierte tadellos. Jedoch wollte ich es vor ein paar Tagen erneut starten, da kommt die Meldung "Cassandra Native ist nicht mehr verfügbar". Gleiche Meldung bekomme ich auch bei dem AltStore. Was mache ich falsch?
 
Du machst nichts falsch, das ist leider ein Riegel was der Apple einem vorschiebt, wenn man eine sideloaded App benutzt. Das Verfahren ist an die Entwickler gerichtet, die die Apps auf der echten Hardware testen wollen bevor diese in den offiziellen Deploy Ablauf gegeben wird. Der Testraum ist auf 7 Tage begrenzt, und danach wird die App deaktiviert.

Der Altserver versucht die sideloaded Apps automatisch zu refreshen wenn das Endgerät sich im gleichen Netzwerk befindet. In der Praxis funktioniert das mal gut (dass du diese Meldung nie zu Gesicht bekommst) mal weniger gut (nicht jeder hat seinen Computer wo AltServer läuft 24/7 an) Erfahrungsgemäß lief das refreshen bei mir auf dem Windows besser als auf dem Mac, aber rein subjektiv.

Zusammengefasst du müsstest dein Computer wieder anmachen wo AltServer läuft und die beiden Apps refreshen. Wobei AltStore bekommst du mittlerweile dauerhaft über AltStorePAL auf das Endgerät drauf.

Ich könnte das auch für Cassandra native machen, dazu müsste ich die App an Apple zur Prüfung geben, wenn alles gut läuft gibt es dann eine unique id für die App mit der ich die App im einfachsten Fall über AltStorePal und im schwierigen Fall über AppStore veröffentlichen kann.

Geil wäre das schon aber ich bin nicht sicher wie viel Interesse noch am Projekt besteht, aktuell sehe ich kaum DIY Interessenten hier. Im ersten Schritt müsste man sich das DevAccount bei Apple anlegen und mit deren Richtlinien auseinandersetzen (99Eur) Ohne entsprechenden Support wird das erstmal nichts und man müsste dann bei Refresh Lösung bleiben

Manchmal beneide ich die Android Nutzer… aber nur manchmal
 
Ah okay! Danke für den Hinweis!
Es kann bei mir auch daran liegen, dass ich bei itunes kein Wifi Sync aktiviert habe, vermute ich. Das kann ich gleich mal ändern.

Ich finde das DIY Projekt super genial und habe auch anderen schon Alfreds "angedreht". Allerdings ist das bei der Konkurrenz aus Fernost trotzdem anscheinend schwierig. Ich für meinen Teil werde auf jeden Fall nur mit meinen umgebauten Husqvarnas mähen! Das ist aus meiner Sicht eine suoer Kombi: Super Qualität der Maschinen (ACX Serie), top Hardware, die jeden Motor zum Laufen bekommt und dann open source Software, die auch richtig gut funktioniert!

Manchmal beneide ich die Android Nutzer… aber nur manchmal
:ROFLMAO: Das stimmt! Einige Dinge sind da deutlich einfacher...;)
 
wie kann ich die apps auf dem iPhone refreshen?

edit: habs gefunden (über die AltStore app auf dem iphone). Allerdings musste ich per altServer erstmal den AltStore installieren (obwohl er eigentlich schon installiert, aber nicht mehr verfügbar war). Danach konnte ich dann den AltStore wieder nutzen.
 
Zuletzt bearbeitet:
Ich schlage vor du installierst erstmal AltStorePal. Über den beziehst du AltStore. Eine Sorge weniger, dieser bleibt dauerhaft dann. Dann machst du über AltStore sideloading von Cassandra native. Wenn du dann im AltStore auf MyApps gehst siehst du wie lange die App aktiv ist und wenn du auf die verbleibende Tage klickst wird der manuelle Prozess zum refreshen getriggert
 
Okay! Das könntest du vielleicht in deiner github Anleitung aktualisieren - dort steht nämlich ausdrücklich, dass man nicht den AltStorePAL installieren soll. ;)
Ich probiere das mal aus. Ich bekomme mit Cassandra native allerdings gerade keine Karten erstellt oder aufgerufen...das ging beim letzen Mal noch...vllt. liegts an meinem MQTT Server. Aber online ist die App. 🤷‍♂️
 
Es scheinen keine MQTT-Nachrichten mehr von Cassandra gesendet zu werden, sobald ich versuche Tasks in Cassandra native aufzurufen...vorher läuft sie reibungslos und ich kann auch per hand eine bounding box zeichnen und einen Plan berechnen lassen.

edit: wenn ich in Cassandra eine neue Karte erstelle, hängt sich die App nicht auf...vielleicht liegt es an meiner Konvertierung des Mähwinkels...das habe ich nach der Erstellung meiner Karten erst gemacht.
Habe es gerade mit neuer Karte probiert, aber da sendet Cassandra auch keine MQTT Nachrichten mehr. Kann es an der Namensgebung der Karten liegen?
Cassandra v. 2.0.0
Gefühlt sind zu lange Namen ein Problem (z.B. Grundstück 1 oben Husky 45 oder Grundstück_1_oben_Husky_45 gehen nicht; test oder testkarte gehen).
 
Zuletzt bearbeitet:
Oben