BoatOS – Marine-Betriebssystem: Raspberry Pi + ESP32 + MQTT + FastAPI + Flutter

OP #8051806
Lesenswert?
• ▲
▼

Hallo, möchte mein Projekt vorstellen: BoatOS – ein vollständiges Boot-Betriebssystem das auf einem Raspberry Pi 4 läuft. Technischer Stack: Hardware:

Raspberry Pi 4 (4GB) ESP32 + 2× ADS1115 (I2C, 0x48/0x49) + MPU6050 als Sensorboard BU-353N5 GPS-Maus → SignalK → Backend 10,1" Touchscreen, 128GB SSD

Software:

Backend: FastAPI + WebSocket (Python) MQTT: Mosquitto Broker, ESP32 als Publisher GPS/NMEA: SignalK mit EMA-Filter für glatte Positionsdarstellung Navigation: MapLibre + OSM/OpenSeaMap Vektortiles (offline, lokal auf SSD) Routing: OSRM lokal auf dem Pi (Wasserwege aus OpenStreetMap) Wetter: DWD-API via Brightsky Pegelstände: PEGELONLINE-API AIS: AISStream.io via WebSocket Frontends: Helm (Flutter nativ) + Deck (Browser)

Interessante Details:

Impact-Detection: Der MPU6050 war ursprünglich für Neigung/Schlagseite gedacht. Nach einer unfreiwilligen Bekanntschaft mit einem Felsen bei Nullsicht (Kaffee geflogen, alle okay) kam die Idee: der Beschleunigungssensor registriert Stöße. G-Wert + Dauer ergibt Schweregrad (LEICHT/MITTEL/STARK/KRITISCH). Jedes Event landet mit Timestamp, Position und G-Wert im Logbuch.

Dashboard-DSL:

Eigene Konfigurationssprache für das Dashboard – kein Code-Deploy bei Änderungen.

Fertiges Image auf archive.org – flashen, booten, läuft.

Alles Open Source: https://github.com/bigbrainlabs/BoatOS

Fragen und Kritik willkommen!

OP #8051865
Lesenswert?
• ▲
▼

Danke für den Tipp! OpenEcho kannte ich noch nicht – schau ich mir genauer an. Ein Echolot war sowieso schon geplant, der Einbau kommt wenn das Boot aus dem Wasser ist. Die Integration wäre über SignalK möglich, das versteht NMEA direkt – die Infrastruktur steht also schon. OpenEcho könnte da perfekt reinpassen!

Antwort schreiben

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.