Skip to content

Commit

Permalink
overview: new 1.2 features
Browse files Browse the repository at this point in the history
  • Loading branch information
ES-Alexander committed Apr 10, 2024
1 parent 45c5530 commit 94b3e20
Showing 1 changed file with 48 additions and 97 deletions.
145 changes: 48 additions & 97 deletions overview/index.md
@@ -1,7 +1,7 @@
+++
title = "Overview"
description = "BlueOS overview."
date = 2023-08-30T02:50:00+11:00
date = 2024-04-10T11:45:00+10:00
template = "docs/page.html"
sort_by = "weight"
weight = 0
Expand Down Expand Up @@ -31,121 +31,72 @@ As the core development team we've tried to envision the future of the onboard c
* **Make complex tasks simpler** and improve ease of use by reusing design patterns from other applications (based on the [material UI guidelines](https://material.io/design/guidelines-overview))
* **Advanced error handling and detection**, making any problems clear to the user and developers, along with how to fix them
* **Simplify development**, providing full access to our services API and modular development model
* **Encourage contributions**, [the project is open source](https://github.com/bluerobotics/BlueOS-docker)!
* **Encourage contributions**, [the project is open source](https://github.com/bluerobotics/BlueOS)!
* **Portable and flexible**, you should be able to run on a Raspberry Pi 3/4 or any SBC with Linux operating system, contributions are welcomed
* **Highly functional with low CPU usage**, the entire system is built to run efficiently
* **Developed on solid foundations**, critical parts or intensive workforce services are designed using the most advanced languages and features available for stability

Some of these principles will only be evident in future releases, but the underlying software architecture and organization have been designed from the ground up to support and enable them.

## What's New in BlueOS-1.1?
## What's New in BlueOS-1.2?

This covers a summary of the major changes and new features in BlueOS-1.1. Where applicable relevant features are also included in the [feature comparison table](#feature-comparison). For detailed coverage of every change, please see the [full release notes](https://github.com/bluerobotics/BlueOS-docker/releases).
This covers a summary of the major changes and new features in BlueOS-1.2. Where applicable relevant features are also included in the [feature comparison table](#feature-comparison). For detailed coverage of every change, please see the [full release notes](https://github.com/bluerobotics/BlueOS-docker/releases).

### [Extensions](../extensions) `(NEW! - beta)`
- Independently installed and run software components, that work together with BlueOS
- Users can download extensions for the integrations and features they want to use
- Developers can create extensions, and share them with others
### [Bootstrap](../development/bootstrap/)
- Resolves the issue where BlueOS would revert to its factor image
- It is recommended to update bootstrap via the [BlueOS Version](../advanced-usage/#blueos-version)
once you have updated to BlueOS 1.2 (requires turning on [Pirate Mode](../advanced-usage/#pirate-mode))

### [Extensions](../development/extensions/)
- A standard folder for binding to the filesystem, accessible from the [File Browser](../advanced-usage/#file-browser)
- Support for custom SVG icons
- Development process documentation
- [BlueOS-Community GitHub organisation](https://github.com/orgs/BlueOS-community/repositories), including
- Open-source extension examples
- A [deployment action](https://github.com/BlueOS-community/Deploy-BlueOS-Extension), for automatic building and upload of extension Docker images
- Extension development quickstart/template repositories

### Page improvements
- [Vehicle Setup](../advanced-usage/#vehicle-setup) `(NEW!)`
- A page providing an overview of the configured vehicle and its connected peripherals
- Allows testing motors, configuring servo outputs, and setting default autopilot parameters
- [Ping Sonar Devices](../advanced-usage/#ping-sonar-devices) `(NEW!)`
- A page to detect connected Ping family devices (including Ping360s connected via an ethernet switch)
- Adds MAVLink toggle for Ping Sonar devices
- Allows sending distance estimate to Control Station Software (e.g. QGroundControl)
- [Extensions Manager](../advanced-usage/#extensions-manager) `(NEW!)`
- Allows installing and managing BlueOS Extensions
- [Autopilot Parameters](../advanced-usage/#autopilot-parameters) `(NEW!)`
- Allows reading and editing parameters from a connected MAVLink autopilot
- Includes saving to and loading from a file
- [Autopilot Firmware](../advanced-usage/#autopilot-firmware) (MERGED "Firmware" and "General")
- Extra information about the currently running firmware was added
- Improved firmware update robustness
- Serial autopilots in bootloader mode can now be detected and flashed
- Allows recovering from failed Pixhawk updates
- Can now choose which autopilot to flash, if multiple are connected
- [Video Streams](../advanced-usage/#video-streams) (REPLACES "Video")
- Camera manager now supports Raspberry Pi cameras, and a fake source for testing
- Camera previews are now available when a stream is configured
- RTSP output support added for MJPG and YUYV encoded streams
- MAVLink support improved
- Allows Control Station Software (e.g. QGroundControl) to configure camera settings and switch between multiple video streams
- Disabling MAVLink advertising of a video stream is now possible
- [MAVLink Endpoints](../advanced-usage/#mavlink-endpoints) (REPLACES "Endpoints")
- IP address interface now indicates the endpoint type
- Endpoints are now editable
- [Serial Bridges](../advanced-usage/#serial-bridges) (REPLACES "Bridges")
- Significant interface and robustness updates
- [NMEA Injector](../advanced-usage/#nmea-injector)
- Settings are now persistent across boots
- [BlueOS Version](../advanced-usage/#blueos-version) (REPLACES "Version Chooser")
- New progress bar while downloading and extracting new images
- Now allows updating the [bootstrap image](../development/bootstrap)
- [System Information](../advanced-usage/#system-information)
- New "Firmware" tab, with information about the computer's firmware and bootloader
- [Network Test](../advanced-usage/#network-test)
- New tab for internet connection testing
- New graph to track upload and download performance during a local network test
- [Vehicle Setup](../advanced-usage/#vehicle-setup)
- Improved sensor status indicators
- COMING SOON: sensor calibrations, improved peripheral configuration
- [Extensions Manager](../advanced-usage/#extensions-manager)
- Added disk usage display for installed extensions
- [MAVLink Endpoints](../advanced-usage/#mavlink-endpoints)
- Added MAVP2P as an alternative MAVLink routing option
- [File Browser](../advanced-usage/#file-browser)
- New shortcuts to useful parts of the file-system
- [Bag Editor](../advanced-usage/#bag-editor) `(NEW!)`
- Allows modifying the database that controls frontend interface changes

### Menu and general interface improvements
- New vehicle selection and setup wizard
- New header widgets
- Interface updated to be mobile friendly, and more aesthetic
- Various sidebar improvements
- Now open by default when the window is wide enough
- Pages are now ordered alphabetically, without ambiguous sections
- There's now a configurable vehicle icon, name, mDNS address, and logo
- It's now possible to download the latest BlueOS system logs, and reset settings
- Pirate mode is now toggled via the happy-robot/pirate icon in the header
- Network, ethernet, and wifi configuration are improved
- A hotspot network is now created for devices to connect to if a normal connection does not occur on boot
- Raspberry Pi 4s can now connect via USB OTG ethernet
- Network interface priority ordering is now possible
- DNS name server configuration is now available

### Accessibility and Styling
- Added basic [theme support](../advanced-usage/#theme-styling) for changing the interface colours

### Device/Hardware Support
- Added basic detection and management support for:
- the Cube Orange flight controller
- the Pixhawk 6X flight controller
- non-Navigator Linux boards
- New amd64 Docker images, for running BlueOS on development machines
- Improved development support for devices without a default `pi` user, and that should have some services disabled on startup

## Feature Comparison

BlueOS has almost all features from the old Companion, and several hotly-requested new ones too!

| Feature | BlueOS 1.1 | BlueOS 1.0 | Companion |
|---|---|---|---|
| [**Onboard Computer**](@/hardware/required/onboard-computer/index.md) | &rarr;<br>+ Other Linux-based SBCs images to come | + Raspberry Pi 3B / 3B+ / 4B supported<br>+ You can install from scratch using the installation script in any Linux computer. (Modifications may be necessary for your hardware configuration) | Raspberry Pi 3B required |
| [**Flight Controller**](@/hardware/required/flight-controller/index.md) | &rarr;<br>+ Cube Orange<br>+ Pixhawk 6X | &rarr;<br>+ Navigator<br>+ Pixhawk 4 | Pixhawk |
| [**Video Streams**](../advanced-usage/#video-streams) | &rarr;<br>+ MPEG and YUYV encodings<br><br>+ Supports Raspberry Pi cameras | + Easily manage *multiple streams*<br><br>+ UDP and RTSP outputs<br><br>- Audio streaming<br>*not yet supported* ([#990](https://github.com/bluerobotics/BlueOS-docker/issues/990)) | Select a *single* camera to stream over UDP<br>+ Supports Raspberry Pi cameras ([except HQ Camera](https://discuss.bluerobotics.com/t/raspberry-pi-camera-stream-not-working/11976/18))<br>+ Supports a single audio stream over UDP |
| [**WIFI Manager**](../advanced-usage/#indicators-and-network-configuration) | &rarr;<br>+ Vehicle provides local hotspot | &rarr;<br>+ Connect to and manage *multiple networks*, like a cellphone or computer WIFI manager | Connect to a *single network*<br>+ Visible and hidden networks supported |
| [**Ethernet Manager**](../advanced-usage/#indicators-and-network-configuration) | &rarr; | *Multiple* static IPs *and* DHCP configuration | *Single* DHCP (client or server) *or* static network |
| [**Notification system**](../advanced-usage/#header-indicators-and-blueos-configuration) | &rarr; | Notifications about issues, new releases, and the status of your system. | - |
| [**File Browser**](../advanced-usage/#file-browser) | &rarr; | &rarr;<br>+ *Edit files* from the browser | Download and upload files |
| [**Log Browser**](../advanced-usage/#log-browser) | &rarr; | *Download and manage logs* from the browser<br>+ *Visualise and analyse logs* from the built in viewer | Ssh/terminal only |
| [**MAVLink inspector**](../advanced-usage/#mavlink-inspector) | &rarr;<br>+ MAVLink2REST "watcher" option for individual message types | See and *inspect MAVLink messages in real time* from the browser | See latest MAVLink messages via MAVLink2REST |
| [**Network test**](../advanced-usage/#network-test) | &rarr;<br>+ Graph during speed tests | &rarr;<br>+ Check *real time latency* | Check upload and download speed from the Control Station Computer to the vehicle's Onboard Computer |
| [**System information**](../advanced-usage/#system-information) | &rarr; | Provides all the necessary information about the hardware, operating system, running processes, CPU, memory, disk, network usage and status | Basic usage statistics, list of connected devices |
| [**Web Terminal**](../advanced-usage/#terminal) | &rarr; | &rarr;<br>+ Uses a tmux session | Access Linux terminal from the browser |
| [**Autopilot Firmware**](../advanced-usage/#autopilot-firmware) | &rarr; | &rarr;<br>+ *General ArduPilot* downloads;<br>+ *select vehicle* to update | `stable`, `beta`, and `devel` releases, custom uploads, and restore default parameters;<br>*ArduSub-only* downloads |
| [**Autopilot Parameters**](../advanced-usage/#autopilot-parameters) | View, search, and edit vehicle parameters | - | - |
| [**Version Chooser**](../advanced-usage/#blueos-version) | &rarr; | + *Easily update/downgrade* between BlueOS versions, including locally stored<br>+ Includes *stable, beta, and master* releases*<br>+ Available even if main site failing | Update Companion to *latest stable only* |
| [**MAVLink Endpoints**](../advanced-usage/#mavlink-endpoints) | &rarr; | &rarr; | Create and manage UDP, TCP, and serial MAVLink endpoints |
| [**NMEA support**](../advanced-usage/#nmea-injector) | &rarr; | &rarr; | Conveys GPS positions to the vehicle |
| [**Ping Sonar Devices**](../advanced-usage/#ping-sonar-devices) | &rarr;<br>+ Detects Ping360 in ethernet configuration<br>+ Ping Sonar distance estimates can be *sent via MAVLink* | &rarr;<br>+ Devices can be *hot-plugged*<br><br>- *No MAVLink pipeline* | Ping Sonar and Ping360 can connect with [Ping Viewer](https://docs.bluerobotics.com/ping-viewer/)<br>+ Ping Sonar distance estimates can be *sent via MAVLink* |
| [**Serial Bridges**](../advanced-usage/#serial-bridges) | &rarr; | &rarr; | Create and manage bridges between serial and UDP/TCP endpoints |
| **Water Linked** | DVL-A50 and UGPS extensions available through Extensions Manager | [DVL-A50 package available](https://discuss.bluerobotics.com/t/external-integrations-extensions/10912#integration-example-dvl-5) | Supports UGPS and DVL-A50 |
| [**Extensions**](../extensions/) | Custom extensions available through Extensions Manager | &rarr; | Custom functionality requires forking the codebase |
| Feature | BlueOS 1.2 | BlueOS 1.1 | BlueOS 1.0 | Companion |
|---|---|---|---|---|
| [**Onboard Computer**](@/hardware/required/onboard-computer/index.md) | &rarr; | &rarr;<br>+ Other Linux-based SBCs images to come | + Raspberry Pi 3B / 3B+ / 4B supported<br>+ You can install from scratch using the installation script in any Linux computer. (Modifications may be necessary for your hardware configuration) | Raspberry Pi 3B required |
| [**Flight Controller**](@/hardware/required/flight-controller/index.md) | &rarr; | &rarr;<br>+ Cube Orange<br>+ Pixhawk 6X | &rarr;<br>+ Navigator<br>+ Pixhawk 4 | Pixhawk |
| [**Video Streams**](../advanced-usage/#video-streams) | &rarr; | &rarr;<br>+ MPEG and YUYV encodings<br><br>+ Supports Raspberry Pi cameras | + Easily manage *multiple streams*<br><br>+ UDP and RTSP outputs<br><br>- Audio streaming<br>*not yet supported* ([#990](https://github.com/bluerobotics/BlueOS-docker/issues/990)) | Select a *single* camera to stream over UDP<br>+ Supports Raspberry Pi cameras ([except HQ Camera](https://discuss.bluerobotics.com/t/raspberry-pi-camera-stream-not-working/11976/18))<br>+ Supports a single audio stream over UDP |
| [**WIFI Manager**](../advanced-usage/#indicators-and-network-configuration) | &rarr; | &rarr;<br>+ Vehicle provides local hotspot | &rarr;<br>+ Connect to and manage *multiple networks*, like a cellphone or computer WIFI manager | Connect to a *single network*<br>+ Visible and hidden networks supported |
| [**Ethernet Manager**](../advanced-usage/#indicators-and-network-configuration) | &rarr; | &rarr; | *Multiple* static IPs *and* DHCP configuration | *Single* DHCP (client or server) *or* static network |
| [**Notification system**](../advanced-usage/#header-indicators-and-blueos-configuration) | &rarr; | &rarr; | Notifications about issues, new releases, and the status of your system. | - |
| [**File Browser**](../advanced-usage/#file-browser) | &rarr;<br>+ Folder for extension data and configuration files | &rarr; | &rarr;<br>+ *Edit files* from the browser | Download and upload files |
| [**Log Browser**](../advanced-usage/#log-browser) | &rarr; | &rarr; | *Download and manage logs* from the browser<br>+ *Visualise and analyse logs* from the built in viewer | Ssh/terminal only |
| [**MAVLink inspector**](../advanced-usage/#mavlink-inspector) | &rarr; | &rarr;<br>+ MAVLink2REST "watcher" option for individual message types | See and *inspect MAVLink messages in real time* from the browser | See latest MAVLink messages via MAVLink2REST |
| [**Network test**](../advanced-usage/#network-test) | &rarr; | &rarr;<br>+ Graph during speed tests | &rarr;<br>+ Check *real time latency* | Check upload and download speed from the Control Station Computer to the vehicle's Onboard Computer |
| [**System information**](../advanced-usage/#system-information) | &rarr; | &rarr; | Provides all the necessary information about the hardware, operating system, running processes, CPU, memory, disk, network usage and status | Basic usage statistics, list of connected devices |
| [**Web Terminal**](../advanced-usage/#terminal) | &rarr;<br>+ Support for non-`pi` users | &rarr; | &rarr;<br>+ Uses a tmux session | Access Linux terminal from the browser |
| [**Autopilot Firmware**](../advanced-usage/#autopilot-firmware) | &rarr; | &rarr; | &rarr;<br>+ *General ArduPilot* downloads;<br>+ *select vehicle* to update | `stable`, `beta`, and `devel` releases, custom uploads, and restore default parameters;<br>*ArduSub-only* downloads |
| [**Autopilot Parameters**](../advanced-usage/#autopilot-parameters) | &rarr; | View, search, and edit vehicle parameters | - | - |
| [**Version Chooser**](../advanced-usage/#blueos-version) | &rarr; | &rarr;<br>+ Bootstrap updates | + *Easily update/downgrade* between BlueOS versions, including locally stored<br>+ Includes *stable, beta, and master* releases*<br>+ Available even if main site failing | Update Companion to *latest stable only* |
| [**MAVLink Endpoints**](../advanced-usage/#mavlink-endpoints) | &rarr; | &rarr; | &rarr; | Create and manage UDP, TCP, and serial MAVLink endpoints |
| [**NMEA support**](../advanced-usage/#nmea-injector) | &rarr; | &rarr; | &rarr; | Conveys GPS positions to the vehicle |
| [**Ping Sonar Devices**](../advanced-usage/#ping-sonar-devices) | &rarr; | &rarr;<br>+ Detects Ping360 in ethernet configuration<br>+ Ping Sonar distance estimates can be *sent via MAVLink* | &rarr;<br>+ Devices can be *hot-plugged*<br><br>- *No MAVLink pipeline* | Ping Sonar and Ping360 can connect with [Ping Viewer](https://docs.bluerobotics.com/ping-viewer/)<br>+ Ping Sonar distance estimates can be *sent via MAVLink* |
| [**Serial Bridges**](../advanced-usage/#serial-bridges) | &rarr; | &rarr; | &rarr; | Create and manage bridges between serial and UDP/TCP endpoints |
| **Water Linked** | &rarr; | DVL-A50 and UGPS extensions available through Extensions Manager | [DVL-A50 package available](https://discuss.bluerobotics.com/t/external-integrations-extensions/10912#integration-example-dvl-5) | Supports UGPS and DVL-A50 |
| [**Extensions**](../extensions/) | &rarr; | Custom extensions available through Extensions Manager | &rarr; | Custom functionality requires forking the codebase |

## Release Types
BlueOS has multiple release types, to allow choosing your preferred balance between access to the latest fixes and improvements, and stability of the software. The three release types are:
Expand Down

0 comments on commit 94b3e20

Please sign in to comment.