Hallo in die Runde,
ich bin neu hier und lese seit ein paar Tagen in diesem Thread mit.
Hintergrund ist mein Wunsch einen Husqvarna Automower 220 auf GPS-RTK etc. umzubauen.
Heute habe ich dann mal das Repo von
@EinEinfach geklont und etwas tiefer in den Code und die Schematics geschaut.
Danach glaube ich, dass man die Umsetzung der RaspberryPi Variante ohne RP-Pico vermutlich "relativ einfach" ausprobieren könnte.
Nach meinem bisherigen Verständnis hängen
- alle Motortreiber (inkl.Odometrie)
- die Bumper-, Notaus-, Charge/Battery-Schalter,
- die Strommessung (INA266 über I2C)
am RP-Pico und werden vom RaspberryPi über /dev/ttyUSB0 angesteuert oder abgefragt.
Das GPS hängt über USB-Seriell-Adapter am RaspberryPi.
Wifi hängt über USB am RaspberryPi (oder ist es integriert?).
In der config.h findet sich noch eine MPU6050, aber mir ist nicht klar geworden über welchen I2C-Bus die interagiert?
Meine Idee:
Unter Linux kann man ja nicht nur lokale IP-Verbindungen (127.0.0.1) zwischen Prozesse auf dem gleiche Rechner nutzen, wie zwischen Cassandra und Sunray, sondern in ähnlicher Weise auch Pseudoterminals (pty) für serielle Verbindungen.
Wenn man nun die Aufgaben des RP-Pico (in Sunray/alfred/firmware/rpi_pico/main.py) in einen eigenen Prozess auf dem RaspberryPi laufen ließe, müsste dieser Prozess mit Sunray über ein pty kommunizieren können, ohne, dass irgendeine sonstige Änderung an Sunray notwendig wäre.
Dafür müsste allerdings neben diversen GPIOs auch ein I2C Bus am Raspberry noch ungenutzt sein, womit ich wieder bei der Unklarheit zur MPU6050 von weiter oben bin(?). Ich würde das gerne Testen, habe aber keine Infos zur bisherigen Verwendung der GPIOs des RaspberryPi gefunden.
Soweit meine bisherige Erkenntnis und Fantasie, ich würde mich über eine Rückmeldung mit Korrekturen zu meinem Verständnis und Details zu den (genutzten) GPIOs am RaspberryPi freuen.
Sorry für den langen Text und DANKE!!! für die bisherige Entwicklungsarbeit!!!
Thomas