This documentation page is for detailed information about the services and pages
in the BlueOS web interface. For a higher level list and direct comparison of
features see the Overview instead.
Pirate Mode
The default BlueOS interface is simplified, and shows only the major tools that
most people are likely to find useful. Full functionality is available via
"Pirate Mode", which can be enabled from the settings in the sidebar.
Note that Pirate Mode is advanced/development mode, and should be used with care.
This documentation by default shows the full functionality interface, to provide
an overview of all functionality instead of a limited subset, but if you're only
interested in the basic functionality you can click the button below:
Any pages that are extended by (or only available in) Pirate Mode are shown in
dark mode, and described with grey text.
Main
Based On: blueos-frontend | Port:80
When you first open BlueOS, you'll see a window like the following:
It's also possible to manually reset only the camera settings by deleting
the file /root/.config/mavlink-camera-manager/settings.json via
the file browser or the terminal, or starting
the camera manager inside the tmux session with the --reset flag
After the initial startup, settings are saved and persistent across reboots
Further changes require manually re-configuring streams
New streams need to be manually added
The stream endpoint should be set to udp://<surface-IP>:<port>
e.g. udp://192.168.2.1:5601
The streams are also presented via MAVLink, so QGroundControl (>=v4.1.7) can
toggle between them without needing to know specific ports.
Camera settings (brightness, exposure, etc) that are exposed via UVC can be
configured with the "Configure" button
Switching streams in QGroundControl while recording stops the current recording
If you are regularly switching streams it may be worth doing a screen recording
either instead of or as well as recording the base video
QGroundControl does not yet support displaying multiple streams simultaneously
The endpoint manager allows managing the serial and UDP MAVLink endpoints and
routing configurations.
Endpoints intended for internal BlueOS operations are configured to the
loopback IP 127.0.0.1
Server endpoints for external use are configured to the localhost IP (e.g.
0.0.0.0; 192.168.2.2 may also work)
Client endpoints for external use are configured to the external IP (e.g.
192.168.2.1)
Client endpoints seem to operate more stably than server ones
Unprotected endpoints can be removed or disabled:
Modifying an endpoint is not possible - a new one must be created instead
e.g. some users may wish to set up a UDP endpoint for connecting to with
Pymavlink from the surface:
Tools
System Information
Based On: System Information | Port:6030
The system information page provides useful information about the processes,
network configuration, and computer system BlueOS is running on. It can be
useful for troubleshooting, and finding if a particular program is using
excessive resources.
The Network Test page measures real-time latency between BlueOS and the surface
computer, and allows checking the upload and download speeds between them.
The Version Chooser is a major component in the robust backbone of BlueOS. It
runs independently from the main interface, and is monitored such that if it
somehow fails a backup version will be run in its place.
The simplified interface provides an easy way to update to the latest version
that is as stable or more stable than the currently installed version
The full interface supports easily changing forwards and backwards between
versions
Previously-installed versions are kept locally on the device, unless
manually deleted, which provides an easy route for roll-backs to undesired
changes (e.g. during development)
Allows loading remote versions (including from custom docker-hub repositories)
Allows manually uploading docker images from the surface computer
If an undetected failure somehow occurs in BlueOS (or if a broken version gets
installed) it's possible to easily roll back to a working version from
on the device
manual upload, or
downloaded from the internet
If necessary, the underlying service can be accessed directly
e.g. http://blueos.local:8081
Available Services
The Available Services page provides developer access to the underlying http
server interfaces of the services upon which BlueOS is based. Each service is
listed with
The Bridges page allows creating high performance links between serial devices
that are connected to the onboard computer, to a UDP port.
NOTE: UDP-based systems do not guarantee packet delivery or sequential alignment
Bridges to the Control Station Computer
will generally use the localhost IP 0.0.0.0, which creates a UDP server that waits
for a UDP client on the control computer to connect to it
other IP addesses create a UDP client on the onboard computer, which expects the
serial device to initiate communication before the connected UDP server (on the
control computer) can respond
Bridges to internal programs can use the loopback IP 127.0.0.1, which creates a
local server
The File Browser allows viewing, editing, downloading, and uploading BlueOS files
NOTE: There is
a known issue
where the File Browser does not load properly with certain browsers. It is
fixed in the 1.1.x beta releases, but in the interim for current stable
releases it's possible to access the underlying service at
http://blueos.local:7777