Skip to content

Service system and webapp

Rafael Araujo Lehmkuhl edited this page May 3, 2022 · 10 revisions

BlueOS

Core services:

The Core container has several services intended to support main companion computer features from ground:

    • Allow management of autopilot, such as adding/removing endpoints
    • Allow connection between serial interfaces and UDP endpoints
    • Allows ethernet management through a web interface
    • Helper service that allows abstraction over linux commands (internal use only)
    • Allow access to a web file manager
    • Provides live system information
    • Provides live mavlink information
    • Extensible cross-platform camera server that provides a RTSP service for sharing video stream and a MAVLink camera protocol compatible API to configure ground control stations (E.g: QGroundControl).
    • Allow forwarding NMEA messages from UDP and TCP sources to Mavlink, through custom endpoints;
    • Currently supports the following NMEA devices:
      • GPS:
        • Following GPS sentence types are currently supported: "GGA", "RMC", "GLL" and "GNS";
        • All sentence types include "lat" and "lon" fields;
        • GGA also includes "hdop", "alt" and "satellites_visible";
        • GNS also includes "hdop", and "satellites_visible";
    • Allow Ping information via REST API
    • Provides a web terminal for system control
    • Allows control of running version of companion-core
    • Allows wifi management through a web interface

BlueOS service specification

Standard used to register any service running inside BlueOS. The running service should provide an HTTP server with a specific path and content requirement, or communicate with the helper service to register itself through the REST API.

HTTP server method [Preferential method]

The endpoint should provide the path /blueos_service_metadata.json, where it should contains the same payload described in the service description metadata.

BlueOS will find the service automatically and fetch the metadata file to register the service automatically.

REST API method

The service can also register itself with the helper service through the REST API, where it can send the service metadata to /register_service.

Service description metadata

A structure that describes the necessary information for a service to be used inside BlueOS infrastructure.

{
    "name": "Service name",
    "description": "A small description about the service",
    "icon": "SVG icon relative URL path",
    "company": "Company Name",
    "version": "1.2.0", // Semantic Versioning format
    "webpage": "Webpage URL",
    "api": "API URL endpoint (if available)",
}

WebApp

BlueOS WebApp is the web user interface for the companion computer as a PWA application.

Capabilities

  • Manage the ROV and Companion computer system
  • Able to register any service that follows the Blueos service specification
  • Support service specific widgets [WIP]
  • Support to user made widgets [WIP]