BlueOS ist eine modulare, robuste und effiziente Plattform zur Verwaltung eines Fahrzeugs oder Roboters über seinen Bordcomputer. Es ist die Weiterentwicklung des Companion-Projekts, dessen Ziel es war, den Videostream und die Kommunikation eines Fahrzeugs an den Computer seiner Kontrollstation weiterzuleiten. BlueOS erkannte den Bedarf an einem ausgefeilteren und skalierbaren System und wurde von Grund auf entwickelt, wobei auf Modularität geachtet wurde, um Portabilität, robuste Aktualisierung und Erweiterbarkeit zu gewährleisten.
Offizielle Dokumentation
Entwicklungsdokumentation
Beiträge
Verhaltenskodex
Registrierte Erweiterungen
Installationsverzeichnis (für benutzerdefinierte Installationen)
Die Entwicklung von BlueOS basiert auf den folgenden Grundprinzipien:
Eine Benutzeroberfläche, die standardmäßig einfach, aber bei Bedarf leistungsstark ist – der Benutzer hat die Möglichkeit, alles zu ändern, was er möchte, und das gesamte Erlebnis individuell anzupassen
Entwickelt, um sich auf das Wesentliche zu konzentrieren und den Benutzerzugriff auf Informationen und Steuerelemente mit einer benutzerfreundlichen Benutzeroberfläche und UX zu verbessern
Vereinfachen Sie komplexe Aufgaben und verbessern Sie die Benutzerfreundlichkeit, indem Sie Entwurfsmuster aus anderen Anwendungen wiederverwenden (basierend auf den Material-UI-Richtlinien).
Erweiterte Fehlerbehandlung und -erkennung , die dem Benutzer und den Entwicklern alle Probleme klar machen und ihnen zeigen, wie sie behoben werden können
Vereinfachen Sie die Entwicklung und bieten Sie vollen Zugriff auf unsere Service-API und unser modulares Entwicklungsmodell
Portabel und flexibel , Sie sollten auf einem Raspberry Pi 3/4 oder einem beliebigen SBC mit Linux-Betriebssystem laufen können, Beiträge sind willkommen
Das gesamte System ist hochfunktional und weist eine geringe CPU-Auslastung auf , sodass es effizient läuft
Kritische Teile oder intensive Personaldienste werden auf einer soliden Grundlage entwickelt und unter Verwendung der fortschrittlichsten verfügbaren Sprachen und Funktionen für Stabilität konzipiert
Das Design, die Organisation und zukünftige Versionen von BlueOS orientieren sich an diesen Grundsätzen und streben danach, ein optimiertes und bereicherndes Benutzererlebnis zu bieten.
BlueOS ist in drei Release-Typen verfügbar:
Stabil: Offiziell getestete und validierte Versionen mit Langzeitunterstützung. Für die meisten Benutzer empfohlen.
Beta: Leicht getestete Rolling Releases mit neuen Funktionen, Fehlerbehebungen und Verbesserungen.
Master: Hochmoderne Entwicklungsversionen mit fast täglichen Änderungen. Dies sind die allerneuesten Funktionen, die möglicherweise noch nicht getestet wurden.
BlueOS wurde mit dem Schwerpunkt auf Fahrzeug- und Plattformunabhängigkeit entwickelt. Unser Ziel ist es, eine breite Kompatibilität über ein breites Anwendungsspektrum hinweg zu ermöglichen. Derzeit unterstützt BlueOS offiziell die folgenden Fahrzeugtypen:
ArduRover ist eine unbemannte Open-Source-Bootsplattform. Unabhängig davon, ob Sie ein Freizeitboot oder ein Forschungsschiff befehligen, stellt die Kompatibilität von BlueOS mit ArduRover sicher, dass Sie reibungslos durch die Gewässer navigieren können.
BlueBoat wird standardmäßig unterstützt.
ArduSub ist das Steuerungssystem der Wahl für ferngesteuerte Unterwasserfahrzeuge (ROVs). BlueOS bietet eine nahtlose Integration mit ArduSub und ermöglicht so eine effiziente Verwaltung und Bedienung von Unterwasserfahrzeugen.
BlueROV2 wird standardmäßig unterstützt.
BlueOS bietet generische Unterstützung für eine Vielzahl unbemannter Land-, Luft- und Seefahrzeuge, die ArduPilot- und PX4-Autopiloten verwenden. Dadurch erweitert sich die Palette der Fahrzeuge, die mit unserem System verwaltet werden können, von Drohnen bis hin zu autonomen Autos und mehr.
Hinweis: Möglicherweise ist eine spezielle Fahrzeugkonfiguration erforderlich, um eine optimale Leistung mit BlueOS sicherzustellen.
BlueOS ist so konzipiert, dass es auf einer Vielzahl von Systemen optimal funktioniert. Unsere neuesten Versionen werden automatisch für die folgenden Architekturen erstellt:
armv7: Dies ist eine gängige Architektur für eingebettete Geräte. Deckt Raspberry Pi-Modelle bis einschließlich Raspberry Pi 3 ab.
armv8/arm64: Dies wird von neueren Hochleistungsgeräten verwendet. Sie können BlueOS auf einem Raspberry Pi 4 oder auf einem Computer mit Apple Silicon ausführen.
amd64: Dies ist die Architektur, die von den meisten Desktop- und Laptop-Computern verwendet wird. Ein typisches Beispiel ist jeder moderne PC, auf dem eine 64-Bit-Version von Linux läuft. Nicht vollständig unterstützt.
Im Moment unterstützen wir offiziell den Raspberry Pi 3 und 4, aber das System sollte auf allen aufgeführten Architekturen mit den richtigen Docker-Bindungen „einfach funktionieren“.
Die Docker-basierte Entwicklungsumgebung ist über die Docker-Compose-Datei core/compose/compose.yml
verfügbar. Dadurch wird eine Entwicklungsumgebung mit allen erforderlichen Diensten gestartet und alle erforderlichen Verzeichnisse in diesem Repository für die Entwicklung bereitgestellt.
docker compose pull # Stellen Sie sicher, dass Docker auf dem neuesten Stand ist. docker compose -f core/compose/compose.yml up
Beim Neustart der Entwicklungsumgebung müssen Sie möglicherweise die Volumes entfernen, um sicherzustellen, dass die Entwicklungsumgebung sauber ist.
docker compose -f core/compose/compose.yml down