diff --git a/manifest.json b/manifest.json index 21ecbc3..d02e41f 100644 --- a/manifest.json +++ b/manifest.json @@ -1,707 +1,619 @@ [ { - "identifier": "clydemcqueen.wl_ugps_external", - "name": "WL UGPS External", - "website": "https://github.com/clydemcqueen/wl_ugps_external_extension", - "docker": "clydemcqueen/wl_ugps_external_extension", - "description": "Send GNSS compass data to WL UGPS", - "extension_logo": "https://raw.githubusercontent.com/bluerobotics/BlueOS-Extensions-Repository/master/repos/clydemcqueen/wl_ugps_external/extension_logo.png", - "company_logo": "https://raw.githubusercontent.com/bluerobotics/BlueOS-Extensions-Repository/master/repos/clydemcqueen/company_logo.png", + "identifier": "williangalvani.example5", + "name": "Example 5", + "website": "https://github.com/Williangalvani/BlueOS-examples/", + "docker": "williangalvani/blueos-example5", + "description": "GPIO PWM Control", + "extension_logo": "https://raw.githubusercontent.com/bluerobotics/BlueOS-Extensions-Repository/master/repos/williangalvani/example5/extension_logo.png", + "company_logo": "https://raw.githubusercontent.com/bluerobotics/BlueOS-Extensions-Repository/master/repos/williangalvani/company_logo.png", "versions": { - "v1.1.0-beta.1": { - "identifier": "37d18a9b-b24e-5389-914c-13f4e04a48d4", - "type": "device-integration", - "website": "https://github.com/clydemcqueen/wl_ugps_external_extension", + "v1.0.1": { + "identifier": "aee11d25-295e-5fc7-8d75-c8cffa35172d", + "type": "example", + "website": "https://github.com/Williangalvani/BlueOS-examples/", "images": [ { - "expanded_size": 53131138, + "expanded_size": 70567870, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:cd6803b56aeea2f0db28c744b3ca92a5325c7f27d367d3d348ec585926bfd3f1" + "digest": "sha256:e87fa5aae685c797296502f1623cfd032ea3d6c9f7d8e241a382537e0fa0ca85" } ], "authors": [ { - "name": "Clyde McQueen", - "email": "clyde@mcqueen.net" + "name": "Willian Galvani", + "email": "willian@bluerobotics.com" } ], "filter_tags": [ - "positioning", - "navigation", - "short-baseline" + "interaction" ], "extra_links": {}, - "tag": "v1.1.0-beta.1", + "tag": "v1.0.1", "docs": null, - "readme": "

WL UGPS External

\n

Send NMEA position information (GGA and HDT) to the Water Linked UGPS API.

\n

Typical Configuration

\n

Add a satellite compass to the topside vessel and connect it to the ROV Ethernet network.

\n\n

Install this extension in BlueOS:

\n\n

After a few moments you should see the WL UGPS External entry in the sidebar.\nClick on it to see a very simple UI.

\n

Arguments

\n\n

You can provide custom arguments in BlueOS. For example, you can enable logging using these arguments:\n~~~\n{\n \"Env\": [\n \"UGPS_HOST=http://192.168.2.94\",\n \"SEND_RATE=2.0\",\n \"POLL_RATE=5.0\",\n \"LOG_NMEA=--log_nmea\"\n ]\n}\n~~~

\n

Logs can be found in BlueOS:

\n\n

Caveats

\n\n

Releases

\n

v1.1.0-beta.1

\n\n

v1.0.3

\n\n

v1.0.2

\n\n

v1.0.1

\n\n

v1.0.0

\n\n

Developer notes

\n

See wl_ugps_external for testing tools.

", - "support": "https://github.com/clydemcqueen/wl_ugps_external_extension/issues", + "readme": "

Gpio Control Example

\n

This uses python to serve a static HTML page using Vue and Vuetify controlling a gpio using a python backend\nto build:

\n

Enable qemu static support with a docker

\n

docker buildx create --name multiarch --driver docker-container --use\ndocker run --rm --privileged multiarch/qemu-user-static --reset -p yes

\n

Then build it:

\n

docker buildx build --platform linux/amd64,linux/arm/v7 . -t YOURDOCKERHUBUSER/YOURDOCKERHUBREPO:latest --output type=registry

\n

Then pull it in blueos:

\n

red-pill\nsudo docker run -d --net=host --name=blueos-example4 --restart=unless-stopped YOURDOCKERHUBUSER/YOURDOCKERHUBREPO:latest

", + "support": "https://github.com/Williangalvani/BlueOS-examples/", "requirements": "core >= 1.1", "company": { "about": "", - "name": "Discovery Bay", - "email": "clyde@mcqueen.net" + "name": "Blue Robotics", + "email": "support@bluerobotics.com" }, "permissions": { "ExposedPorts": { - "8080/tcp": {}, - "6200:6200/udp": {} + "80/tcp": {} }, "HostConfig": { + "Privileged": true, "Binds": [ - "/usr/blueos/extensions/wl_ugps_external:/data:rw" + "/root/.config:/root/.config" ], "PortBindings": { - "6200/udp": [ - { - "HostPort": "6200" - } - ], - "8080/tcp": [ + "80/tcp": [ { "HostPort": "" } ] } - }, - "Env": [ - "UGPS_HOST=http://192.168.2.94", - "SEND_RATE=2.0", - "POLL_RATE=0.0", - "LOG_NMEA=" - ] + } } }, - "v1.0.3": { - "identifier": "f62c3d5a-716d-5f9d-89f4-1f44cb29fcd2", - "type": "device-integration", - "website": "https://github.com/clydemcqueen/wl_ugps_external_extension", + "v1.0.0": { + "identifier": "1f032679-8e6f-5837-9743-39ff07613067", + "type": "other", + "website": "https://github.com/Williangalvani/BlueOS-examples/", "images": [ { - "expanded_size": 45696701, + "expanded_size": 66852214, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:2adff8e939478262b0cc0b35ee93d79f6a6d876902a10350e3ce93d7c7403dfe" + "digest": "sha256:71889390624dbe62a6f63094ca917da18182d55235ea7804c72209b995587970" } ], "authors": [ { - "name": "Clyde McQueen", - "email": "clyde@mcqueen.net" + "name": "Willian Galvani", + "email": "willian@bluerobotics.com" } ], - "filter_tags": [ - "positioning", - "navigation", - "short-baseline" - ], + "filter_tags": [], "extra_links": {}, - "tag": "v1.0.3", + "tag": "v1.0.0", "docs": null, - "readme": "

WL UGPS External

\n

Send NMEA position information (GGA and HDT) to the Water Linked UGPS API.

\n

Typical Configuration

\n

Add a satellite compass to the topside vessel and connect it to the ROV Ethernet network.\n* It should have a static IP address on the 192.168.2.X subnet\n* It should send GGA and HDT messages via UDP to BlueOS at 192.168.2.2:6200

\n

Install this extension in BlueOS:\n* Select Extensions in the sidebar\n* Click on WL UGPS External\n* Click Install

\n

After a few moments you should see the WL UGPS External entry in the sidebar.\nClick on it to see a very simple UI.

\n

Arguments

\n\n

Caveats

\n\n

Releases

\n

v1.0.3

\n\n

v1.0.2

\n\n

v1.0.1

\n\n

v1.0.0

\n\n

Developer notes

\n

See https://github.com/clydemcqueen/wl_ugps_external for testing tools.

", - "support": "https://github.com/clydemcqueen/wl_ugps_external_extension/issues", - "requirements": "core >= 1.1", + "readme": "

Gpio Control Example

\n

This uses python to serve a static HTML page using Vue and Vuetify controlling a gpio using a python backend\nto build:

\n

Enable qemu static support with a docker

\n

docker buildx create --name multiarch --driver docker-container --use\ndocker run --rm --privileged multiarch/qemu-user-static --reset -p yes

\n

Then build it:

\n

docker buildx build --platform linux/amd64,linux/arm/v7 . -t YOURDOCKERHUBUSER/YOURDOCKERHUBREPO:latest --output type=registry

\n

Then pull it in blueos:

\n

red-pill\nsudo docker run -d --net=host --name=blueos-example4 --restart=unless-stopped YOURDOCKERHUBUSER/YOURDOCKERHUBREPO:latest

", + "support": "https://github.com/Williangalvani/BlueOS-examples/", + "requirements": "core >= 1", "company": { "about": "", - "name": "Discovery Bay", - "email": "clyde@mcqueen.net" + "name": "Blue Robotics", + "email": "support@bluerobotics.com" }, "permissions": { "ExposedPorts": { - "8080/tcp": {}, - "6200:6200/udp": {} + "80/tcp": {} }, "HostConfig": { + "Privileged": true, + "Binds": [ + "/root/.config:/root/.config" + ], "PortBindings": { - "6200/udp": [ - { - "HostPort": "6200" - } - ], - "8080/tcp": [ + "80/tcp": [ { "HostPort": "" } ] } - }, - "Env": [ - "UGPS_HOST=http://192.168.2.94", - "SEND_RATE=2.0" - ] + } + } + } + }, + "repo_info": { + "downloads": 4046, + "last_updated": "2023-05-02T11:19:18.145903Z", + "date_registered": "2022-10-12T18:15:01.290841Z" + } + }, + { + "identifier": "williangalvani.usbip", + "name": "USBIP", + "website": "https://github.com/Williangalvani/blueos-usbip", + "docker": "williangalvani/blueos-extension-usbip", + "description": "USBIP extension for extending USB over IP", + "extension_logo": "https://raw.githubusercontent.com/bluerobotics/BlueOS-Extensions-Repository/master/repos/williangalvani/usbip/extension_logo.png", + "company_logo": "https://raw.githubusercontent.com/bluerobotics/BlueOS-Extensions-Repository/master/repos/williangalvani/company_logo.png", + "versions": { + "v1.0.3": { + "identifier": "c9ab154d-70e1-5174-a91c-d8b0e84bcbc2", + "type": "device-integration", + "website": "https://github.com/Williangalvani/BlueOS-UsbIp", + "images": [ + { + "expanded_size": 46300711, + "platform": { + "architecture": "arm", + "variant": "v7", + "os": "linux" + }, + "digest": "sha256:77fa8d6dc7271ea52c9b220744212c7d2c501b44053c99cf57242f915abee571" + } + ], + "authors": [ + { + "name": "Willian Galvani", + "email": "willian@bluerobotics.com" + } + ], + "filter_tags": [ + "communication" + ], + "extra_links": {}, + "tag": "v1.0.3", + "docs": null, + "readme": "

USB/IP extension

\n

This exposes usb devices via IP, which can be used in another client device

\n

Client

\n

Linux:

\n

```

\n

load modules

\n

sudo modprobe usbip-core\nsudo modprobe vhci-hcd

\n

list devices

\n

sudo usbip list --remote blueos.local

\n

connect to device with bus 1-1.3

\n

sudo usbip attach --remote blueos.local --busid 1-1.3

\n

```

\n

Windows

\n

Download the 3.6 dev release from https://github.com/cezanne/usbip-win and follow the \"Client\" instructions there.\nThe new \"ude\" driver seemed to work for me.

\n

Changelog:

\n", + "support": "https://github.com/Williangalvani/BlueOS-UsbIp", + "requirements": "core >= 1.1", + "company": { + "about": "", + "name": "Blue Robotics", + "email": "support@bluerobotics.com" + }, + "permissions": { + "NetworkMode": "host" } }, "v1.0.2": { - "identifier": "feba0cfb-e968-5301-b11e-90b6071bd828", + "identifier": "0ba7d41c-99ac-5b5b-a8a5-0571103fef2b", "type": "device-integration", - "website": "https://github.com/clydemcqueen/wl_ugps_external_extension", + "website": "https://github.com/Williangalvani/BlueOS-UsbIp", "images": [ { - "expanded_size": 45696653, + "expanded_size": 46300676, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:54e2275c5e9ea7aef7df80d3ace428f9ef287e9cd249ca6a70c22108a0ebfe9f" + "digest": "sha256:71bd46130f38fea1c6d6c7d91104100c760a5f254689c4f329fa1731b136990d" } ], "authors": [ { - "name": "Clyde McQueen", - "email": "clyde@mcqueen.net" + "name": "Willian Galvani", + "email": "willian@bluerobotics.com" } ], "filter_tags": [ - "positioning", - "navigation", - "short-baseline" + "communication" ], "extra_links": {}, "tag": "v1.0.2", "docs": null, - "readme": "

WL UGPS External

\n

Send NMEA position information (GGA and HDT) to the Water Linked UGPS API.

\n

Typical Configuration

\n

Add a satellite compass to the topside vessel and connect it to the ROV Ethernet network.\n* It should have a static IP address on the 192.168.2.X subnet\n* It should send GGA and HDT messages via UDP to BlueOS at 192.168.2.2:6200

\n

Install this extension in BlueOS:\n* Select Extensions in the sidebar\n* Click on WL UGPS External\n* Click Install

\n

After a few moments you should see the WL UGPS External entry in the sidebar.\nClick on it to see a very simple UI.

\n

Arguments

\n\n

Caveats

\n\n

Releases

\n

v1.0.2

\n\n

v1.0.1

\n\n

v1.0.0

\n\n

Developer notes

\n

See https://github.com/clydemcqueen/wl_ugps_external for testing tools.

", - "support": "https://github.com/clydemcqueen/wl_ugps_external_extension/issues", + "readme": "

USB/IP extension

\n

This exposes usb devices via IP, which can be used in another client device

\n

Client

\n

Linux:

\n

```

\n

load modules

\n

sudo modprobe usbip-core\nsudo modprobe vhci-hcd

\n

list devices

\n

sudo usbip list --remote blueos.local

\n

connect to device with bus 1-1.3

\n

sudo usbip attach --remote blueos.local --busid 1-1.3

\n

```

\n

Windows

\n

Download the 3.6 dev release from https://github.com/cezanne/usbip-win and follow the \"Client\" instructions there.\nThe new \"ude\" driver seemed to work for me.

\n

Changelog:

\n", + "support": "https://github.com/Williangalvani/BlueOS-UsbIp", "requirements": "core >= 1.1", "company": { "about": "", - "name": "Discovery Bay Robotics", - "email": "clyde@mcqueen.net" + "name": "Blue Robotics", + "email": "support@bluerobotics.com" }, "permissions": { - "ExposedPorts": { - "8080/tcp": {}, - "6200:6200/udp": {} - }, - "HostConfig": { - "PortBindings": { - "6200/udp": [ - { - "HostPort": "6200" - } - ], - "8080/tcp": [ - { - "HostPort": "" - } - ] - } - }, - "Env": [ - "UGPS_HOST=http://192.168.2.94", - "SEND_RATE=2.0" - ] + "NetworkMode": "host" } }, "v1.0.1": { - "identifier": "32a5efd4-9364-5021-a677-9c6371f90e29", + "identifier": "21940e28-c01a-5daa-836d-4d56fdbcf7d9", "type": "device-integration", - "website": "https://github.com/clydemcqueen/wl_ugps_external_extension", + "website": "https://github.com/Williangalvani/BlueOS-UsbIp", "images": [ { - "expanded_size": 44578751, + "expanded_size": 60355857, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:e0fab510697080cd9c972e1eeb987371fc49f11d64384574a1c80fd72da5c3a6" + "digest": "sha256:6b4d81bb368a7899b106009a3d2a717144c471dde7dfaa22e61aa4512b987887" } ], "authors": [ { - "name": "Clyde McQueen", - "email": "clyde@mcqueen.net" + "name": "Willian Galvani", + "email": "willian@bluerobotics.com" } ], "filter_tags": [ - "positioning", - "navigation", - "short-baseline" + "communication" ], "extra_links": {}, "tag": "v1.0.1", "docs": null, - "readme": "

WL UGPS External

\n

Send NMEA position information (GGA and HDT) to the Water Linked UGPS API.

\n

Typical Configuration

\n

Add a satellite compass to the topside vessel and connect it to the ROV Ethernet network.\n* It should have a static IP address on the 192.168.2.X subnet\n* It should send GGA and HDT messages via UDP to BlueOS at 192.168.2.2:6200

\n

Install this extension in BlueOS:\n* Select Extensions in the sidebar\n* Click on WL UGPS External\n* Click Install

\n

After a few moments you should see the WL UGPS External entry in the sidebar.\nClick on it to see a very simple UI.

\n

Arguments

\n\n

Caveats

\n\n

Releases

\n

v1.0.1

\n\n

v1.0.0

\n", - "support": "https://github.com/clydemcqueen/wl_ugps_external_extension/issues", + "readme": "

USB/IP extension

\n

This exposes usb devices via IP, which can be used in another client device

\n

To use, first pull it in blueos:

\n

red-pill\nsudo docker run -d --net=host --name=blueos-example1 --restart=unless-stopped williangalvani/blueos-extension-usbip:latest

\n

Client

\n

Linux:

\n

```

\n

load modules

\n

sudo modprobe usbip-core\nsudo modprobe vhci-hcd

\n

list devices

\n

sudo usbip list --remote blueos.local

\n

connect to device with bus 1-1.3

\n

sudo usbip attach --remote blueos.local --busid 1-1.3

\n

```

\n

Windows

\n

Download the 3.6 dev release from https://github.com/cezanne/usbip-win and follow the \"Client\" instructions there.\nThe new \"ude\" driver seemed to work for me.

", + "support": "https://github.com/Williangalvani/BlueOS-UsbIp", "requirements": "core >= 1.1", "company": { "about": "", - "name": "Discovery Bay Robotics", - "email": "clyde@mcqueen.net" + "name": "Blue Robotics", + "email": "support@bluerobotics.com" }, "permissions": { - "ExposedPorts": { - "8080/tcp": {}, - "6200:6200/udp": {} - }, - "HostConfig": { - "PortBindings": { - "6200/udp": [ - { - "HostPort": "6200" - } - ], - "8080/tcp": [ - { - "HostPort": "" - } - ] - } - }, - "Env": [ - "UGPS_HOST=http://192.168.2.94", - "SEND_RATE=2.0" - ] + "NetworkMode": "host" + } + }, + "v1.0.0": { + "identifier": "66cc7571-3976-551f-9ccc-0159c33fab96", + "type": "other", + "website": "https://github.com/Williangalvani/BlueOS-UsbIp", + "images": [ + { + "expanded_size": 60460083, + "platform": { + "architecture": "arm", + "variant": "v7", + "os": "linux" + }, + "digest": "sha256:2721824e101a3d6853d17b1a743020d7048eb55677c4243293366ec4930ff7fa" + } + ], + "authors": [ + { + "name": "Willian Galvani", + "email": "willian@bluerobotics.com" + } + ], + "filter_tags": [], + "extra_links": {}, + "tag": "v1.0.0", + "docs": null, + "readme": "

USB/IP extension

\n

This exposes usb devices via IP, which can be used in another client device

\n

Client

\n

Linux:

\n

```

\n

load modules

\n

sudo modprobe usbip-core\nsudo modprobe vhci-hcd

\n

list devices

\n

sudo usbip list --remote blueos.local

\n

connect to device with bus 1-1.3

\n

sudo usbip attach --remote blueos.local --busid 1-1.3

\n

```

\n

Windows

\n

Download the 3.6 dev release from https://github.com/cezanne/usbip-win and follow the \"Client\" instructions there.\nThe new \"ude\" driver seemed to work for me.

", + "support": "https://github.com/Williangalvani/BlueOS-UsbIp", + "requirements": "core > 1", + "company": { + "about": "", + "name": "Blue Robotics", + "email": "support@bluerobotics.com" + }, + "permissions": { + "NetworkMode": "host" } } }, "repo_info": { - "downloads": 5115, - "last_updated": "2024-11-26T18:07:23.087771Z", - "date_registered": "2023-09-06T15:06:24.58823Z" + "downloads": 41570, + "last_updated": "2024-03-04T19:11:38.707894Z", + "date_registered": "2022-09-07T02:56:18.778263Z" } }, { - "identifier": "clydemcqueen.surftrak_fixit", - "name": "Surftrak Fixit", - "website": "https://github.com/clydemcqueen/surftrak_fixit", - "docker": "clydemcqueen/surftrak_fixit", - "description": "Find and fix common Surftrak problems", - "extension_logo": "https://raw.githubusercontent.com/bluerobotics/BlueOS-Extensions-Repository/master/repos/clydemcqueen/surftrak_fixit/extension_logo.png", - "company_logo": "https://raw.githubusercontent.com/bluerobotics/BlueOS-Extensions-Repository/master/repos/clydemcqueen/company_logo.png", + "identifier": "williangalvani.plc-diagnostics", + "name": "Tether Diagnostics", + "website": "https://github.com/Williangalvani/plc-extension", + "docker": "williangalvani/blueos-plc", + "description": "Diagnose issues with your tether", + "extension_logo": "https://raw.githubusercontent.com/bluerobotics/BlueOS-Extensions-Repository/master/repos/williangalvani/plc-diagnostics/extension_logo.png", + "company_logo": "https://raw.githubusercontent.com/bluerobotics/BlueOS-Extensions-Repository/master/repos/williangalvani/company_logo.png", "versions": { - "v1.0.0-beta.2": { - "identifier": "4ecee07e-b90d-5881-b8a1-2e8c8cb188ce", + "v1.0.3": { + "identifier": "32e55347-6b8e-55c2-aaac-f885a82e34ec", "type": "tool", - "website": "https://github.com/clydemcqueen/surftrak_fixit", + "website": null, "images": [ { - "expanded_size": 331368598, + "expanded_size": 87971421, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:7974dbabcfbe92c237617c431b666fc24732cf9fd3c5423f069ec752c20aa827" + "digest": "sha256:35957a0d632117c9a77a100f263b2422a8334a77304f27ee2357d3881394ee67" } ], "authors": [ { - "name": "Clyde McQueen", - "email": "clyde@mcqueen.net" + "name": "Willian Galvani", + "email": "wiliangalvani@gmail.com" } ], - "filter_tags": [ - "surftrak" - ], - "extra_links": {}, - "tag": "v1.0.0-beta.2", + "filter_tags": [], + "extra_links": { + "source": "https://github.com/williangalvani/plc-extension" + }, + "tag": "v1.0.3", "docs": null, - "readme": "

Surftrak Fixit

\n

Surftrak is a new flight mode in ArduSub 4.5.

\n

Surftrak Fixit is a BlueOS extension that can diagnose and fix Surftrak problems.

\n

Install

\n\n

Releases

\n

v1.0.0-beta.2

\n\n

v1.0.0-beta.1

\n\n

Developer Notes

\n

Install a custom version

\n\n

Extension Identifier\n~~~\nclydemcqueen.surftrak_fixit\n~~~

\n

Extension Name\n~~~\nsurftrak_fixit\n~~~

\n

Docker image\n~~~\nclydemcqueen/surftrak_fixit\n~~~

\n

Docker tag\n~~~\nv1.0.0-beta.2\n~~~

\n

Custom settings\n~~~\n{\n \"ExposedPorts\": {\n \"8080/tcp\": {}\n },\n \"HostConfig\": {\n \"ExtraHosts\": [\"host.docker.internal:host-gateway\"],\n \"PortBindings\": {\n \"8080/tcp\": [\n {\n \"HostPort\": \"\"\n }\n ]\n }\n },\n \"Env\": [\"MAVLINK2REST_URL=http://host.docker.internal/mavlink2rest/v1\"]\n}\n~~~

\n

Testing with ArduSub SITL

\n

Surftrak Fixit looks only at MAVLink messages, so it can be tested against ArduSub SITL and\nmavlink2rest.

\n

See these instructions to set up ArduSub SITL.

\n

Terminal 1: run SITL\n~~~\ncd $ARDUPILOT_HOME\nmkdir run_sim\ncd run_sim\nnice ../Tools/autotest/sim_vehicle.py -G -D -l 47.6302,-122.3982391,-0.1,270 -v Sub -f vectored --out \"127.0.0.1:14551\"\n~~~

\n

Terminal 2: run mavlink2rest in a docker container\n~~~\ndocker build --build-arg TARGET_ARCH=x86_64-unknown-linux-musl -t mavlink/mavlink2rest .\ndocker run --rm --init -p 8088:8088 -p 14550:14550/udp --name mavlink2rest mavlink/mavlink2rest\n~~~

\n

Terminal 3: run Surftrak Fixit\n~~~\n./main.py --mavlink2rest_url http://localhost:8088/v1\n~~~

\n

Terminal 4: emulate a MAVLink rangefinder\n~~~\n./fake_rf.py --ping\n~~~

\n

You can see the extension UI at http://localhost:8080/

", - "support": "https://github.com/clydemcqueen/surftrak_fixit/issues", + "readme": "

PLC Diagnostics

\n

Having thether issues? This extension will help you better understand your link's bandwidth and connection quality

", + "support": null, "requirements": "core >= 1.1", "company": { "about": "", - "name": "Discovery Bay", - "email": "clyde@mcqueen.net" + "name": "Willian Galvani", + "email": "wiliangalvani@gmail.com" }, "permissions": { - "ExposedPorts": { - "8080/tcp": {} - }, + "NetworkMode": "host", "HostConfig": { - "ExtraHosts": [ - "host.docker.internal:host-gateway" - ], - "PortBindings": { - "8080/tcp": [ - { - "HostPort": "" - } - ] - } - }, - "Env": [ - "MAVLINK2REST_URL=http://host.docker.internal/mavlink2rest/v1" - ] + "Privileged": true, + "NetworkMode": "host" + } } }, - "v1.0.0-beta.1": { - "identifier": "284c6155-4ffc-50aa-98dd-c7eae198eac5", + "v1.0.2": { + "identifier": "03921d1c-df43-5492-8887-44e9616df379", "type": "tool", - "website": "https://github.com/clydemcqueen/surftrak_fixit", + "website": null, "images": [ { - "expanded_size": 313220600, + "expanded_size": 87971421, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:9cf0c02c92ef84c1964878116dd349fb923c0e220abb7a0a86583e6672213b73" + "digest": "sha256:35957a0d632117c9a77a100f263b2422a8334a77304f27ee2357d3881394ee67" } ], "authors": [ { - "name": "Clyde McQueen", - "email": "clyde@mcqueen.net" + "name": "Willian Galvani", + "email": "wiliangalvani@gmail.com" } ], - "filter_tags": [ - "surftrak" - ], - "extra_links": {}, - "tag": "v1.0.0-beta.1", + "filter_tags": [], + "extra_links": { + "source": "https://github.com/williangalvani/plc-extension" + }, + "tag": "v1.0.2", "docs": null, - "readme": "

Surftrak Fixit

\n

Surftrak is a new flight mode in ArduSub 4.5.

\n

Surftrak Fixit is a BlueOS\nextension that can diagnose and suggest fixes for some common Surftrak problems.

\n

Install

\n

To install this extension in BlueOS:\n* Select Extensions in the sidebar, then the Installed tab\n* Click on the + icon in the lower right\n* Enter the following information, then click Create

\n

Extension Identifier\n~~~\nclydemcqueen.surftrak_fixit\n~~~

\n

Extension Name\n~~~\nsurftrak_fixit\n~~~

\n

Docker image\n~~~\nclydemcqueen/surftrak_fixit\n~~~

\n

Docker tag\n~~~\nv1.0.0-beta.1\n~~~

\n

Custom settings\n~~~\n{\n \"ExposedPorts\": {\n \"8080/tcp\": {}\n },\n \"HostConfig\": {\n \"ExtraHosts\": [\"host.docker.internal:host-gateway\"],\n \"PortBindings\": {\n \"8080/tcp\": [\n {\n \"HostPort\": \"\"\n }\n ]\n }\n },\n \"Env\": [\"MAVLINK2REST_URL=http://host.docker.internal/mavlink2rest/v1\"]\n}\n~~~

", - "support": "https://github.com/clydemcqueen/surftrak_fixit/issues", + "readme": "

QuickStart-Python-Extension

\n

A quick-start repository for building and uploading a Python-focused BlueOS Extension.

\n

Intent

\n

This is intended to showcase:\n1. How to make a basic Extension with a simple web interface, using Python and some HTML\n2. The difference between code running on the frontend vs the backend\n - Backend code has access to vehicle hardware and other service APIs, as well as the filesystem (for things like persistent logging)\n - Frontend code is in charge of the display, and runs in the browser interface (instead of on the vehicle's onboard computer)

\n

Usage

\n

Forking the repository will try to automatically package and upload your Extension variant to a Docker registry (Docker Hub), using the built in GitHub Action.\nThis process makes use of some GitHub Variables that you can configure for your fork.

\n

It is also possible to manually run the Action (via the Actions tab), or to build and deploy the extension manually on your local machine (although this requires installing the relevant build tools and cloning the repository onto your computer).

\n
\n

\ud83d\udca1Note: If you are forking this repository as a starting point for creating your own BlueOS Extension, it is recommended to enable Issues in your fork (via the Settings tab at the top), so that users and co-developers of your Extension can raise problems and make suggestions.

\n
", + "support": null, "requirements": "core >= 1.1", "company": { "about": "", - "name": "Discovery Bay", - "email": "clyde@mcqueen.net" + "name": "Willian Galvani", + "email": "wiliangalvani@gmail.com" }, "permissions": { - "ExposedPorts": { - "8080/tcp": {} - }, + "NetworkMode": "host", "HostConfig": { - "ExtraHosts": [ - "host.docker.internal:host-gateway" - ], - "PortBindings": { - "8080/tcp": [ - { - "HostPort": "" - } - ] - } - }, - "Env": [ - "MAVLINK2REST_URL=http://host.docker.internal/mavlink2rest/v1" - ] + "Privileged": true, + "NetworkMode": "host" + } } - } - }, - "repo_info": { - "downloads": 1333, - "last_updated": "2024-06-23T16:01:49.148109Z", - "date_registered": "2024-06-08T17:31:16.936347Z" - } - }, - { - "identifier": "sonardyne.navsync_pro", - "name": "Sonardyne: NavSync Pro", - "website": "https://github.com/Sonardyne/blueos-sprint-nav-extension", - "docker": "sonardyne/blueos-sprint-nav-extension", - "description": "An extension that uses SPRINT-Nav HNav data to provide position updates to the BlueROV. This allows both vehicle tracking and position hold.", - "extension_logo": "https://raw.githubusercontent.com/bluerobotics/BlueOS-Extensions-Repository/master/repos/sonardyne/navsync_pro/extension_logo.png", - "company_logo": "https://raw.githubusercontent.com/bluerobotics/BlueOS-Extensions-Repository/master/repos/sonardyne/company_logo.png", - "versions": { - "v1.0.7": { - "identifier": "175c6cca-c4c6-5a27-a878-96f8458d701d", - "type": "device-integration", - "website": "https://www.sonardyne.com/", + }, + "1.0.1": { + "identifier": "37303bf5-4438-56b4-b632-704649aa3a6e", + "type": "example", + "website": null, "images": [ { - "expanded_size": 546383017, + "expanded_size": 87951124, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:cc87e6a71d3763c656d122985e2137687917d8a9ed7395b1fe846183c079f319" + "digest": "sha256:b189e8966331dbaacbd9d21c5583f0bb0c4faf00c9f8c3fd2d6fce2e6b330117" } ], "authors": [ { - "name": "Sonardyne International Limited", - "email": "support@sonardyne.com" + "name": "$AUTHOR", + "email": "$AUTHOR_EMAIL" } ], - "filter_tags": [ - "positioning", - "navigation", - "dvl", - "ins", - "position-hold" - ], - "extra_links": {}, - "tag": "v1.0.7", + "filter_tags": [], + "extra_links": { + "source": "https://github.com/$OWNER/$REPO" + }, + "tag": "1.0.1", "docs": null, - "readme": "

BlueOS Extension Information

", - "support": "https://www.sonardyne.com/support-centre/", - "requirements": null, + "readme": "No README available", + "support": null, + "requirements": "core >= 1.1", "company": { "about": "", - "name": "Sonardyne International Limited", - "email": "support@sonardyne.com" + "name": "$MAINTAINER", + "email": "$MAINTAINER_EMAIL" }, "permissions": { "NetworkMode": "host", - "ExposedPorts": { - "9091/tcp": {} - }, "HostConfig": { "Privileged": true, - "NetworkMode": "host", - "Binds": [ - "/dev:/dev", - "/usr/blueos/extensions/data-logger:/webui/logs" - ], - "PortBindings": { - "9091/tcp": [ - { - "HostPort": "" - } - ] - } + "NetworkMode": "host" } } }, - "v1.0.6": { - "identifier": "99679a4d-e956-5010-af0c-ee08127e7c27", - "type": "device-integration", - "website": "https://www.sonardyne.com/", + "1.0.0": { + "identifier": "ccd0b581-f1c8-567d-be09-86de4cd774fc", + "type": "example", + "website": null, "images": [ { - "expanded_size": 543935068, + "expanded_size": 87950576, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:09406e970a2bc715b3e383b396fd4b03dd6b083247168fe666b3a48b8a9ea472" + "digest": "sha256:3b74784581bf1a4c0c922944c69571e3434cf2de40db7d0bbd7fa461e7e4bdc9" } ], "authors": [ { - "name": "Sonardyne International Limited", - "email": "support@sonardyne.com" + "name": "$AUTHOR", + "email": "$AUTHOR_EMAIL" } ], - "filter_tags": [ - "positioning", - "navigation", - "dvl", - "ins", - "position-hold" - ], - "extra_links": {}, - "tag": "v1.0.6", + "filter_tags": [], + "extra_links": { + "source": "https://github.com/$OWNER/$REPO" + }, + "tag": "1.0.0", "docs": null, - "readme": "

BlueOS Extension Information

", - "support": "https://www.sonardyne.com/support-centre/", - "requirements": null, + "readme": "No README available", + "support": null, + "requirements": "core >= 1.1", "company": { "about": "", - "name": "Sonardyne International Limited", - "email": "support@sonardyne.com" + "name": "$MAINTAINER", + "email": "$MAINTAINER_EMAIL" }, "permissions": { "NetworkMode": "host", - "ExposedPorts": { - "9091/tcp": {} - }, "HostConfig": { "Privileged": true, - "NetworkMode": "host", - "Binds": [ - "/dev:/dev", - "/usr/blueos/extensions/data-logger:/webui/logs" - ], - "PortBindings": { - "9091/tcp": [ - { - "HostPort": "" - } - ] - } + "NetworkMode": "host" } } }, - "v1.0.5": { - "identifier": "26d37fab-0109-500f-8e05-94c18f55246f", - "type": "device-integration", - "website": "https://www.sonardyne.com/", + "v1.0.0": { + "identifier": "f7449486-ec50-5b8d-b582-a80f342e296c", + "type": "example", + "website": null, "images": [ { - "expanded_size": 543876880, + "expanded_size": 87950576, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:f19c446693d4f581c9c4f419572a90cdaa3ab53efd62c31e44c3227ca2168d12" + "digest": "sha256:5fb4fbd32e76af6d853b972e4ea682e226147b7f4247f9f60c80860a8d963666" } ], "authors": [ { - "name": "Sonardyne International Limited", - "email": "support@sonardyne.com" + "name": "$AUTHOR", + "email": "$AUTHOR_EMAIL" } ], - "filter_tags": [ - "positioning", - "navigation", - "dvl", - "ins", - "position-hold" - ], - "extra_links": {}, - "tag": "v1.0.5", + "filter_tags": [], + "extra_links": { + "source": "https://github.com/$OWNER/$REPO" + }, + "tag": "v1.0.0", "docs": null, - "readme": "

BlueOS Extension Information

", - "support": "https://www.sonardyne.com/support-centre/", - "requirements": null, + "readme": "No README available", + "support": null, + "requirements": "core >= 1.1", "company": { "about": "", - "name": "Sonardyne International Limited", - "email": "support@sonardyne.com" + "name": "$MAINTAINER", + "email": "$MAINTAINER_EMAIL" }, "permissions": { "NetworkMode": "host", - "ExposedPorts": { - "9091/tcp": {} - }, "HostConfig": { "Privileged": true, - "NetworkMode": "host", - "Binds": [ - "/dev:/dev", - "/usr/blueos/extensions/data-logger:/webui/logs" - ], - "PortBindings": { - "9091/tcp": [ - { - "HostPort": "" - } - ] - } + "NetworkMode": "host" } } }, - "v1.0.4": { - "identifier": "27832fd3-fbf3-5858-a829-02e11b852d90", - "type": "device-integration", - "website": "https://www.sonardyne.com/", + "0.0.5": { + "identifier": "a9ba0b33-ba29-506b-8425-ac3e621b2181", + "type": "tool", + "website": null, "images": [ { - "expanded_size": 543868925, + "expanded_size": 87971421, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:208e65a722024e93143a194a3002af2e488b0e3b74a5d2051a2db832ac7e1cb3" + "digest": "sha256:35957a0d632117c9a77a100f263b2422a8334a77304f27ee2357d3881394ee67" } ], "authors": [ { - "name": "Sonardyne International Limited", - "email": "support@sonardyne.com" + "name": "Willian Galvani", + "email": "wiliangalvani@gmail.com" } ], - "filter_tags": [ - "positioning", - "navigation", - "dvl", - "ins", - "position-hold" - ], - "extra_links": {}, - "tag": "v1.0.4", + "filter_tags": [], + "extra_links": { + "source": "https://github.com/williangalvani/plc-extension" + }, + "tag": "0.0.5", "docs": null, - "readme": "

BlueOS Extension Information

", - "support": "https://www.sonardyne.com/support-centre/", - "requirements": null, + "readme": "No README available", + "support": null, + "requirements": "core >= 1.1", "company": { "about": "", - "name": "Sonardyne International Limited", - "email": "support@sonardyne.com" + "name": "Willian Galvani", + "email": "wiliangalvani@gmail.com" }, "permissions": { "NetworkMode": "host", - "ExposedPorts": { - "9091/tcp": {} - }, "HostConfig": { "Privileged": true, - "NetworkMode": "host", - "Binds": [ - "/dev:/dev", - "/usr/blueos/extensions/data-logger:/webui/logs" - ], - "PortBindings": { - "9091/tcp": [ - { - "HostPort": "" - } - ] - } + "NetworkMode": "host" } } - }, - "v1.0.3": { - "identifier": "511895ee-ff95-5882-8098-b19fd1934774", - "type": "device-integration", - "website": "https://www.sonardyne.com/", + } + }, + "repo_info": { + "downloads": 4904, + "last_updated": "2024-06-11T00:39:37.973367Z", + "date_registered": "2024-05-23T03:16:55.205832Z" + } + }, + { + "identifier": "williangalvani.example2", + "name": "Example 2", + "website": "https://github.com/Williangalvani/BlueOS-examples/", + "docker": "williangalvani/blueos-example2", + "description": "Static HTML plus MAVLink data", + "extension_logo": "https://raw.githubusercontent.com/bluerobotics/BlueOS-Extensions-Repository/master/repos/williangalvani/example2/extension_logo.png", + "company_logo": "https://raw.githubusercontent.com/bluerobotics/BlueOS-Extensions-Repository/master/repos/williangalvani/company_logo.png", + "versions": { + "v1.0.1": { + "identifier": "39888870-c652-52f0-9ead-0640b21526bc", + "type": "example", + "website": "https://github.com/Williangalvani/BlueOS-examples/", "images": [ { - "expanded_size": 543867774, + "expanded_size": 41255976, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:78beaabd0a70d25ef5bc85157e1122421ef9f8c421f9869096e9b73e8e57eedd" + "digest": "sha256:0b5b5c4341d46ae89398405d5eef61fed9ed6f86923451ff0135c855f53a247a" } ], "authors": [ { - "name": "Sonardyne International Limited", - "email": "support@sonardyne.com" + "name": "Willian Galvani", + "email": "willian@bluerobotics.com" } ], - "filter_tags": [ - "positioning", - "navigation", - "dvl", - "ins", - "position-hold" - ], + "filter_tags": [], "extra_links": {}, - "tag": "v1.0.3", + "tag": "v1.0.1", "docs": null, - "readme": "

BlueOS Extension Information

", - "support": "https://www.sonardyne.com/support-centre/", - "requirements": null, + "readme": "

Static Webpage extension

\n

This uses python to serve a basic static HTML page as an extension. This example includes MAVLink2Rest communication via http

\n

to build:

\n

Enable qemu static support with a docker

\n

docker buildx create --name multiarch --driver docker-container --use\ndocker run --rm --privileged multiarch/qemu-user-static --reset -p yes

\n

Then build it:

\n

docker buildx build --platform linux/amd64,linux/arm/v7 . -t YOURDOCKERHUBUSER/YOURDOCKERHUBREPO:latest --output type=registry

", + "support": "https://github.com/Williangalvani/BlueOS-examples/", + "requirements": "core >= 1.1", "company": { "about": "", - "name": "Sonardyne International Limited", - "email": "support@sonardyne.com" + "name": "Blue Robotics", + "email": "support@bluerobotics.com" }, "permissions": { - "NetworkMode": "host", "ExposedPorts": { - "9091/tcp": {} + "80/tcp": {} }, "HostConfig": { - "Privileged": true, - "NetworkMode": "host", - "Binds": [ - "/dev:/dev", - "/usr/blueos/extensions/data-logger:/webui/logs" - ], "PortBindings": { - "9091/tcp": [ + "80/tcp": [ { "HostPort": "" } @@ -710,59 +622,46 @@ } } }, - "v1.0.2": { - "identifier": "87b57f15-256e-5a94-a475-d561c83dfdc4", - "type": "device-integration", - "website": "https://www.sonardyne.com/", + "v1.0.0": { + "identifier": "76dbd22b-c7a4-566e-9342-5871c558bd88", + "type": "other", + "website": "https://github.com/Williangalvani/BlueOS-examples/", "images": [ { - "expanded_size": 543881443, + "expanded_size": 41443780, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:41d260710ff0cdbb41f2ff5469518b8870823a069578601b9a9b0bbec475721b" + "digest": "sha256:213f70bf5f5252d251419b90fa83845496cb18068c7c6d20399292614d5b0061" } ], "authors": [ { - "name": "Sonardyne International Limited", - "email": "support@sonardyne.com" + "name": "Willian Galvani", + "email": "willian@bluerobotics.com" } ], - "filter_tags": [ - "positioning", - "navigation", - "dvl", - "ins", - "position-hold" - ], + "filter_tags": [], "extra_links": {}, - "tag": "v1.0.2", + "tag": "v1.0.0", "docs": null, - "readme": "No README available", - "support": "https://www.sonardyne.com/support-centre/", - "requirements": null, + "readme": "

Static Webpage extension

\n

This uses python to serve a basic static HTML page as an extension. This example includes MAVLink2Rest communication via http

\n

to build:

\n

Enable qemu static support with a docker

\n

docker buildx create --name multiarch --driver docker-container --use\ndocker run --rm --privileged multiarch/qemu-user-static --reset -p yes

\n

Then build it:

\n

docker buildx build --platform linux/amd64,linux/arm/v7 . -t YOURDOCKERHUBUSER/YOURDOCKERHUBREPO:latest --output type=registry

", + "support": "https://github.com/Williangalvani/BlueOS-examples/", + "requirements": "core >= 1", "company": { "about": "", - "name": "Sonardyne International Limited", - "email": "support@sonardyne.com" - }, + "name": "Blue Robotics", + "email": "support@bluerobotics.com" + }, "permissions": { - "NetworkMode": "host", "ExposedPorts": { - "9091/tcp": {} + "80/tcp": {} }, "HostConfig": { - "Privileged": true, - "NetworkMode": "host", - "Binds": [ - "/dev:/dev", - "/usr/blueos/extensions/data-logger:/webui/logs" - ], "PortBindings": { - "9091/tcp": [ + "80/tcp": [ { "HostPort": "" } @@ -770,60 +669,63 @@ } } } - }, + } + }, + "repo_info": { + "downloads": 85244, + "last_updated": "2023-05-02T10:58:10.407395Z", + "date_registered": "2022-09-19T20:25:33.201236Z" + } + }, + { + "identifier": "williangalvani.example3", + "name": "Example 3", + "website": "https://github.com/Williangalvani/BlueOS-examples/", + "docker": "williangalvani/blueos-example3", + "description": "Basic Vuetify example", + "extension_logo": "https://raw.githubusercontent.com/bluerobotics/BlueOS-Extensions-Repository/master/repos/williangalvani/example3/extension_logo.png", + "company_logo": "https://raw.githubusercontent.com/bluerobotics/BlueOS-Extensions-Repository/master/repos/williangalvani/company_logo.png", + "versions": { "v1.0.1": { - "identifier": "783baccc-23cf-51ed-b6eb-d682fa3b85ab", - "type": "device-integration", - "website": "https://www.sonardyne.com/", + "identifier": "57e56b68-d5bf-563e-bf9b-faf46092a91d", + "type": "example", + "website": "https://github.com/Williangalvani/BlueOS-examples/", "images": [ { - "expanded_size": 543877988, + "expanded_size": 43257229, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:c363af047b2c531181ed31c09b9d5b5a971b1e16400a5bac1691de08d265064b" + "digest": "sha256:2ea73258ad7653091c56983f2b3484d3239ac1a13009cb5f8f337ba509162b29" } ], "authors": [ { - "name": "Sonardyne International Limited", - "email": "support@sonardyne.com" + "name": "Willian Galvani", + "email": "willian@bluerobotics.com" } ], - "filter_tags": [ - "positioning", - "navigation", - "dvl", - "ins", - "position-hold" - ], + "filter_tags": [], "extra_links": {}, "tag": "v1.0.1", "docs": null, - "readme": "No README available", - "support": "https://www.sonardyne.com/support-centre/", - "requirements": null, + "readme": "

Static Webpage extension

\n

This uses python to serve a static HTML page using Vue and Vuetify as an extension.

\n

to build:

\n

Enable qemu static support with a docker

\n

docker buildx create --name multiarch --driver docker-container --use\ndocker run --rm --privileged multiarch/qemu-user-static --reset -p yes

\n

Then build it:

\n

docker buildx build --platform linux/amd64,linux/arm/v7 . -t YOURDOCKERHUBUSER/YOURDOCKERHUBREPO:latest --output type=registry

", + "support": "https://github.com/Williangalvani/BlueOS-examples/", + "requirements": "core >= 1.1", "company": { "about": "", - "name": "Sonardyne International Limited", - "email": "support@sonardyne.com" + "name": "Blue Robotics", + "email": "support@bluerobotics.com" }, "permissions": { - "NetworkMode": "host", "ExposedPorts": { - "9091/tcp": {} + "80/tcp": {} }, "HostConfig": { - "Privileged": true, - "NetworkMode": "host", - "Binds": [ - "/dev:/dev", - "/usr/blueos/extensions/data-logger:/webui/logs" - ], "PortBindings": { - "9091/tcp": [ + "80/tcp": [ { "HostPort": "" } @@ -833,366 +735,368 @@ } }, "v1.0.0": { - "identifier": "ccd83cc9-03fe-5b6e-986c-aa768c4e3224", - "type": "device-integration", - "website": "https://www.sonardyne.com/", + "identifier": "e27b2b4c-10f0-5277-9045-0f1482e0a2bc", + "type": "other", + "website": "https://github.com/Williangalvani/BlueOS-examples/", "images": [ { - "expanded_size": 543897122, + "expanded_size": 43445037, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:4eca4dbd894c55822394eebc93cf01070157dc57d1e5b754cd01562eb42efb4a" + "digest": "sha256:abed773725bdd4e3facaf6884dde2bad1a25f479d3b3697af3480a2549da3cd1" } ], "authors": [ { - "name": "Sonardyne International Limited", - "email": "support@sonardyne.com" + "name": "Willian Galvani", + "email": "willian@bluerobotics.com" } ], - "filter_tags": [ - "positioning", - "navigation", - "dvl", - "ins", - "position-hold" - ], + "filter_tags": [], "extra_links": {}, "tag": "v1.0.0", "docs": null, - "readme": "No README available", - "support": "https://www.sonardyne.com/support-centre/", - "requirements": null, + "readme": "

Static Webpage extension

\n

This uses python to serve a static HTML page using Vue and Vuetify as an extension.

\n

to build:

\n

Enable qemu static support with a docker

\n

docker buildx create --name multiarch --driver docker-container --use\ndocker run --rm --privileged multiarch/qemu-user-static --reset -p yes

\n

Then build it:

\n

docker buildx build --platform linux/amd64,linux/arm/v7 . -t YOURDOCKERHUBUSER/YOURDOCKERHUBREPO:latest --output type=registry

", + "support": "https://github.com/Williangalvani/BlueOS-examples/", + "requirements": "core >= 1", "company": { "about": "", - "name": "Sonardyne International Limited", - "email": "support@sonardyne.com" + "name": "Blue Robotics", + "email": "support@bluerobotics.com" }, "permissions": { - "NetworkMode": "host", "ExposedPorts": { - "9091/tcp": {} + "80/tcp": {} }, "HostConfig": { - "Privileged": true, - "NetworkMode": "host", - "Binds": [ - "/dev:/dev", - "/usr/blueos/extensions/data-logger:/webui/logs" - ] + "PortBindings": { + "80/tcp": [ + { + "HostPort": "" + } + ] + } } } } }, "repo_info": { - "downloads": 2917, - "last_updated": "2024-11-18T15:39:45.438984Z", - "date_registered": "2024-09-16T13:23:53.464854Z" + "downloads": 88279, + "last_updated": "2023-05-02T10:58:42.102603Z", + "date_registered": "2022-09-19T20:24:45.273155Z" } }, { - "identifier": "patrickelectric.starlink-position", - "name": "Starlink Position", - "website": "https://github.com/patrickelectric/blueos-starlink-position", - "docker": "patrickelectric/blueos-starlink-position", - "description": "Vehicle position system using starlink antenna", - "extension_logo": "https://raw.githubusercontent.com/bluerobotics/BlueOS-Extensions-Repository/master/repos/patrickelectric/starlink-position/extension_logo.png", - "company_logo": "https://raw.githubusercontent.com/bluerobotics/BlueOS-Extensions-Repository/master/repos/patrickelectric/company_logo.png", + "identifier": "williangalvani.example4", + "name": "Example 4", + "website": "https://github.com/Williangalvani/BlueOS-examples/", + "docker": "williangalvani/blueos-example4", + "description": "Vuetify + Persistent backend", + "extension_logo": "https://raw.githubusercontent.com/bluerobotics/BlueOS-Extensions-Repository/master/repos/williangalvani/example4/extension_logo.png", + "company_logo": "https://raw.githubusercontent.com/bluerobotics/BlueOS-Extensions-Repository/master/repos/williangalvani/company_logo.png", "versions": { - "1.0.4": { - "identifier": "e618f598-9beb-5290-ad93-0f553fb283a4", - "type": "tool", - "website": null, + "v1.0.1": { + "identifier": "8971d6d2-1339-51d2-b015-bbf05e4f3df9", + "type": "example", + "website": "https://github.com/Williangalvani/BlueOS-examples/", "images": [ { - "expanded_size": 179259870, + "expanded_size": 45092996, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:2cf81a7225d871ae40dc6a4d01ac0f7c61b80927f1cdc4faf78c4932602f8a07" + "digest": "sha256:361210e8893ca847ed186885daf3cf6f06c6a455182e7bb90b8622dbe7945c91" } ], "authors": [ { - "name": "Patrick J. Pereira", - "email": "patrickelectric@gmail.com" + "name": "Willian Galvani", + "email": "willian@bluerobotics.com" } ], "filter_tags": [], - "extra_links": { - "source": "https://github.com/patrickelectric/blueos-starlink-position" - }, - "tag": "1.0.4", + "extra_links": {}, + "tag": "v1.0.1", "docs": null, - "readme": "

StarLink Position

\n

A simple extension that publishes MAVLink data based on starlink position information

", - "support": null, + "readme": "

Static Webpage extension

\n

This uses python to serve a static HTML page using Vue and Vuetify as an extension. The static page in this example talks to a simple python backend.

\n

to build:

\n

Enable qemu static support with a docker

\n

docker buildx create --name multiarch --driver docker-container --use\ndocker run --rm --privileged multiarch/qemu-user-static --reset -p yes

\n

Then build it:

\n

docker buildx build --platform linux/amd64,linux/arm/v7 . -t YOURDOCKERHUBUSER/YOURDOCKERHUBREPO:latest --output type=registry

", + "support": "https://github.com/Williangalvani/BlueOS-examples/", "requirements": "core >= 1.1", "company": { "about": "", - "name": "Patrick J. Pereira", - "email": "patrickelectric@gmail.com" + "name": "Blue Robotics", + "email": "support@bluerobotics.com" }, "permissions": { - "NetworkMode": "host", + "ExposedPorts": { + "80/tcp": {} + }, "HostConfig": { - "Privileged": true, - "NetworkMode": "host" + "Binds": [ + "/root/.config:/root/.config" + ], + "PortBindings": { + "80/tcp": [ + { + "HostPort": "" + } + ] + } } } }, - "1.0.3": { - "identifier": "216de75c-6672-58b6-984c-dd2cd87a2ac0", - "type": "tool", - "website": null, + "v1.0.0": { + "identifier": "f9b3fffd-adc2-5d3a-aa12-3c4bdc3220f4", + "type": "other", + "website": "https://github.com/Williangalvani/BlueOS-examples/", "images": [ { - "expanded_size": 179259887, + "expanded_size": 45276851, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:e1c600ba4baeb1f4c765a349e3145304c61b74da64b906c772a6c551c66b7339" + "digest": "sha256:78487700a46fb9c5c27c1738690fdd3e02d9f3a52416355b040ea405b773e4e5" } ], "authors": [ { - "name": "Patrick J. Pereira", - "email": "patrickelectric@gmail.com" + "name": "Willian Galvani", + "email": "willian@bluerobotics.com" } ], "filter_tags": [], - "extra_links": { - "source": "https://github.com/patrickelectric/blueos-starlink-position" - }, - "tag": "1.0.3", + "extra_links": {}, + "tag": "v1.0.0", "docs": null, - "readme": "

StarLink Position

\n

A simple extension that publishes MAVLink data based on starlink position information

", - "support": null, - "requirements": "core >= 1.1", + "readme": "

Static Webpage extension

\n

This uses python to serve a static HTML page using Vue and Vuetify as an extension. The static page in this example talks to a simple python backend.

\n

to build:

\n

Enable qemu static support with a docker

\n

docker buildx create --name multiarch --driver docker-container --use\ndocker run --rm --privileged multiarch/qemu-user-static --reset -p yes

\n

Then build it:

\n

docker buildx build --platform linux/amd64,linux/arm/v7 . -t YOURDOCKERHUBUSER/YOURDOCKERHUBREPO:latest --output type=registry

", + "support": "https://github.com/Williangalvani/BlueOS-examples/", + "requirements": "core >= 1", "company": { "about": "", - "name": "Patrick J. Pereira", - "email": "patrickelectric@gmail.com" + "name": "Blue Robotics", + "email": "support@bluerobotics.com" }, "permissions": { - "NetworkMode": "host", + "ExposedPorts": { + "80/tcp": {} + }, "HostConfig": { - "Privileged": true, - "NetworkMode": "host" + "Binds": [ + "/root/.config:/root/.config" + ], + "PortBindings": { + "80/tcp": [ + { + "HostPort": "" + } + ] + } } } - }, - "1.0.2": { - "identifier": "b656e161-26b7-5938-99eb-f382d42d397d", - "type": "tool", - "website": null, - "images": [ - { - "expanded_size": 179258766, - "platform": { - "architecture": "arm", - "variant": "v7", - "os": "linux" - }, - "digest": "sha256:de0e17ea0fb9d9c25771472346c90d1343cf1181cd69cb2a0efd6c7bb9c1fbb4" - } - ], - "authors": [ - { - "name": "Patrick J. Pereira", - "email": "patrickelectric@gmail.com" - } - ], - "filter_tags": [], - "extra_links": { - "source": "https://github.com/patrickelectric/blueos-starlink-position" - }, - "tag": "1.0.2", - "docs": null, - "readme": "

StarLink Position

\n

A simple extension that publishes MAVLink data based on starlink position information

", - "support": null, - "requirements": "core >= 1.1", - "company": { - "about": "", - "name": "Patrick J. Pereira", - "email": "patrickelectric@gmail.com" - }, - "permissions": { - "NetworkMode": "host", - "HostConfig": { - "Privileged": true, - "NetworkMode": "host" - } - } - }, - "1.0.1": { - "identifier": "ff877584-305d-5b29-9307-c00188512ce5", - "type": "tool", - "website": null, + } + }, + "repo_info": { + "downloads": 82980, + "last_updated": "2023-05-02T10:59:21.807562Z", + "date_registered": "2022-09-19T20:13:46.735725Z" + } + }, + { + "identifier": "williangalvani.example1", + "name": "Example 1", + "website": "https://github.com/Williangalvani/BlueOS-examples/", + "docker": "williangalvani/blueos-example1", + "description": "Hello World", + "extension_logo": "https://raw.githubusercontent.com/bluerobotics/BlueOS-Extensions-Repository/master/repos/williangalvani/example1/extension_logo.png", + "company_logo": "https://raw.githubusercontent.com/bluerobotics/BlueOS-Extensions-Repository/master/repos/williangalvani/company_logo.png", + "versions": { + "v1.0.1": { + "identifier": "bf421443-99eb-57ac-8de4-190157c0c680", + "type": "example", + "website": "https://github.com/Williangalvani/BlueOS-examples/", "images": [ { - "expanded_size": 179259372, + "expanded_size": 46802192, + "platform": { + "architecture": "amd64", + "variant": null, + "os": "linux" + }, + "digest": "sha256:34d8e4576adb26c8db7a338b595cf01857da21c3a67f14796f0e503b4f0edfbd" + }, + { + "expanded_size": 41255503, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:337ece68c11acf4aacc92ea495dc217dfe00aed1b66e238f47a99d9ba1a6335d" + "digest": "sha256:268ee547e87fc7b4c8c6dbd360a1e8a1c10228164e2458d9220b6a06155a8951" } ], "authors": [ { - "name": "Patrick J. Pereira", - "email": "patrickelectric@gmail.com" + "name": "Willian Galvani", + "email": "willian@bluerobotics.com" } ], "filter_tags": [], - "extra_links": { - "source": "https://github.com/patrickelectric/blueos-starlink-position" - }, - "tag": "1.0.1", + "extra_links": {}, + "tag": "v1.0.1", "docs": null, - "readme": "

StarLink Position

\n

A simple extension that publishes MAVLink data based on starlink position information

", - "support": null, + "readme": "

Static Webpage extension

\n

This uses python to serve a basic static HTML page as an extension.

\n

to build:

\n

Enable qemu static support with a docker

\n

docker buildx create --name multiarch --driver docker-container --use\ndocker run --rm --privileged multiarch/qemu-user-static --reset -p yes

\n

Then build it:

\n

docker buildx build --platform linux/amd64,linux/arm/v7 . -t YOURDOCKERHUBUSER/YOURDOCKERHUBREPO:latest --output type=registry

", + "support": "https://github.com/Williangalvani/BlueOS-examples/", "requirements": "core >= 1.1", "company": { "about": "", - "name": "Patrick J. Pereira", - "email": "patrickelectric@gmail.com" + "name": "Blue Robotics", + "email": "support@bluerobotics.com" }, "permissions": { - "NetworkMode": "host", + "ExposedPorts": { + "80/tcp": {} + }, "HostConfig": { - "Privileged": true, - "NetworkMode": "host" + "PortBindings": { + "80/tcp": [ + { + "HostPort": "" + } + ] + } } } }, - "1.0.0": { - "identifier": "cfe9ae2f-4a0c-54ed-8dfe-9547e0535456", - "type": "tool", - "website": null, + "v1.0.0": { + "identifier": "f01e3e89-4f93-5c96-8b6a-5526699bebb1", + "type": "other", + "website": "https://github.com/Williangalvani/BlueOS-examples/", "images": [ { - "expanded_size": 52783426, + "expanded_size": 41443310, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:40a37f0c67fa7affdfb68a3e25e272105d6c1fd13d33a1bba63fd3198d6e94b8" + "digest": "sha256:95166dcc031a759856cc1527021093c83261c5a32a18f2329e48e0f3e2c419c0" } ], "authors": [ { - "name": "Patrick J. Pereira", - "email": "patrickelectric@gmail.com" + "name": "Willian Galvani", + "email": "willian@bluerobotics.com" } ], "filter_tags": [], - "extra_links": { - "source": "https://github.com/patrickelectric/blueos-starlink-position" - }, - "tag": "1.0.0", + "extra_links": {}, + "tag": "v1.0.0", "docs": null, - "readme": "No README available", - "support": null, - "requirements": "core >= 1.1", + "readme": "

Static Webpage extension

\n

This uses python to serve a basic static HTML page as an extension.

\n

to build:

\n

Enable qemu static support with a docker

\n

docker buildx create --name multiarch --driver docker-container --use\ndocker run --rm --privileged multiarch/qemu-user-static --reset -p yes

\n

Then build it:

\n

docker buildx build --platform linux/amd64,linux/arm/v7 . -t YOURDOCKERHUBUSER/YOURDOCKERHUBREPO:latest --output type=registry

", + "support": "https://github.com/Williangalvani/BlueOS-examples/", + "requirements": "core > 1", "company": { "about": "", - "name": "Patrick J. Pereira", - "email": "patrickelectric@gmail.com" + "name": "Blue Robotics", + "email": "support@bluerobotics.com" }, "permissions": { - "NetworkMode": "host", + "ExposedPorts": { + "80/tcp": {} + }, "HostConfig": { - "Privileged": true, - "NetworkMode": "host" + "PortBindings": { + "80/tcp": [ + { + "HostPort": "" + } + ] + } } } } }, "repo_info": { - "downloads": 1679, - "last_updated": "2024-08-14T23:11:15.514761Z", - "date_registered": "2024-08-07T21:20:39.693471Z" + "downloads": 80377, + "last_updated": "2023-05-02T10:57:42.905818Z", + "date_registered": "2022-09-20T18:15:02.068256Z" } }, { - "identifier": "waterlinked.ugps", - "name": "Water Linked UGPS", - "website": "https://github.com/waterlinked/blueos-ugps-extension", - "docker": "waterlinked/blueos-ugps-extension", - "description": "Provides location with GPS and SBL acoustic positioning", - "extension_logo": "https://raw.githubusercontent.com/bluerobotics/BlueOS-Extensions-Repository/master/repos/waterlinked/ugps/extension_logo.png", - "company_logo": "https://raw.githubusercontent.com/bluerobotics/BlueOS-Extensions-Repository/master/repos/waterlinked/company_logo.png", + "identifier": "williangalvani.oakd", + "name": "Oak-D Video Streams", + "website": "https://github.com/Williangalvani/Oakd-extension", + "docker": "williangalvani/oakd-extension", + "description": "Exposes Oak-D streams into cockpit", + "extension_logo": "https://raw.githubusercontent.com/bluerobotics/BlueOS-Extensions-Repository/master/repos/williangalvani/oakd/extension_logo.png", + "company_logo": "https://raw.githubusercontent.com/bluerobotics/BlueOS-Extensions-Repository/master/repos/williangalvani/company_logo.png", "versions": { - "v1.0.7": { - "identifier": "0c5721ac-c2ba-5fbd-ad3e-e2c0fe1ef646", + "v1.0.1": { + "identifier": "63e34a69-3b69-5327-8254-d4ff289d23db", "type": "device-integration", - "website": "https://github.com/waterlinked/blueos-ugps-extension", + "website": "https://github.com/Williangalvani/Oakd-extension/", "images": [ { - "expanded_size": 42737259, + "expanded_size": 1150339197, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:c6cdac88c362326fcceb817befaf78f9b687c16f64d73299e6e3614757c36ca0" + "digest": "sha256:17cb604a2ad65de827543a007a6ad0544f1386fa66468216a12c145b334e5984" } ], "authors": [ { - "name": "Water Linked", - "email": "support@waterlinked.com" + "name": "Willian Galvani", + "email": "willian@bluerobotics.com" } ], - "filter_tags": [ - "positioning", - "navigation", - "short-baseline" - ], + "filter_tags": [], "extra_links": {}, - "tag": "v1.0.7", + "tag": "v1.0.1", "docs": null, - "readme": "

BlueOS Extension for Water Linked Underwater GPS

\n

State

\n

This extension has no UI page (so it creates no listing in the sidebar of BlueOS).

\n

Functionality

\n

Assuming the UGPS is detected and working, this service\n* forwards MAVLink data from Mavlink2Rest like depth to the UGPS Topside (to enable it to function)\n* forwards locator position from UGPS Topside to MAVLink (message GPS_INPUT)\n * the autopilot should send corresponding GPS_RAW_INT messages to the topside computer (QGroundControl)\n * the autopilot sends regular GLOBAL_POSITION_INT messages to the topside computer with its filtered position estimates\n* forwards topside position from UGPS Topside to UDP port 14401 with NMEA to be received by QGroundControl.\n * This feature is experimental and does not work reliably with all versions of QGroundControl.

\n

Information flow triggered by this extension:\n\"Information

\n

If you do not have access to a UGPS system, you can use UGPS_HOST=https://demo.waterlinked.com , which simulates a UGPS system with its API.

\n

Hardware documentation can be found at https://waterlinked.github.io/underwater-gps/integration/bluerov-integration/

\n

How to install

\n

There are 2 options

\n

Preferred: Use the extensions manager in BlueOS > 1.1.0

\n\n

Configuration is usually not required, but can be done by editing the extension in the \"Installed\" tab of the Extensions Manager.

\n

Editing requires Pirate Mode\nto be enabled, after which the \"Edit\" button can be used. Copy the Original Settings contents\ninto the Custom settings box, and (if necessary) change the IPs/Host addresses, e.g. to use the demo server:\n{\n \"NetworkMode\": \"host\",\n \"Env\": [\n \"UGPS_HOST=https://demo.waterlinked.com\",\n \"MAVLINK_HOST=http://192.168.2.2:6040\",\n \"QGC_IP=192.168.2.1\",\n \"EXTRA_ARGS=\"\n ]\n}

\n

Use the \"View Logs\" button to check the status.

\n

For developers: Build docker image yourself and start it

\n

To set this up, ssh into the Raspberry Pi (or access via red-pill in BlueOS Terminal)

\n

install git, clone this repository and run\n```

\n

build the docker image

\n

docker build -t waterlinked/blueos-ugps-extension:latest .

\n

see all images

\n

docker images

\n

running the plugin

\n

either: run detached

\n

with standard command

\n

docker run -d --net=host waterlinked/blueos-ugps-extension:latest python app/main.py --ugps_host http://192.168.2.94 --mavlink_host http://192.168.2.2:6040 --qgc_ip 192.168.2.1

\n

or with demo server

\n

docker run -d --net=host waterlinked/blueos-ugps-extension:latest python app/main.py --ugps_host https://demo.waterlinked.com --mavlink_host http://192.168.2.2:6040 --qgc_ip 192.168.2.1

\n

or: in interactive shell to get debug output

\n

docker run -it waterlinked/blueos-ugps-extension:latest /bin/bash

\n

with standard command

\n

cd app && python main.py --ugps_host http://192.168.2.94 --mavlink_host http://192.168.2.2:6040 --qgc_ip 192.168.2.1

\n

or with demo server

\n

cd app && python main.py --ugps_host https://demo.waterlinked.com --mavlink_host http://192.168.2.2:6040 --qgc_ip 192.168.2.1

\n

end interactive session

\n

exit

\n

then stop/start/look at log with

\n

docker stop [container-id]\ndocker start [container-id]\ndocker log [container-id] # if run detached

\n

if you are a developer, upload the docker image to registry with (replace \"latest\" with desired tag)

\n

docker login -u waterlinked\ndocker push waterlinked/blueos-ugps-extension:latest\n```

", - "support": "https://github.com/waterlinked/blueos-ugps-extension/issues", + "readme": "No README available", + "support": "https://github.com/Williangalvani/Oakd-extension/", "requirements": "core >= 1.1", "company": { "about": "", - "name": "Water Linked", - "email": "support@waterlinked.com" + "name": "Blue Robotics", + "email": "support@bluerobotics.com" }, "permissions": { "NetworkMode": "host", - "Env": [ - "UGPS_HOST=http://192.168.2.94", - "MAVLINK_HOST=http://192.168.2.2:6040", - "QGC_IP=192.168.2.1", - "EXTRA_ARGS=" - ] + "HostConfig": { + "Privileged": true, + "NetworkMode": "host", + "Binds": [ + "/dev/bus/usb:/dev/bus/usb" + ], + "DeviceCgroupRules": [ + "c 189:* rmw" + ] + } } }, - "v1.0.7-beta.5": { - "identifier": "ec530e8b-3edb-5204-8ec3-7ab95a2548aa", + "v1.0.1-heta.1": { + "identifier": "4d8e6434-af76-53c3-b91c-111aff57d0da", "type": "device-integration", - "website": "https://github.com/waterlinked/blueos-ugps-extension", + "website": "https://github.com/Williangalvani/Oakd-extension/", "images": [ { - "expanded_size": 45409796, + "expanded_size": 1150339016, "platform": { "architecture": "arm", - "variant": "v5", + "variant": "v7", "os": "linux" }, - "digest": "sha256:a3e5dd741d7c259f42e53ae660aaba0a4c4ea809bac829a8bf7ddf9f08488027" + "digest": "sha256:55eb2f8e8d25a693dc2c53d52b082a29b5c6bf08c9d64d22a5a5c5ce8c93a49e" } ], "authors": [ @@ -1201,45 +1105,45 @@ "email": "willian@bluerobotics.com" } ], - "filter_tags": [ - "positioning", - "navigation", - "short-baseline" - ], + "filter_tags": [], "extra_links": {}, - "tag": "v1.0.7-beta.5", + "tag": "v1.0.1-heta.1", "docs": null, "readme": "No README available", - "support": "https://github.com/waterlinked/blueos-ugps-extension/issues", + "support": "https://github.com/Williangalvani/Oakd-extension/", "requirements": "core >= 1.1", "company": { "about": "", - "name": "Water Linked", - "email": "support@waterlinked.com" + "name": "Blue Robotics", + "email": "support@bluerobotics.com" }, "permissions": { "NetworkMode": "host", - "Env": [ - "UGPS_HOST=http://192.168.2.94", - "MAVLINK_HOST=http://192.168.2.2:6040", - "QGC_IP=192.168.2.1", - "EXTRA_ARGS=" - ] + "HostConfig": { + "Privileged": true, + "NetworkMode": "host", + "Binds": [ + "/dev/bus/usb:/dev/bus/usb" + ], + "DeviceCgroupRules": [ + "c 189:* rmw" + ] + } } }, - "v1.0.7-beta.2": { - "identifier": "01960110-d3b4-5ec9-b831-fc6ed5504c76", + "v1.0.0": { + "identifier": "267435ea-f9fd-510b-b863-250a622957f2", "type": "device-integration", - "website": "https://github.com/waterlinked/blueos-ugps-extension", + "website": "https://github.com/Williangalvani/Oakd-extension/", "images": [ { - "expanded_size": 42996077, + "expanded_size": 1150339194, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:827ca6180221c282ced1a2c58e02388c1cf1b4eb87cca1604355a90bf0b81293" + "digest": "sha256:6da815487395a969ee4cd142ab7c55bf7b201032b433ae1e551af7380b75a042" } ], "authors": [ @@ -1248,92 +1152,61 @@ "email": "willian@bluerobotics.com" } ], - "filter_tags": [ - "positioning", - "navigation", - "short-baseline" - ], + "filter_tags": [], "extra_links": {}, - "tag": "v1.0.7-beta.2", + "tag": "v1.0.0", "docs": null, - "readme": "

BlueOS Extension for Water Linked Underwater GPS

\n

State

\n

This extension has no UI page (so it creates no listing in the sidebar of BlueOS).

\n

Functionality

\n

Assuming the UGPS is detected and working, this service\n* forwards MAVLink data from Mavlink2Rest like depth to the UGPS Topside (to enable it to function)\n* forwards locator position from UGPS Topside to MAVLink (message GPS_INPUT)\n * the autopilot should send corresponding GPS_RAW_INT messages to the topside computer (QGroundControl)\n * the autopilot sends regular GLOBAL_POSITION_INT messages to the topside computer with its filtered position estimates\n* forwards topside position from UGPS Topside to UDP port 14401 with NMEA to be received by QGroundControl.\n * This feature is experimental and does not work reliably with all version of QGroundControl.

\n

If you do not have access to a UGPS system, you can use UGPS_HOST=https://demo.waterlinked.com , which simulates a UGPS system with its API.

\n

Hardware documentation can be found at https://waterlinked.github.io/underwater-gps/integration/bluerov-integration/

\n

How to install

\n

There are 2 options

\n

Preferred: Use the extensions manager in BlueOS > 1.1.0

\n\n

Configuration is usually not required, but can be done by editing the extension in the \"Installed\" tab of the Extensions Manager.

\n

Editing requires Pirate Mode\nto be enabled, after which the \"Edit\" button can be used. Copy the Original Settings contents\ninto the Custom settings box, and (if necessary) change the IPs/Host addresses, e.g. to use the demo server:\n{\n \"NetworkMode\": \"host\",\n \"Env\": [\n \"UGPS_HOST=https://demo.waterlinked.com\",\n \"MAVLINK_HOST=http://192.168.2.2:6040\",\n \"QGC_IP=192.168.2.1\",\n \"EXTRA_ARGS=\"\n ]\n}

\n

Use the \"View Logs\" button to check the status.

\n

For developers: Build docker image yourself and start it

\n

To set this up, ssh into the Raspberry Pi (or access via red-pill in BlueOS Terminal)

\n

install git, clone this repository and run\n```

\n

build the docker image

\n

docker build -t waterlinked/blueos-ugps-extension:latest .

\n

see all images

\n

docker images

\n

running the plugin

\n

either: run detached

\n

with standard command

\n

docker run -d --net=host waterlinked/blueos-ugps-extension:latest python app/main.py --ugps_host http://192.168.2.94 --mavlink_host http://192.168.2.2:6040 --qgc_ip 192.168.2.1

\n

or with demo server

\n

docker run -d --net=host waterlinked/blueos-ugps-extension:latest python app/main.py --ugps_host https://demo.waterlinked.com --mavlink_host http://192.168.2.2:6040 --qgc_ip 192.168.2.1

\n

or: in interactive shell to get debug output

\n

docker run -it waterlinked/blueos-ugps-extension:latest /bin/bash

\n

with standard command

\n

cd app && python main.py --ugps_host http://192.168.2.94 --mavlink_host http://192.168.2.2:6040 --qgc_ip 192.168.2.1

\n

or with demo server

\n

cd app && python main.py --ugps_host https://demo.waterlinked.com --mavlink_host http://192.168.2.2:6040 --qgc_ip 192.168.2.1

\n

end interactive session

\n

exit

\n

then stop/start/look at log with

\n

docker stop [container-id]\ndocker start [container-id]\ndocker log [container-id] # if run detached

\n

if you are a developer, upload the docker image to registry with (replace \"latest\" with desired tag)

\n

docker login -u waterlinked\ndocker push waterlinked/blueos-ugps-extension:latest\n```

", - "support": "https://github.com/waterlinked/blueos-ugps-extension/issues", + "readme": "

This extension exposes the Stereo Depth Disparity and RGB video from Oak-D cameras into RTSP streams that can be displayed in Cockpit.

", + "support": "https://github.com/Williangalvani/Oakd-extension/", "requirements": "core >= 1.1", "company": { "about": "", - "name": "Water Linked", - "email": "support@waterlinked.com" + "name": "Blue Robotics", + "email": "support@bluerobotics.com" }, "permissions": { "NetworkMode": "host", - "Env": [ - "UGPS_HOST=http://192.168.2.94", - "MAVLINK_HOST=http://192.168.2.2:6040", - "QGC_IP=192.168.2.1", - "EXTRA_ARGS=" - ] - } - }, - "v1.0.6": { - "identifier": "a16ae9c5-eeb8-5263-8b1c-0401b0a1e2da", - "type": "device-integration", - "website": "https://github.com/waterlinked/blueos-ugps-extension", - "images": [ - { - "expanded_size": 44982471, - "platform": { - "architecture": "arm", - "variant": "v7", - "os": "linux" - }, - "digest": "sha256:d1c746dac6246d215f00966754129fb78375c1e98bba95d9a0f3a165a2522805" - } - ], - "authors": [ - { - "name": "Willian Galvani", - "email": "willian@bluerobotics.com" + "HostConfig": { + "Privileged": true, + "NetworkMode": "host", + "Binds": [ + "/dev/bus/usb:/dev/bus/usb" + ], + "DeviceCgroupRules": [ + "c 189:* rmw" + ] } - ], - "filter_tags": [ - "positioning", - "navigation", - "short-baseline" - ], - "extra_links": {}, - "tag": "v1.0.6", - "docs": null, - "readme": "

BlueOS Extension for Water Linked Underwater GPS

\n

State

\n

This extension is currently in development. It has no UI page (so creates no listing in the sidebar of BlueOS).

\n

Functionality

\n

Assuming the UGPS is detected and working this service\n* forwards MAVLink data from Mavlink2Rest like depth to the UGPS Topside (to enable it to function)\n* forwards locator position from UGPS Topside to MAVLink (message GPS_INPUT)\n * the autopilot should send corresponding GPS_RAW_INT messages to the topside computer (QGroundControl)\n * the autopilot sends regular GLOBAL_POSITION_INT messages to the topside computer with its filtered position estimates\n* forwards topside position from UGPS Topside to UDP port 14401 with NMEA to be received by QGroundControl.

\n

If you do not have access to a UGPS system, you can use UGPS_HOST=https://demo.waterlinked.com , which simulates a UGPS system with its API.

\n

Hardware documentation can be found at https://waterlinked.github.io/underwater-gps/integration/bluerov-integration/

\n

How to install

\n

There are 2 options

\n

Use the extensions manager in BlueOS 1.1.0

\n\n

Configuration is usually not required, but can be done by editing the extension in the \"Installed\" tab of the Extensions Manager.

\n

Editing requires Pirate Mode\nto be enabled, after which the \"Edit\" button can be used. Copy the Original Settings contents\ninto the Custom settings box, and (if necessary) change the IPs/Host addresses, e.g. to use the demo server:\n{\n \"NetworkMode\": \"host\",\n \"Env\": [\n \"UGPS_HOST=https://demo.waterlinked.com\",\n \"MAVLINK_HOST=http://192.168.2.2:6040\",\n \"QGC_IP=192.168.2.1\",\n \"EXTRA_ARGS=\"\n ]\n}

\n

Use the \"View Logs\" button to check the status.

\n

Build docker image yourself and start it

\n

To set this up, ssh into the Raspberry Pi (or access via red-pill in BlueOS Terminal)

\n

install git, clone this repository and run\n```

\n

build the docker image

\n

docker build -t waterlinked/blueos-ugps-extension:latest .

\n

see all images

\n

docker images

\n

running the plugin

\n

either: run detached

\n

with standard command

\n

docker run -d --net=host waterlinked/blueos-ugps-extension:latest python app/main.py --ugps_host http://192.168.2.94 --mavlink_host http://192.168.2.2:6040 --qgc_ip 192.168.2.1

\n

or with demo server

\n

docker run -d --net=host waterlinked/blueos-ugps-extension:latest python app/main.py --ugps_host https://demo.waterlinked.com --mavlink_host http://192.168.2.2:6040 --qgc_ip 192.168.2.1

\n

or: in interactive shell to get debug output

\n

docker run -it waterlinked/blueos-ugps-extension:latest /bin/bash

\n

with standard command

\n

cd app && python main.py --ugps_host http://192.168.2.94 --mavlink_host http://192.168.2.2:6040 --qgc_ip 192.168.2.1

\n

or with demo server

\n

cd app && python main.py --ugps_host https://demo.waterlinked.com --mavlink_host http://192.168.2.2:6040 --qgc_ip 192.168.2.1

\n

end interactive session

\n

exit

\n

then stop/start/look at log with

\n

docker stop [container-id]\ndocker start [container-id]\ndocker log [container-id] # if run detached

\n

if you are a developer, upload to registry with (replace latest with desired tag)

\n

docker login -u waterlinked\ndocker push waterlinked/blueos-ugps-extension:latest\n```

", - "support": "https://github.com/waterlinked/blueos-ugps-extension/issues", - "requirements": "core >= 1.1", - "company": { - "about": "", - "name": "Water Linked", - "email": "support@waterlinked.com" - }, - "permissions": { - "NetworkMode": "host", - "Env": [ - "UGPS_HOST=http://192.168.2.94", - "MAVLINK_HOST=http://192.168.2.2:6040", - "QGC_IP=192.168.2.1", - "EXTRA_ARGS=" - ] } - }, + } + }, + "repo_info": { + "downloads": 1964, + "last_updated": "2024-06-28T11:53:31.838581Z", + "date_registered": "2024-04-02T12:56:46.518809Z" + } + }, + { + "identifier": "williangalvani.blueos-proxy", + "name": "BlueOS Proxy", + "website": "https://github.com/Williangalvani/Blueos-Proxy-Extension", + "docker": "williangalvani/blueos-extension-proxy", + "description": "BlueOS Proxy", + "extension_logo": "https://raw.githubusercontent.com/bluerobotics/BlueOS-Extensions-Repository/master/repos/williangalvani/blueos-proxy/extension_logo.png", + "company_logo": "https://raw.githubusercontent.com/bluerobotics/BlueOS-Extensions-Repository/master/repos/williangalvani/company_logo.png", + "versions": { "v1.0.4": { - "identifier": "07593b5f-33d9-512b-92e7-bde2b70e0c1a", - "type": "other", - "website": "https://github.com/waterlinked/blueos-ugps-extension", + "identifier": "46c43d44-b4e5-5705-9850-a1fdac70a0ef", + "type": "tool", + "website": "https://github.com/Williangalvani/Blueos-Proxy-Extension", "images": [ { - "expanded_size": 43100109, + "expanded_size": 84850534, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:55811587b48ae3f980fa069e27d74c11a98567bd141eb2cb29cd3a0a43c39526" + "digest": "sha256:fd1b9813bd070ed908eedd1893a4384bb326c4810822fa90559cf4cb9c27742e" } ], "authors": [ @@ -1346,70 +1219,37 @@ "extra_links": {}, "tag": "v1.0.4", "docs": null, - "readme": "

BlueOS Extension for Water Linked Underwater GPS

\n

State

\n

This extension is currently in development. It has no UI page (so creates no listing in the sidebar of BlueOS).

\n

Functionality

\n

Assuming the UGPS is detected and working this service\n* forwards MAVLink data from Mavlink2Rest like depth to the UGPS Topside (to enable it to function)\n* forwards locator position from UGPS Topside to MAVLink (message GPS_INPUT)\n * the autopilot should send corresponding GPS_RAW_INT messages to the topside computer (QGroundControl)\n * the autopilot sends regular GLOBAL_POSITION_INT messages to the topside computer with its filtered position estimates\n* forwards topside position from UGPS Topside to UDP port 14401 with NMEA to be received by QGroundControl (implemented, but currently not tested)

\n

If you do not have access to a UGPS system, you can use UGPS_HOST=https://demo.waterlinked.com , which simulates a UGPS system with its API.

\n

Hardware documentation can be found at https://waterlinked.github.io/underwater-gps/integration/bluerov-integration/

\n

How to install

\n

There are 2 options

\n

Use the extensions manager in BlueOS 1.1.0

\n\n

Configuration is usually not required, but can be done by editing the extension in the \"Installed\" tab of the Extensions Manager.

\n

Editing requires Pirate Mode\nto be enabled, after which the \"Edit\" button can be used. Copy the Original Settings contents\ninto the Custom settings box, and (if necessary) change the IPs/Host addresses:\n\"UGPS_HOST=http://192.168.2.94\",\n \"MAVLINK_HOST=http://192.168.2.2:6040\",\n \"QGC_IP=192.168.2.1\"

\n

Use the \"View Logs\" button to check the status.

\n

Build docker image yourself and start it

\n

To set this up, ssh into the Raspberry Pi (or access via red-pill in BlueOS Terminal)

\n

install git, clone this repository and run\n```

\n

build the docker image

\n

docker build -t waterlinked/blueos-ugps-extension:latest .

\n

see all images

\n

docker images

\n

running the plugin

\n

either: run detached

\n

with standard command

\n

docker run -d --net=host waterlinked/blueos-ugps-extension:latest python app/main.py --ugps_host http://192.168.2.94 --mavlink_host http://192.168.2.2:6040 --qgc_ip 192.168.2.1

\n

or with demo server

\n

docker run -d --net=host waterlinked/blueos-ugps-extension:latest python app/main.py --ugps_host https://demo.waterlinked.com --mavlink_host http://192.168.2.2:6040 --qgc_ip 192.168.2.1

\n

or: in interactive shell to get debug output

\n

docker run -it waterlinked/blueos-ugps-extension:latest /bin/bash

\n

with standard command

\n

cd app && python main.py --ugps_host http://192.168.2.94 --mavlink_host http://192.168.2.2:6040 --qgc_ip 192.168.2.1

\n

or with demo server

\n

cd app && python main.py --ugps_host https://demo.waterlinked.com --mavlink_host http://192.168.2.2:6040 --qgc_ip 192.168.2.1

\n

end interactive session

\n

exit

\n

then stop/start/look at log with

\n

docker stop [container-id]\ndocker start [container-id]\ndocker log [container-id] # if run detached

\n

if you are a developer, upload to registry with (replace latest with desired tag)

\n

docker login -u waterlinked\ndocker push waterlinked/blueos-ugps-extension:latest\n```

", - "support": "https://github.com/waterlinked/blueos-ugps-extension", - "requirements": "core >= 1", + "readme": "

Blueos Proxy Extension

\n

This allows you to browse the ROV network as if you were in there.\nIt is useful for accessing and configuring routers and other local devices that may not be reachable from the GCS computer.

", + "support": "https://github.com/Williangalvani/Blueos-Proxy-Extension", + "requirements": "core >= 1.1", "company": { "about": "", - "name": "Blue Robotics / Water Linked", - "email": "support@bluerobotics.com / support@waterlinked.com" + "name": "Blue Robotics", + "email": "support@bluerobotics.com" }, "permissions": { - "NetworkMode": "host", - "Env": [ - "UGPS_HOST=http://192.168.2.94", - "MAVLINK_HOST=http://192.168.2.2:6040", - "QGC_IP=192.168.2.1" - ] + "ExposedPorts": {}, + "HostConfig": { + "Binds": [ + "/usr/blueos/userdata/blueos-proxy/:/usr/blueos/userdata/blueos-proxy/" + ], + "NetworkMode": "host" + } } - } - }, - "repo_info": { - "downloads": 4853, - "last_updated": "2024-10-16T08:28:28.588962Z", - "date_registered": "2023-04-18T13:14:56.444696Z" - } - }, - { - "identifier": "williangalvani.network-scanner", - "name": "Network Scanner", - "website": "https://github.com/Williangalvani/BlueOS-extension-network-scanner", - "docker": "williangalvani/blueos-network-scanner", - "description": "Find other devices at your BlueOS network", - "extension_logo": "https://raw.githubusercontent.com/bluerobotics/BlueOS-Extensions-Repository/master/repos/williangalvani/network-scanner/extension_logo.png", - "company_logo": "https://raw.githubusercontent.com/bluerobotics/BlueOS-Extensions-Repository/master/repos/williangalvani/company_logo.png", - "versions": { - "1.0.3": { - "identifier": "f2419dc7-3cbe-52e5-a1ea-4fc19741f7b8", + }, + "v1.0.3": { + "identifier": "0f5fa5df-187c-52c9-91f7-59550a1f923d", "type": "tool", - "website": "https://github.com/Williangalvani/BlueOS-extension-network-scanner/", + "website": "https://github.com/Williangalvani/Blueos-Proxy-Extension", "images": [ { - "expanded_size": 156824186, - "platform": { - "architecture": "arm64", - "variant": null, - "os": "linux" - }, - "digest": "sha256:2f0a5930e99df255156474da83c8eb3eb4c4ad599967df9f8bee1484498f6fd7" - }, - { - "expanded_size": 161309683, - "platform": { - "architecture": "amd64", - "variant": null, - "os": "linux" - }, - "digest": "sha256:6719c16d2edb8adebb57b32788137398cc9bb66cb8619c8fbf65481a9ec99077" - }, - { - "expanded_size": 134610455, + "expanded_size": 84759554, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:7b3398f704302768bbec38c4822994b24c5e6553e928ec23363d479d8e941228" + "digest": "sha256:a5f4b1f8bacfcb91b79e43880c2d4130854f8b84850450e5b3342628b7ad078a" } ], "authors": [ @@ -1420,10 +1260,10 @@ ], "filter_tags": [], "extra_links": {}, - "tag": "1.0.3", + "tag": "v1.0.3", "docs": null, - "readme": "

BlueOS Network SCanner

\n

This allows scanning each individual logical interface in the vehicle to find connected devices

\n

changelog

\n

v1.0.1:

\n", - "support": "https://github.com/Williangalvani/BlueOS-extension-network-scanner/", + "readme": "

Blueos Proxy Extension

\n

This allows you to browse the ROV network as if you were in there.\nIt is useful for accessing and configuring routers and other local devices that may not be reachable from the GCS computer.

", + "support": "https://github.com/Williangalvani/Blueos-Proxy-Extension", "requirements": "core >= 1.1", "company": { "about": "", @@ -1431,25 +1271,28 @@ "email": "support@bluerobotics.com" }, "permissions": { - "NetworkMode": "host", + "ExposedPorts": {}, "HostConfig": { + "Binds": [ + "/usr/blueos/userdata/blueos-proxy/:/usr/blueos/userdata/blueos-proxy/" + ], "NetworkMode": "host" } } }, "v1.0.2": { - "identifier": "f2609867-67d1-59f0-851b-9e98ba00f78d", + "identifier": "a0cacf66-8f2c-58d5-b730-1cead219d628", "type": "tool", - "website": "https://github.com/Williangalvani/BlueOS-extension-network-scanner/", + "website": "https://github.com/Williangalvani/Blueos-Proxy-Extension", "images": [ { - "expanded_size": 135356970, + "expanded_size": 84749977, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:77a7f2a97e30eedf50ae2e29e4c6e9a1a95f81ad07ac9d8c7fc664296d17caed" + "digest": "sha256:558d5fd76d64ebf386f9d3b999e735f06d5c5e5083185bb8eee43da06fb21160" } ], "authors": [ @@ -1462,8 +1305,8 @@ "extra_links": {}, "tag": "v1.0.2", "docs": null, - "readme": "

BlueOS Network SCanner

\n

This allows scanning each individual logical interface in the vehicle to find connected devices

\n

changelog

\n

v1.0.1:

\n", - "support": "https://github.com/Williangalvani/BlueOS-extension-network-scanner/", + "readme": "

Blueos Proxy Extension

\n

This allows you to browse the ROV network as if you were in there.\nIt is useful for accessing and configuring routers and other local devices that may not be reachable from the GCS computer.

", + "support": "https://github.com/Williangalvani/Blueos-Proxy-Extension", "requirements": "core >= 1.1", "company": { "about": "", @@ -1471,25 +1314,28 @@ "email": "support@bluerobotics.com" }, "permissions": { - "NetworkMode": "host", + "ExposedPorts": {}, "HostConfig": { + "Binds": [ + "/usr/blueos/userdata/blueos-proxy/:/usr/blueos/userdata/blueos-proxy/" + ], "NetworkMode": "host" } } }, - "1.0.2": { - "identifier": "b274476e-1a19-55de-aea8-545830702d4d", + "v1.0.1": { + "identifier": "7a4a7012-1030-5396-a25f-f9feb4bee516", "type": "tool", - "website": "https://github.com/Williangalvani/BlueOS-extension-network-scanner/", + "website": "https://github.com/Williangalvani/Blueos-Proxy-Extension", "images": [ { - "expanded_size": 135355878, + "expanded_size": 84582989, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:0fae403cbe350d99649b7fb4d525f7baf43955736110d11c55bb0ba857506b4c" + "digest": "sha256:403797eeef9396e67001caa71d638c64e10a8e27aad5f16838208de4c7ae5c47" } ], "authors": [ @@ -1500,10 +1346,10 @@ ], "filter_tags": [], "extra_links": {}, - "tag": "1.0.2", + "tag": "v1.0.1", "docs": null, - "readme": "

BlueOS Network SCanner

\n

This allows scanning each individual logical interface in the vehicle to find connected devices

\n

changelog

\n

v1.0.1:

\n", - "support": "https://github.com/Williangalvani/BlueOS-extension-network-scanner/", + "readme": "

Blueos Proxy Extension

\n

This allows you to browse the ROV network as if you were in there.\nIt is useful for accessing and configuring routers and other local devices that may not be reachable from the GCS computer.

", + "support": "https://github.com/Williangalvani/Blueos-Proxy-Extension", "requirements": "core >= 1.1", "company": { "about": "", @@ -1511,25 +1357,28 @@ "email": "support@bluerobotics.com" }, "permissions": { - "NetworkMode": "host", + "ExposedPorts": {}, "HostConfig": { + "Binds": [ + "/usr/blueos/userdata/blueos-proxy/:/usr/blueos/userdata/blueos-proxy/" + ], "NetworkMode": "host" } } }, - "v1.0.1": { - "identifier": "13bfb792-567e-5440-90bc-47aecc0e6503", - "type": "tool", - "website": "https://github.com/Williangalvani/BlueOS-extension-network-scanner/", + "v1.0.0": { + "identifier": "ecdb7a22-1823-574b-9165-0fc25d948f3b", + "type": "example", + "website": "https://github.com/Williangalvani/Blueos-Proxy-Extension", "images": [ { - "expanded_size": 139164501, + "expanded_size": 73489461, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:5e82e94b39b55a9e2eee865259af83d311dbfbae1470fc304c77a9cc93a0efbe" + "digest": "sha256:aedd59836db2027ddf1ef1bf107e2ca80bf94cafa0c7a2263040b6299398ec41" } ], "authors": [ @@ -1540,10 +1389,10 @@ ], "filter_tags": [], "extra_links": {}, - "tag": "v1.0.1", + "tag": "v1.0.0", "docs": null, - "readme": "

BlueOS Network SCanner

\n

This allows scanning each individual logical interface in the vehicle to find connected devices

\n

changelog

\n

v1.0.1:

\n", - "support": "https://github.com/Williangalvani/BlueOS-extension-network-scanner/", + "readme": "

Blueos Proxy Extension

\n

This allows you to browse the ROV network as if you were in there.\nIt is useful for accessing and configuring routers and other local devices that may not be reachable from the GCS computer.

", + "support": "https://github.com/Williangalvani/Blueos-Proxy-Extension", "requirements": "core >= 1.1", "company": { "about": "", @@ -1551,25 +1400,28 @@ "email": "support@bluerobotics.com" }, "permissions": { - "NetworkMode": "host", + "ExposedPorts": {}, "HostConfig": { + "Binds": [ + "/usr/blueos/userdata/blueos-proxy/:/usr/blueos/userdata/blueos-proxy/" + ], "NetworkMode": "host" } } }, - "v1.0.0": { - "identifier": "9784d249-52a2-57f1-81be-488a862daec0", - "type": "tool", - "website": "https://github.com/Williangalvani/BlueOS-extension-network-scanner/", + "v0.0.1": { + "identifier": "0f219efe-14c3-5232-95d5-529d5396df1c", + "type": "example", + "website": "https://github.com/Williangalvani/BlueOS-examples/", "images": [ { - "expanded_size": 139162770, + "expanded_size": 73489461, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:73768f50b93360ed53bfa76ca220d06e812af178b40f2bfd0ffe5a75dc2a351e" + "digest": "sha256:89ef4fcfe2880c061112831114679d61eb12639002da11203fecfb03312fa844" } ], "authors": [ @@ -1580,11 +1432,248 @@ ], "filter_tags": [], "extra_links": {}, - "tag": "v1.0.0", + "tag": "v0.0.1", "docs": null, - "readme": "

BlueOS Network SCanner

\n

This allows scanning each individual logical interface in the vehicle to find connected devices

", - "support": "https://github.com/Williangalvani/BlueOS-extension-network-scanner/", - "requirements": "core >= 1.1", + "readme": "No README available", + "support": "https://github.com/Williangalvani/BlueOS-examples/", + "requirements": "core >= 1.1", + "company": { + "about": "", + "name": "Blue Robotics", + "email": "support@bluerobotics.com" + }, + "permissions": { + "ExposedPorts": {}, + "HostConfig": { + "Binds": [ + "/usr/blueos/userdata/blueos-proxy/:/usr/blueos/userdata/blueos-proxy/" + ], + "NetworkMode": "host" + } + } + } + }, + "repo_info": { + "downloads": 8503, + "last_updated": "2024-05-05T03:21:37.27099Z", + "date_registered": "2023-05-28T18:03:17.343281Z" + } + }, + { + "identifier": "williangalvani.network-scanner", + "name": "Network Scanner", + "website": "https://github.com/Williangalvani/BlueOS-extension-network-scanner", + "docker": "williangalvani/blueos-network-scanner", + "description": "Find other devices at your BlueOS network", + "extension_logo": "https://raw.githubusercontent.com/bluerobotics/BlueOS-Extensions-Repository/master/repos/williangalvani/network-scanner/extension_logo.png", + "company_logo": "https://raw.githubusercontent.com/bluerobotics/BlueOS-Extensions-Repository/master/repos/williangalvani/company_logo.png", + "versions": { + "1.0.3": { + "identifier": "f2419dc7-3cbe-52e5-a1ea-4fc19741f7b8", + "type": "tool", + "website": "https://github.com/Williangalvani/BlueOS-extension-network-scanner/", + "images": [ + { + "expanded_size": 156824186, + "platform": { + "architecture": "arm64", + "variant": null, + "os": "linux" + }, + "digest": "sha256:2f0a5930e99df255156474da83c8eb3eb4c4ad599967df9f8bee1484498f6fd7" + }, + { + "expanded_size": 161309683, + "platform": { + "architecture": "amd64", + "variant": null, + "os": "linux" + }, + "digest": "sha256:6719c16d2edb8adebb57b32788137398cc9bb66cb8619c8fbf65481a9ec99077" + }, + { + "expanded_size": 134610455, + "platform": { + "architecture": "arm", + "variant": "v7", + "os": "linux" + }, + "digest": "sha256:7b3398f704302768bbec38c4822994b24c5e6553e928ec23363d479d8e941228" + } + ], + "authors": [ + { + "name": "Willian Galvani", + "email": "willian@bluerobotics.com" + } + ], + "filter_tags": [], + "extra_links": {}, + "tag": "1.0.3", + "docs": null, + "readme": "

BlueOS Network SCanner

\n

This allows scanning each individual logical interface in the vehicle to find connected devices

\n

changelog

\n

v1.0.1:

\n", + "support": "https://github.com/Williangalvani/BlueOS-extension-network-scanner/", + "requirements": "core >= 1.1", + "company": { + "about": "", + "name": "Blue Robotics", + "email": "support@bluerobotics.com" + }, + "permissions": { + "NetworkMode": "host", + "HostConfig": { + "NetworkMode": "host" + } + } + }, + "1.0.2": { + "identifier": "b274476e-1a19-55de-aea8-545830702d4d", + "type": "tool", + "website": "https://github.com/Williangalvani/BlueOS-extension-network-scanner/", + "images": [ + { + "expanded_size": 135355878, + "platform": { + "architecture": "arm", + "variant": "v7", + "os": "linux" + }, + "digest": "sha256:0fae403cbe350d99649b7fb4d525f7baf43955736110d11c55bb0ba857506b4c" + } + ], + "authors": [ + { + "name": "Willian Galvani", + "email": "willian@bluerobotics.com" + } + ], + "filter_tags": [], + "extra_links": {}, + "tag": "1.0.2", + "docs": null, + "readme": "

BlueOS Network SCanner

\n

This allows scanning each individual logical interface in the vehicle to find connected devices

\n

changelog

\n

v1.0.1:

\n", + "support": "https://github.com/Williangalvani/BlueOS-extension-network-scanner/", + "requirements": "core >= 1.1", + "company": { + "about": "", + "name": "Blue Robotics", + "email": "support@bluerobotics.com" + }, + "permissions": { + "NetworkMode": "host", + "HostConfig": { + "NetworkMode": "host" + } + } + }, + "v1.0.2": { + "identifier": "f2609867-67d1-59f0-851b-9e98ba00f78d", + "type": "tool", + "website": "https://github.com/Williangalvani/BlueOS-extension-network-scanner/", + "images": [ + { + "expanded_size": 135356970, + "platform": { + "architecture": "arm", + "variant": "v7", + "os": "linux" + }, + "digest": "sha256:77a7f2a97e30eedf50ae2e29e4c6e9a1a95f81ad07ac9d8c7fc664296d17caed" + } + ], + "authors": [ + { + "name": "Willian Galvani", + "email": "willian@bluerobotics.com" + } + ], + "filter_tags": [], + "extra_links": {}, + "tag": "v1.0.2", + "docs": null, + "readme": "

BlueOS Network SCanner

\n

This allows scanning each individual logical interface in the vehicle to find connected devices

\n

changelog

\n

v1.0.1:

\n", + "support": "https://github.com/Williangalvani/BlueOS-extension-network-scanner/", + "requirements": "core >= 1.1", + "company": { + "about": "", + "name": "Blue Robotics", + "email": "support@bluerobotics.com" + }, + "permissions": { + "NetworkMode": "host", + "HostConfig": { + "NetworkMode": "host" + } + } + }, + "v1.0.1": { + "identifier": "13bfb792-567e-5440-90bc-47aecc0e6503", + "type": "tool", + "website": "https://github.com/Williangalvani/BlueOS-extension-network-scanner/", + "images": [ + { + "expanded_size": 139164501, + "platform": { + "architecture": "arm", + "variant": "v7", + "os": "linux" + }, + "digest": "sha256:5e82e94b39b55a9e2eee865259af83d311dbfbae1470fc304c77a9cc93a0efbe" + } + ], + "authors": [ + { + "name": "Willian Galvani", + "email": "willian@bluerobotics.com" + } + ], + "filter_tags": [], + "extra_links": {}, + "tag": "v1.0.1", + "docs": null, + "readme": "

BlueOS Network SCanner

\n

This allows scanning each individual logical interface in the vehicle to find connected devices

\n

changelog

\n

v1.0.1:

\n", + "support": "https://github.com/Williangalvani/BlueOS-extension-network-scanner/", + "requirements": "core >= 1.1", + "company": { + "about": "", + "name": "Blue Robotics", + "email": "support@bluerobotics.com" + }, + "permissions": { + "NetworkMode": "host", + "HostConfig": { + "NetworkMode": "host" + } + } + }, + "v1.0.0": { + "identifier": "9784d249-52a2-57f1-81be-488a862daec0", + "type": "tool", + "website": "https://github.com/Williangalvani/BlueOS-extension-network-scanner/", + "images": [ + { + "expanded_size": 139162770, + "platform": { + "architecture": "arm", + "variant": "v7", + "os": "linux" + }, + "digest": "sha256:73768f50b93360ed53bfa76ca220d06e812af178b40f2bfd0ffe5a75dc2a351e" + } + ], + "authors": [ + { + "name": "Willian Galvani", + "email": "willian@bluerobotics.com" + } + ], + "filter_tags": [], + "extra_links": {}, + "tag": "v1.0.0", + "docs": null, + "readme": "

BlueOS Network SCanner

\n

This allows scanning each individual logical interface in the vehicle to find connected devices

", + "support": "https://github.com/Williangalvani/BlueOS-extension-network-scanner/", + "requirements": "core >= 1.1", "company": { "about": "", "name": "Blue Robotics", @@ -1599,7 +1688,7 @@ } }, "repo_info": { - "downloads": 3046, + "downloads": 3063, "last_updated": "2025-01-15T16:17:08.041495Z", "date_registered": "2024-05-05T23:27:05.667297Z" } @@ -1812,33 +1901,42 @@ } }, "repo_info": { - "downloads": 133786, + "downloads": 133800, "last_updated": "2025-01-02T21:58:12.396105Z", "date_registered": "2022-09-07T07:17:20.147217Z" } }, { - "identifier": "williangalvani.example2", - "name": "Example 2", - "website": "https://github.com/Williangalvani/BlueOS-examples/", - "docker": "williangalvani/blueos-example2", - "description": "Static HTML plus MAVLink data", - "extension_logo": "https://raw.githubusercontent.com/bluerobotics/BlueOS-Extensions-Repository/master/repos/williangalvani/example2/extension_logo.png", + "identifier": "williangalvani.zerotier", + "name": "ZeroTier", + "website": "https://github.com/Williangalvani/ZeroTierOne", + "docker": "williangalvani/zerotier", + "description": "Join a virtual network to operate your vehicle from anywhere", + "extension_logo": "https://raw.githubusercontent.com/bluerobotics/BlueOS-Extensions-Repository/master/repos/williangalvani/zerotier/extension_logo.png", "company_logo": "https://raw.githubusercontent.com/bluerobotics/BlueOS-Extensions-Repository/master/repos/williangalvani/company_logo.png", "versions": { - "v1.0.1": { - "identifier": "39888870-c652-52f0-9ead-0640b21526bc", - "type": "example", - "website": "https://github.com/Williangalvani/BlueOS-examples/", - "images": [ + "v1.14.2": { + "identifier": "16b3044d-6676-508b-bdac-f0e4d2125fb7", + "type": "other", + "website": "https://github.com/Williangalvani/zerotierone", + "images": [ { - "expanded_size": 41255976, + "expanded_size": 69475317, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:0b5b5c4341d46ae89398405d5eef61fed9ed6f86923451ff0135c855f53a247a" + "digest": "sha256:367d3887b743418ad015c1a9d83c324e2bd2abfa66b2b4ef051a5bdc7647eda2" + }, + { + "expanded_size": 78292579, + "platform": { + "architecture": "arm64", + "variant": null, + "os": "linux" + }, + "digest": "sha256:5502c9175da09335ea773dcf5f521336f45800d140f915808b3078daa4252b8b" } ], "authors": [ @@ -1847,12 +1945,14 @@ "email": "willian@bluerobotics.com" } ], - "filter_tags": [], + "filter_tags": [ + "communication" + ], "extra_links": {}, - "tag": "v1.0.1", + "tag": "v1.14.2", "docs": null, - "readme": "

Static Webpage extension

\n

This uses python to serve a basic static HTML page as an extension. This example includes MAVLink2Rest communication via http

\n

to build:

\n

Enable qemu static support with a docker

\n

docker buildx create --name multiarch --driver docker-container --use\ndocker run --rm --privileged multiarch/qemu-user-static --reset -p yes

\n

Then build it:

\n

docker buildx build --platform linux/amd64,linux/arm/v7 . -t YOURDOCKERHUBUSER/YOURDOCKERHUBREPO:latest --output type=registry

", - "support": "https://github.com/Williangalvani/BlueOS-examples/", + "readme": "
\n

NOTE: This is a BlueOS Extension for using the ZeroTier service on a BlueOS device. It sets up a VPN to access your device from anywhere with an internet connection.

\n
\n

Initial Setup

\n
    \n
  1. Install the ZeroTier extension on your vehicle
  2. \n
  3. Download ZeroTier on the device(s) you want to connect with
  4. \n
  5. Log In to ZeroTier online\n
  6. \n
  7. Create a new network and copy the generated network ID
  8. \n
  9. Join the network (using the ID) from the BlueOS ZeroTier Extension page, as well as through the ZeroTier interface on your device(s)
  10. \n
  11. If using a private network, return to the online ZeroTier interface, scroll down to the \"Members\" section, and allow each device access to the network by checking the \"Auth?\" checkbox beside its listing\n
  12. \n
  13. You should now be able to access the BlueOS web interface through the ZeroTier connection\n
  14. \n
  15. Configure the desired endpoints (for MAVLink telemetry, video streams, serial, etc) to point to the intended recipient\n
  16. \n
\n

General Usage

\n

Once the network and endpoints have been configured it should be possible to reconnect at will, whenever the vehicle and a device are both connected to the internet, and connected to a ZeroTier network they're both authorised on.

\n

If a device leaves a ZeroTier network (or is not connected to the internet) then it will not be accessible to the rest of the network. ZeroTier's online manager can be used to de-authorise devices and/or remove them from the network entirely.

\n

Troubleshooting

\n", + "support": "https://github.com/Williangalvani/zerotierone/issues", "requirements": "core >= 1.1", "company": { "about": "", @@ -1860,33 +1960,41 @@ "email": "support@bluerobotics.com" }, "permissions": { - "ExposedPorts": { - "80/tcp": {} - }, + "NetworkMode": "host", "HostConfig": { - "PortBindings": { - "80/tcp": [ - { - "HostPort": "" - } - ] - } + "Privileged": true, + "NetworkMode": "host", + "CapAdd": [ + "SYS_ADMIN", + "NET_ADMIN" + ], + "Binds": [ + "/usr/blueos/extensions/zerotier:/var/lib/zerotier-one", + "/var/lib/zerotier-one:/old-settings" + ], + "Devices": [ + { + "PathOnHost": "/dev/net/tun", + "PathInContainer": "/dev/net/tun", + "CgroupPermissions": "rwm" + } + ] } } }, - "v1.0.0": { - "identifier": "76dbd22b-c7a4-566e-9342-5871c558bd88", + "v1.14.0": { + "identifier": "1c7ef7f2-05d3-5efb-815f-de4c075ca8d9", "type": "other", - "website": "https://github.com/Williangalvani/BlueOS-examples/", + "website": "https://github.com/Williangalvani/zerotierone", "images": [ { - "expanded_size": 41443780, + "expanded_size": 67417026, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:213f70bf5f5252d251419b90fa83845496cb18068c7c6d20399292614d5b0061" + "digest": "sha256:831682262dd736b8844e59d9bb49e479755c6cc0b27b71e4058c91033b7d2a40" } ], "authors": [ @@ -1895,212 +2003,320 @@ "email": "willian@bluerobotics.com" } ], - "filter_tags": [], + "filter_tags": [ + "communication" + ], "extra_links": {}, - "tag": "v1.0.0", + "tag": "v1.14.0", "docs": null, - "readme": "

Static Webpage extension

\n

This uses python to serve a basic static HTML page as an extension. This example includes MAVLink2Rest communication via http

\n

to build:

\n

Enable qemu static support with a docker

\n

docker buildx create --name multiarch --driver docker-container --use\ndocker run --rm --privileged multiarch/qemu-user-static --reset -p yes

\n

Then build it:

\n

docker buildx build --platform linux/amd64,linux/arm/v7 . -t YOURDOCKERHUBUSER/YOURDOCKERHUBREPO:latest --output type=registry

", - "support": "https://github.com/Williangalvani/BlueOS-examples/", - "requirements": "core >= 1", + "readme": "
\n

NOTE: This is a BlueOS Extension for using the ZeroTier service on a BlueOS device. It sets up a VPN to access your device from anywhere with an internet connection.

\n
\n

Initial Setup

\n
    \n
  1. Install the ZeroTier extension on your vehicle
  2. \n
  3. Download ZeroTier on the device(s) you want to connect with
  4. \n
  5. Log In to ZeroTier online\n
  6. \n
  7. Create a new network and copy the generated network ID
  8. \n
  9. Join the network (using the ID) from the BlueOS ZeroTier Extension page, as well as through the ZeroTier interface on your device(s)
  10. \n
  11. If using a private network, return to the online ZeroTier interface, scroll down to the \"Members\" section, and allow each device access to the network by checking the \"Auth?\" checkbox beside its listing\n
  12. \n
  13. You should now be able to access the BlueOS web interface through the ZeroTier connection\n
  14. \n
  15. Configure the desired endpoints (for MAVLink telemetry, video streams, serial, etc) to point to the intended recipient\n
  16. \n
\n

General Usage

\n

Once the network and endpoints have been configured it should be possible to reconnect at will, whenever the vehicle and a device are both connected to the internet, and connected to a ZeroTier network they're both authorised on.

\n

If a device leaves a ZeroTier network (or is not connected to the internet) then it will not be accessible to the rest of the network. ZeroTier's online manager can be used to de-authorise devices and/or remove them from the network entirely.

\n

Troubleshooting

\n", + "support": "https://github.com/Williangalvani/zerotierone/issues", + "requirements": "core >= 1.1", "company": { "about": "", "name": "Blue Robotics", "email": "support@bluerobotics.com" }, "permissions": { - "ExposedPorts": { - "80/tcp": {} - }, + "NetworkMode": "host", "HostConfig": { - "PortBindings": { - "80/tcp": [ - { - "HostPort": "" - } - ] - } + "Privileged": true, + "NetworkMode": "host", + "CapAdd": [ + "SYS_ADMIN", + "NET_ADMIN" + ], + "Binds": [ + "/usr/blueos/extensions/zerotier:/var/lib/zerotier-one", + "/var/lib/zerotier-one:/old-settings" + ], + "Devices": [ + { + "PathOnHost": "/dev/net/tun", + "PathInContainer": "/dev/net/tun", + "CgroupPermissions": "rwm" + } + ] } } - } - }, - "repo_info": { - "downloads": 85239, - "last_updated": "2023-05-02T10:58:10.407395Z", - "date_registered": "2022-09-19T20:25:33.201236Z" - } - }, - { - "identifier": "williangalvani.plc-diagnostics", - "name": "Tether Diagnostics", - "website": "https://github.com/Williangalvani/plc-extension", - "docker": "williangalvani/blueos-plc", - "description": "Diagnose issues with your tether", - "extension_logo": "https://raw.githubusercontent.com/bluerobotics/BlueOS-Extensions-Repository/master/repos/williangalvani/plc-diagnostics/extension_logo.png", - "company_logo": "https://raw.githubusercontent.com/bluerobotics/BlueOS-Extensions-Repository/master/repos/williangalvani/company_logo.png", - "versions": { - "v1.0.3": { - "identifier": "32e55347-6b8e-55c2-aaac-f885a82e34ec", - "type": "tool", - "website": null, + }, + "v1.12.3": { + "identifier": "d8da95f8-29ff-5b64-a4ac-3e4425d890f4", + "type": "other", + "website": "https://github.com/Williangalvani/zerotierone", "images": [ { - "expanded_size": 87971421, + "expanded_size": 260334935, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:35957a0d632117c9a77a100f263b2422a8334a77304f27ee2357d3881394ee67" + "digest": "sha256:714ca73d30b033b2eb4d3f70e77cf86fa5871a4cddf5314ed435dc4b4b860ff7" } ], "authors": [ { "name": "Willian Galvani", - "email": "wiliangalvani@gmail.com" + "email": "willian@bluerobotics.com" } ], - "filter_tags": [], - "extra_links": { - "source": "https://github.com/williangalvani/plc-extension" - }, - "tag": "v1.0.3", + "filter_tags": [ + "communication" + ], + "extra_links": {}, + "tag": "v1.12.3", "docs": null, - "readme": "

PLC Diagnostics

\n

Having thether issues? This extension will help you better understand your link's bandwidth and connection quality

", - "support": null, + "readme": "
\n

NOTE: This is a BlueOS Extension for using the ZeroTier service on a BlueOS device. It sets up a VPN to access your device from anywhere with an internet connection.

\n
\n

Initial Setup

\n
    \n
  1. Install the ZeroTier extension on your vehicle
  2. \n
  3. Download ZeroTier on the device(s) you want to connect with
  4. \n
  5. Log In to ZeroTier online\n
  6. \n
  7. Create a new network and copy the generated network ID
  8. \n
  9. Join the network (using the ID) from the BlueOS ZeroTier Extension page, as well as through the ZeroTier interface on your device(s)
  10. \n
  11. If using a private network, return to the online ZeroTier interface, scroll down to the \"Members\" section, and allow each device access to the network by checking the \"Auth?\" checkbox beside its listing\n
  12. \n
  13. You should now be able to access the BlueOS web interface through the ZeroTier connection\n
  14. \n
  15. Configure the desired endpoints (for MAVLink telemetry, video streams, serial, etc) to point to the intended recipient\n
  16. \n
\n

General Usage

\n

Once the network and endpoints have been configured it should be possible to reconnect at will, whenever the vehicle and a device are both connected to the internet, and connected to a ZeroTier network they're both authorised on.

\n

If a device leaves a ZeroTier network (or is not connected to the internet) then it will not be accessible to the rest of the network. ZeroTier's online manager can be used to de-authorise devices and/or remove them from the network entirely.

\n

Troubleshooting

\n", + "support": "https://github.com/Williangalvani/zerotierone/issues", "requirements": "core >= 1.1", "company": { "about": "", - "name": "Willian Galvani", - "email": "wiliangalvani@gmail.com" + "name": "Blue Robotics", + "email": "support@bluerobotics.com" }, "permissions": { "NetworkMode": "host", "HostConfig": { "Privileged": true, - "NetworkMode": "host" + "NetworkMode": "host", + "CapAdd": [ + "SYS_ADMIN", + "NET_ADMIN" + ], + "Binds": [ + "/usr/blueos/extensions/zerotier:/var/lib/zerotier-one", + "/var/lib/zerotier-one:/old-settings" + ], + "Devices": [ + { + "PathOnHost": "/dev/net/tun", + "PathInContainer": "/dev/net/tun", + "CgroupPermissions": "rwm" + } + ] } } }, - "v1.0.2": { - "identifier": "03921d1c-df43-5492-8887-44e9616df379", - "type": "tool", - "website": null, + "v1.12.1": { + "identifier": "2c16f342-5e57-580d-b91c-595299c4f765", + "type": "other", + "website": "https://github.com/Williangalvani/zerotierone", "images": [ { - "expanded_size": 87971421, + "expanded_size": 246398941, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:35957a0d632117c9a77a100f263b2422a8334a77304f27ee2357d3881394ee67" + "digest": "sha256:473153de2deff0d6ebe51df9a6d86dd1b382eecf78ba8f5ecad052c12d3ad94d" } ], "authors": [ { "name": "Willian Galvani", - "email": "wiliangalvani@gmail.com" + "email": "willian@bluerobotics.com" } ], - "filter_tags": [], - "extra_links": { - "source": "https://github.com/williangalvani/plc-extension" - }, - "tag": "v1.0.2", + "filter_tags": [ + "communication" + ], + "extra_links": {}, + "tag": "v1.12.1", "docs": null, - "readme": "

QuickStart-Python-Extension

\n

A quick-start repository for building and uploading a Python-focused BlueOS Extension.

\n

Intent

\n

This is intended to showcase:\n1. How to make a basic Extension with a simple web interface, using Python and some HTML\n2. The difference between code running on the frontend vs the backend\n - Backend code has access to vehicle hardware and other service APIs, as well as the filesystem (for things like persistent logging)\n - Frontend code is in charge of the display, and runs in the browser interface (instead of on the vehicle's onboard computer)

\n

Usage

\n

Forking the repository will try to automatically package and upload your Extension variant to a Docker registry (Docker Hub), using the built in GitHub Action.\nThis process makes use of some GitHub Variables that you can configure for your fork.

\n

It is also possible to manually run the Action (via the Actions tab), or to build and deploy the extension manually on your local machine (although this requires installing the relevant build tools and cloning the repository onto your computer).

\n
\n

\ud83d\udca1Note: If you are forking this repository as a starting point for creating your own BlueOS Extension, it is recommended to enable Issues in your fork (via the Settings tab at the top), so that users and co-developers of your Extension can raise problems and make suggestions.

\n
", - "support": null, + "readme": "

This is a ZeroTier extension. It sets up a VPN to access your device from anywhere with an internet connection.\nFor more information on ZeroTier, check ZeroTier.

", + "support": "https://github.com/Williangalvani/zerotierone/issues", "requirements": "core >= 1.1", "company": { "about": "", - "name": "Willian Galvani", - "email": "wiliangalvani@gmail.com" + "name": "Blue Robotics", + "email": "support@bluerobotics.com" }, "permissions": { "NetworkMode": "host", "HostConfig": { "Privileged": true, - "NetworkMode": "host" + "NetworkMode": "host", + "CapAdd": [ + "SYS_ADMIN", + "NET_ADMIN" + ], + "Binds": [ + "/var/lib/zerotier-one:/var/lib/zerotier-one" + ], + "Devices": [ + { + "PathOnHost": "/dev/net/tun", + "PathInContainer": "/dev/net/tun", + "CgroupPermissions": "rwm" + } + ] } } }, - "1.0.1": { - "identifier": "37303bf5-4438-56b4-b632-704649aa3a6e", - "type": "example", - "website": null, + "v1.0.1": { + "identifier": "50fceca3-00cf-550d-a4b3-6fc682caefab", + "type": "other", + "website": "https://github.com/Williangalvani/zerotierone", "images": [ { - "expanded_size": 87951124, + "expanded_size": 169429191, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:b189e8966331dbaacbd9d21c5583f0bb0c4faf00c9f8c3fd2d6fce2e6b330117" + "digest": "sha256:1172a08bfae4bc3fb54589d1b6abc7237a05b1a09c8a8e4bd87d2ba424e424be" } ], "authors": [ { - "name": "$AUTHOR", - "email": "$AUTHOR_EMAIL" + "name": "Willian Galvani", + "email": "willian@bluerobotics.com" } ], - "filter_tags": [], - "extra_links": { - "source": "https://github.com/$OWNER/$REPO" - }, - "tag": "1.0.1", + "filter_tags": [ + "communication" + ], + "extra_links": {}, + "tag": "v1.0.1", "docs": null, - "readme": "No README available", - "support": null, + "readme": "

This is a ZeroTier extension. It sets up a VPN to access your device from anywhere with an internet connection.\nFor more information on ZeroTier, check ZeroTier.

", + "support": "https://github.com/Williangalvani/zerotierone/issues", "requirements": "core >= 1.1", "company": { "about": "", - "name": "$MAINTAINER", - "email": "$MAINTAINER_EMAIL" + "name": "Blue Robotics", + "email": "support@bluerobotics.com" }, "permissions": { "NetworkMode": "host", "HostConfig": { "Privileged": true, - "NetworkMode": "host" - } + "NetworkMode": "host", + "CapAdd": [ + "SYS_ADMIN", + "NET_ADMIN" + ], + "Binds": [ + "/var/lib/zerotier-one:/var/lib/zerotier-one" + ], + "Devices": [ + { + "PathOnHost": "/dev/net/tun", + "PathInContainer": "/dev/net/tun", + "CgroupPermissions": "rwm" + } + ] + } } }, "v1.0.0": { - "identifier": "f7449486-ec50-5b8d-b582-a80f342e296c", - "type": "example", + "identifier": "a55f32d8-739a-50b3-b8eb-e6e648c55554", + "type": "other", + "website": "https://github.com/williangalvani/zerotierone", + "images": [ + { + "expanded_size": 169297643, + "platform": { + "architecture": "arm", + "variant": "v7", + "os": "linux" + }, + "digest": "sha256:da7a45553d91224582cfd56ead75ecdfc259e3ced1cb1c830bb044cdcc344c3c" + } + ], + "authors": [ + { + "name": "Willian Galvani", + "email": "willian@bluerobotics.com" + } + ], + "filter_tags": [], + "extra_links": {}, + "tag": "v1.0.0", + "docs": null, + "readme": "

This is a ZeroTier extension. It sets up a VPN to access your device from anywhere with an internet connection.\nFor more information on ZeroTier, check ZeroTier.

", + "support": "https://github.com/williangalvani/zerotierone", + "requirements": "core >= 1", + "company": { + "about": "", + "name": "Blue Robotics", + "email": "support@bluerobotics.com" + }, + "permissions": { + "NetworkMode": "host", + "HostConfig": { + "Privileged": true, + "NetworkMode": "host", + "CapAdd": [ + "SYS_ADMIN", + "NET_ADMIN" + ], + "Binds": [ + "/var/lib/zerotier-one:/var/lib/zerotier-one" + ], + "Devices": [ + { + "PathOnHost": "/dev/net/tun", + "PathInContainer": "/dev/net/tun", + "CgroupPermissions": "rwm" + } + ] + } + } + } + }, + "repo_info": { + "downloads": 45353, + "last_updated": "2024-11-03T23:04:33.620179Z", + "date_registered": "2022-06-08T02:20:40.875088Z" + } + }, + { + "identifier": "patrickelectric.starlink-position", + "name": "Starlink Position", + "website": "https://github.com/patrickelectric/blueos-starlink-position", + "docker": "patrickelectric/blueos-starlink-position", + "description": "Vehicle position system using starlink antenna", + "extension_logo": "https://raw.githubusercontent.com/bluerobotics/BlueOS-Extensions-Repository/master/repos/patrickelectric/starlink-position/extension_logo.png", + "company_logo": "https://raw.githubusercontent.com/bluerobotics/BlueOS-Extensions-Repository/master/repos/patrickelectric/company_logo.png", + "versions": { + "1.0.4": { + "identifier": "e618f598-9beb-5290-ad93-0f553fb283a4", + "type": "tool", "website": null, "images": [ { - "expanded_size": 87950576, + "expanded_size": 179259870, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:5fb4fbd32e76af6d853b972e4ea682e226147b7f4247f9f60c80860a8d963666" + "digest": "sha256:2cf81a7225d871ae40dc6a4d01ac0f7c61b80927f1cdc4faf78c4932602f8a07" } ], "authors": [ { - "name": "$AUTHOR", - "email": "$AUTHOR_EMAIL" + "name": "Patrick J. Pereira", + "email": "patrickelectric@gmail.com" } ], "filter_tags": [], "extra_links": { - "source": "https://github.com/$OWNER/$REPO" + "source": "https://github.com/patrickelectric/blueos-starlink-position" }, - "tag": "v1.0.0", + "tag": "1.0.4", "docs": null, - "readme": "No README available", + "readme": "

StarLink Position

\n

A simple extension that publishes MAVLink data based on starlink position information

", "support": null, "requirements": "core >= 1.1", "company": { "about": "", - "name": "$MAINTAINER", - "email": "$MAINTAINER_EMAIL" + "name": "Patrick J. Pereira", + "email": "patrickelectric@gmail.com" }, "permissions": { "NetworkMode": "host", @@ -2110,40 +2326,40 @@ } } }, - "1.0.0": { - "identifier": "ccd0b581-f1c8-567d-be09-86de4cd774fc", - "type": "example", + "1.0.3": { + "identifier": "216de75c-6672-58b6-984c-dd2cd87a2ac0", + "type": "tool", "website": null, "images": [ { - "expanded_size": 87950576, + "expanded_size": 179259887, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:3b74784581bf1a4c0c922944c69571e3434cf2de40db7d0bbd7fa461e7e4bdc9" + "digest": "sha256:e1c600ba4baeb1f4c765a349e3145304c61b74da64b906c772a6c551c66b7339" } ], "authors": [ { - "name": "$AUTHOR", - "email": "$AUTHOR_EMAIL" + "name": "Patrick J. Pereira", + "email": "patrickelectric@gmail.com" } ], "filter_tags": [], "extra_links": { - "source": "https://github.com/$OWNER/$REPO" + "source": "https://github.com/patrickelectric/blueos-starlink-position" }, - "tag": "1.0.0", + "tag": "1.0.3", "docs": null, - "readme": "No README available", + "readme": "

StarLink Position

\n

A simple extension that publishes MAVLink data based on starlink position information

", "support": null, "requirements": "core >= 1.1", "company": { "about": "", - "name": "$MAINTAINER", - "email": "$MAINTAINER_EMAIL" + "name": "Patrick J. Pereira", + "email": "patrickelectric@gmail.com" }, "permissions": { "NetworkMode": "host", @@ -2153,40 +2369,40 @@ } } }, - "0.0.5": { - "identifier": "a9ba0b33-ba29-506b-8425-ac3e621b2181", + "1.0.2": { + "identifier": "b656e161-26b7-5938-99eb-f382d42d397d", "type": "tool", "website": null, "images": [ { - "expanded_size": 87971421, + "expanded_size": 179258766, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:35957a0d632117c9a77a100f263b2422a8334a77304f27ee2357d3881394ee67" + "digest": "sha256:de0e17ea0fb9d9c25771472346c90d1343cf1181cd69cb2a0efd6c7bb9c1fbb4" } ], "authors": [ { - "name": "Willian Galvani", - "email": "wiliangalvani@gmail.com" + "name": "Patrick J. Pereira", + "email": "patrickelectric@gmail.com" } ], "filter_tags": [], "extra_links": { - "source": "https://github.com/williangalvani/plc-extension" + "source": "https://github.com/patrickelectric/blueos-starlink-position" }, - "tag": "0.0.5", + "tag": "1.0.2", "docs": null, - "readme": "No README available", + "readme": "

StarLink Position

\n

A simple extension that publishes MAVLink data based on starlink position information

", "support": null, "requirements": "core >= 1.1", "company": { "about": "", - "name": "Willian Galvani", - "email": "wiliangalvani@gmail.com" + "name": "Patrick J. Pereira", + "email": "patrickelectric@gmail.com" }, "permissions": { "NetworkMode": "host", @@ -2195,168 +2411,138 @@ "NetworkMode": "host" } } - } - }, - "repo_info": { - "downloads": 4882, - "last_updated": "2024-06-11T00:39:37.973367Z", - "date_registered": "2024-05-23T03:16:55.205832Z" - } - }, - { - "identifier": "williangalvani.example4", - "name": "Example 4", - "website": "https://github.com/Williangalvani/BlueOS-examples/", - "docker": "williangalvani/blueos-example4", - "description": "Vuetify + Persistent backend", - "extension_logo": "https://raw.githubusercontent.com/bluerobotics/BlueOS-Extensions-Repository/master/repos/williangalvani/example4/extension_logo.png", - "company_logo": "https://raw.githubusercontent.com/bluerobotics/BlueOS-Extensions-Repository/master/repos/williangalvani/company_logo.png", - "versions": { - "v1.0.1": { - "identifier": "8971d6d2-1339-51d2-b015-bbf05e4f3df9", - "type": "example", - "website": "https://github.com/Williangalvani/BlueOS-examples/", + }, + "1.0.1": { + "identifier": "ff877584-305d-5b29-9307-c00188512ce5", + "type": "tool", + "website": null, "images": [ { - "expanded_size": 45092996, + "expanded_size": 179259372, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:361210e8893ca847ed186885daf3cf6f06c6a455182e7bb90b8622dbe7945c91" + "digest": "sha256:337ece68c11acf4aacc92ea495dc217dfe00aed1b66e238f47a99d9ba1a6335d" } ], "authors": [ { - "name": "Willian Galvani", - "email": "willian@bluerobotics.com" + "name": "Patrick J. Pereira", + "email": "patrickelectric@gmail.com" } ], "filter_tags": [], - "extra_links": {}, - "tag": "v1.0.1", + "extra_links": { + "source": "https://github.com/patrickelectric/blueos-starlink-position" + }, + "tag": "1.0.1", "docs": null, - "readme": "

Static Webpage extension

\n

This uses python to serve a static HTML page using Vue and Vuetify as an extension. The static page in this example talks to a simple python backend.

\n

to build:

\n

Enable qemu static support with a docker

\n

docker buildx create --name multiarch --driver docker-container --use\ndocker run --rm --privileged multiarch/qemu-user-static --reset -p yes

\n

Then build it:

\n

docker buildx build --platform linux/amd64,linux/arm/v7 . -t YOURDOCKERHUBUSER/YOURDOCKERHUBREPO:latest --output type=registry

", - "support": "https://github.com/Williangalvani/BlueOS-examples/", + "readme": "

StarLink Position

\n

A simple extension that publishes MAVLink data based on starlink position information

", + "support": null, "requirements": "core >= 1.1", "company": { "about": "", - "name": "Blue Robotics", - "email": "support@bluerobotics.com" + "name": "Patrick J. Pereira", + "email": "patrickelectric@gmail.com" }, "permissions": { - "ExposedPorts": { - "80/tcp": {} - }, + "NetworkMode": "host", "HostConfig": { - "Binds": [ - "/root/.config:/root/.config" - ], - "PortBindings": { - "80/tcp": [ - { - "HostPort": "" - } - ] - } + "Privileged": true, + "NetworkMode": "host" } } }, - "v1.0.0": { - "identifier": "f9b3fffd-adc2-5d3a-aa12-3c4bdc3220f4", - "type": "other", - "website": "https://github.com/Williangalvani/BlueOS-examples/", + "1.0.0": { + "identifier": "cfe9ae2f-4a0c-54ed-8dfe-9547e0535456", + "type": "tool", + "website": null, "images": [ { - "expanded_size": 45276851, + "expanded_size": 52783426, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:78487700a46fb9c5c27c1738690fdd3e02d9f3a52416355b040ea405b773e4e5" + "digest": "sha256:40a37f0c67fa7affdfb68a3e25e272105d6c1fd13d33a1bba63fd3198d6e94b8" } ], "authors": [ { - "name": "Willian Galvani", - "email": "willian@bluerobotics.com" + "name": "Patrick J. Pereira", + "email": "patrickelectric@gmail.com" } ], "filter_tags": [], - "extra_links": {}, - "tag": "v1.0.0", + "extra_links": { + "source": "https://github.com/patrickelectric/blueos-starlink-position" + }, + "tag": "1.0.0", "docs": null, - "readme": "

Static Webpage extension

\n

This uses python to serve a static HTML page using Vue and Vuetify as an extension. The static page in this example talks to a simple python backend.

\n

to build:

\n

Enable qemu static support with a docker

\n

docker buildx create --name multiarch --driver docker-container --use\ndocker run --rm --privileged multiarch/qemu-user-static --reset -p yes

\n

Then build it:

\n

docker buildx build --platform linux/amd64,linux/arm/v7 . -t YOURDOCKERHUBUSER/YOURDOCKERHUBREPO:latest --output type=registry

", - "support": "https://github.com/Williangalvani/BlueOS-examples/", - "requirements": "core >= 1", + "readme": "No README available", + "support": null, + "requirements": "core >= 1.1", "company": { "about": "", - "name": "Blue Robotics", - "email": "support@bluerobotics.com" + "name": "Patrick J. Pereira", + "email": "patrickelectric@gmail.com" }, "permissions": { - "ExposedPorts": { - "80/tcp": {} - }, + "NetworkMode": "host", "HostConfig": { - "Binds": [ - "/root/.config:/root/.config" - ], - "PortBindings": { - "80/tcp": [ - { - "HostPort": "" - } - ] - } + "Privileged": true, + "NetworkMode": "host" } } } }, "repo_info": { - "downloads": 82974, - "last_updated": "2023-05-02T10:59:21.807562Z", - "date_registered": "2022-09-19T20:13:46.735725Z" + "downloads": 1691, + "last_updated": "2024-08-14T23:11:15.514761Z", + "date_registered": "2024-08-07T21:20:39.693471Z" } }, { - "identifier": "williangalvani.oakd", - "name": "Oak-D Video Streams", - "website": "https://github.com/Williangalvani/Oakd-extension", - "docker": "williangalvani/oakd-extension", - "description": "Exposes Oak-D streams into cockpit", - "extension_logo": "https://raw.githubusercontent.com/bluerobotics/BlueOS-Extensions-Repository/master/repos/williangalvani/oakd/extension_logo.png", - "company_logo": "https://raw.githubusercontent.com/bluerobotics/BlueOS-Extensions-Repository/master/repos/williangalvani/company_logo.png", + "identifier": "vshie.pingSurvey", + "name": "Simple Ping2 Survey", + "website": "https://github.com/vshie/pingSurvey", + "docker": "vshie/blueos-simplepingsurvey", + "description": "Simple Ping2 Survey", + "extension_logo": "https://raw.githubusercontent.com/bluerobotics/BlueOS-Extensions-Repository/master/repos/vshie/pingSurvey/extension_logo.png", + "company_logo": "https://raw.githubusercontent.com/bluerobotics/BlueOS-Extensions-Repository/master/repos/vshie/company_logo.png", "versions": { "v1.0.1": { - "identifier": "63e34a69-3b69-5327-8254-d4ff289d23db", - "type": "device-integration", - "website": "https://github.com/Williangalvani/Oakd-extension/", + "identifier": "91e2c1c5-9f3e-53aa-85a5-350c42bbe7f0", + "type": "tool", + "website": null, "images": [ { - "expanded_size": 1150339197, + "expanded_size": 54415457, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:17cb604a2ad65de827543a007a6ad0544f1386fa66468216a12c145b334e5984" + "digest": "sha256:2917a429dfc66a447295883b8de1ca551ff3e64109bd6bdcf8d943d535811ac7" } ], "authors": [ { - "name": "Willian Galvani", - "email": "willian@bluerobotics.com" + "name": "Tony White", + "email": "tonywhite@bluerobotics.com" } ], "filter_tags": [], - "extra_links": {}, + "extra_links": { + "source": "https://github.com/vshie/pingSurvey" + }, "tag": "v1.0.1", "docs": null, - "readme": "No README available", - "support": "https://github.com/Williangalvani/Oakd-extension/", + "readme": "

BlueOS-ping Survey

\n

A simple extension for BlueOS intended for collection of time-sync'd sonar and GPS data.

\n

Read more about this extension here

\n

Future feature ideas:

\n", + "support": null, "requirements": "core >= 1.1", "company": { "about": "", @@ -2364,93 +2550,55 @@ "email": "support@bluerobotics.com" }, "permissions": { - "NetworkMode": "host", + "ExposedPorts": { + "5420/tcp": {} + }, "HostConfig": { - "Privileged": true, - "NetworkMode": "host", "Binds": [ - "/dev/bus/usb:/dev/bus/usb" + "/usr/blueos/extensions/ping-survey:/app/logs" ], - "DeviceCgroupRules": [ - "c 189:* rmw" - ] - } - } - }, - "v1.0.1-heta.1": { - "identifier": "4d8e6434-af76-53c3-b91c-111aff57d0da", - "type": "device-integration", - "website": "https://github.com/Williangalvani/Oakd-extension/", - "images": [ - { - "expanded_size": 1150339016, - "platform": { - "architecture": "arm", - "variant": "v7", - "os": "linux" - }, - "digest": "sha256:55eb2f8e8d25a693dc2c53d52b082a29b5c6bf08c9d64d22a5a5c5ce8c93a49e" - } - ], - "authors": [ - { - "name": "Willian Galvani", - "email": "willian@bluerobotics.com" - } - ], - "filter_tags": [], - "extra_links": {}, - "tag": "v1.0.1-heta.1", - "docs": null, - "readme": "No README available", - "support": "https://github.com/Williangalvani/Oakd-extension/", - "requirements": "core >= 1.1", - "company": { - "about": "", - "name": "Blue Robotics", - "email": "support@bluerobotics.com" - }, - "permissions": { - "NetworkMode": "host", - "HostConfig": { - "Privileged": true, - "NetworkMode": "host", - "Binds": [ - "/dev/bus/usb:/dev/bus/usb" + "ExtraHosts": [ + "host.docker.internal:host-gateway" ], - "DeviceCgroupRules": [ - "c 189:* rmw" - ] + "PortBindings": { + "5420/tcp": [ + { + "HostPort": "" + } + ] + } } } }, "v1.0.0": { - "identifier": "267435ea-f9fd-510b-b863-250a622957f2", - "type": "device-integration", - "website": "https://github.com/Williangalvani/Oakd-extension/", + "identifier": "276e7852-159a-54f2-a476-0b623801fb8b", + "type": "example", + "website": null, "images": [ { - "expanded_size": 1150339194, + "expanded_size": 54320169, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:6da815487395a969ee4cd142ab7c55bf7b201032b433ae1e551af7380b75a042" + "digest": "sha256:f329aae26ef680843dd8b54ccb72f3e35ec80102b3d850a2c87ce4c522740a62" } ], "authors": [ { - "name": "Willian Galvani", - "email": "willian@bluerobotics.com" + "name": "Tony White", + "email": "tonywhite@bluerobotics.com" } ], "filter_tags": [], - "extra_links": {}, + "extra_links": { + "source": "https://github.com/vshie/pingSurvey" + }, "tag": "v1.0.0", "docs": null, - "readme": "

This extension exposes the Stereo Depth Disparity and RGB video from Oak-D cameras into RTSP streams that can be displayed in Cockpit.

", - "support": "https://github.com/Williangalvani/Oakd-extension/", + "readme": "

BlueOS-ping Survey

\n

A simple extension for BlueOS intended for collection of time-sync'd sonar and GPS data.

\n

Future feature ideas:

", + "support": null, "requirements": "core >= 1.1", "company": { "about": "", @@ -2458,251 +2606,339 @@ "email": "support@bluerobotics.com" }, "permissions": { - "NetworkMode": "host", + "ExposedPorts": { + "5420/tcp": {} + }, "HostConfig": { - "Privileged": true, - "NetworkMode": "host", "Binds": [ - "/dev/bus/usb:/dev/bus/usb" + "/root/.config/blueos/extensions/$IMAGE_NAME:/root/.config" ], - "DeviceCgroupRules": [ - "c 189:* rmw" - ] + "ExtraHosts": [ + "host.docker.internal:host-gateway" + ], + "PortBindings": { + "5420/tcp": [ + { + "HostPort": "" + } + ] + } } } } }, "repo_info": { - "downloads": 1946, - "last_updated": "2024-06-28T11:53:31.838581Z", - "date_registered": "2024-04-02T12:56:46.518809Z" + "downloads": 3445, + "last_updated": "2024-02-02T17:20:22.289289Z", + "date_registered": "2023-10-04T23:07:17.135228Z" } }, { - "identifier": "williangalvani.usbip", - "name": "USBIP", - "website": "https://github.com/Williangalvani/blueos-usbip", - "docker": "williangalvani/blueos-extension-usbip", - "description": "USBIP extension for extending USB over IP", - "extension_logo": "https://raw.githubusercontent.com/bluerobotics/BlueOS-Extensions-Repository/master/repos/williangalvani/usbip/extension_logo.png", - "company_logo": "https://raw.githubusercontent.com/bluerobotics/BlueOS-Extensions-Repository/master/repos/williangalvani/company_logo.png", + "identifier": "sonardyne.navsync_pro", + "name": "Sonardyne: NavSync Pro", + "website": "https://github.com/Sonardyne/blueos-sprint-nav-extension", + "docker": "sonardyne/blueos-sprint-nav-extension", + "description": "An extension that uses SPRINT-Nav HNav data to provide position updates to the BlueROV. This allows both vehicle tracking and position hold.", + "extension_logo": "https://raw.githubusercontent.com/bluerobotics/BlueOS-Extensions-Repository/master/repos/sonardyne/navsync_pro/extension_logo.png", + "company_logo": "https://raw.githubusercontent.com/bluerobotics/BlueOS-Extensions-Repository/master/repos/sonardyne/company_logo.png", "versions": { - "v1.0.3": { - "identifier": "c9ab154d-70e1-5174-a91c-d8b0e84bcbc2", + "v1.0.7": { + "identifier": "175c6cca-c4c6-5a27-a878-96f8458d701d", "type": "device-integration", - "website": "https://github.com/Williangalvani/BlueOS-UsbIp", + "website": "https://www.sonardyne.com/", "images": [ { - "expanded_size": 46300711, + "expanded_size": 546383017, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:77fa8d6dc7271ea52c9b220744212c7d2c501b44053c99cf57242f915abee571" + "digest": "sha256:cc87e6a71d3763c656d122985e2137687917d8a9ed7395b1fe846183c079f319" } ], "authors": [ { - "name": "Willian Galvani", - "email": "willian@bluerobotics.com" + "name": "Sonardyne International Limited", + "email": "support@sonardyne.com" } ], "filter_tags": [ - "communication" + "positioning", + "navigation", + "dvl", + "ins", + "position-hold" ], "extra_links": {}, - "tag": "v1.0.3", + "tag": "v1.0.7", "docs": null, - "readme": "

USB/IP extension

\n

This exposes usb devices via IP, which can be used in another client device

\n

Client

\n

Linux:

\n

```

\n

load modules

\n

sudo modprobe usbip-core\nsudo modprobe vhci-hcd

\n

list devices

\n

sudo usbip list --remote blueos.local

\n

connect to device with bus 1-1.3

\n

sudo usbip attach --remote blueos.local --busid 1-1.3

\n

```

\n

Windows

\n

Download the 3.6 dev release from https://github.com/cezanne/usbip-win and follow the \"Client\" instructions there.\nThe new \"ude\" driver seemed to work for me.

\n

Changelog:

\n", - "support": "https://github.com/Williangalvani/BlueOS-UsbIp", - "requirements": "core >= 1.1", + "readme": "

BlueOS Extension Information

", + "support": "https://www.sonardyne.com/support-centre/", + "requirements": null, "company": { "about": "", - "name": "Blue Robotics", - "email": "support@bluerobotics.com" + "name": "Sonardyne International Limited", + "email": "support@sonardyne.com" }, "permissions": { - "NetworkMode": "host" + "NetworkMode": "host", + "ExposedPorts": { + "9091/tcp": {} + }, + "HostConfig": { + "Privileged": true, + "NetworkMode": "host", + "Binds": [ + "/dev:/dev", + "/usr/blueos/extensions/data-logger:/webui/logs" + ], + "PortBindings": { + "9091/tcp": [ + { + "HostPort": "" + } + ] + } + } } }, - "v1.0.2": { - "identifier": "0ba7d41c-99ac-5b5b-a8a5-0571103fef2b", + "v1.0.6": { + "identifier": "99679a4d-e956-5010-af0c-ee08127e7c27", "type": "device-integration", - "website": "https://github.com/Williangalvani/BlueOS-UsbIp", + "website": "https://www.sonardyne.com/", "images": [ { - "expanded_size": 46300676, + "expanded_size": 543935068, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:71bd46130f38fea1c6d6c7d91104100c760a5f254689c4f329fa1731b136990d" + "digest": "sha256:09406e970a2bc715b3e383b396fd4b03dd6b083247168fe666b3a48b8a9ea472" } ], "authors": [ { - "name": "Willian Galvani", - "email": "willian@bluerobotics.com" + "name": "Sonardyne International Limited", + "email": "support@sonardyne.com" } ], "filter_tags": [ - "communication" + "positioning", + "navigation", + "dvl", + "ins", + "position-hold" ], "extra_links": {}, - "tag": "v1.0.2", + "tag": "v1.0.6", "docs": null, - "readme": "

USB/IP extension

\n

This exposes usb devices via IP, which can be used in another client device

\n

Client

\n

Linux:

\n

```

\n

load modules

\n

sudo modprobe usbip-core\nsudo modprobe vhci-hcd

\n

list devices

\n

sudo usbip list --remote blueos.local

\n

connect to device with bus 1-1.3

\n

sudo usbip attach --remote blueos.local --busid 1-1.3

\n

```

\n

Windows

\n

Download the 3.6 dev release from https://github.com/cezanne/usbip-win and follow the \"Client\" instructions there.\nThe new \"ude\" driver seemed to work for me.

\n

Changelog:

\n", - "support": "https://github.com/Williangalvani/BlueOS-UsbIp", - "requirements": "core >= 1.1", + "readme": "

BlueOS Extension Information

", + "support": "https://www.sonardyne.com/support-centre/", + "requirements": null, "company": { "about": "", - "name": "Blue Robotics", - "email": "support@bluerobotics.com" + "name": "Sonardyne International Limited", + "email": "support@sonardyne.com" }, "permissions": { - "NetworkMode": "host" + "NetworkMode": "host", + "ExposedPorts": { + "9091/tcp": {} + }, + "HostConfig": { + "Privileged": true, + "NetworkMode": "host", + "Binds": [ + "/dev:/dev", + "/usr/blueos/extensions/data-logger:/webui/logs" + ], + "PortBindings": { + "9091/tcp": [ + { + "HostPort": "" + } + ] + } + } } }, - "v1.0.1": { - "identifier": "21940e28-c01a-5daa-836d-4d56fdbcf7d9", + "v1.0.5": { + "identifier": "26d37fab-0109-500f-8e05-94c18f55246f", "type": "device-integration", - "website": "https://github.com/Williangalvani/BlueOS-UsbIp", + "website": "https://www.sonardyne.com/", "images": [ { - "expanded_size": 60355857, + "expanded_size": 543876880, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:6b4d81bb368a7899b106009a3d2a717144c471dde7dfaa22e61aa4512b987887" + "digest": "sha256:f19c446693d4f581c9c4f419572a90cdaa3ab53efd62c31e44c3227ca2168d12" } ], "authors": [ { - "name": "Willian Galvani", - "email": "willian@bluerobotics.com" + "name": "Sonardyne International Limited", + "email": "support@sonardyne.com" } ], "filter_tags": [ - "communication" + "positioning", + "navigation", + "dvl", + "ins", + "position-hold" ], "extra_links": {}, - "tag": "v1.0.1", + "tag": "v1.0.5", "docs": null, - "readme": "

USB/IP extension

\n

This exposes usb devices via IP, which can be used in another client device

\n

To use, first pull it in blueos:

\n

red-pill\nsudo docker run -d --net=host --name=blueos-example1 --restart=unless-stopped williangalvani/blueos-extension-usbip:latest

\n

Client

\n

Linux:

\n

```

\n

load modules

\n

sudo modprobe usbip-core\nsudo modprobe vhci-hcd

\n

list devices

\n

sudo usbip list --remote blueos.local

\n

connect to device with bus 1-1.3

\n

sudo usbip attach --remote blueos.local --busid 1-1.3

\n

```

\n

Windows

\n

Download the 3.6 dev release from https://github.com/cezanne/usbip-win and follow the \"Client\" instructions there.\nThe new \"ude\" driver seemed to work for me.

", - "support": "https://github.com/Williangalvani/BlueOS-UsbIp", - "requirements": "core >= 1.1", + "readme": "

BlueOS Extension Information

", + "support": "https://www.sonardyne.com/support-centre/", + "requirements": null, "company": { "about": "", - "name": "Blue Robotics", - "email": "support@bluerobotics.com" + "name": "Sonardyne International Limited", + "email": "support@sonardyne.com" }, "permissions": { - "NetworkMode": "host" + "NetworkMode": "host", + "ExposedPorts": { + "9091/tcp": {} + }, + "HostConfig": { + "Privileged": true, + "NetworkMode": "host", + "Binds": [ + "/dev:/dev", + "/usr/blueos/extensions/data-logger:/webui/logs" + ], + "PortBindings": { + "9091/tcp": [ + { + "HostPort": "" + } + ] + } + } } }, - "v1.0.0": { - "identifier": "66cc7571-3976-551f-9ccc-0159c33fab96", - "type": "other", - "website": "https://github.com/Williangalvani/BlueOS-UsbIp", + "v1.0.4": { + "identifier": "27832fd3-fbf3-5858-a829-02e11b852d90", + "type": "device-integration", + "website": "https://www.sonardyne.com/", "images": [ { - "expanded_size": 60460083, + "expanded_size": 543868925, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:2721824e101a3d6853d17b1a743020d7048eb55677c4243293366ec4930ff7fa" + "digest": "sha256:208e65a722024e93143a194a3002af2e488b0e3b74a5d2051a2db832ac7e1cb3" } ], "authors": [ { - "name": "Willian Galvani", - "email": "willian@bluerobotics.com" + "name": "Sonardyne International Limited", + "email": "support@sonardyne.com" } ], - "filter_tags": [], + "filter_tags": [ + "positioning", + "navigation", + "dvl", + "ins", + "position-hold" + ], "extra_links": {}, - "tag": "v1.0.0", + "tag": "v1.0.4", "docs": null, - "readme": "

USB/IP extension

\n

This exposes usb devices via IP, which can be used in another client device

\n

Client

\n

Linux:

\n

```

\n

load modules

\n

sudo modprobe usbip-core\nsudo modprobe vhci-hcd

\n

list devices

\n

sudo usbip list --remote blueos.local

\n

connect to device with bus 1-1.3

\n

sudo usbip attach --remote blueos.local --busid 1-1.3

\n

```

\n

Windows

\n

Download the 3.6 dev release from https://github.com/cezanne/usbip-win and follow the \"Client\" instructions there.\nThe new \"ude\" driver seemed to work for me.

", - "support": "https://github.com/Williangalvani/BlueOS-UsbIp", - "requirements": "core > 1", + "readme": "

BlueOS Extension Information

", + "support": "https://www.sonardyne.com/support-centre/", + "requirements": null, "company": { "about": "", - "name": "Blue Robotics", - "email": "support@bluerobotics.com" + "name": "Sonardyne International Limited", + "email": "support@sonardyne.com" }, "permissions": { - "NetworkMode": "host" + "NetworkMode": "host", + "ExposedPorts": { + "9091/tcp": {} + }, + "HostConfig": { + "Privileged": true, + "NetworkMode": "host", + "Binds": [ + "/dev:/dev", + "/usr/blueos/extensions/data-logger:/webui/logs" + ], + "PortBindings": { + "9091/tcp": [ + { + "HostPort": "" + } + ] + } + } } - } - }, - "repo_info": { - "downloads": 41560, - "last_updated": "2024-03-04T19:11:38.707894Z", - "date_registered": "2022-09-07T02:56:18.778263Z" - } - }, - { - "identifier": "williangalvani.example5", - "name": "Example 5", - "website": "https://github.com/Williangalvani/BlueOS-examples/", - "docker": "williangalvani/blueos-example5", - "description": "GPIO PWM Control", - "extension_logo": "https://raw.githubusercontent.com/bluerobotics/BlueOS-Extensions-Repository/master/repos/williangalvani/example5/extension_logo.png", - "company_logo": "https://raw.githubusercontent.com/bluerobotics/BlueOS-Extensions-Repository/master/repos/williangalvani/company_logo.png", - "versions": { - "v1.0.1": { - "identifier": "aee11d25-295e-5fc7-8d75-c8cffa35172d", - "type": "example", - "website": "https://github.com/Williangalvani/BlueOS-examples/", + }, + "v1.0.3": { + "identifier": "511895ee-ff95-5882-8098-b19fd1934774", + "type": "device-integration", + "website": "https://www.sonardyne.com/", "images": [ { - "expanded_size": 70567870, + "expanded_size": 543867774, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:e87fa5aae685c797296502f1623cfd032ea3d6c9f7d8e241a382537e0fa0ca85" + "digest": "sha256:78beaabd0a70d25ef5bc85157e1122421ef9f8c421f9869096e9b73e8e57eedd" } ], "authors": [ { - "name": "Willian Galvani", - "email": "willian@bluerobotics.com" + "name": "Sonardyne International Limited", + "email": "support@sonardyne.com" } ], "filter_tags": [ - "interaction" + "positioning", + "navigation", + "dvl", + "ins", + "position-hold" ], "extra_links": {}, - "tag": "v1.0.1", + "tag": "v1.0.3", "docs": null, - "readme": "

Gpio Control Example

\n

This uses python to serve a static HTML page using Vue and Vuetify controlling a gpio using a python backend\nto build:

\n

Enable qemu static support with a docker

\n

docker buildx create --name multiarch --driver docker-container --use\ndocker run --rm --privileged multiarch/qemu-user-static --reset -p yes

\n

Then build it:

\n

docker buildx build --platform linux/amd64,linux/arm/v7 . -t YOURDOCKERHUBUSER/YOURDOCKERHUBREPO:latest --output type=registry

\n

Then pull it in blueos:

\n

red-pill\nsudo docker run -d --net=host --name=blueos-example4 --restart=unless-stopped YOURDOCKERHUBUSER/YOURDOCKERHUBREPO:latest

", - "support": "https://github.com/Williangalvani/BlueOS-examples/", - "requirements": "core >= 1.1", + "readme": "

BlueOS Extension Information

", + "support": "https://www.sonardyne.com/support-centre/", + "requirements": null, "company": { "about": "", - "name": "Blue Robotics", - "email": "support@bluerobotics.com" + "name": "Sonardyne International Limited", + "email": "support@sonardyne.com" }, "permissions": { + "NetworkMode": "host", "ExposedPorts": { - "80/tcp": {} + "9091/tcp": {} }, "HostConfig": { "Privileged": true, + "NetworkMode": "host", "Binds": [ - "/root/.config:/root/.config" + "/dev:/dev", + "/usr/blueos/extensions/data-logger:/webui/logs" ], "PortBindings": { - "80/tcp": [ + "9091/tcp": [ { "HostPort": "" } @@ -2711,50 +2947,59 @@ } } }, - "v1.0.0": { - "identifier": "1f032679-8e6f-5837-9743-39ff07613067", - "type": "other", - "website": "https://github.com/Williangalvani/BlueOS-examples/", + "v1.0.2": { + "identifier": "87b57f15-256e-5a94-a475-d561c83dfdc4", + "type": "device-integration", + "website": "https://www.sonardyne.com/", "images": [ { - "expanded_size": 66852214, + "expanded_size": 543881443, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:71889390624dbe62a6f63094ca917da18182d55235ea7804c72209b995587970" + "digest": "sha256:41d260710ff0cdbb41f2ff5469518b8870823a069578601b9a9b0bbec475721b" } ], "authors": [ { - "name": "Willian Galvani", - "email": "willian@bluerobotics.com" + "name": "Sonardyne International Limited", + "email": "support@sonardyne.com" } ], - "filter_tags": [], + "filter_tags": [ + "positioning", + "navigation", + "dvl", + "ins", + "position-hold" + ], "extra_links": {}, - "tag": "v1.0.0", + "tag": "v1.0.2", "docs": null, - "readme": "

Gpio Control Example

\n

This uses python to serve a static HTML page using Vue and Vuetify controlling a gpio using a python backend\nto build:

\n

Enable qemu static support with a docker

\n

docker buildx create --name multiarch --driver docker-container --use\ndocker run --rm --privileged multiarch/qemu-user-static --reset -p yes

\n

Then build it:

\n

docker buildx build --platform linux/amd64,linux/arm/v7 . -t YOURDOCKERHUBUSER/YOURDOCKERHUBREPO:latest --output type=registry

\n

Then pull it in blueos:

\n

red-pill\nsudo docker run -d --net=host --name=blueos-example4 --restart=unless-stopped YOURDOCKERHUBUSER/YOURDOCKERHUBREPO:latest

", - "support": "https://github.com/Williangalvani/BlueOS-examples/", - "requirements": "core >= 1", + "readme": "No README available", + "support": "https://www.sonardyne.com/support-centre/", + "requirements": null, "company": { "about": "", - "name": "Blue Robotics", - "email": "support@bluerobotics.com" + "name": "Sonardyne International Limited", + "email": "support@sonardyne.com" }, "permissions": { + "NetworkMode": "host", "ExposedPorts": { - "80/tcp": {} + "9091/tcp": {} }, "HostConfig": { "Privileged": true, + "NetworkMode": "host", "Binds": [ - "/root/.config:/root/.config" + "/dev:/dev", + "/usr/blueos/extensions/data-logger:/webui/logs" ], "PortBindings": { - "80/tcp": [ + "9091/tcp": [ { "HostPort": "" } @@ -2762,63 +3007,60 @@ } } } - } - }, - "repo_info": { - "downloads": 4040, - "last_updated": "2023-05-02T11:19:18.145903Z", - "date_registered": "2022-10-12T18:15:01.290841Z" - } - }, - { - "identifier": "williangalvani.example3", - "name": "Example 3", - "website": "https://github.com/Williangalvani/BlueOS-examples/", - "docker": "williangalvani/blueos-example3", - "description": "Basic Vuetify example", - "extension_logo": "https://raw.githubusercontent.com/bluerobotics/BlueOS-Extensions-Repository/master/repos/williangalvani/example3/extension_logo.png", - "company_logo": "https://raw.githubusercontent.com/bluerobotics/BlueOS-Extensions-Repository/master/repos/williangalvani/company_logo.png", - "versions": { + }, "v1.0.1": { - "identifier": "57e56b68-d5bf-563e-bf9b-faf46092a91d", - "type": "example", - "website": "https://github.com/Williangalvani/BlueOS-examples/", + "identifier": "783baccc-23cf-51ed-b6eb-d682fa3b85ab", + "type": "device-integration", + "website": "https://www.sonardyne.com/", "images": [ { - "expanded_size": 43257229, + "expanded_size": 543877988, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:2ea73258ad7653091c56983f2b3484d3239ac1a13009cb5f8f337ba509162b29" + "digest": "sha256:c363af047b2c531181ed31c09b9d5b5a971b1e16400a5bac1691de08d265064b" } ], "authors": [ { - "name": "Willian Galvani", - "email": "willian@bluerobotics.com" + "name": "Sonardyne International Limited", + "email": "support@sonardyne.com" } ], - "filter_tags": [], + "filter_tags": [ + "positioning", + "navigation", + "dvl", + "ins", + "position-hold" + ], "extra_links": {}, "tag": "v1.0.1", "docs": null, - "readme": "

Static Webpage extension

\n

This uses python to serve a static HTML page using Vue and Vuetify as an extension.

\n

to build:

\n

Enable qemu static support with a docker

\n

docker buildx create --name multiarch --driver docker-container --use\ndocker run --rm --privileged multiarch/qemu-user-static --reset -p yes

\n

Then build it:

\n

docker buildx build --platform linux/amd64,linux/arm/v7 . -t YOURDOCKERHUBUSER/YOURDOCKERHUBREPO:latest --output type=registry

", - "support": "https://github.com/Williangalvani/BlueOS-examples/", - "requirements": "core >= 1.1", + "readme": "No README available", + "support": "https://www.sonardyne.com/support-centre/", + "requirements": null, "company": { "about": "", - "name": "Blue Robotics", - "email": "support@bluerobotics.com" + "name": "Sonardyne International Limited", + "email": "support@sonardyne.com" }, "permissions": { + "NetworkMode": "host", "ExposedPorts": { - "80/tcp": {} + "9091/tcp": {} }, "HostConfig": { + "Privileged": true, + "NetworkMode": "host", + "Binds": [ + "/dev:/dev", + "/usr/blueos/extensions/data-logger:/webui/logs" + ], "PortBindings": { - "80/tcp": [ + "9091/tcp": [ { "HostPort": "" } @@ -2828,1222 +3070,1515 @@ } }, "v1.0.0": { - "identifier": "e27b2b4c-10f0-5277-9045-0f1482e0a2bc", - "type": "other", - "website": "https://github.com/Williangalvani/BlueOS-examples/", + "identifier": "ccd83cc9-03fe-5b6e-986c-aa768c4e3224", + "type": "device-integration", + "website": "https://www.sonardyne.com/", "images": [ { - "expanded_size": 43445037, + "expanded_size": 543897122, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:abed773725bdd4e3facaf6884dde2bad1a25f479d3b3697af3480a2549da3cd1" + "digest": "sha256:4eca4dbd894c55822394eebc93cf01070157dc57d1e5b754cd01562eb42efb4a" } ], "authors": [ { - "name": "Willian Galvani", - "email": "willian@bluerobotics.com" + "name": "Sonardyne International Limited", + "email": "support@sonardyne.com" } ], - "filter_tags": [], + "filter_tags": [ + "positioning", + "navigation", + "dvl", + "ins", + "position-hold" + ], "extra_links": {}, "tag": "v1.0.0", "docs": null, - "readme": "

Static Webpage extension

\n

This uses python to serve a static HTML page using Vue and Vuetify as an extension.

\n

to build:

\n

Enable qemu static support with a docker

\n

docker buildx create --name multiarch --driver docker-container --use\ndocker run --rm --privileged multiarch/qemu-user-static --reset -p yes

\n

Then build it:

\n

docker buildx build --platform linux/amd64,linux/arm/v7 . -t YOURDOCKERHUBUSER/YOURDOCKERHUBREPO:latest --output type=registry

", - "support": "https://github.com/Williangalvani/BlueOS-examples/", - "requirements": "core >= 1", + "readme": "No README available", + "support": "https://www.sonardyne.com/support-centre/", + "requirements": null, "company": { "about": "", - "name": "Blue Robotics", - "email": "support@bluerobotics.com" + "name": "Sonardyne International Limited", + "email": "support@sonardyne.com" }, "permissions": { + "NetworkMode": "host", "ExposedPorts": { - "80/tcp": {} + "9091/tcp": {} }, "HostConfig": { - "PortBindings": { - "80/tcp": [ - { - "HostPort": "" - } - ] - } + "Privileged": true, + "NetworkMode": "host", + "Binds": [ + "/dev:/dev", + "/usr/blueos/extensions/data-logger:/webui/logs" + ] } } } }, "repo_info": { - "downloads": 88273, - "last_updated": "2023-05-02T10:58:42.102603Z", - "date_registered": "2022-09-19T20:24:45.273155Z" + "downloads": 2947, + "last_updated": "2024-11-18T15:39:45.438984Z", + "date_registered": "2024-09-16T13:23:53.464854Z" } }, { - "identifier": "williangalvani.example1", - "name": "Example 1", - "website": "https://github.com/Williangalvani/BlueOS-examples/", - "docker": "williangalvani/blueos-example1", - "description": "Hello World", - "extension_logo": "https://raw.githubusercontent.com/bluerobotics/BlueOS-Extensions-Repository/master/repos/williangalvani/example1/extension_logo.png", - "company_logo": "https://raw.githubusercontent.com/bluerobotics/BlueOS-Extensions-Repository/master/repos/williangalvani/company_logo.png", + "identifier": "jmrobotics.jm-connect", + "name": "JM Connect", + "website": "https://www.jmrobotics.no", + "docker": "maphstra/jm-connect-blueos", + "description": "JM Connect Extension for BlueOS", + "extension_logo": "https://raw.githubusercontent.com/bluerobotics/BlueOS-Extensions-Repository/master/repos/jmrobotics/jm-connect/extension_logo.png", + "company_logo": "https://raw.githubusercontent.com/bluerobotics/BlueOS-Extensions-Repository/master/repos/jmrobotics/company_logo.png", "versions": { - "v1.0.1": { - "identifier": "bf421443-99eb-57ac-8de4-190157c0c680", - "type": "example", - "website": "https://github.com/Williangalvani/BlueOS-examples/", + "0.1.9": { + "identifier": "70f8b6be-ca32-5fa2-ae42-ca914a319ae4", + "type": "other", + "website": "https://www.jmrobotics.no", "images": [ { - "expanded_size": 46802192, - "platform": { - "architecture": "amd64", - "variant": null, - "os": "linux" - }, - "digest": "sha256:34d8e4576adb26c8db7a338b595cf01857da21c3a67f14796f0e503b4f0edfbd" - }, - { - "expanded_size": 41255503, + "expanded_size": 139907509, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:268ee547e87fc7b4c8c6dbd360a1e8a1c10228164e2458d9220b6a06155a8951" + "digest": "sha256:667290b9eac12e465c68d027cb368b690ebbba7687006c61661744c5d2174a3d" } ], "authors": [ { - "name": "Willian Galvani", - "email": "willian@bluerobotics.com" + "name": "Mads Peter Hammer Strand", + "email": "mads@jmrobotics.no" } ], "filter_tags": [], "extra_links": {}, - "tag": "v1.0.1", + "tag": "0.1.9", "docs": null, - "readme": "

Static Webpage extension

\n

This uses python to serve a basic static HTML page as an extension.

\n

to build:

\n

Enable qemu static support with a docker

\n

docker buildx create --name multiarch --driver docker-container --use\ndocker run --rm --privileged multiarch/qemu-user-static --reset -p yes

\n

Then build it:

\n

docker buildx build --platform linux/amd64,linux/arm/v7 . -t YOURDOCKERHUBUSER/YOURDOCKERHUBREPO:latest --output type=registry

", - "support": "https://github.com/Williangalvani/BlueOS-examples/", - "requirements": "core >= 1.1", + "readme": "No README available", + "support": "https://www.jmrobotics.no", + "requirements": "core >= 1", "company": { "about": "", - "name": "Blue Robotics", - "email": "support@bluerobotics.com" + "name": "JM Robotics", + "email": "support@jmrobotics.no" }, "permissions": { + "Env": [ + "SERVER_URL=https://software.jmrobotics.no/server/", + "I2CBUS=6", + "ROV_ID=" + ], "ExposedPorts": { - "80/tcp": {} + "1337/tcp": {}, + "8137/tcp": {}, + "1338/tcp": {} }, + "NetworkMode": "host", "HostConfig": { + "Privileged": true, + "Binds": [ + "/root/.config/jm:/root/.config", + "/var/run/docker.sock:/var/run/docker.sock" + ], + "ExtraHosts": [ + "host.docker.internal:host-gateway" + ], "PortBindings": { - "80/tcp": [ + "1337/tcp": [ { - "HostPort": "" + "HostPort": "1337" + } + ], + "8137/tcp": [ + { + "HostPort": "8137" + } + ], + "1338/tcp": [ + { + "HostPort": "1338" } ] } } } }, - "v1.0.0": { - "identifier": "f01e3e89-4f93-5c96-8b6a-5526699bebb1", + "0.1.8": { + "identifier": "bacd090a-56a3-5ff5-80cc-9a1ecc66c2e6", "type": "other", - "website": "https://github.com/Williangalvani/BlueOS-examples/", + "website": "https://www.jmrobotics.no", "images": [ { - "expanded_size": 41443310, + "expanded_size": 139907444, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:95166dcc031a759856cc1527021093c83261c5a32a18f2329e48e0f3e2c419c0" + "digest": "sha256:5fddf3cd759e6b3578ceb7b386da9ef2d760dcb3f8ea9d9877268b29fd96a51e" } ], "authors": [ { - "name": "Willian Galvani", - "email": "willian@bluerobotics.com" + "name": "Mads Peter Hammer Strand", + "email": "mads@jmrobotics.no" } ], "filter_tags": [], "extra_links": {}, - "tag": "v1.0.0", + "tag": "0.1.8", "docs": null, - "readme": "

Static Webpage extension

\n

This uses python to serve a basic static HTML page as an extension.

\n

to build:

\n

Enable qemu static support with a docker

\n

docker buildx create --name multiarch --driver docker-container --use\ndocker run --rm --privileged multiarch/qemu-user-static --reset -p yes

\n

Then build it:

\n

docker buildx build --platform linux/amd64,linux/arm/v7 . -t YOURDOCKERHUBUSER/YOURDOCKERHUBREPO:latest --output type=registry

", - "support": "https://github.com/Williangalvani/BlueOS-examples/", - "requirements": "core > 1", + "readme": "No README available", + "support": "https://www.jmrobotics.no", + "requirements": "core >= 1", "company": { "about": "", - "name": "Blue Robotics", - "email": "support@bluerobotics.com" + "name": "JM Robotics", + "email": "support@jmrobotics.no" }, "permissions": { + "Env": [ + "SERVER_URL=https://software.jmrobotics.no/server/", + "I2CBUS=6", + "ROV_ID=" + ], "ExposedPorts": { - "80/tcp": {} + "1337/tcp": {}, + "8137/tcp": {}, + "1338/tcp": {} }, + "NetworkMode": "host", "HostConfig": { + "Privileged": true, + "Binds": [ + "/root/.config/jm:/root/.config", + "/var/run/docker.sock:/var/run/docker.sock" + ], + "ExtraHosts": [ + "host.docker.internal:host-gateway" + ], "PortBindings": { - "80/tcp": [ + "1337/tcp": [ { - "HostPort": "" + "HostPort": "1337" + } + ], + "8137/tcp": [ + { + "HostPort": "8137" + } + ], + "1338/tcp": [ + { + "HostPort": "1338" } ] } } } - } - }, - "repo_info": { - "downloads": 80371, - "last_updated": "2023-05-02T10:57:42.905818Z", - "date_registered": "2022-09-20T18:15:02.068256Z" - } - }, - { - "identifier": "williangalvani.zerotier", - "name": "ZeroTier", - "website": "https://github.com/Williangalvani/ZeroTierOne", - "docker": "williangalvani/zerotier", - "description": "Join a virtual network to operate your vehicle from anywhere", - "extension_logo": "https://raw.githubusercontent.com/bluerobotics/BlueOS-Extensions-Repository/master/repos/williangalvani/zerotier/extension_logo.png", - "company_logo": "https://raw.githubusercontent.com/bluerobotics/BlueOS-Extensions-Repository/master/repos/williangalvani/company_logo.png", - "versions": { - "v1.14.2": { - "identifier": "16b3044d-6676-508b-bdac-f0e4d2125fb7", + }, + "0.1.7": { + "identifier": "08ebdb20-d1ee-5013-8b14-aebd673adef5", "type": "other", - "website": "https://github.com/Williangalvani/zerotierone", + "website": "https://www.jmrobotics.no", "images": [ { - "expanded_size": 69475317, + "expanded_size": 138667765, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:367d3887b743418ad015c1a9d83c324e2bd2abfa66b2b4ef051a5bdc7647eda2" - }, - { - "expanded_size": 78292579, - "platform": { - "architecture": "arm64", - "variant": null, - "os": "linux" - }, - "digest": "sha256:5502c9175da09335ea773dcf5f521336f45800d140f915808b3078daa4252b8b" + "digest": "sha256:b5523947d1f8edbf6cb655969e2d53d78767007686d08dd60198acd4f1158219" } ], "authors": [ { - "name": "Willian Galvani", - "email": "willian@bluerobotics.com" + "name": "Mads Peter Hammer Strand", + "email": "mads@jmrobotics.no" } ], - "filter_tags": [ - "communication" - ], + "filter_tags": [], "extra_links": {}, - "tag": "v1.14.2", + "tag": "0.1.7", "docs": null, - "readme": "
\n

NOTE: This is a BlueOS Extension for using the ZeroTier service on a BlueOS device. It sets up a VPN to access your device from anywhere with an internet connection.

\n
\n

Initial Setup

\n
    \n
  1. Install the ZeroTier extension on your vehicle
  2. \n
  3. Download ZeroTier on the device(s) you want to connect with
  4. \n
  5. Log In to ZeroTier online
      \n
    • create an account if you haven't used ZeroTier before)
    • \n
    \n
  6. \n
  7. Create a new network and copy the generated network ID
  8. \n
  9. Join the network (using the ID) from the BlueOS ZeroTier Extension page, as well as through the ZeroTier interface on your device(s)
  10. \n
  11. If using a private network, return to the online ZeroTier interface, scroll down to the \"Members\" section, and allow each device access to the network by checking the \"Auth?\" checkbox beside its listing
      \n
    • For ease of future management, it may help to give meaningful names and/or descriptions to the devices in the table
    • \n
    \n
  12. \n
  13. You should now be able to access the BlueOS web interface through the ZeroTier connection
      \n
    • You can use the vehicle's mDNS address (e.g. http://blueos.local, by default), or the vehicle's \"Managed IP\" shown in ZeroTier's online interface (in the \"Members\" section)
    • \n
    • Connecting through ZeroTier requires both ends of the connection to be on the same ZeroTier network and connected to the internet
    • \n
    \n
  14. \n
  15. Configure the desired endpoints (for MAVLink telemetry, video streams, serial, etc) to point to the intended recipient
      \n
    • Setting up a video stream requires setting up a stream endpoint for it in the Video Streams page
        \n
      • Creating a new stream endpoint while connected to BlueOS through the ZeroTier connection will automatically use the connected device's IP address
      • \n
      • You can also get the relevant device IP address(es) through the ZeroTier online interface (in the \"Managed IPs\" column)
      • \n
      • BlueOS video streams can provide multiple endpoints of the same type, to send to multiple devices
          \n
        • You can edit a stream to add more endpoints
        • \n
        \n
      • \n
      \n
    • \n
    • Vehicle telemetry+control through QGroundControl is generally handled via a UDP Client link set up in BlueOS's MAVLink Endpoints page
        \n
      • Creating a new UDP Client endpoint while connected through the ZeroTier connection will automatically use the connected device's IP address
      • \n
      • You can also get the relevant device IP address through the ZeroTier online interface (in the \"Managed IPs\" column)
      • \n
      \n
    • \n
    • It is technically also possible to set up a MAVLink connection using BlueOS's GCS Server Link, although it may be less robust
        \n
      • Doing this requires adding a \"Comm Link\" in QGroundControl's Application Settings (instead of creating a new endpoint in BlueOS)
          \n
        • you can add the server as the vehicle's mDNS address (e.g. blueos.local) or the vehicle's IP address, and leave the port as 14550
        • \n
        \n
      • \n
      • Make sure the GCS Server Link is enabled in BlueOS
      • \n
      \n
    • \n
    \n
  16. \n
\n

General Usage

\n

Once the network and endpoints have been configured it should be possible to reconnect at will, whenever the vehicle and a device are both connected to the internet, and connected to a ZeroTier network they're both authorised on.

\n

If a device leaves a ZeroTier network (or is not connected to the internet) then it will not be accessible to the rest of the network. ZeroTier's online manager can be used to de-authorise devices and/or remove them from the network entirely.

\n

Troubleshooting

\n", - "support": "https://github.com/Williangalvani/zerotierone/issues", - "requirements": "core >= 1.1", + "readme": "No README available", + "support": "https://www.jmrobotics.no", + "requirements": "core >= 1", "company": { "about": "", - "name": "Blue Robotics", - "email": "support@bluerobotics.com" + "name": "JM Robotics", + "email": "support@jmrobotics.no" }, "permissions": { + "Env": [ + "SERVER_URL=https://software.jmrobotics.no/server/", + "I2CBUS=6", + "ROV_ID=" + ], + "ExposedPorts": { + "1337/tcp": {}, + "8137/tcp": {}, + "1338/tcp": {} + }, "NetworkMode": "host", "HostConfig": { "Privileged": true, - "NetworkMode": "host", - "CapAdd": [ - "SYS_ADMIN", - "NET_ADMIN" - ], "Binds": [ - "/usr/blueos/extensions/zerotier:/var/lib/zerotier-one", - "/var/lib/zerotier-one:/old-settings" + "/root/.config/jm:/root/.config", + "/var/run/docker.sock:/var/run/docker.sock" ], - "Devices": [ - { - "PathOnHost": "/dev/net/tun", - "PathInContainer": "/dev/net/tun", - "CgroupPermissions": "rwm" - } - ] + "ExtraHosts": [ + "host.docker.internal:host-gateway" + ], + "PortBindings": { + "1337/tcp": [ + { + "HostPort": "1337" + } + ], + "8137/tcp": [ + { + "HostPort": "8137" + } + ], + "1338/tcp": [ + { + "HostPort": "1338" + } + ] + } } } }, - "v1.14.0": { - "identifier": "1c7ef7f2-05d3-5efb-815f-de4c075ca8d9", + "0.1.6": { + "identifier": "a4b4f76c-05cc-5d2e-a10e-0f0c4f83ac56", "type": "other", - "website": "https://github.com/Williangalvani/zerotierone", + "website": "https://www.jmrobotics.no", "images": [ { - "expanded_size": 67417026, + "expanded_size": 138671180, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:831682262dd736b8844e59d9bb49e479755c6cc0b27b71e4058c91033b7d2a40" + "digest": "sha256:6bf09bdef42b75b4b336aa8477b79f1ee68f2b538b59553f26635f30e2d3d9e7" } ], "authors": [ { - "name": "Willian Galvani", - "email": "willian@bluerobotics.com" + "name": "Mads Peter Hammer Strand", + "email": "mads@jmrobotics.no" } ], - "filter_tags": [ - "communication" - ], + "filter_tags": [], "extra_links": {}, - "tag": "v1.14.0", + "tag": "0.1.6", "docs": null, - "readme": "
\n

NOTE: This is a BlueOS Extension for using the ZeroTier service on a BlueOS device. It sets up a VPN to access your device from anywhere with an internet connection.

\n
\n

Initial Setup

\n
    \n
  1. Install the ZeroTier extension on your vehicle
  2. \n
  3. Download ZeroTier on the device(s) you want to connect with
  4. \n
  5. Log In to ZeroTier online
      \n
    • create an account if you haven't used ZeroTier before)
    • \n
    \n
  6. \n
  7. Create a new network and copy the generated network ID
  8. \n
  9. Join the network (using the ID) from the BlueOS ZeroTier Extension page, as well as through the ZeroTier interface on your device(s)
  10. \n
  11. If using a private network, return to the online ZeroTier interface, scroll down to the \"Members\" section, and allow each device access to the network by checking the \"Auth?\" checkbox beside its listing
      \n
    • For ease of future management, it may help to give meaningful names and/or descriptions to the devices in the table
    • \n
    \n
  12. \n
  13. You should now be able to access the BlueOS web interface through the ZeroTier connection
      \n
    • You can use the vehicle's mDNS address (e.g. http://blueos.local, by default), or the vehicle's \"Managed IP\" shown in ZeroTier's online interface (in the \"Members\" section)
    • \n
    • Connecting through ZeroTier requires both ends of the connection to be on the same ZeroTier network and connected to the internet
    • \n
    \n
  14. \n
  15. Configure the desired endpoints (for MAVLink telemetry, video streams, serial, etc) to point to the intended recipient
      \n
    • Setting up a video stream requires setting up a stream endpoint for it in the Video Streams page
        \n
      • Creating a new stream endpoint while connected to BlueOS through the ZeroTier connection will automatically use the connected device's IP address
      • \n
      • You can also get the relevant device IP address(es) through the ZeroTier online interface (in the \"Managed IPs\" column)
      • \n
      • BlueOS video streams can provide multiple endpoints of the same type, to send to multiple devices
          \n
        • You can edit a stream to add more endpoints
        • \n
        \n
      • \n
      \n
    • \n
    • Vehicle telemetry+control through QGroundControl is generally handled via a UDP Client link set up in BlueOS's MAVLink Endpoints page
        \n
      • Creating a new UDP Client endpoint while connected through the ZeroTier connection will automatically use the connected device's IP address
      • \n
      • You can also get the relevant device IP address through the ZeroTier online interface (in the \"Managed IPs\" column)
      • \n
      \n
    • \n
    • It is technically also possible to set up a MAVLink connection using BlueOS's GCS Server Link, although it may be less robust
        \n
      • Doing this requires adding a \"Comm Link\" in QGroundControl's Application Settings (instead of creating a new endpoint in BlueOS)
          \n
        • you can add the server as the vehicle's mDNS address (e.g. blueos.local) or the vehicle's IP address, and leave the port as 14550
        • \n
        \n
      • \n
      • Make sure the GCS Server Link is enabled in BlueOS
      • \n
      \n
    • \n
    \n
  16. \n
\n

General Usage

\n

Once the network and endpoints have been configured it should be possible to reconnect at will, whenever the vehicle and a device are both connected to the internet, and connected to a ZeroTier network they're both authorised on.

\n

If a device leaves a ZeroTier network (or is not connected to the internet) then it will not be accessible to the rest of the network. ZeroTier's online manager can be used to de-authorise devices and/or remove them from the network entirely.

\n

Troubleshooting

\n
    \n
  • If the ZeroTier Status is showing as ACCESS_DENIED, you're connected to a privately configured ZeroTier network and the network owner (likely yourself) needs to authorise your device through the \"Members\" section of ZeroTier's online interface for that network
  • \n
  • If the connection is not working it can help to check the \"Last Seen\" column of the \"Members\" section of ZeroTier's online interface, to determine whether one or multiple of your devices is not currently connected to the ZeroTier network (it may be having internet connectivity issues, or may just need to connect to the network through its ZeroTier interface)
      \n
    • If you can't find your device's ZeroTier interface, it may be an icon in your taskbar / menubar
    • \n
    \n
  • \n
  • Determining which device is which in ZeroTier's online interface requires knowing which order they attempted to join the network, or having access to the devices so you can identify them by disconnecting them from the network (or the internet) and seeing which one changes in the \"Last Seen\" column
  • \n
  • If the connection is working but some of the endpoints aren't, make sure the endpoints are configured to use the correct IP address
      \n
    • Something on the vehicle sending/connecting to a device (e.g. video, GCS MAVLink UDP client link for telemetry, etc) needs to be directed towards the device's IP address
    • \n
    • Using a device to connect to the vehicle (e.g. to access the BlueOS web interface, or connect to a GCS server link for telemetry) needs to use the vehicle's IP or mDNS address
    • \n
    \n
  • \n
", - "support": "https://github.com/Williangalvani/zerotierone/issues", - "requirements": "core >= 1.1", + "readme": "No README available", + "support": "https://www.jmrobotics.no", + "requirements": "core >= 1", "company": { "about": "", - "name": "Blue Robotics", - "email": "support@bluerobotics.com" + "name": "JM Robotics", + "email": "support@jmrobotics.no" }, "permissions": { + "Env": [ + "SERVER_URL=https://software.jmrobotics.no/server/", + "I2CBUS=6", + "ROV_ID=" + ], + "ExposedPorts": { + "1337/tcp": {}, + "8137/tcp": {}, + "1338/tcp": {} + }, "NetworkMode": "host", "HostConfig": { "Privileged": true, - "NetworkMode": "host", - "CapAdd": [ - "SYS_ADMIN", - "NET_ADMIN" - ], "Binds": [ - "/usr/blueos/extensions/zerotier:/var/lib/zerotier-one", - "/var/lib/zerotier-one:/old-settings" + "/root/.config/jm:/root/.config", + "/var/run/docker.sock:/var/run/docker.sock" ], - "Devices": [ - { - "PathOnHost": "/dev/net/tun", - "PathInContainer": "/dev/net/tun", - "CgroupPermissions": "rwm" - } - ] + "ExtraHosts": [ + "host.docker.internal:host-gateway" + ], + "PortBindings": { + "1337/tcp": [ + { + "HostPort": "1337" + } + ], + "8137/tcp": [ + { + "HostPort": "8137" + } + ], + "1338/tcp": [ + { + "HostPort": "1338" + } + ] + } } } }, - "v1.12.3": { - "identifier": "d8da95f8-29ff-5b64-a4ac-3e4425d890f4", + "0.1.5": { + "identifier": "daf1d7e7-6dc5-5812-b6fe-67232ff1b411", "type": "other", - "website": "https://github.com/Williangalvani/zerotierone", + "website": "https://www.jmrobotics.no", "images": [ { - "expanded_size": 260334935, + "expanded_size": 136304617, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:714ca73d30b033b2eb4d3f70e77cf86fa5871a4cddf5314ed435dc4b4b860ff7" + "digest": "sha256:002194270ed9fbbe8cac68fa8c7d66e65e96bf5f0ca882afc1c739c4bedba43c" } ], "authors": [ { - "name": "Willian Galvani", - "email": "willian@bluerobotics.com" + "name": "Mads Peter Hammer Strand", + "email": "mads@jmrobotics.no" } ], - "filter_tags": [ - "communication" - ], + "filter_tags": [], "extra_links": {}, - "tag": "v1.12.3", + "tag": "0.1.5", "docs": null, - "readme": "
\n

NOTE: This is a BlueOS Extension for using the ZeroTier service on a BlueOS device. It sets up a VPN to access your device from anywhere with an internet connection.

\n
\n

Initial Setup

\n
    \n
  1. Install the ZeroTier extension on your vehicle
  2. \n
  3. Download ZeroTier on the device(s) you want to connect with
  4. \n
  5. Log In to ZeroTier online
      \n
    • create an account if you haven't used ZeroTier before)
    • \n
    \n
  6. \n
  7. Create a new network and copy the generated network ID
  8. \n
  9. Join the network (using the ID) from the BlueOS ZeroTier Extension page, as well as through the ZeroTier interface on your device(s)
  10. \n
  11. If using a private network, return to the online ZeroTier interface, scroll down to the \"Members\" section, and allow each device access to the network by checking the \"Auth?\" checkbox beside its listing
      \n
    • For ease of future management, it may help to give meaningful names and/or descriptions to the devices in the table
    • \n
    \n
  12. \n
  13. You should now be able to access the BlueOS web interface through the ZeroTier connection
      \n
    • You can use the vehicle's mDNS address (e.g. http://blueos.local, by default), or the vehicle's \"Managed IP\" shown in ZeroTier's online interface (in the \"Members\" section)
    • \n
    • Connecting through ZeroTier requires both ends of the connection to be on the same ZeroTier network and connected to the internet
    • \n
    \n
  14. \n
  15. Configure the desired endpoints (for MAVLink telemetry, video streams, serial, etc) to point to the intended recipient
      \n
    • Setting up a video stream requires setting up a stream endpoint for it in the Video Streams page
        \n
      • Creating a new stream endpoint while connected to BlueOS through the ZeroTier connection will automatically use the connected device's IP address
      • \n
      • You can also get the relevant device IP address(es) through the ZeroTier online interface (in the \"Managed IPs\" column)
      • \n
      • BlueOS video streams can provide multiple endpoints of the same type, to send to multiple devices
          \n
        • You can edit a stream to add more endpoints
        • \n
        \n
      • \n
      \n
    • \n
    • Vehicle telemetry+control through QGroundControl is generally handled via a UDP Client link set up in BlueOS's MAVLink Endpoints page
        \n
      • Creating a new UDP Client endpoint while connected through the ZeroTier connection will automatically use the connected device's IP address
      • \n
      • You can also get the relevant device IP address through the ZeroTier online interface (in the \"Managed IPs\" column)
      • \n
      \n
    • \n
    • It is technically also possible to set up a MAVLink connection using BlueOS's GCS Server Link, although it may be less robust
        \n
      • Doing this requires adding a \"Comm Link\" in QGroundControl's Application Settings (instead of creating a new endpoint in BlueOS)
          \n
        • you can add the server as the vehicle's mDNS address (e.g. blueos.local) or the vehicle's IP address, and leave the port as 14550
        • \n
        \n
      • \n
      • Make sure the GCS Server Link is enabled in BlueOS
      • \n
      \n
    • \n
    \n
  16. \n
\n

General Usage

\n

Once the network and endpoints have been configured it should be possible to reconnect at will, whenever the vehicle and a device are both connected to the internet, and connected to a ZeroTier network they're both authorised on.

\n

If a device leaves a ZeroTier network (or is not connected to the internet) then it will not be accessible to the rest of the network. ZeroTier's online manager can be used to de-authorise devices and/or remove them from the network entirely.

\n

Troubleshooting

\n
    \n
  • If the ZeroTier Status is showing as ACCESS_DENIED, you're connected to a privately configured ZeroTier network and the network owner (likely yourself) needs to authorise your device through the \"Members\" section of ZeroTier's online interface for that network
  • \n
  • If the connection is not working it can help to check the \"Last Seen\" column of the \"Members\" section of ZeroTier's online interface, to determine whether one or multiple of your devices is not currently connected to the ZeroTier network (it may be having internet connectivity issues, or may just need to connect to the network through its ZeroTier interface)
      \n
    • If you can't find your device's ZeroTier interface, it may be an icon in your taskbar / menubar
    • \n
    \n
  • \n
  • Determining which device is which in ZeroTier's online interface requires knowing which order they attempted to join the network, or having access to the devices so you can identify them by disconnecting them from the network (or the internet) and seeing which one changes in the \"Last Seen\" column
  • \n
  • If the connection is working but some of the endpoints aren't, make sure the endpoints are configured to use the correct IP address
      \n
    • Something on the vehicle sending/connecting to a device (e.g. video, GCS MAVLink UDP client link for telemetry, etc) needs to be directed towards the device's IP address
    • \n
    • Using a device to connect to the vehicle (e.g. to access the BlueOS web interface, or connect to a GCS server link for telemetry) needs to use the vehicle's IP or mDNS address
    • \n
    \n
  • \n
", - "support": "https://github.com/Williangalvani/zerotierone/issues", - "requirements": "core >= 1.1", + "readme": "No README available", + "support": "https://www.jmrobotics.no", + "requirements": "core >= 1", "company": { "about": "", - "name": "Blue Robotics", - "email": "support@bluerobotics.com" + "name": "JM Robotics", + "email": "support@jmrobotics.no" }, "permissions": { + "Env": [ + "SERVER_URL=https://software.jmrobotics.no/server/", + "I2CBUS=6", + "ROV_ID=" + ], + "ExposedPorts": { + "1337/tcp": {}, + "8137/tcp": {}, + "1338/tcp": {} + }, "NetworkMode": "host", "HostConfig": { "Privileged": true, - "NetworkMode": "host", - "CapAdd": [ - "SYS_ADMIN", - "NET_ADMIN" - ], "Binds": [ - "/usr/blueos/extensions/zerotier:/var/lib/zerotier-one", - "/var/lib/zerotier-one:/old-settings" + "/root/.config/jm:/root/.config", + "/var/run/docker.sock:/var/run/docker.sock" ], - "Devices": [ - { - "PathOnHost": "/dev/net/tun", - "PathInContainer": "/dev/net/tun", - "CgroupPermissions": "rwm" - } - ] + "ExtraHosts": [ + "host.docker.internal:host-gateway" + ], + "PortBindings": { + "1337/tcp": [ + { + "HostPort": "1337" + } + ], + "8137/tcp": [ + { + "HostPort": "8137" + } + ], + "1338/tcp": [ + { + "HostPort": "1338" + } + ] + } } } }, - "v1.12.1": { - "identifier": "2c16f342-5e57-580d-b91c-595299c4f765", + "0.1.4": { + "identifier": "9e541814-e629-5f4a-8694-cbbc0cf59a34", "type": "other", - "website": "https://github.com/Williangalvani/zerotierone", + "website": "https://www.jmrobotics.no", "images": [ { - "expanded_size": 246398941, + "expanded_size": 136206402, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:473153de2deff0d6ebe51df9a6d86dd1b382eecf78ba8f5ecad052c12d3ad94d" + "digest": "sha256:4461f49763ed0adb0881470d76cc821acf0a7ededd41c97806bf1430a2e8cad6" } ], "authors": [ { - "name": "Willian Galvani", - "email": "willian@bluerobotics.com" + "name": "Mads Peter Hammer Strand", + "email": "mads@jmrobotics.no" } ], - "filter_tags": [ - "communication" - ], + "filter_tags": [], "extra_links": {}, - "tag": "v1.12.1", + "tag": "0.1.4", "docs": null, - "readme": "

This is a ZeroTier extension. It sets up a VPN to access your device from anywhere with an internet connection.\nFor more information on ZeroTier, check ZeroTier.

", - "support": "https://github.com/Williangalvani/zerotierone/issues", - "requirements": "core >= 1.1", - "company": { + "readme": "No README available", + "support": "https://www.jmrobotics.no", + "requirements": "core >= 1", + "company": { "about": "", - "name": "Blue Robotics", - "email": "support@bluerobotics.com" + "name": "JM Robotics", + "email": "support@jmrobotics.no" }, "permissions": { + "Env": [ + "SERVER_URL=https://software.jmrobotics.no/server/", + "I2CBUS=6", + "ROV_ID=" + ], + "ExposedPorts": { + "1337/tcp": {}, + "8137/tcp": {}, + "1338/tcp": {} + }, "NetworkMode": "host", "HostConfig": { "Privileged": true, - "NetworkMode": "host", - "CapAdd": [ - "SYS_ADMIN", - "NET_ADMIN" - ], "Binds": [ - "/var/lib/zerotier-one:/var/lib/zerotier-one" + "/root/.config/jm:/root/.config", + "/var/run/docker.sock:/var/run/docker.sock" ], - "Devices": [ - { - "PathOnHost": "/dev/net/tun", - "PathInContainer": "/dev/net/tun", - "CgroupPermissions": "rwm" - } - ] + "ExtraHosts": [ + "host.docker.internal:host-gateway" + ], + "PortBindings": { + "1337/tcp": [ + { + "HostPort": "1337" + } + ], + "8137/tcp": [ + { + "HostPort": "8137" + } + ], + "1338/tcp": [ + { + "HostPort": "1338" + } + ] + } } } }, - "v1.0.1": { - "identifier": "50fceca3-00cf-550d-a4b3-6fc682caefab", + "0.1.3": { + "identifier": "fbc14f43-9f80-5186-9066-a2c52764f83d", "type": "other", - "website": "https://github.com/Williangalvani/zerotierone", + "website": "https://www.jmrobotics.no", "images": [ { - "expanded_size": 169429191, + "expanded_size": 136206392, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:1172a08bfae4bc3fb54589d1b6abc7237a05b1a09c8a8e4bd87d2ba424e424be" + "digest": "sha256:198a4b4657e5c37caf15757ce6670877cc040f498d9704b79fde54711b50f4de" } ], "authors": [ { - "name": "Willian Galvani", - "email": "willian@bluerobotics.com" + "name": "Mads Peter Hammer Strand", + "email": "mads@jmrobotics.no" } ], - "filter_tags": [ - "communication" - ], + "filter_tags": [], "extra_links": {}, - "tag": "v1.0.1", + "tag": "0.1.3", "docs": null, - "readme": "

This is a ZeroTier extension. It sets up a VPN to access your device from anywhere with an internet connection.\nFor more information on ZeroTier, check ZeroTier.

", - "support": "https://github.com/Williangalvani/zerotierone/issues", - "requirements": "core >= 1.1", + "readme": "No README available", + "support": "https://www.jmrobotics.no", + "requirements": "core >= 1", "company": { "about": "", - "name": "Blue Robotics", - "email": "support@bluerobotics.com" + "name": "JM Robotics", + "email": "support@jmrobotics.no" }, "permissions": { + "Env": [ + "SERVER_URL=https://software.jmrobotics.no/server/", + "I2CBUS=6", + "ROV_ID=" + ], + "ExposedPorts": { + "1337/tcp": {}, + "8137/tcp": {}, + "1338/tcp": {} + }, "NetworkMode": "host", "HostConfig": { "Privileged": true, - "NetworkMode": "host", - "CapAdd": [ - "SYS_ADMIN", - "NET_ADMIN" - ], "Binds": [ - "/var/lib/zerotier-one:/var/lib/zerotier-one" + "/root/.config/jm:/root/.config", + "/var/run/docker.sock:/var/run/docker.sock" ], - "Devices": [ - { - "PathOnHost": "/dev/net/tun", - "PathInContainer": "/dev/net/tun", - "CgroupPermissions": "rwm" - } - ] + "ExtraHosts": [ + "host.docker.internal:host-gateway" + ], + "PortBindings": { + "1337/tcp": [ + { + "HostPort": "1337" + } + ], + "8137/tcp": [ + { + "HostPort": "8137" + } + ], + "1338/tcp": [ + { + "HostPort": "1338" + } + ] + } } } }, - "v1.0.0": { - "identifier": "a55f32d8-739a-50b3-b8eb-e6e648c55554", + "0.1.2": { + "identifier": "2104939c-c7c6-52a3-82b0-0c7834424a34", "type": "other", - "website": "https://github.com/williangalvani/zerotierone", + "website": "https://www.jmrobotics.no", "images": [ { - "expanded_size": 169297643, + "expanded_size": 136201023, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:da7a45553d91224582cfd56ead75ecdfc259e3ced1cb1c830bb044cdcc344c3c" + "digest": "sha256:2249b4f0a6f10851cd51ce43b9323afe9cfe3c9ff759d9c035815a861d14aea0" } ], "authors": [ { - "name": "Willian Galvani", - "email": "willian@bluerobotics.com" + "name": "Mads Peter Hammer Strand", + "email": "mads@jmrobotics.no" } ], "filter_tags": [], "extra_links": {}, - "tag": "v1.0.0", + "tag": "0.1.2", "docs": null, - "readme": "

This is a ZeroTier extension. It sets up a VPN to access your device from anywhere with an internet connection.\nFor more information on ZeroTier, check ZeroTier.

", - "support": "https://github.com/williangalvani/zerotierone", + "readme": "No README available", + "support": "https://www.jmrobotics.no", "requirements": "core >= 1", "company": { "about": "", - "name": "Blue Robotics", - "email": "support@bluerobotics.com" + "name": "JM Robotics", + "email": "support@jmrobotics.no" }, "permissions": { + "Env": [ + "SERVER_URL=https://software.jmrobotics.no/server/", + "I2CBUS=6", + "ROV_ID=" + ], + "ExposedPorts": { + "1337/tcp": {}, + "8137/tcp": {}, + "1338/tcp": {} + }, "NetworkMode": "host", "HostConfig": { "Privileged": true, - "NetworkMode": "host", - "CapAdd": [ - "SYS_ADMIN", - "NET_ADMIN" - ], "Binds": [ - "/var/lib/zerotier-one:/var/lib/zerotier-one" + "/root/.config/jm:/root/.config", + "/var/run/docker.sock:/var/run/docker.sock" ], - "Devices": [ - { - "PathOnHost": "/dev/net/tun", - "PathInContainer": "/dev/net/tun", - "CgroupPermissions": "rwm" - } - ] + "ExtraHosts": [ + "host.docker.internal:host-gateway" + ], + "PortBindings": { + "1337/tcp": [ + { + "HostPort": "1337" + } + ], + "8137/tcp": [ + { + "HostPort": "8137" + } + ], + "1338/tcp": [ + { + "HostPort": "1338" + } + ] + } } } - } - }, - "repo_info": { - "downloads": 45335, - "last_updated": "2024-11-03T23:04:33.620179Z", - "date_registered": "2022-06-08T02:20:40.875088Z" - } - }, - { - "identifier": "williangalvani.blueos-proxy", - "name": "BlueOS Proxy", - "website": "https://github.com/Williangalvani/Blueos-Proxy-Extension", - "docker": "williangalvani/blueos-extension-proxy", - "description": "BlueOS Proxy", - "extension_logo": "https://raw.githubusercontent.com/bluerobotics/BlueOS-Extensions-Repository/master/repos/williangalvani/blueos-proxy/extension_logo.png", - "company_logo": "https://raw.githubusercontent.com/bluerobotics/BlueOS-Extensions-Repository/master/repos/williangalvani/company_logo.png", - "versions": { - "v1.0.4": { - "identifier": "46c43d44-b4e5-5705-9850-a1fdac70a0ef", - "type": "tool", - "website": "https://github.com/Williangalvani/Blueos-Proxy-Extension", + }, + "0.1.1": { + "identifier": "42117cfd-19c3-5487-8c86-0c64ac5904a8", + "type": "other", + "website": "https://www.jmrobotics.no", "images": [ { - "expanded_size": 84850534, + "expanded_size": 97327764, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:fd1b9813bd070ed908eedd1893a4384bb326c4810822fa90559cf4cb9c27742e" + "digest": "sha256:93eae4b370102f9b40f1df916e30e29f62ece3a6bfd0d9f30a229f00c65f1fe3" } ], "authors": [ { - "name": "Willian Galvani", - "email": "willian@bluerobotics.com" + "name": "Mads Peter Hammer Strand", + "email": "mads@jmrobotics.no" } ], "filter_tags": [], "extra_links": {}, - "tag": "v1.0.4", + "tag": "0.1.1", "docs": null, - "readme": "

Blueos Proxy Extension

\n

This allows you to browse the ROV network as if you were in there.\nIt is useful for accessing and configuring routers and other local devices that may not be reachable from the GCS computer.

", - "support": "https://github.com/Williangalvani/Blueos-Proxy-Extension", - "requirements": "core >= 1.1", + "readme": "No README available", + "support": "https://www.jmrobotics.no", + "requirements": "core >= 1", "company": { "about": "", - "name": "Blue Robotics", - "email": "support@bluerobotics.com" + "name": "JM Robotics", + "email": "support@jmrobotics.no" }, "permissions": { - "ExposedPorts": {}, + "Env": [ + "SERVER_URL=https://software.jmrobotics.no/server/", + "I2CBUS=6", + "ROV_ID=" + ], + "ExposedPorts": { + "1337/tcp": {}, + "8137/tcp": {}, + "1338/tcp": {} + }, + "NetworkMode": "host", "HostConfig": { + "Privileged": true, "Binds": [ - "/usr/blueos/userdata/blueos-proxy/:/usr/blueos/userdata/blueos-proxy/" + "/root/.config/jm:/root/.config" ], - "NetworkMode": "host" + "ExtraHosts": [ + "host.docker.internal:host-gateway" + ], + "PortBindings": { + "1337/tcp": [ + { + "HostPort": "1337" + } + ], + "8137/tcp": [ + { + "HostPort": "8137" + } + ], + "1338/tcp": [ + { + "HostPort": "1338" + } + ] + } } } }, - "v1.0.3": { - "identifier": "0f5fa5df-187c-52c9-91f7-59550a1f923d", - "type": "tool", - "website": "https://github.com/Williangalvani/Blueos-Proxy-Extension", + "0.1.0": { + "identifier": "eaeca9bf-4fdd-5338-b35c-df1cc1255a46", + "type": "other", + "website": "https://www.jmrobotics.no", "images": [ { - "expanded_size": 84759554, + "expanded_size": 96709262, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:a5f4b1f8bacfcb91b79e43880c2d4130854f8b84850450e5b3342628b7ad078a" + "digest": "sha256:541ec3d6cdba151cdb6498ef8f1af4af800d9ecccc8563eedd96d539a1c29157" } ], "authors": [ { - "name": "Willian Galvani", - "email": "willian@bluerobotics.com" + "name": "Mads Peter Hammer Strand", + "email": "mads@jmrobotics.no" } ], "filter_tags": [], "extra_links": {}, - "tag": "v1.0.3", + "tag": "0.1.0", "docs": null, - "readme": "

Blueos Proxy Extension

\n

This allows you to browse the ROV network as if you were in there.\nIt is useful for accessing and configuring routers and other local devices that may not be reachable from the GCS computer.

", - "support": "https://github.com/Williangalvani/Blueos-Proxy-Extension", - "requirements": "core >= 1.1", + "readme": "No README available", + "support": "https://www.jmrobotics.no", + "requirements": "core >= 1", "company": { "about": "", - "name": "Blue Robotics", - "email": "support@bluerobotics.com" + "name": "JM Robotics", + "email": "support@jmrobotics.no" }, "permissions": { - "ExposedPorts": {}, + "Env": [ + "SERVER_URL=https://software.jmrobotics.no/server/", + "I2CBUS=6", + "ROV_ID=" + ], + "ExposedPorts": { + "1337/tcp": {}, + "8137/tcp": {}, + "1338/tcp": {} + }, + "NetworkMode": "host", "HostConfig": { + "Privileged": true, "Binds": [ - "/usr/blueos/userdata/blueos-proxy/:/usr/blueos/userdata/blueos-proxy/" + "/root/.config/jm:/root/.config" ], - "NetworkMode": "host" + "ExtraHosts": [ + "host.docker.internal:host-gateway" + ], + "PortBindings": { + "1337/tcp": [ + { + "HostPort": "1337" + } + ], + "8137/tcp": [ + { + "HostPort": "8137" + } + ], + "1338/tcp": [ + { + "HostPort": "1338" + } + ] + } } } }, - "v1.0.2": { - "identifier": "a0cacf66-8f2c-58d5-b730-1cead219d628", - "type": "tool", - "website": "https://github.com/Williangalvani/Blueos-Proxy-Extension", + "0.0.9": { + "identifier": "79a9df48-e803-535b-8859-5b0d7c4ac99b", + "type": "other", + "website": "https://www.jmrobotics.no", "images": [ { - "expanded_size": 84749977, + "expanded_size": 96709149, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:558d5fd76d64ebf386f9d3b999e735f06d5c5e5083185bb8eee43da06fb21160" + "digest": "sha256:fe37249ef731d10570ae5364036104c7ec2ce3ae84acfed3f9e8ae8d4b2c0215" } ], "authors": [ { - "name": "Willian Galvani", - "email": "willian@bluerobotics.com" + "name": "Mads Peter Hammer Strand", + "email": "mads@jmrobotics.no" } ], "filter_tags": [], "extra_links": {}, - "tag": "v1.0.2", + "tag": "0.0.9", "docs": null, - "readme": "

Blueos Proxy Extension

\n

This allows you to browse the ROV network as if you were in there.\nIt is useful for accessing and configuring routers and other local devices that may not be reachable from the GCS computer.

", - "support": "https://github.com/Williangalvani/Blueos-Proxy-Extension", - "requirements": "core >= 1.1", + "readme": "No README available", + "support": "https://www.jmrobotics.no", + "requirements": "core >= 1", "company": { "about": "", - "name": "Blue Robotics", - "email": "support@bluerobotics.com" + "name": "JM Robotics", + "email": "support@jmrobotics.no" }, "permissions": { - "ExposedPorts": {}, + "Env": [ + "SERVER_URL=https://software.jmrobotics.no/server/", + "I2CBUS=6", + "ROV_ID=" + ], + "ExposedPorts": { + "1337/tcp": {}, + "8137/tcp": {}, + "1338/tcp": {} + }, + "NetworkMode": "host", "HostConfig": { + "Privileged": true, "Binds": [ - "/usr/blueos/userdata/blueos-proxy/:/usr/blueos/userdata/blueos-proxy/" + "/root/.config/jm:/root/.config" ], - "NetworkMode": "host" + "ExtraHosts": [ + "host.docker.internal:host-gateway" + ], + "PortBindings": { + "1337/tcp": [ + { + "HostPort": "1337" + } + ], + "8137/tcp": [ + { + "HostPort": "8137" + } + ], + "1338/tcp": [ + { + "HostPort": "1338" + } + ] + } } } }, - "v1.0.1": { - "identifier": "7a4a7012-1030-5396-a25f-f9feb4bee516", - "type": "tool", - "website": "https://github.com/Williangalvani/Blueos-Proxy-Extension", + "0.0.8": { + "identifier": "8ea1115d-e017-5e93-b643-31269c341f4d", + "type": "other", + "website": "https://www.jmrobotics.no", "images": [ { - "expanded_size": 84582989, + "expanded_size": 97114085, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:403797eeef9396e67001caa71d638c64e10a8e27aad5f16838208de4c7ae5c47" + "digest": "sha256:f4ca957ef8684090eb19561193c745a318565bac884edc9b7c936464867dcb3b" } ], "authors": [ { - "name": "Willian Galvani", - "email": "willian@bluerobotics.com" + "name": "Mads Peter Hammer Strand", + "email": "mads@jmrobotics.no" } ], "filter_tags": [], "extra_links": {}, - "tag": "v1.0.1", + "tag": "0.0.8", "docs": null, - "readme": "

Blueos Proxy Extension

\n

This allows you to browse the ROV network as if you were in there.\nIt is useful for accessing and configuring routers and other local devices that may not be reachable from the GCS computer.

", - "support": "https://github.com/Williangalvani/Blueos-Proxy-Extension", - "requirements": "core >= 1.1", + "readme": "No README available", + "support": "https://www.jmrobotics.no", + "requirements": "core >= 1", "company": { "about": "", - "name": "Blue Robotics", - "email": "support@bluerobotics.com" + "name": "JM Robotics", + "email": "support@jmrobotics.no" }, "permissions": { - "ExposedPorts": {}, + "Env": [ + "SERVER_URL=https://software.jmrobotics.no/server/", + "I2CBUS=6", + "ROV_ID=" + ], + "ExposedPorts": { + "1337/tcp": {}, + "8137/tcp": {}, + "1338/tcp": {} + }, + "NetworkMode": "host", "HostConfig": { + "Privileged": true, "Binds": [ - "/usr/blueos/userdata/blueos-proxy/:/usr/blueos/userdata/blueos-proxy/" + "/root/.config/jm:/root/.config" ], - "NetworkMode": "host" + "ExtraHosts": [ + "host.docker.internal:host-gateway" + ], + "PortBindings": { + "1337/tcp": [ + { + "HostPort": "1337" + } + ], + "8137/tcp": [ + { + "HostPort": "8137" + } + ], + "1338/tcp": [ + { + "HostPort": "1338" + } + ] + } } } }, - "v1.0.0": { - "identifier": "ecdb7a22-1823-574b-9165-0fc25d948f3b", - "type": "example", - "website": "https://github.com/Williangalvani/Blueos-Proxy-Extension", + "0.0.7": { + "identifier": "e2484dd2-e2ba-5ac4-9d91-7d717f618332", + "type": "other", + "website": "https://www.jmrobotics.no", "images": [ { - "expanded_size": 73489461, + "expanded_size": 96633870, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:aedd59836db2027ddf1ef1bf107e2ca80bf94cafa0c7a2263040b6299398ec41" + "digest": "sha256:29567855a636348f71a638082d335c6229f095d74548b4b4d42ce5752a1a77fe" } ], "authors": [ { - "name": "Willian Galvani", - "email": "willian@bluerobotics.com" + "name": "Mads Peter Hammer Strand", + "email": "mads@jmrobotics.no" } ], "filter_tags": [], "extra_links": {}, - "tag": "v1.0.0", + "tag": "0.0.7", "docs": null, - "readme": "

Blueos Proxy Extension

\n

This allows you to browse the ROV network as if you were in there.\nIt is useful for accessing and configuring routers and other local devices that may not be reachable from the GCS computer.

", - "support": "https://github.com/Williangalvani/Blueos-Proxy-Extension", - "requirements": "core >= 1.1", + "readme": "No README available", + "support": "https://www.jmrobotics.no", + "requirements": "core >= 1", "company": { "about": "", - "name": "Blue Robotics", - "email": "support@bluerobotics.com" + "name": "JM Robotics", + "email": "support@jmrobotics.no" }, "permissions": { - "ExposedPorts": {}, + "Env": [ + "SERVER_URL=https://software.jmrobotics.no/server/", + "I2CBUS=6", + "ROV_ID=" + ], + "ExposedPorts": { + "1337/tcp": {}, + "8137/tcp": {}, + "1338/tcp": {} + }, + "NetworkMode": "host", "HostConfig": { + "Privileged": true, "Binds": [ - "/usr/blueos/userdata/blueos-proxy/:/usr/blueos/userdata/blueos-proxy/" + "/root/.config/jm:/root/.config" ], - "NetworkMode": "host" + "ExtraHosts": [ + "host.docker.internal:host-gateway" + ], + "PortBindings": { + "1337/tcp": [ + { + "HostPort": "1337" + } + ], + "8137/tcp": [ + { + "HostPort": "8137" + } + ], + "1338/tcp": [ + { + "HostPort": "1338" + } + ] + } } } }, - "v0.0.1": { - "identifier": "0f219efe-14c3-5232-95d5-529d5396df1c", - "type": "example", - "website": "https://github.com/Williangalvani/BlueOS-examples/", + "0.0.6": { + "identifier": "d859a0f3-6010-5e77-bf71-73b51788130e", + "type": "other", + "website": "https://www.jmrobotics.no", "images": [ { - "expanded_size": 73489461, + "expanded_size": 94349911, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:89ef4fcfe2880c061112831114679d61eb12639002da11203fecfb03312fa844" + "digest": "sha256:2d7302f32d74adfdebe98b99b9c2f9b596ab356be2deaa163185bae96d922002" } ], "authors": [ { - "name": "Willian Galvani", - "email": "willian@bluerobotics.com" + "name": "Mads Peter Hammer Strand", + "email": "mads@jmrobotics.no" } ], "filter_tags": [], "extra_links": {}, - "tag": "v0.0.1", + "tag": "0.0.6", "docs": null, "readme": "No README available", - "support": "https://github.com/Williangalvani/BlueOS-examples/", - "requirements": "core >= 1.1", + "support": "https://www.jmrobotics.no", + "requirements": "core >= 1", "company": { "about": "", - "name": "Blue Robotics", - "email": "support@bluerobotics.com" + "name": "JM Robotics", + "email": "support@jmrobotics.no" }, "permissions": { - "ExposedPorts": {}, + "Env": [ + "SERVER_URL=https://software.jmrobotics.no/server/", + "I2CBUS=6", + "ROV_ID=" + ], + "ExposedPorts": { + "1337/tcp": {}, + "8137/tcp": {}, + "1338/tcp": {} + }, + "NetworkMode": "host", "HostConfig": { + "Privileged": true, "Binds": [ - "/usr/blueos/userdata/blueos-proxy/:/usr/blueos/userdata/blueos-proxy/" + "/root/.config/jm:/root/.config" ], - "NetworkMode": "host" + "ExtraHosts": [ + "host.docker.internal:host-gateway" + ], + "PortBindings": { + "1337/tcp": [ + { + "HostPort": "1337" + } + ], + "8137/tcp": [ + { + "HostPort": "8137" + } + ], + "1338/tcp": [ + { + "HostPort": "1338" + } + ] + } } } - } - }, - "repo_info": { - "downloads": 8480, - "last_updated": "2024-05-05T03:21:37.27099Z", - "date_registered": "2023-05-28T18:03:17.343281Z" - } - }, - { - "identifier": "bluerobotics.navigator-webassistant", - "name": "Navigator WebAssistant", - "website": "https://github.com/RaulTrombin/blueos-navigator-web-assistant", - "docker": "raulelektron/blueos_navigator_webassistant", - "description": "Use navigator board through webservices.", - "extension_logo": "https://raw.githubusercontent.com/bluerobotics/BlueOS-Extensions-Repository/master/repos/bluerobotics/navigator-webassistant/extension_logo.png", - "company_logo": "https://raw.githubusercontent.com/bluerobotics/BlueOS-Extensions-Repository/master/repos/bluerobotics/company_logo.png", - "versions": { - "0.0.0": { - "identifier": "042adc70-9663-5011-9bcb-ecb74a86eb2c", - "type": "education", - "website": null, + }, + "0.0.5": { + "identifier": "5567cfc0-0947-559b-b69c-3a0eb7ebba12", + "type": "other", + "website": "https://www.jmrobotics.no", "images": [ { - "expanded_size": 13222204, + "expanded_size": 94350096, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:397c8a86a25d57079e23afc9a1b3da8affa81e634b567058f702e902d0ede456" + "digest": "sha256:df13934cdb1e4d0bd6b3dd5f1d94856866de13e5e1e246a817243510eab945b7" } ], "authors": [ { - "name": "Raul Victor Trombin", - "email": "raulvtrombin@gmail.com" + "name": "Mads Peter Hammer Strand", + "email": "mads@jmrobotics.no" } ], - "filter_tags": [ - "rov", - "robot" - ], + "filter_tags": [], "extra_links": {}, - "tag": "0.0.0", + "tag": "0.0.5", "docs": null, - "readme": "

BlueOS's Navigator Extension

\n

Navigator Webassistant extension is a webserver that allows user to control navigator hardware.\nThis application uses the navigator-assistant to interface with navigator board, and users can control it from Websocket and RestAPI.

\n

Instructions

\n

Access the extensions manager and install with the following parameters:

\n

Extensions Manager:\nblueos.local/tools/extensions-manager\nParameters:

\n

```\nraulelektron.blueos_navigator_webassistant

\n

Navigator Assistant

\n

latest

\n

{\n \"ExposedPorts\": {\n \"8080/tcp\": {}\n },\n \"HostConfig\": {\n \"Privileged\": true,\n \"PortBindings\": {\n \"8080/tcp\": [\n {\n \"HostPort\": \"\"\n }\n ]\n }\n }\n}\n```

\n

You can also run Navigator Assistant locally or on other extensions. Please check navigator-web-assistant.

\n

You can also use the Jupyter extension to try some fast python and websocket applications.

", - "support": null, - "requirements": null, + "readme": "No README available", + "support": "https://www.jmrobotics.no", + "requirements": "core >= 1", "company": { - "about": "Control navigator hardware using webservices", - "name": "Blue Robotics", - "email": "support@bluerobotics.com" + "about": "", + "name": "JM Robotics", + "email": "support@jmrobotics.no" }, "permissions": { + "Env": [ + "SERVER_URL=https://software.jmrobotics.no/server/", + "I2CBUS=6", + "ROV_ID=" + ], "ExposedPorts": { - "8080/tcp": {} + "1337/tcp": {}, + "8137/tcp": {}, + "1338/tcp": {} }, + "NetworkMode": "host", "HostConfig": { "Privileged": true, + "Binds": [ + "/root/.config/jm:/root/.config" + ], + "ExtraHosts": [ + "host.docker.internal:host-gateway" + ], "PortBindings": { - "8080/tcp": [ + "1337/tcp": [ { - "HostPort": "" + "HostPort": "1337" + } + ], + "8137/tcp": [ + { + "HostPort": "8137" + } + ], + "1338/tcp": [ + { + "HostPort": "1338" } ] } } } - } - }, - "repo_info": { - "downloads": 981, - "last_updated": "2024-02-05T22:10:02.139431Z", - "date_registered": "2024-01-22T15:06:39.735884Z" - } - }, - { - "identifier": "bluerobotics.yacht", - "name": "Yacht", - "website": "https://github.com/patrickelectric/blueos-yacht", - "docker": "patrickelectric/blueos-yacht", - "description": "Easy to use container management utility", - "extension_logo": "https://raw.githubusercontent.com/bluerobotics/BlueOS-Extensions-Repository/master/repos/bluerobotics/yacht/extension_logo.png", - "company_logo": "https://raw.githubusercontent.com/bluerobotics/BlueOS-Extensions-Repository/master/repos/bluerobotics/company_logo.png", - "versions": { - "1.0.0": { - "identifier": "b8ab51f5-90f5-5552-b9fb-43485f0c944d", - "type": "tool", - "website": null, + }, + "0.0.4": { + "identifier": "fbde77c2-558e-5654-9fba-00720ba5ca46", + "type": "other", + "website": "https://www.jmrobotics.no", "images": [ { - "expanded_size": 75237108, + "expanded_size": 98481422, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:3cbb5d3ccef873e9d2c2f2887d1e833ab1cf74a37dbce0127eecdd93332d33cd" + "digest": "sha256:a383b8e2f0888f718c52bc92f99d4180bce41e3d9d44ef6886b642e6ae2d1719" } ], "authors": [ { - "name": "Patrick Jos\u00e9 Pereira", - "email": "patrickelectric@gmail.com" + "name": "Mads Peter Hammer Strand", + "email": "mads@jmrobotics.no" } ], - "filter_tags": [ - "docker", - "container", - "dashboard", - "manager" - ], + "filter_tags": [], "extra_links": {}, - "tag": "1.0.0", + "tag": "0.0.4", "docs": null, - "readme": "

BlueOS yacht

\n

Yacht is a container management UI with a focus on templates and 1-click deployments.

", - "support": null, - "requirements": null, + "readme": "No README available", + "support": "https://www.jmrobotics.no", + "requirements": "core >= 1", "company": { "about": "", - "name": "Blue Robotics", - "email": "support@bluerobotics.com" + "name": "JM Robotics", + "email": "support@jmrobotics.no" }, "permissions": { + "Env": [ + "SERVER_URL=https://software.jmrobotics.no/server/", + "I2CBUS=6", + "ROV_ID=" + ], "ExposedPorts": { - "8000/tcp": {} + "1337/tcp": {}, + "8137/tcp": {}, + "1338/tcp": {} }, + "NetworkMode": "host", "HostConfig": { "Privileged": true, "Binds": [ - "/var/run/docker.sock:/var/run/docker.sock:rw" + "/root/.config/jm:/root/.config" + ], + "ExtraHosts": [ + "host.docker.internal:host-gateway" ], "PortBindings": { - "8000/tcp": [ + "1337/tcp": [ { - "HostPort": "" + "HostPort": "1337" + } + ], + "8137/tcp": [ + { + "HostPort": "8137" + } + ], + "1338/tcp": [ + { + "HostPort": "1338" } ] } } } - } - }, - "repo_info": { - "downloads": 1775, - "last_updated": "2023-09-01T21:07:26.318216Z", - "date_registered": "2023-09-01T20:11:40.559943Z" - } - }, - { - "identifier": "bluerobotics.jupyter", - "name": "Jupyter", - "website": "https://github.com/patrickelectric/blueos-jupyter", - "docker": "patrickelectric/blueos-jupyter", - "description": "Code in Python directly in BlueOS", - "extension_logo": "https://raw.githubusercontent.com/bluerobotics/BlueOS-Extensions-Repository/master/repos/bluerobotics/jupyter/extension_logo.png", - "company_logo": "https://raw.githubusercontent.com/bluerobotics/BlueOS-Extensions-Repository/master/repos/bluerobotics/company_logo.png", - "versions": { - "0.2.0": { - "identifier": "b1da3c8a-0fc4-5070-bb26-9d15bed8056c", + }, + "0.0.3": { + "identifier": "04354e64-e2b2-59ba-b0d7-61cbe54a3820", "type": "other", - "website": null, + "website": "https://www.jmrobotics.no", "images": [ { - "expanded_size": 1178493617, + "expanded_size": 98481100, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:f578a510f7a7dfaa8acf4cb331b9db23640e57ad6a1e4df15fc8da4db7d54d25" + "digest": "sha256:c58fd0b5d2f68f9df5924ff54f444849aa1c413e40a2725bc01cf6a3b6ca3645" } ], "authors": [ { - "name": "Patrick Jos\u00e9 Pereira", - "email": "patrickelectric@gmail.com" - }, - { - "name": "Raul Victor Trombin", - "email": "raulvtrombin@gmail.com" + "name": "Mads Peter Hammer Strand", + "email": "mads@jmrobotics.no" } ], - "filter_tags": [ - "python", - "ide", - "development" - ], + "filter_tags": [], "extra_links": {}, - "tag": "0.2.0", + "tag": "0.0.3", "docs": null, - "readme": "

blueos-jupyter

\n

Extension to start coding with python examples and create projects.

\n

To install your own libraries, use: pip install --user.

\n

Home directory (/root/) will be persistent besides pip local holder for user libraries.

\n

Libraries installed:\n- bluerobotics-ping\n- bluerobotics-navigator\n- plotly\n- pymavlink

", - "support": null, - "requirements": null, + "readme": "No README available", + "support": "https://www.jmrobotics.no", + "requirements": "core >= 1", "company": { "about": "", - "name": "Blue Robotics", - "email": "support@bluerobotics.com" + "name": "JM Robotics", + "email": "support@jmrobotics.no" }, "permissions": { + "Env": [ + "SERVER_URL=https://software.jmrobotics.no/server/", + "ROV_ID=" + ], + "ExposedPorts": { + "1337/tcp": {}, + "8137/tcp": {}, + "1338/tcp": {} + }, "NetworkMode": "host", "HostConfig": { "Privileged": true, "Binds": [ - "/usr/blueos/extensions/jupyter/root:/root:rw", - "/dev:/dev:rw" + "/root/.config/jm:/root/.config" ], - "NetworkMode": "host" + "ExtraHosts": [ + "host.docker.internal:host-gateway" + ], + "PortBindings": { + "1337/tcp": [ + { + "HostPort": "1337" + } + ], + "8137/tcp": [ + { + "HostPort": "8137" + } + ], + "1338/tcp": [ + { + "HostPort": "1338" + } + ] + } } } }, - "0.1.0": { - "identifier": "0fe22234-421f-5549-86e1-44515ecc0c37", + "0.0.2": { + "identifier": "a102f7fd-cb95-5bb6-99ed-3b0b1ae0b1cc", "type": "other", - "website": null, + "website": "https://www.jmrobotics.no", "images": [ { - "expanded_size": 946708030, + "expanded_size": 55223354, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:7fbecadd64e1b484f67a6cafda92c3f4b9630e277d83a4288196ebbf01af336f" + "digest": "sha256:50251ec8c463a50ab3013bdcdd6bfb1f913c34ffe579f326c12d539b5bd14248" } ], "authors": [ { - "name": "Patrick Jos\u00e9 Pereira", - "email": "patrickelectric@gmail.com" - }, - { - "name": "Raul Victor Trombin", - "email": "raulvtrombin@gmail.com" + "name": "Mads Peter Hammer Strand", + "email": "mads@jmrobotics.no" } ], - "filter_tags": [ - "python", - "ide", - "development" - ], + "filter_tags": [], "extra_links": {}, - "tag": "0.1.0", + "tag": "0.0.2", "docs": null, - "readme": "

blueos-jupyter

\n

Extension to start coding with python examples and create projects.

\n

To install your own libraries, use: pip install --user.

\n

Home directory (/root/) will be persistent besides pip local holder for user libraries.

\n

Libraries installed:\n- bluerobotics-ping\n- bluerobotics-navigator\n- plotly\n- pymavlink

", - "support": null, - "requirements": null, + "readme": "No README available", + "support": "https://www.jmrobotics.no", + "requirements": "core >= 1", "company": { "about": "", - "name": "Blue Robotics", - "email": "support@bluerobotics.com" + "name": "JM Robotics", + "email": "support@jmrobotics.no" }, "permissions": { + "Env": [ + "SERVER_URL=https://software.jmrobotics.no/server/", + "ROV_ID=" + ], + "ExposedPorts": { + "1337/tcp": {}, + "1338/tcp": {} + }, "NetworkMode": "host", "HostConfig": { "Privileged": true, "Binds": [ - "/usr/blueos/extensions/jupyter/root:/root:rw", - "/dev:/dev:rw" + "/root/.config/jm:/root/.config" ], - "NetworkMode": "host" + "ExtraHosts": [ + "host.docker.internal:host-gateway" + ], + "PortBindings": { + "1337/tcp": [ + { + "HostPort": "1337" + } + ], + "1338/tcp": [ + { + "HostPort": "1338" + } + ] + } } } }, - "0.0.0": { - "identifier": "513dcee7-8d8e-5e4c-bcb6-71b7e15c44fd", + "0.0.1": { + "identifier": "b7af0fda-ea84-5b6a-82fa-e72932971ebd", "type": "other", - "website": null, + "website": "https://www.jmrobotics.no", "images": [ { - "expanded_size": 471140182, + "expanded_size": 43060080, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:80fbf5feb15c6e9f08544727addaabdd28968cec1ea44ef70553026ed49b09d1" + "digest": "sha256:6697aeaebf7b1ffe2847c7434e8a3dd2d42872efb359d0f978ba6152140313fa" } ], "authors": [ { - "name": "Patrick Jos\u00e9 Pereira", - "email": "patrickelectric@gmail.com" - }, - { - "name": "Raul Trombin", - "email": "raulvtormbin@gmail.com" + "name": "Mads Peter Hammer Strand", + "email": "mads@jmrobotics.no" } ], - "filter_tags": [ - "python", - "ide", - "development" - ], + "filter_tags": [], "extra_links": {}, - "tag": "0.0.0", + "tag": "0.0.1", "docs": null, - "readme": "

blueos-jupyter

\n

Extension to start coding with python examples and create projects.

\n

To install your own libraries, use: pip install --user.

\n

Home directory (/root/) will be persistent besides pip local holder for user libraries.

\n

Libraries installed:\n- bluerobotics-ping\n- bluerobotics-navigator\n- plotly\n- pymavlink

", - "support": null, - "requirements": null, + "readme": "No README available", + "support": "https://www.jmrobotics.no", + "requirements": "core >= 1", "company": { "about": "", - "name": "Blue Robotics", - "email": "support@bluerobotics.com" + "name": "JM Robotics", + "email": "support@jmrobotics.no" }, "permissions": { + "Env": [ + "SERVER_URL=https://software.jmrobotics.no/server/", + "ROV_ID=" + ], "NetworkMode": "host", "HostConfig": { - "Privileged": true, "Binds": [ - "/usr/blueos/userdata/jupyter/root:/root:rw", - "/dev:/dev:rw" + "/root/.config/jm:/root/.config" ], - "NetworkMode": "host" + "ExtraHosts": [ + "host.docker.internal:host-gateway" + ] } } } }, "repo_info": { - "downloads": 3227, - "last_updated": "2024-11-02T19:51:27.122486Z", - "date_registered": "2023-09-20T20:30:01.66808Z" + "downloads": 15114, + "last_updated": "2024-09-16T12:54:32.088839Z", + "date_registered": "2023-05-02T08:49:43.621656Z" } }, { - "identifier": "bluerobotics.cellphone-modem-manager", - "name": "Cellphone Modem Manager", - "website": "https://github.com/bluerobotics/cellphone-modem-manager", - "docker": "bluerobotics/blueos-cellphone-modem-manager", - "description": "Blue Robotics cellphone modem manager", - "extension_logo": "https://raw.githubusercontent.com/bluerobotics/BlueOS-Extensions-Repository/master/repos/bluerobotics/cellphone-modem-manager/extension_logo.png", - "company_logo": "https://raw.githubusercontent.com/bluerobotics/BlueOS-Extensions-Repository/master/repos/bluerobotics/company_logo.png", + "identifier": "nortekgroup.nucleus", + "name": "Nortek Nucleus", + "website": "https://github.com/nortekgroup/nucleus_driver/tree/main/blueos_extension", + "docker": "nortekgroup/blueos_nucleus", + "description": "Supports the Nucleus1000 DVL for ROV navigation", + "extension_logo": "https://raw.githubusercontent.com/bluerobotics/BlueOS-Extensions-Repository/master/repos/nortekgroup/company_logo.png", + "company_logo": "https://raw.githubusercontent.com/bluerobotics/BlueOS-Extensions-Repository/master/repos/nortekgroup/company_logo.png", "versions": { - "0.2.0": { - "identifier": "55684b9f-3da4-540c-a19e-f060e95db1e6", + "1.2.0": { + "identifier": "5279391c-d9e5-5ac9-a901-96de644f637c", "type": "device-integration", - "website": "https://raw.githubusercontent.com/bluerobotics/cellphone-modem-manager/", + "website": "https://github.com/nortekgroup/nucleus_driver/tree/main/blueos_extension", "images": [ { - "expanded_size": 98006979, - "platform": { - "architecture": "arm", - "variant": "v7", - "os": "linux" - }, - "digest": "sha256:2d9c19eea0c360eded692fb5e23d3a7d8bb7146f542e7aeb613f9ef8a245d88d" - }, - { - "expanded_size": 104323629, + "expanded_size": 73000634, "platform": { - "architecture": "arm64", + "architecture": "amd64", "variant": null, "os": "linux" }, - "digest": "sha256:9531b33148500a5a60e71aece48921e09de7ac2117165b517b675754c91de492" + "digest": "sha256:13dd49ad03110b9876e9a23cfaa3b3b61632b166c5bd2376f40876e8e45e61b7" }, { - "expanded_size": 107030530, + "expanded_size": 67262813, "platform": { - "architecture": "amd64", - "variant": null, + "architecture": "arm", + "variant": "v7", "os": "linux" }, - "digest": "sha256:5ca0ce1d54db139f385fe3cd66256f5803ed3ae70ebb28e993f2245d97864dbc" + "digest": "sha256:630017a74190da84b89edee200f473baf0140a80d8e7e843bab8a9178091268d" } ], "authors": [ { - "name": "Jo\u00e3o M\u00e1rio Lago", - "email": "joaolago@bluerobotics.com" - }, - { - "name": "Willian Galvani", - "email": "willian@bluerobotics.com" - }, - { - "name": "Patrick J. Pereira", - "email": "patrickelectric@gmail.com" + "name": "Martin Bergene Johansen", + "email": "martin.johansen@nortekgroup.com" } ], - "filter_tags": [], + "filter_tags": [ + "positioning", + "navigation", + "doppler-velocity-log", + "water-tracking", + "current-profiling" + ], "extra_links": {}, - "tag": "0.2.0", + "tag": "1.2.0", "docs": null, - "readme": "

Basic extension to manage cellphone modems

", - "support": "https://raw.githubusercontent.com/bluerobotics/cellphone-modem-manager/", - "requirements": "core >= 1.3", + "readme": "

BlueOS extension

\n

This is a Nucleus extension for the BlueOS software running on BlueROV2.

\n

It works by wrapping the Nucleus Driver in a docker image, with a script that feeds velocity data from the Nucleus device into the ArduSub control system through mavlink commands.

\n

This allows the user to utilize the \"position hold\" functionality in the ROV

\n

Nortek Nucleus integration

\n

To mount the Nucleus unto the BlueROV2 and connect it to its network, refer Nortek's Nucleus integration guide.

\n

setup

\n

BlueOS

\n

BlueOS needs to be of version 1.1.0-beta18 or newer in order to support the adding of third party extensions.

\n

ArduSub

\n

ArduSub needs to be of version 4.1.0 or newer for it to support the VISUAL_POSITION_DELTA packets used to send velocity data to the ROV.

\n

Nucleus

\n

This extension assumes that the Nucleus is connected to the network of the ROV through an ethernet connection. It is therefore necessary to set a static IP in the Nucleus.

\n

The network prefix of the BlueROV2 is 192.168.2.0, with a netmask of 255.255.255.0. The Nucleus' static IP must therefore be set to a fitting value, i.e. 192.168.2.201.

\n

In the GUI that comes with the extension the user must specify this IP address to establish a connection with the Nucleus device. The user is therefore not limited to using this IP address, but is at the same time responsible of selecting an IP address that is not already in use on the network.

\n

Adding extension to BlueROV2

\n

The extension can be added to the BlueROV2 either through the BlueOS software, or by creating the docker image on the onboard computer and running the docker container directly.

\n

It is recommended to add the extension through BlueOS as it is both easier and the intended way for this extension to be added. The two different approaches are covered in the following subsections.

\n

BlueOS

\n

Installation

\n

The extension can be added through BlueOS' extensions menu.

\n

Navigate to Extensions > Extensions Manager.

\n

\"blueos_menu\"

\n

Locate Nortek Nucleus under the tab \"STORE\" and open it.

\n

\"nortek_nucleus_store\"

\n

When the Nortek Nucleus extension is opened the user will be presented with this README, as well as information about the extensions creator, a link to this github repository, the settings in the docker image of the extension and the option of installing the extension.

\n

To install the extension, select the newest available version in the drop down menu (the newest version should be the default) and push install. BlueOS will the pull the nucleus extension docker image and install it in its extensions.

\n

\"nortek_nucleus_install\"

\n

Usage

\n

After the installation has been completed. The extension can be located in Extensions > Extensions Manager, under the tab \"INSTALLED\".

\n

\"nortek_nucleus_installed\"

\n

Here the user have the option to edit sittings, uninstall, disable and restart the extension. It is also possible to view the output logs from the docker container that runs the extension which can serve as a good debugging tool.

\n

The extension itself can be opened in the menu by navigating to Extensions > Nucleus: Position hold.

\n

\"blueos_menu_nucleus\"

\n

Opening this will present the user with the GUI for the Nucleus extension which is covered in Using the extension

\n

Docker

\n

To set this extension up manually, ssh into the Raspberry Pi on the BlueROV2 (or access via red-pill in BlueOS terminal).

\n

N.B. The docker image available on dockerhub is set to use port 80 for its user interface which allows BlueOS to handle which port this user interface should be available at. For the manual approach it is therefore necessary to build the docker image with a different port if you wish to have access to the user interface.

\n

N.B. In the current version of the extension it is necessary to have access to the GUI as it is required for establishing the connection to the Nucleus.

\n

On the onboard computer, clone this repo in your preferred path with the following command:

\n

git clone git@github.com:nortekgroup/nucleus_driver.git

\n

Navigate to the blueos_extension folder (the folder containing the Dockerfile) and build the docker image with the following command:

\n

docker build . -t nucleus_driver

\n

The GUI of the extension is by default on port 5000.

\n

If another port is preferred for the GUI the image can be build with the preferred port as an argument with the following command

\n

docker build . -t nucleus_driver --build-arg PORT=5000

\n

with the value following \"PORT=\" being your preferred port.

\n

The docker container can be executed with the following command

\n

docker run --net=host --add-host=host.docker.internal:host-gateway -v /root/.config/blueos:/root/.config --name=nucleus_driver --restart=unless-stopped nucleus_driver

\n

--net=host allows the container to share the network of the ROV which is necessary for it to communicate with the ROV and make the GUI available

\n

-v /root/.config/blueos:/root/.config maps the volume \"/root/.config/blueos\" from the Raspberry Pi into \"/root/.config\" in the container. This allows the container the store configuration data in-between runs.

\n

--name=Nucleus-Driver is the preferred name of the container.

\n

--restart=unless-stopped allows the extension to automatically start when the ROV is powered up

\n

With the docker container running, the GUI can be accessed in a browser by navigating to blueos.local:<port> (or 192.168.2.2:<port>), where <port> is the specified port from the image creation. See Using the extension to learn about how to use the GUI.

\n

Using the extension

\n

N.B. In order for the extension to work it is necessary to change certain controller parameters. Refer to \"Controller parameters\" section for more info

\n

N.B. In order for the \"position hold\" algorithm to perform well it might be necessary to change the ROV's PID parameters. Refer to \"PID parameters\" section for more info

\n

With the extension added, its user interface (GUI) can be found by navigating to Extensions -> Nucleus: Position hold in the BlueOS menu.

\n

In the case of a manual installation through docker, the GUI can be found y navigating to blueos.local:<port> where <port> is he port specified when the docker image was created.

\n

The GUI presents the user with a home page and two pages for parametrization. These pages can be navigated in-between using the navigation banner at the top of the GUI

\n

Home

\n

The home screen presents the user with a status field which displays the results of various checks performed during the startup of the ROV. It is necessary for all of these checks to pass in order for extension to work. Some easy troubleshooting is presented in the home screen in case any of these checks were to fail

\n

The Nucleus hostname field is used to set the IP address used to connect to the Nucleus device. This IP address should be the same as the static IP configured on the Nucleus device.

\n

It is also a field which allows the user to decide whether the driver is enabled. The driver must be enabled for it to feed velocity data to the ROV. If it is not enabled the driver is still running and extracting data from the Nucleus, but the velocity is not sent to the ROV.

\n

The packet counter field displays how many velocity data packets has been handled by the extension. Sent packages refers to packages that has been sent to the ROV, Failed packets refers to packets that for some reason failed to be sent, and Skipped packets are packets that were in good condition and ready to be sent, but weren't due to the driver not being enabled.

\n

PID parameters

\n

N.B. Adjusting any of these parameters WILL change the behavior of the ROV

\n

N.B. Neither the extension nor the ROV will remember the original values of these parameters in case they are changed. It is therefore the users responsibility to remember the original values in case they wish to revert back to the original parameterization.

\n

The PID parameters page gives the user opportunity to modify selected PID parameters in the controller. Good parameterization is necessary for a good performance of the ROV. The correct parameters varies from vehicle to vehicle as the physical attributes of the ROV has an impact on its behavior. However, recommended parameters for a standard BlueROV2 with only the Nucleus being the third party installation is presented on this page.

\n

Controller parameters

\n

N.B. Adjusting any of these parameters may change the behavior of the ROV

\n

N.B. Neither the extension nor the ROV will remember the original values of these parameters in case they are changed. It is therefore the users responsibility to remember the original values in case they wish to revert back to the original parameterization.

\n

In order for the controller to accept and utilize the velocity packets sent from the Nucleus, certain parameters has to be changed. The parameters and their required values are presented on this page.

\n

After these parameters has been changed it is necessary to power cycle the vehicle for these parameters to take effect

", + "support": "https://support.nortekgroup.com/", + "requirements": null, "company": { "about": "", - "name": "Blue Robotics", - "email": "support@bluerobotics.com" + "name": "Nortek", + "email": "" }, "permissions": { "ExposedPorts": { - "20038/tcp": {} + "80/tcp": {} }, "HostConfig": { - "Privileged": true, "Binds": [ - "/root/.config:/root/.config", - "/dev:/dev:rw" + "/root/.config:/root/.config" ], "ExtraHosts": [ - "blueos.internal:host-gateway" + "host.docker.internal:host-gateway" ], "PortBindings": { - "20038/tcp": [ + "80/tcp": [ { "HostPort": "" } @@ -4052,62 +4587,58 @@ } } }, - "0.1.0": { - "identifier": "66cf0c96-6457-5117-b5fe-c3af41614318", + "1.1.0": { + "identifier": "1311ade4-1008-5502-84b3-c592f1aeb0fc", "type": "device-integration", - "website": "https://raw.githubusercontent.com/bluerobotics/cellphone-modem-manager/", + "website": "https://github.com/nortekgroup/nucleus_driver/tree/main/blueos_extension", "images": [ { - "expanded_size": 98006170, + "expanded_size": 67100057, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:5fdbc09389ee7691c4c5b801c6f071f45d2d153afa375a3c872209870c20f3a2" + "digest": "sha256:e0dedf493f9749aa953b59d4941e1fdf254c4a6949ecee933079e1d203e71773" } ], "authors": [ { - "name": "Jo\u00e3o M\u00e1rio Lago", - "email": "joaolago@bluerobotics.com" - }, - { - "name": "Willian Galvani", - "email": "willian@bluerobotics.com" - }, - { - "name": "Patrick J. Pereira", - "email": "patrickelectric@gmail.com" + "name": "Martin Bergene Johansen", + "email": "martin.johansen@nortekgroup.com" } ], - "filter_tags": [], + "filter_tags": [ + "positioning", + "navigation", + "doppler-velocity-log", + "water-tracking", + "current-profiling" + ], "extra_links": {}, - "tag": "0.1.0", + "tag": "1.1.0", "docs": null, - "readme": "

Basic extension to manage cellphone modems

", - "support": "https://raw.githubusercontent.com/bluerobotics/cellphone-modem-manager/", - "requirements": "core >= 1.3", + "readme": "

BlueOS extension

\n

This is a Nucleus extension for the BlueOS software running on BlueROV2.

\n

It works by wrapping the Nucleus Driver in a docker image, with a script that feeds velocity data from the Nucleus device into the ArduSub control system through mavlink commands.

\n

This allows the user to utilize the \"position hold\" functionality in the ROV

\n

Nortek Nucleus integration

\n

To mount the Nucleus unto the BlueROV2 and connect it to its network, refer Nortek's Nucleus integration guide.

\n

setup

\n

BlueOS

\n

BlueOS needs to be of version 1.1.0-beta18 or newer in order to support the adding of third party extensions.

\n

ArduSub

\n

ArduSub needs to be of version 4.1.0 or newer for it to support the VISUAL_POSITION_DELTA packets used to send velocity data to the ROV.

\n

Nucleus

\n

This extension assumes that the Nucleus is connected to the network of the ROV through an ethernet connection. It is therefore necessary to set a static IP in the Nucleus.

\n

The network prefix of the BlueROV2 is 192.168.2.0, with a netmask of 255.255.255.0. The Nucleus' static IP must therefore be set to a fitting value, i.e. 192.168.2.201.

\n

In the GUI that comes with the extension the user must specify this IP address to establish a connection with the Nucleus device. The user is therefore not limited to using this IP address, but is at the same time responsible of selecting an IP address that is not already in use on the network.

\n

Adding extension to BlueROV2

\n

The extension can be added to the BlueROV2 either through the BlueOS software, or by creating the docker image on the onboard computer and running the docker container directly.

\n

It is recommended to add the extension through BlueOS as it is both easier and the intended way for this extension to be added. The two different approaches are covered in the following subsections.

\n

BlueOS

\n

Installation

\n

The extension can be added through BlueOS' extensions menu.

\n

Navigate to Extensions > Extensions Manager.

\n

\"blueos_menu\"

\n

Locate Nortek Nucleus under the tab \"STORE\" and open it.

\n

\"nortek_nucleus_store\"

\n

When the Nortek Nucleus extension is opened the user will be presented with this README, as well as information about the extensions creator, a link to this github repository, the settings in the docker image of the extension and the option of installing the extension.

\n

To install the extension, select the newest available version in the drop down menu (the newest version should be the default) and push install. BlueOS will the pull the nucleus extension docker image and install it in its extensions.

\n

\"nortek_nucleus_install\"

\n

Usage

\n

After the installation has been completed. The extension can be located in Extensions > Extensions Manager, under the tab \"INSTALLED\".

\n

\"nortek_nucleus_installed\"

\n

Here the user have the option to edit sittings, uninstall, disable and restart the extension. It is also possible to view the output logs from the docker container that runs the extension which can serve as a good debugging tool.

\n

The extension itself can be opened in the menu by navigating to Extensions > Nucleus: Position hold.

\n

\"blueos_menu_nucleus\"

\n

Opening this will present the user with the GUI for the Nucleus extension which is covered in Using the extension

\n

Docker

\n

To set this extension up manually, ssh into the Raspberry Pi on the BlueROV2 (or access via red-pill in BlueOS terminal).

\n

N.B. The docker image available on dockerhub is set to use port 80 for its user interface which allows BlueOS to handle which port this user interface should be available at. For the manual approach it is therefore necessary to build the docker image with a different port if you wish to have access to the user interface.

\n

N.B. In the current version of the extension it is necessary to have access to the GUI as it is required for establishing the connection to the Nucleus.

\n

On the onboard computer, clone this repo in your preferred path with the following command:

\n

git clone git@github.com:nortekgroup/nucleus_driver.git

\n

Navigate to the blueos_extension folder (the folder containing the Dockerfile) and build the docker image with the following command:

\n

docker build . -t nucleus_driver

\n

The GUI of the extension is by default on port 5000.

\n

If another port is preferred for the GUI the image can be build with the preferred port as an argument with the following command

\n

docker build . -t nucleus_driver --build-arg PORT=5000

\n

with the value following \"PORT=\" being your preferred port.

\n

The docker container can be executed with the following command

\n

docker run --net=host --add-host=host.docker.internal:host-gateway -v /root/.config/blueos:/root/.config --name=nucleus_driver --restart=unless-stopped nucleus_driver

\n

--net=host allows the container to share the network of the ROV which is necessary for it to communicate with the ROV and make the GUI available

\n

-v /root/.config/blueos:/root/.config maps the volume \"/root/.config/blueos\" from the Raspberry Pi into \"/root/.config\" in the container. This allows the container the store configuration data in-between runs.

\n

--name=Nucleus-Driver is the preferred name of the container.

\n

--restart=unless-stopped allows the extension to automatically start when the ROV is powered up

\n

With the docker container running, the GUI can be accessed in a browser by navigating to blueos.local:<port> (or 192.168.2.2:<port>), where <port> is the specified port from the image creation. See Using the extension to learn about how to use the GUI.

\n

Using the extension

\n

N.B. In order for the extension to work it is necessary to change certain controller parameters. Refer to \"Controller parameters\" section for more info

\n

N.B. In order for the \"position hold\" algorithm to perform well it might be necessary to change the ROV's PID parameters. Refer to \"PID parameters\" section for more info

\n

With the extension added, its user interface (GUI) can be found by navigating to Extensions -> Nucleus: Position hold in the BlueOS menu.

\n

In the case of a manual installation through docker, the GUI can be found y navigating to blueos.local:<port> where <port> is he port specified when the docker image was created.

\n

The GUI presents the user with a home page and two pages for parametrization. These pages can be navigated in-between using the navigation banner at the top of the GUI

\n

Home

\n

The home screen presents the user with a status field which displays the results of various checks performed during the startup of the ROV. It is necessary for all of these checks to pass in order for extension to work. Some easy troubleshooting is presented in the home screen in case any of these checks were to fail

\n

The Nucleus hostname field is used to set the IP address used to connect to the Nucleus device. This IP address should be the same as the static IP configured on the Nucleus device.

\n

It is also a field which allows the user to decide whether the driver is enabled. The driver must be enabled for it to feed velocity data to the ROV. If it is not enabled the driver is still running and extracting data from the Nucleus, but the velocity is not sent to the ROV.

\n

The packet counter field displays how many velocity data packets has been handled by the extension. Sent packages refers to packages that has been sent to the ROV, Failed packets refers to packets that for some reason failed to be sent, and Skipped packets are packets that were in good condition and ready to be sent, but weren't due to the driver not being enabled.

\n

PID parameters

\n

N.B. Adjusting any of these parameters WILL change the behavior of the ROV

\n

N.B. Neither the extension nor the ROV will remember the original values of these parameters in case they are changed. It is therefore the users responsibility to remember the original values in case they wish to revert back to the original parameterization.

\n

The PID parameters page gives the user opportunity to modify selected PID parameters in the controller. Good parameterization is necessary for a good performance of the ROV. The correct parameters varies from vehicle to vehicle as the physical attributes of the ROV has an impact on its behavior. However, recommended parameters for a standard BlueROV2 with only the Nucleus being the third party installation is presented on this page.

\n

Controller parameters

\n

N.B. Adjusting any of these parameters may change the behavior of the ROV

\n

N.B. Neither the extension nor the ROV will remember the original values of these parameters in case they are changed. It is therefore the users responsibility to remember the original values in case they wish to revert back to the original parameterization.

\n

In order for the controller to accept and utilize the velocity packets sent from the Nucleus, certain parameters has to be changed. The parameters and their required values are presented on this page.

\n

After these parameters has been changed it is necessary to power cycle the vehicle for these parameters to take effect

", + "support": "https://support.nortekgroup.com/", + "requirements": null, "company": { "about": "", - "name": "Blue Robotics", - "email": "support@bluerobotics.com" + "name": "Nortek", + "email": "" }, "permissions": { "ExposedPorts": { - "20038/tcp": {} + "80/tcp": {} }, "HostConfig": { - "Privileged": true, "Binds": [ - "/root/.config:/root/.config", - "/dev:/dev:rw" + "/root/.config:/root/.config" ], "ExtraHosts": [ - "blueos.internal:host-gateway" + "host.docker.internal:host-gateway" ], "PortBindings": { - "20038/tcp": [ + "80/tcp": [ { "HostPort": "" } @@ -4115,215 +4646,179 @@ } } } - } - }, - "repo_info": { - "downloads": 202, - "last_updated": "2024-12-17T00:38:57.606838Z", - "date_registered": "2024-12-10T16:34:37.516719Z" - } - }, - { - "identifier": "bluerobotics.ros", - "name": "ROS", - "website": "https://github.com/patrickelectric/blueos-ros", - "docker": "patrickelectric/blueos-ros", - "description": "Robot Operating System (ROS) extension for BlueOS", - "extension_logo": "https://raw.githubusercontent.com/bluerobotics/BlueOS-Extensions-Repository/master/repos/bluerobotics/ros/extension_logo.png", - "company_logo": "https://raw.githubusercontent.com/bluerobotics/BlueOS-Extensions-Repository/master/repos/bluerobotics/company_logo.png", - "versions": { - "0.0.2": { - "identifier": "73dc76ed-2f14-5fae-a087-aee4886d5fbd", - "type": "other", - "website": null, + }, + "1.0.4": { + "identifier": "d80dda53-9e55-5730-8db0-5fb11b255c4d", + "type": "device-integration", + "website": "https://github.com/nortekgroup/nucleus_driver/tree/main/blueos_extension", "images": [ { - "expanded_size": 370009641, - "platform": { - "architecture": "arm64", - "variant": null, - "os": "linux" - }, - "digest": "sha256:75a2bf8947eba791595c30713506e8f94231a656c48f99119c53d17eb09ec72e" - }, - { - "expanded_size": 370009669, + "expanded_size": 67188902, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:a9a2112b8cc7df5fefab629d79aa50c7cf68f6f205afe5f7fa44ed343072517a" + "digest": "sha256:737d0121074d2009aec5e835884197efa32d063779f1417d981c41e3c351cbec" } ], "authors": [ { - "name": "Patrick Jos\u00e9 Pereira", - "email": "patrickelectric@gmail.com" + "name": "Martin Bergene Johansen", + "email": "martin.johansen@nortekgroup.com" } ], "filter_tags": [ - "ros", - "robot" + "positioning", + "navigation", + "doppler-velocity-log", + "water-tracking", + "current-profiling" ], "extra_links": {}, - "tag": "0.0.2", + "tag": "1.0.4", "docs": null, - "readme": "

BlueOS ROS extension

\n

This extension makes possible to communicate with the vehicle via ROS

\n

To connect, you just need to run the following commands:\n```sh\nexport ROS_MASTER_URI=http://blueos.local:11311

\n

or export ROS_MASTER_URI=http://:11311

\n

rostopic list # Done, you already have access to it!\n```

\n

You can also access the data via roslibjs.

\n

```html

\n\n\n\n\n\n\n\n\n\n

Simple ROS User Interface

\n

Connection status:

\n

Last /mavros/vfr_hud received:

\n\n\n

```

\n

Use a different ROS master origin

\n

It's possible to change ROS master for the extension using BlueOS on pirate mode and configuring ROS environments variables under the extension configuration menu.

\n

A valid configurtion wouyld look like this:

\n

json5\n{\n \"NetworkMode\": \"host\",\n \"HostConfig\": {\n \"Binds\": [\n \"/dev:/dev:rw\"\n ],\n \"Privileged\": true,\n \"NetworkMode\": \"host\"\n },\n \"Env\": [\n \"ROS_HOSTNAME=192.168.2.2\",\n \"ROS_MASTER_URI=http://192.168.2.3:11311\",\n \"ROS_IP=192.168.2.2\"\n ]\n}

\n

For more information about it, check BlueOS documentation.

", - "support": null, + "readme": "

BlueOS extension

\n

This is a Nucleus extension for the BlueOS software running on BlueROV2.

\n

It works by wrapping the Nucleus Driver in a docker image, with a script that feeds velocity data from the Nucleus device into the ArduSub control system through mavlink commands.

\n

This allows the user to utilize the \"position hold\" functionality in the ROV

\n

Nortek Nucleus integration

\n

To mount the Nucleus unto the BlueROV2 and connect it to its network, refer Nortek's Nucleus integration guide.

\n

setup

\n

BlueOS

\n

BlueOS needs to be of version 1.1.0-beta18 or newer in order to support the adding of third party extensions.

\n

ArduSub

\n

ArduSub needs to be of version 4.1.0 or newer for it to support the VISUAL_POSITION_DELTA packets used to send velocity data to the ROV.

\n

Nucleus

\n

This extension assumes that the Nucleus is connected to the network of the ROV through an ethernet connection. It is therefore necessary to set a static IP in the Nucleus.

\n

The network prefix of the BlueROV2 is 192.168.2.0, with a netmask of 255.255.255.0. The Nucleus' static IP must therefore be set to a fitting value, i.e. 192.168.2.201.

\n

In the GUI that comes with the extension the user must specify this IP address to establish a connection with the Nucleus device. The user is therefore not limited to using this IP address, but is at the same time responsible of selecting an IP address that is not already in use on the network.

\n

Adding extension to BlueROV2

\n

The extension can be added to the BlueROV2 either through the BlueOS software, or by creating the docker image on the onboard computer and running the docker container directly.

\n

It is recommended to add the extension through BlueOS as it is both easier and the intended way for this extension to be added. The two different approaches are covered in the following subsections.

\n

BlueOS

\n

Installation

\n

The extension can be added through BlueOS' extensions menu.

\n

Navigate to Extensions > Extensions Manager.

\n

\"blueos_menu\"

\n

Locate Nortek Nucleus under the tab \"STORE\" and open it.

\n

\"nortek_nucleus_store\"

\n

When the Nortek Nucleus extension is opened the user will be presented with this README, as well as information about the extensions creator, a link to this github repository, the settings in the docker image of the extension and the option of installing the extension.

\n

To install the extension, select the newest available version in the drop down menu (the newest version should be the default) and push install. BlueOS will the pull the nucleus extension docker image and install it in its extensions.

\n

\"nortek_nucleus_install\"

\n

Usage

\n

After the installation has been completed. The extension can be located in Extensions > Extensions Manager, under the tab \"INSTALLED\".

\n

\"nortek_nucleus_installed\"

\n

Here the user have the option to edit sittings, uninstall, disable and restart the extension. It is also possible to view the output logs from the docker container that runs the extension which can serve as a good debugging tool.

\n

The extension itself can be opened in the menu by navigating to Extensions > Nucleus: Position hold.

\n

\"blueos_menu_nucleus\"

\n

Opening this will present the user with the GUI for the Nucleus extension which is covered in Using the extension

\n

Docker

\n

To set this extension up manually, ssh into the Raspberry Pi on the BlueROV2 (or access via red-pill in BlueOS terminal).

\n

N.B. The docker image available on dockerhub is set to use port 80 for its user interface which allows BlueOS to handle which port this user interface should be available at. For the manual approach it is therefore necessary to build the docker image with a different port if you wish to have access to the user interface.

\n

N.B. In the current version of the extension it is necessary to have access to the GUI as it is required for establishing the connection to the Nucleus.

\n

On the onboard computer, clone this repo in your preferred path with the following command:

\n

git clone git@github.com:nortekgroup/nucleus_driver.git

\n

Navigate to the blueos_extension folder (the folder containing the Dockerfile) and build the docker image with the following command:

\n

docker build . -t nucleus_driver

\n

The GUI of the extension is by default on port 5000.

\n

If another port is preferred for the GUI the image can be build with the preferred port as an argument with the following command

\n

docker build . -t nucleus_driver --build-arg PORT=5000

\n

with the value following \"PORT=\" being your preferred port.

\n

The docker container can be executed with the following command

\n

docker run --net=host --add-host=host.docker.internal:host-gateway -v /root/.config/blueos:/root/.config --name=nucleus_driver --restart=unless-stopped nucleus_driver

\n

--net=host allows the container to share the network of the ROV which is necessary for it to communicate with the ROV and make the GUI available

\n

-v /root/.config/blueos:/root/.config maps the volume \"/root/.config/blueos\" from the Raspberry Pi into \"/root/.config\" in the container. This allows the container the store configuration data in-between runs.

\n

--name=Nucleus-Driver is the preferred name of the container.

\n

--restart=unless-stopped allows the extension to automatically start when the ROV is powered up

\n

With the docker container running, the GUI can be accessed in a browser by navigating to blueos.local:<port> (or 192.168.2.2:<port>), where <port> is the specified port from the image creation. See Using the extension to learn about how to use the GUI.

\n

Using the extension

\n

N.B. In order for the extension to work it is necessary to change certain controller parameters. Refer to \"Controller parameters\" section for more info

\n

N.B. In order for the \"position hold\" algorithm to perform well it might be necessary to change the ROV's PID parameters. Refer to \"PID parameters\" section for more info

\n

With the extension added, its user interface (GUI) can be found by navigating to Extensions -> Nucleus: Position hold in the BlueOS menu.

\n

In the case of a manual installation through docker, the GUI can be found y navigating to blueos.local:<port> where <port> is he port specified when the docker image was created.

\n

The GUI presents the user with a home page and two pages for parametrization. These pages can be navigated in-between using the navigation banner at the top of the GUI

\n

Home

\n

The home screen presents the user with a status field which displays the results of various checks performed during the startup of the ROV. It is necessary for all of these checks to pass in order for extension to work. Some easy troubleshooting is presented in the home screen in case any of these checks were to fail

\n

The Nucleus hostname field is used to set the IP address used to connect to the Nucleus device. This IP address should be the same as the static IP configured on the Nucleus device.

\n

It is also a field which allows the user to decide whether the driver is enabled. The driver must be enabled for it to feed velocity data to the ROV. If it is not enabled the driver is still running and extracting data from the Nucleus, but the velocity is not sent to the ROV.

\n

The packet counter field displays how many velocity data packets has been handled by the extension. Sent packages refers to packages that has been sent to the ROV, Failed packets refers to packets that for some reason failed to be sent, and Skipped packets are packets that were in good condition and ready to be sent, but weren't due to the driver not being enabled.

\n

PID parameters

\n

N.B. Adjusting any of these parameters WILL change the behavior of the ROV

\n

N.B. Neither the extension nor the ROV will remember the original values of these parameters in case they are changed. It is therefore the users responsibility to remember the original values in case they wish to revert back to the original parameterization.

\n

The PID parameters page gives the user opportunity to modify selected PID parameters in the controller. Good parameterization is necessary for a good performance of the ROV. The correct parameters varies from vehicle to vehicle as the physical attributes of the ROV has an impact on its behavior. However, recommended parameters for a standard BlueROV2 with only the Nucleus being the third party installation is presented on this page.

\n

Controller parameters

\n

N.B. Adjusting any of these parameters may change the behavior of the ROV

\n

N.B. Neither the extension nor the ROV will remember the original values of these parameters in case they are changed. It is therefore the users responsibility to remember the original values in case they wish to revert back to the original parameterization.

\n

In order for the controller to accept and utilize the velocity packets sent from the Nucleus, certain parameters has to be changed. The parameters and their required values are presented on this page.

\n

After these parameters has been changed it is necessary to power cycle the vehicle for these parameters to take effect

", + "support": "https://support.nortekgroup.com/", "requirements": null, "company": { "about": "", - "name": "Blue Robotics", - "email": "support@bluerobotics.com" + "name": "Nortek", + "email": "" }, "permissions": { - "NetworkMode": "host", + "ExposedPorts": { + "80/tcp": {} + }, "HostConfig": { "Binds": [ - "/dev:/dev:rw" + "/root/.config:/root/.config" ], - "Privileged": true, - "NetworkMode": "host" + "ExtraHosts": [ + "host.docker.internal:host-gateway" + ], + "PortBindings": { + "80/tcp": [ + { + "HostPort": "" + } + ] + } } } }, - "0.0.1": { - "identifier": "e5208a5f-f0e7-5baf-a9b3-d193cc19f3f0", - "type": "other", - "website": null, + "1.0.2": { + "identifier": "db710a2e-7da6-51a6-b5a7-b89187e26d9d", + "type": "device-integration", + "website": "https://github.com/nortekgroup/nucleus_driver/tree/main/blueos_extension", "images": [ { - "expanded_size": 369666474, + "expanded_size": 67163850, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:9b159ab65e4d0b1d541460865aab4cabf9173de7163221d229522cb47a4ae381" + "digest": "sha256:8d96a946443c05c829d07953772cd0c53ee88120455449768796ee133c38f679" } ], "authors": [ { - "name": "Patrick Jos\u00e9 Pereira", - "email": "patrickelectric@gmail.com" + "name": "Martin Bergene Johansen", + "email": "martin.johansen@nortekgroup.com" } ], "filter_tags": [ - "ros", - "robot" + "positioning", + "navigation", + "doppler-velocity-log", + "water-tracking", + "current-profiling" ], "extra_links": {}, - "tag": "0.0.1", + "tag": "1.0.2", "docs": null, - "readme": "

BlueOS ROS extension

\n

This extension makes possible to communicate with the vehicle via ROS

\n

To connect, you just need to run the following commands:\n```sh\nexport ROS_MASTER_URI=http://blueos.local:11311

\n

or export ROS_MASTER_URI=http://:11311

\n

rostopic list # Done, you already have access to it!\n```

\n

You can also access the data via roslibjs.

\n

```html

\n\n\n\n\n\n\n\n\n\n

Simple ROS User Interface

\n

Connection status:

\n

Last /mavros/vfr_hud received:

\n\n\n

```

\n

Use a different ROS master origin

\n

It's possible to change ROS master for the extension using BlueOS on pirate mode and configuring ROS environments variables under the extension configuration menu.

\n

A valid configurtion wouyld look like this:

\n

json5\n{\n \"NetworkMode\": \"host\",\n \"HostConfig\": {\n \"Binds\": [\n \"/dev:/dev:rw\"\n ],\n \"Privileged\": true,\n \"NetworkMode\": \"host\"\n },\n \"Env\": [\n \"ROS_HOSTNAME=192.168.2.2\",\n \"ROS_MASTER_URI=http://192.168.2.3:11311\",\n \"ROS_IP=192.168.2.2\"\n ]\n}

\n

For more information about it, check BlueOS documentation.

", - "support": null, + "readme": "

BlueOS extension

\n

This is a Nucleus extension for the BlueOS software running on BlueROV2.

\n

It works by wrapping the Nucleus Driver in a docker image, with a script that feeds velocity data from the Nucleus device into the ArduSub control system through mavlink commands.

\n

This allows the user to utilize the \"position hold\" functionality in the ROV

\n

Nortek Nucleus integration

\n

To mount the Nucleus unto the BlueROV2 and connect it to its network, refer Nortek's Nucleus integration guide.

\n

setup

\n

BlueOS

\n

BlueOS needs to be of version 1.1.0-beta18 or newer in order to support the adding of third party extensions.

\n

ArduSub

\n

ArduSub needs to be of version 4.1.0 or newer for it to support the VISUAL_POSITION_DELTA packets used to send velocity data to the ROV.

\n

Nucleus

\n

This extension assumes that the Nucleus is connected to the network of the ROV through an ethernet connection. It is therefore necessary to set a static IP in the Nucleus.

\n

The network prefix of the BlueROV2 is 192.168.2.0, with a netmask of 255.255.255.0. The Nucleus' static IP must therefore be set to a fitting value, i.e. 192.168.2.201.

\n

In the GUI that comes with the extension the user must specify this IP address to establish a connection with the Nucleus device. The user is therefore not limited to using this IP address, but is at the same time responsible of selecting an IP address that is not already in use on the network.

\n

Adding extension to BlueROV2

\n

The extension can be added to the BlueROV2 either through the BlueOS software, or by creating the docker image on the onboard computer and running the docker container directly.

\n

It is recommended to add the extension through BlueOS as it is both easier and the intended way for this extension to be added. The two different approaches are covered in the following subsections.

\n

BlueOS

\n

Installation

\n

The extension can be added through BlueOS' extensions menu.

\n

Navigate to Extensions > Extensions Manager.

\n

\"blueos_menu\"

\n

Locate Nortek Nucleus under the tab \"STORE\" and open it.

\n

\"nortek_nucleus_store\"

\n

When the Nortek Nucleus extension is opened the user will be presented with this README, as well as information about the extensions creator, a link to this github repository, the settings in the docker image of the extension and the option of installing the extension.

\n

To install the extension, select the newest available version in the drop down menu (the newest version should be the default) and push install. BlueOS will the pull the nucleus extension docker image and install it in its extensions.

\n

\"nortek_nucleus_install\"

\n

Usage

\n

After the installation has been completed. The extension can be located in Extensions > Extensions Manager, under the tab \"INSTALLED\".

\n

\"nortek_nucleus_installed\"

\n

Here the user have the option to edit sittings, uninstall, disable and restart the extension. It is also possible to view the output logs from the docker container that runs the extension which can serve as a good debugging tool.

\n

The extension itself can be opened in the menu by navigating to Extensions > Nucleus: Position hold.

\n

\"blueos_menu_nucleus\"

\n

Opening this will present the user with the GUI for the Nucleus extension which is covered in Using the extension

\n

Docker

\n

To set this extension up manually, ssh into the Raspberry Pi on the BlueROV2 (or access via red-pill in BlueOS terminal).

\n

N.B. The docker image available on dockerhub is set to use port 80 for its user interface which allows BlueOS to handle which port this user interface should be available at. For the manual approach it is therefore necessary to build the docker image with a different port if you wish to have access to the user interface.

\n

N.B. In the current version of the extension it is necessary to have access to the GUI as it is required for establishing the connection to the Nucleus.

\n

On the onboard computer, clone this repo in your preferred path with the following command:

\n

git clone git@github.com:nortekgroup/nucleus_driver.git

\n

Navigate to the blueos_extension folder (the folder containing the Dockerfile) and build the docker image with the following command:

\n

docker build . -t nucleus_driver

\n

The GUI of the extension is by default on port 5000.

\n

If another port is preferred for the GUI the image can be build with the preferred port as an argument with the following command

\n

docker build . -t nucleus_driver --build-arg PORT=5000

\n

with the value following \"PORT=\" being your preferred port.

\n

The docker container can be executed with the following command

\n

docker run --net=host --add-host=host.docker.internal:host-gateway -v /root/.config/blueos:/root/.config --name=nucleus_driver --restart=unless-stopped nucleus_driver

\n

--net=host allows the container to share the network of the ROV which is necessary for it to communicate with the ROV and make the GUI available

\n

-v /root/.config/blueos:/root/.config maps the volume \"/root/.config/blueos\" from the Raspberry Pi into \"/root/.config\" in the container. This allows the container the store configuration data in-between runs.

\n

--name=Nucleus-Driver is the preferred name of the container.

\n

--restart=unless-stopped allows the extension to automatically start when the ROV is powered up

\n

With the docker container running, the GUI can be accessed in a browser by navigating to blueos.local:<port> (or 192.168.2.2:<port>), where <port> is the specified port from the image creation. See Using the extension to learn about how to use the GUI.

\n

Using the extension

\n

N.B. In order for the extension to work it is necessary to change certain controller parameters. Refer to \"Controller parameters\" section for more info

\n

N.B. In order for the \"position hold\" algorithm to perform well it might be necessary to change the ROV's PID parameters. Refer to \"PID parameters\" section for more info

\n

With the extension added, its user interface (GUI) can be found by navigating to Extensions -> Nucleus: Position hold in the BlueOS menu.

\n

In the case of a manual installation through docker, the GUI can be found y navigating to blueos.local:<port> where <port> is he port specified when the docker image was created.

\n

The GUI presents the user with a home page and two pages for parametrization. These pages can be navigated in-between using the navigation banner at the top of the GUI

\n

Home

\n

The home screen presents the user with a status field which displays the results of various checks performed during the startup of the ROV. It is necessary for all of these checks to pass in order for extension to work. Some easy troubleshooting is presented in the home screen in case any of these checks were to fail

\n

The Nucleus hostname field is used to set the IP address used to connect to the Nucleus device. This IP address should be the same as the static IP configured on the Nucleus device.

\n

It is also a field which allows the user to decide whether the driver is enabled. The driver must be enabled for it to feed velocity data to the ROV. If it is not enabled the driver is still running and extracting data from the Nucleus, but the velocity is not sent to the ROV.

\n

The packet counter field displays how many velocity data packets has been handled by the extension. Sent packages refers to packages that has been sent to the ROV, Failed packets refers to packets that for some reason failed to be sent, and Skipped packets are packets that were in good condition and ready to be sent, but weren't due to the driver not being enabled.

\n

PID parameters

\n

N.B. Adjusting any of these parameters WILL change the behavior of the ROV

\n

N.B. Neither the extension nor the ROV will remember the original values of these parameters in case they are changed. It is therefore the users responsibility to remember the original values in case they wish to revert back to the original parameterization.

\n

The PID parameters page gives the user opportunity to modify selected PID parameters in the controller. Good parameterization is necessary for a good performance of the ROV. The correct parameters varies from vehicle to vehicle as the physical attributes of the ROV has an impact on its behavior. However, recommended parameters for a standard BlueROV2 with only the Nucleus being the third party installation is presented on this page.

\n

Controller parameters

\n

N.B. Adjusting any of these parameters may change the behavior of the ROV

\n

N.B. Neither the extension nor the ROV will remember the original values of these parameters in case they are changed. It is therefore the users responsibility to remember the original values in case they wish to revert back to the original parameterization.

\n

In order for the controller to accept and utilize the velocity packets sent from the Nucleus, certain parameters has to be changed. The parameters and their required values are presented on this page.

\n

After these parameters has been changed it is necessary to power cycle the vehicle for these parameters to take effect

", + "support": "https://support.nortekgroup.com/", "requirements": null, "company": { "about": "", - "name": "Blue Robotics", - "email": "support@bluerobotics.com" + "name": "Nortek", + "email": "" }, "permissions": { - "NetworkMode": "host", + "ExposedPorts": { + "80/tcp": {} + }, "HostConfig": { "Binds": [ - "/dev:/dev:rw" + "/root/.config:/root/.config" ], - "Privileged": true, - "NetworkMode": "host" + "ExtraHosts": [ + "host.docker.internal:host-gateway" + ], + "PortBindings": { + "80/tcp": [ + { + "HostPort": "" + } + ] + } } } - } - }, - "repo_info": { - "downloads": 2969, - "last_updated": "2024-02-05T11:45:01.761497Z", - "date_registered": "2023-09-13T06:14:36.827307Z" - } - }, - { - "identifier": "bluerobotics.cockpit", - "name": "Cockpit", - "website": "https://github.com/bluerobotics/cockpit", - "docker": "bluerobotics/cockpit", - "description": "Blue Robotics' next generation control interface; under development", - "extension_logo": "https://raw.githubusercontent.com/bluerobotics/BlueOS-Extensions-Repository/master/repos/bluerobotics/cockpit/extension_logo.png", - "company_logo": "https://raw.githubusercontent.com/bluerobotics/BlueOS-Extensions-Repository/master/repos/bluerobotics/company_logo.png", - "versions": { - "v1.8.0": { - "identifier": "ca7b5721-b7d3-560f-8107-c4632f8236f3", - "type": "other", - "website": null, + }, + "1.0.1": { + "identifier": "45bcca1a-93dc-5556-885e-70cf737f4c66", + "type": "device-integration", + "website": "https://github.com/nortekgroup/nucleus_driver/tree/main/blueos_extension", "images": [ { - "expanded_size": 18677021, + "expanded_size": 67134167, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:a32d48d6aa8d1e4b3006ce35574db0167d280989b4db008db7be0ccc56b14c1e" - }, - { - "expanded_size": 18892300, - "platform": { - "architecture": "arm64", - "variant": null, - "os": "linux" - }, - "digest": "sha256:ff5efb5682d54bf201a8e8ce0db45072cb4ee7862c2adabb4774bd4d485a1923" - }, - { - "expanded_size": 18935036, - "platform": { - "architecture": "amd64", - "variant": null, - "os": "linux" - }, - "digest": "sha256:95e3574f8e35b7b5f172c9c2d7d63826be810d77ac9b2db7ec25df16e0cdcbbb" + "digest": "sha256:6ca7ff490e0537ea5b733e17f2cde35ab9df44ce623873e7524424d83f8c3bbc" } ], "authors": [ { - "name": "Rafael Araujo Lehmkuhl", - "email": "rafael@bluerobotics.com" - }, - { - "name": "Patrick Jos\u00e9 Pereira", - "email": "patrick@bluerobotics.com" - }, - { - "name": "Arturo Manzoli", - "email": "arturo@bluerobotics.com" + "name": "Martin Bergene Johansen", + "email": "martin.johansen@nortekgroup.com" } ], "filter_tags": [ - "vehicle-control", - "control-station", - "ground-station", + "positioning", "navigation", - "joystick", - "mission-planning" + "doppler-velocity-log", + "water-tracking", + "current-profiling" ], "extra_links": {}, - "tag": "v1.8.0", + "tag": "1.0.1", "docs": null, - "readme": "
\n
\n
\n


\n

\n
\n
\n
\n


\n

An intuitive and customizable cross-platform ground control station for remote vehicles of all types. Click here for a demo!

\n

\"Test,\n\"Downloads\"

\n

\"Latest\n\"Date\"

\n

\"Docker\"\n\"Pulls\"\n\"Size\"

\n

Standard Usage

\n

See our documentation \ud83d\udcd6

\n

Development

\n

Installing Cockpit

\n

Cockpit is typically installed as an Electron application or BlueOS Extension, but for development purposes it is valuable to run it locally.

\n

To start, clone the repository and its submodules. The submodules are required components for Cockpit to be able to run:

\n

git clone --recurse-submodules git@github.com:bluerobotics/cockpit.git

\n

Next, install bun. Following their documented instructions is strongly recommended - we have received reports that installing bun from alternatives like Snap did not work properly.

\n

With bun installed, you can enter the repository folder and follow the steps below:

\n

bun install

\n

and then run the server locally with:

\n

bun run dev --host

\n

Then you should see a prompt with the local IP and port that can be accessed through a browser, such as localhost:5173.

\n

Installing backend providers

\n

Cockpit is currently a frontend-only application. That means it relies on data offered by other backend solutions, which are not built-in.

\n

If you have a BlueOS instance running, there's no need to install any backend, as BlueOS already provides everything.

\n

If that's not your case and you want to install the necessary backends, follow the instructions below:

\n
    \n
  1. Install a MAVLink router. We recommend mavp2p or MAVLink Router.
  2. \n
  3. Run the MAVLink router, connecting it to your vehicle or SITL instance.
  4. \n
  5. Install mavlink2rest.
  6. \n
  7. Run mavlink2rest, pointing it to the endpoint provided by the MAVLink router. Remember to serve the API over the 6040 port by running it with --server 0.0.0.0:6040.
  8. \n
  9. [Optional] If you want to work with video streaming, install Mavlink Camera Manager.
  10. \n
\n

Connecting to your vehicle

\n

Follow the instructions provided here to connect Cockpit to your vehicle.

\n

If you're running a BlueOS instance, just put the IP address of it in \"Global vehicle address\" and click the \"apply\" button.

\n

If you're serving mavlink2rest in the same machine as Cockpit, activate the checkmark for \"Mavlink2Rest connection\" and use ws://127.0.0.1:6040/v1/ws/mavlink there (if you're running a mavlink2rest version before 0.11.15, omit the /v1 in the URL).

\n

If you're serving mavlink-camera-manager in the same machine as Cockpit, activate the checkmark for \"WebRTC connection\" and use ws://127.0.0.1:6020 there.

\n

Simulating a vehicle

\n

Cockpit provides a simulation environments in a docker compose file. There is an environment provided for ArduSub, ArduCopter, ArduRover and ArduPlane. The compose file uses docker compose profiles to allow you to choose which vehicle you want to simulate. The available profiles are ardusub, arducopter, ardurover and arduplane. You can run a simulation environment by running the following command:

\n

docker-compose -f sim.yml --profile ardusub up

\n

Assuming you have run the bun run dev --host command, you can access the simulation environment by opening the browser and accessing localhost:5173.

", - "support": "https://discuss.bluerobotics.com/c/bluerobotics-software", + "readme": "

BlueOS extension

\n

This is a Nucleus extension for the BlueOS software running on BlueROV2.

\n

It works by wrapping the Nucleus Driver in a docker image, with a script that feeds velocity data from the Nucleus device into the ArduSub control system through mavlink commands.

\n

This allows the user to utilize the \"position hold\" functionality in the ROV

\n

Nortek Nucleus integration

\n

To mount the Nucleus unto the BlueROV2 and connect it to its network, refer Nortek's Nucleus integration guide.

\n

setup

\n

BlueOS

\n

BlueOS needs to be of version 1.1.0-beta18 or newer in order to support the adding of third party extensions.

\n

ArduSub

\n

ArduSub needs to be of version 4.1.0 or newer for it to support the VISUAL_POSITION_DELTA packets used to send velocity data to the ROV.

\n

Nucleus

\n

This extension assumes that the Nucleus is connected to the network of the ROV through an ethernet connection. It is therefore necessary to set a static IP in the Nucleus.

\n

The network prefix of the BlueROV2 is 192.168.2.0, with a netmask of 255.255.255.0. The Nucleus' static IP must therefore be set to a fitting value, i.e. 192.168.2.201.

\n

In the GUI that comes with the extension the user must specify this IP address to establish a connection with the Nucleus device. The user is therefore not limited to using this IP address, but is at the same time responsible of selecting an IP address that is not already in use on the network.

\n

Adding extension to BlueROV2

\n

The extension can be added to the BlueROV2 either through the BlueOS software, or by creating the docker image on the onboard computer and running the docker container directly.

\n

It is recommended to add the extension through BlueOS as it is both easier and the intended way for this extension to be added. The two different approaches are covered in the following subsections.

\n

BlueOS

\n

Installation

\n

The extension can be added through BlueOS' extensions menu.

\n

Navigate to Extensions > Extensions Manager.

\n

\"blueos_menu\"

\n

Locate Nortek Nucleus under the tab \"STORE\" and open it.

\n

\"nortek_nucleus_store\"

\n

When the Nortek Nucleus extension is opened the user will be presented with this README, as well as information about the extensions creator, a link to this github repository, the settings in the docker image of the extension and the option of installing the extension.

\n

To install the extension, select the newest available version in the drop down menu (the newest version should be the default) and push install. BlueOS will the pull the nucleus extension docker image and install it in its extensions.

\n

\"nortek_nucleus_install\"

\n

Usage

\n

After the installation has been completed. The extension can be located in Extensions > Extensions Manager, under the tab \"INSTALLED\".

\n

\"nortek_nucleus_installed\"

\n

Here the user have the option to edit sittings, uninstall, disable and restart the extension. It is also possible to view the output logs from the docker container that runs the extension which can serve as a good debugging tool.

\n

The extension itself can be opened in the menu by navigating to Extensions > Nucleus: Position hold.

\n

\"blueos_menu_nucleus\"

\n

Opening this will present the user with the GUI for the Nucleus extension which is covered in Using the extension

\n

Docker

\n

To set this extension up manually, ssh into the Raspberry Pi on the BlueROV2 (or access via red-pill in BlueOS terminal).

\n

N.B. The docker image available on dockerhub is set to use port 80 for its user interface which allows BlueOS to handle which port this user interface should be available at. For the manual approach it is therefore necessary to build the docker image with a different port if you wish to have access to the user interface.

\n

N.B. In the current version of the extension it is necessary to have access to the GUI as it is required for establishing the connection to the Nucleus.

\n

On the onboard computer, clone this repo in your preferred path with the following command:

\n

git clone git@github.com:nortekgroup/nucleus_driver.git

\n

Navigate to the blueos_extension folder (the folder containing the Dockerfile) and build the docker image with the following command:

\n

docker build . -t nucleus_driver

\n

The GUI of the extension is by default on port 5000.

\n

If another port is preferred for the GUI the image can be build with the preferred port as an argument with the following command

\n

docker build . -t nucleus_driver --build-arg PORT=5000

\n

with the value following \"PORT=\" being your preferred port.

\n

The docker container can be executed with the following command

\n

docker run --net=host --add-host=host.docker.internal:host-gateway -v /root/.config/blueos:/root/.config --name=nucleus_driver --restart=unless-stopped nucleus_driver

\n

--net=host allows the container to share the network of the ROV which is necessary for it to communicate with the ROV and make the GUI available

\n

-v /root/.config/blueos:/root/.config maps the volume \"/root/.config/blueos\" from the Raspberry Pi into \"/root/.config\" in the container. This allows the container the store configuration data in-between runs.

\n

--name=Nucleus-Driver is the preferred name of the container.

\n

--restart=unless-stopped allows the extension to automatically start when the ROV is powered up

\n

With the docker container running, the GUI can be accessed in a browser by navigating to blueos.local:<port> (or 192.168.2.2:<port>), where <port> is the specified port from the image creation. See Using the extension to learn about how to use the GUI.

\n

Using the extension

\n

N.B. In order for the extension to work it is necessary to change certain controller parameters. Refer to \"Controller parameters\" section for more info

\n

N.B. In order for the \"position hold\" algorithm to perform well it might be necessary to change the ROV's PID parameters. Refer to \"PID parameters\" section for more info

\n

With the extension added, its user interface (GUI) can be found by navigating to Extensions -> Nucleus: Position hold in the BlueOS menu.

\n

In the case of a manual installation through docker, the GUI can be found y navigating to blueos.local:<port> where <port> is he port specified when the docker image was created.

\n

The GUI presents the user with a home page and two pages for parametrization. These pages can be navigated in-between using the navigation banner at the top of the GUI

\n

Home

\n

The home screen presents the user with a status field which displays the results of various checks performed during the startup of the ROV. It is necessary for all of these checks to pass in order for extension to work. Some easy troubleshooting is presented in the home screen in case any of these checks were to fail

\n

The Nucleus hostname field is used to set the IP address used to connect to the Nucleus device. This IP address should be the same as the static IP configured on the Nucleus device.

\n

It is also a field which allows the user to decide whether the driver is enabled. The driver must be enabled for it to feed velocity data to the ROV. If it is not enabled the driver is still running and extracting data from the Nucleus, but the velocity is not sent to the ROV.

\n

The packet counter field displays how many velocity data packets has been handled by the extension. Sent packages refers to packages that has been sent to the ROV, Failed packets refers to packets that for some reason failed to be sent, and Skipped packets are packets that were in good condition and ready to be sent, but weren't due to the driver not being enabled.

\n

PID parameters

\n

N.B. Adjusting any of these parameters WILL change the behavior of the ROV

\n

N.B. Neither the extension nor the ROV will remember the original values of these parameters in case they are changed. It is therefore the users responsibility to remember the original values in case they wish to revert back to the original parameterization.

\n

The PID parameters page gives the user opportunity to modify selected PID parameters in the controller. Good parameterization is necessary for a good performance of the ROV. The correct parameters varies from vehicle to vehicle as the physical attributes of the ROV has an impact on its behavior. However, recommended parameters for a standard BlueROV2 with only the Nucleus being the third party installation is presented on this page.

\n

Controller parameters

\n

N.B. Adjusting any of these parameters may change the behavior of the ROV

\n

N.B. Neither the extension nor the ROV will remember the original values of these parameters in case they are changed. It is therefore the users responsibility to remember the original values in case they wish to revert back to the original parameterization.

\n

In order for the controller to accept and utilize the velocity packets sent from the Nucleus, certain parameters has to be changed. The parameters and their required values are presented on this page.

\n

After these parameters has been changed it is necessary to power cycle the vehicle for these parameters to take effect

", + "support": "https://support.nortekgroup.com/", "requirements": null, "company": { "about": "", - "name": "Blue Robotics", - "email": "support@bluerobotics.com" + "name": "Nortek", + "email": "" }, "permissions": { "ExposedPorts": { - "8000/tcp": {} + "80/tcp": {} }, "HostConfig": { + "Binds": [ + "/root/.config:/root/.config" + ], + "ExtraHosts": [ + "host.docker.internal:host-gateway" + ], "PortBindings": { - "8000/tcp": [ + "80/tcp": [ { "HostPort": "" } @@ -4332,79 +4827,52 @@ } } }, - "v1.7.1": { - "identifier": "0be7112e-499c-52be-8869-5ef93fa1a756", + "1.0.0": { + "identifier": "36b22160-b9ae-5dd7-813c-af6e0654135a", "type": "other", - "website": null, + "website": "https://github.com/nortekgroup/nucleus_driver/tree/main/blueos_extension", "images": [ { - "expanded_size": 18677375, + "expanded_size": 67134035, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:8400071bc525d1ea47e5d0ba9408c6f9fc0edefe8450f6057423a1069616d099" - }, - { - "expanded_size": 18892656, - "platform": { - "architecture": "arm64", - "variant": null, - "os": "linux" - }, - "digest": "sha256:007e73676dd280f29432aa6fbcc412238430767d4bd9792b4d1cb54ef75df61c" - }, - { - "expanded_size": 18935394, - "platform": { - "architecture": "amd64", - "variant": null, - "os": "linux" - }, - "digest": "sha256:94c7bea3c25ab934e73647d2c45e86186c08949bfece9fa54f007f91fbe7c75f" + "digest": "sha256:27ce7b6d54144a21ffc977980db8cab5449ea187d7a547730435ff33e81410ee" } ], "authors": [ { - "name": "Rafael Araujo Lehmkuhl", - "email": "rafael@bluerobotics.com" - }, - { - "name": "Patrick Jos\u00e9 Pereira", - "email": "patrick@bluerobotics.com" - }, - { - "name": "Arturo Manzoli", - "email": "arturo@bluerobotics.com" + "name": "Martin Bergene Johansen", + "email": "martin.johansen@nortekgroup.com" } ], - "filter_tags": [ - "vehicle-control", - "control-station", - "ground-station", - "navigation", - "joystick", - "mission-planning" - ], + "filter_tags": [], "extra_links": {}, - "tag": "v1.7.1", + "tag": "1.0.0", "docs": null, - "readme": "
\n
\n
\n


\n

\n
\n
\n
\n


\n

An intuitive and customizable cross-platform ground control station for remote vehicles of all types. Click here for a demo!

\n

\"Test,\n\"Downloads\"

\n

\"Latest\n\"Date\"

\n

\"Docker\"\n\"Pulls\"\n\"Size\"

\n

Standard Usage

\n

See our documentation \ud83d\udcd6

\n

Development

\n

Installing Cockpit

\n

Cockpit is typically installed as an Electron application or BlueOS Extension, but for development purposes it is valuable to run it locally.

\n

To start, clone the repository and its submodules. The submodules are required components for Cockpit to be able to run:

\n

git clone --recurse-submodules git@github.com:bluerobotics/cockpit.git

\n

Next, install bun. Following their documented instructions is strongly recommended - we have received reports that installing bun from alternatives like Snap did not work properly.

\n

With bun installed, you can enter the repository folder and follow the steps below:

\n

bun install

\n

and then run the server locally with:

\n

bun run dev --host

\n

Then you should see a prompt with the local IP and port that can be accessed through a browser, such as localhost:5173.

\n

Installing backend providers

\n

Cockpit is currently a frontend-only application. That means it relies on data offered by other backend solutions, which are not built-in.

\n

If you have a BlueOS instance running, there's no need to install any backend, as BlueOS already provides everything.

\n

If that's not your case and you want to install the necessary backends, follow the instructions below:

\n
    \n
  1. Install a MAVLink router. We recommend mavp2p or MAVLink Router.
  2. \n
  3. Run the MAVLink router, connecting it to your vehicle or SITL instance.
  4. \n
  5. Install mavlink2rest.
  6. \n
  7. Run mavlink2rest, pointing it to the endpoint provided by the MAVLink router. Remember to serve the API over the 6040 port by running it with --server 0.0.0.0:6040.
  8. \n
  9. [Optional] If you want to work with video streaming, install Mavlink Camera Manager.
  10. \n
\n

Connecting to your vehicle

\n

Follow the instructions provided here to connect Cockpit to your vehicle.

\n

If you're running a BlueOS instance, just put the IP address of it in \"Global vehicle address\" and click the \"apply\" button.

\n

If you're serving mavlink2rest in the same machine as Cockpit, activate the checkmark for \"Mavlink2Rest connection\" and use ws://127.0.0.1:6040/v1/ws/mavlink there (if you're running a mavlink2rest version before 0.11.15, omit the /v1 in the URL).

\n

If you're serving mavlink-camera-manager in the same machine as Cockpit, activate the checkmark for \"WebRTC connection\" and use ws://127.0.0.1:6020 there.

\n

Simulating a vehicle

\n

Cockpit provides a simulation environments in a docker compose file. There is an environment provided for ArduSub, ArduCopter, ArduRover and ArduPlane. The compose file uses docker compose profiles to allow you to choose which vehicle you want to simulate. The available profiles are ardusub, arducopter, ardurover and arduplane. You can run a simulation environment by running the following command:

\n

docker-compose -f sim.yml --profile ardusub up

\n

Assuming you have run the bun run dev --host command, you can access the simulation environment by opening the browser and accessing localhost:5173.

", - "support": "https://discuss.bluerobotics.com/c/bluerobotics-software", + "readme": "

BlueOS extension

\n

This is a Nucleus extension for the BlueOS software running on BlueROV2.

\n

It works by wrapping the Nucleus Driver in a docker image, with a script that feeds velocity data from the Nucleus device into the ArduSub control system through mavlink commands.

\n

This allows the user to utilize the \"position hold\" functionality in the ROV

\n

Nortek Nucleus integration

\n

To mount the Nucleus unto the BlueROV2 and connect it to its network, refer Nortek's Nucleus integration guide.

\n

setup

\n

BlueOS

\n

BlueOS needs to be of version 1.1.0-beta18 or newer in order to support the adding of third party extensions.

\n

ArduSub

\n

ArduSub needs to be of version 4.1.0 or newer for it to support the VISUAL_POSITION_DELTA packets used to send velocity data to the ROV.

\n

Nucleus

\n

This extension assumes that the Nucleus is connected to the network of the ROV through an ethernet connection. It is therefore necessary to set a static IP in the Nucleus.

\n

The network prefix of the BlueROV2 is 192.168.2.0, with a netmask of 255.255.255.0. The Nucleus' static IP must therefore be set to a fitting value, i.e. 192.168.2.201.

\n

In the GUI that comes with the extension the user must specify this IP address to establish a connection with the Nucleus device. The user is therefore not limited to using this IP address, but is at the same time responsible of selecting an IP address that is not already in use on the network.

\n

Adding extension to BlueROV2

\n

The extension can be added to the BlueROV2 either through the BlueOS software, or by creating the docker image on the onboard computer and running the docker container directly.

\n

It is recommended to add the extension through BlueOS as it is both easier and the intended way for this extension to be added. The two different approaches are covered in the following subsections.

\n

BlueOS

\n

Installation

\n

The extension can be added through BlueOS' extensions menu.

\n

Navigate to Extensions > Extensions Manager.

\n

\"blueos_menu\"

\n

Locate Nortek Nucleus under the tab \"STORE\" and open it.

\n

\"nortek_nucleus_store\"

\n

When the Nortek Nucleus extension is opened the user will be presented with this README, as well as information about the extensions creator, a link to this github repository, the settings in the docker image of the extension and the option of installing the extension.

\n

To install the extension, select the newest available version in the drop down menu (the newest version should be the default) and push install. BlueOS will the pull the nucleus extension docker image and install it in its extensions.

\n

\"nortek_nucleus_install\"

\n

Usage

\n

After the installation has been completed. The extension can be located in Extensions > Extensions Manager, under the tab \"INSTALLED\".

\n

\"nortek_nucleus_installed\"

\n

Here the user have the option to edit sittings, uninstall, disable and restart the extension. It is also possible to view the output logs from the docker container that runs the extension which can serve as a good debugging tool.

\n

The extension itself can be opened in the menu by navigating to Extensions > Nucleus: Position hold.

\n

\"blueos_menu_nucleus\"

\n

Opening this will present the user with the GUI for the Nucleus extension which is covered in Using the extension

\n

Docker

\n

To set this extension up manually, ssh into the Raspberry Pi on the BlueROV2 (or access via red-pill in BlueOS terminal).

\n

N.B. The docker image available on dockerhub is set to use port 80 for its user interface which allows BlueOS to handle which port this user interface should be available at. For the manual approach it is therefore necessary to build the docker image with a different port if you wish to have access to the user interface.

\n

N.B. In the current version of the extension it is necessary to have access to the GUI as it is required for establishing the connection to the Nucleus.

\n

On the onboard computer, clone this repo in your preferred path with the following command:

\n

git clone git@github.com:nortekgroup/nucleus_driver.git

\n

Navigate to the blueos_extension folder (the folder containing the Dockerfile) and build the docker image with the following command:

\n

docker build . -t nucleus_driver

\n

The GUI of the extension is by default on port 5000.

\n

If another port is preferred for the GUI the image can be build with the preferred port as an argument with the following command

\n

docker build . -t nucleus_driver --build-arg PORT=5000

\n

with the value following \"PORT=\" being your preferred port.

\n

The docker container can be executed with the following command

\n

docker run --net=host --add-host=host.docker.internal:host-gateway -v /root/.config/blueos:/root/.config --name=nucleus_driver --restart=unless-stopped nucleus_driver

\n

--net=host allows the container to share the network of the ROV which is necessary for it to communicate with the ROV and make the GUI available

\n

-v /root/.config/blueos:/root/.config maps the volume \"/root/.config/blueos\" from the Raspberry Pi into \"/root/.config\" in the container. This allows the container the store configuration data in-between runs.

\n

--name=Nucleus-Driver is the preferred name of the container.

\n

--restart=unless-stopped allows the extension to automatically start when the ROV is powered up

\n

With the docker container running, the GUI can be accessed in a browser by navigating to blueos.local:<port> (or 192.168.2.2:<port>), where <port> is the specified port from the image creation. See Using the extension to learn about how to use the GUI.

\n

Using the extension

\n

N.B. In order for the extension to work it is necessary to change certain controller parameters. Refer to \"Controller parameters\" section for more info

\n

N.B. In order for the \"position hold\" algorithm to perform well it might be necessary to change the ROV's PID parameters. Refer to \"PID parameters\" section for more info

\n

With the extension added, its user interface (GUI) can be found by navigating to Extensions -> Nucleus: Position hold in the BlueOS menu.

\n

In the case of a manual installation through docker, the GUI can be found y navigating to blueos.local:<port> where <port> is he port specified when the docker image was created.

\n

The GUI presents the user with a home page and two pages for parametrization. These pages can be navigated in-between using the navigation banner at the top of the GUI

\n

Home

\n

The home screen presents the user with a status field which displays the results of various checks performed during the startup of the ROV. It is necessary for all of these checks to pass in order for extension to work. Some easy troubleshooting is presented in the home screen in case any of these checks were to fail

\n

The Nucleus hostname field is used to set the IP address used to connect to the Nucleus device. This IP address should be the same as the static IP configured on the Nucleus device.

\n

It is also a field which allows the user to decide whether the driver is enabled. The driver must be enabled for it to feed velocity data to the ROV. If it is not enabled the driver is still running and extracting data from the Nucleus, but the velocity is not sent to the ROV.

\n

The packet counter field displays how many velocity data packets has been handled by the extension. Sent packages refers to packages that has been sent to the ROV, Failed packets refers to packets that for some reason failed to be sent, and Skipped packets are packets that were in good condition and ready to be sent, but weren't due to the driver not being enabled.

\n

PID parameters

\n

N.B. Adjusting any of these parameters WILL change the behavior of the ROV

\n

N.B. Neither the extension nor the ROV will remember the original values of these parameters in case they are changed. It is therefore the users responsibility to remember the original values in case they wish to revert back to the original parameterization.

\n

The PID parameters page gives the user opportunity to modify selected PID parameters in the controller. Good parameterization is necessary for a good performance of the ROV. The correct parameters varies from vehicle to vehicle as the physical attributes of the ROV has an impact on its behavior. However, recommended parameters for a standard BlueROV2 with only the Nucleus being the third party installation is presented on this page.

\n

Controller parameters

\n

N.B. Adjusting any of these parameters may change the behavior of the ROV

\n

N.B. Neither the extension nor the ROV will remember the original values of these parameters in case they are changed. It is therefore the users responsibility to remember the original values in case they wish to revert back to the original parameterization.

\n

In order for the controller to accept and utilize the velocity packets sent from the Nucleus, certain parameters has to be changed. The parameters and their required values are presented on this page.

\n

After these parameters has been changed it is necessary to power cycle the vehicle for these parameters to take effect

", + "support": "https://support.nortekgroup.com/", "requirements": null, "company": { "about": "", - "name": "Blue Robotics", - "email": "support@bluerobotics.com" + "name": "Nortek", + "email": "" }, "permissions": { "ExposedPorts": { - "8000/tcp": {} + "80/tcp": {} }, "HostConfig": { + "Binds": [ + "/root/.config:/root/.config" + ], + "ExtraHosts": [ + "host.docker.internal:host-gateway" + ], "PortBindings": { - "8000/tcp": [ + "80/tcp": [ { "HostPort": "" } @@ -4413,79 +4881,52 @@ } } }, - "1.7.0": { - "identifier": "fd260599-d7df-5e1d-b08a-596c52ba57cf", + "0.0.8": { + "identifier": "c6069a89-a287-5ab5-a68e-4a8b83d48d04", "type": "other", - "website": null, + "website": "https://github.com/nortekgroup/nucleus_driver/tree/main/blueos_extension", "images": [ { - "expanded_size": 18675978, + "expanded_size": 67134028, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:c7ae43fc5b4d49970f6727842a1fead3c448e474ddfe5a02fc8805ff9861579b" - }, - { - "expanded_size": 18891273, - "platform": { - "architecture": "arm64", - "variant": null, - "os": "linux" - }, - "digest": "sha256:ed252024924a35a0d749ce283f14d05b1f76feb68ba844ebdda2fce96b9d4e99" - }, - { - "expanded_size": 18934020, - "platform": { - "architecture": "amd64", - "variant": null, - "os": "linux" - }, - "digest": "sha256:a6cd15726ea3facfb9d54c99f3d53ef78d053ffee4ec8fc2851e8ddb2c39e7aa" + "digest": "sha256:f435a931ca002a48fac05f49210a5fde5f4149230f0cc28eaa6620d07c783d02" } ], "authors": [ { - "name": "Rafael Araujo Lehmkuhl", - "email": "rafael@bluerobotics.com" - }, - { - "name": "Patrick Jos\u00e9 Pereira", - "email": "patrick@bluerobotics.com" - }, - { - "name": "Arturo Manzoli", - "email": "arturo@bluerobotics.com" + "name": "Martin Bergene Johansen", + "email": "martin.johansen@nortekgroup.com" } ], - "filter_tags": [ - "vehicle-control", - "control-station", - "ground-station", - "navigation", - "joystick", - "mission-planning" - ], + "filter_tags": [], "extra_links": {}, - "tag": "1.7.0", + "tag": "0.0.8", "docs": null, - "readme": "
\n
\n
\n


\n

\n
\n
\n
\n


\n

An intuitive and customizable cross-platform ground control station for remote vehicles of all types. Click here for a demo!

\n

\"Test,\n\"Downloads\"

\n

\"Latest\n\"Date\"

\n

\"Docker\"\n\"Pulls\"\n\"Size\"

\n

Standard Usage

\n

See our documentation \ud83d\udcd6

\n

Development

\n

Installing Cockpit

\n

Cockpit is typically installed as an Electron application or BlueOS Extension, but for development purposes it is valuable to run it locally.

\n

To start, clone the repository and its submodules. The submodules are required components for Cockpit to be able to run:

\n

git clone --recurse-submodules git@github.com:bluerobotics/cockpit.git

\n

Next, install bun. Following their documented instructions is strongly recommended - we have received reports that installing bun from alternatives like Snap did not work properly.

\n

With bun installed, you can enter the repository folder and follow the steps below:

\n

bun install

\n

and then run the server locally with:

\n

bun run dev --host

\n

Then you should see a prompt with the local IP and port that can be accessed through a browser, such as localhost:5173.

\n

Installing backend providers

\n

Cockpit is currently a frontend-only application. That means it relies on data offered by other backend solutions, which are not built-in.

\n

If you have a BlueOS instance running, there's no need to install any backend, as BlueOS already provides everything.

\n

If that's not your case and you want to install the necessary backends, follow the instructions below:

\n
    \n
  1. Install a MAVLink router. We recommend mavp2p or MAVLink Router.
  2. \n
  3. Run the MAVLink router, connecting it to your vehicle or SITL instance.
  4. \n
  5. Install mavlink2rest.
  6. \n
  7. Run mavlink2rest, pointing it to the endpoint provided by the MAVLink router. Remember to serve the API over the 6040 port by running it with --server 0.0.0.0:6040.
  8. \n
  9. [Optional] If you want to work with video streaming, install Mavlink Camera Manager.
  10. \n
\n

Connecting to your vehicle

\n

Follow the instructions provided here to connect Cockpit to your vehicle.

\n

If you're running a BlueOS instance, just put the IP address of it in \"Global vehicle address\" and click the \"apply\" button.

\n

If you're serving mavlink2rest in the same machine as Cockpit, activate the checkmark for \"Mavlink2Rest connection\" and use ws://127.0.0.1:6040/v1/ws/mavlink there (if you're running a mavlink2rest version before 0.11.15, omit the /v1 in the URL).

\n

If you're serving mavlink-camera-manager in the same machine as Cockpit, activate the checkmark for \"WebRTC connection\" and use ws://127.0.0.1:6020 there.

\n

Simulating a vehicle

\n

Cockpit provides a simulation environments in a docker compose file. There is an environment provided for ArduSub, ArduCopter, ArduRover and ArduPlane. The compose file uses docker compose profiles to allow you to choose which vehicle you want to simulate. The available profiles are ardusub, arducopter, ardurover and arduplane. You can run a simulation environment by running the following command:

\n

docker-compose -f sim.yml --profile ardusub up

\n

Assuming you have run the bun run dev --host command, you can access the simulation environment by opening the browser and accessing localhost:5173.

", - "support": "https://discuss.bluerobotics.com/c/bluerobotics-software", + "readme": "

BlueOS extension

\n

This is a Nucleus extension for the BlueOS software running on BlueROV2.

\n

It works by wrapping the Nucleus Driver in a docker image, with a script that feeds velocity data from the Nucleus device into the ArduSub control system through mavlink commands.

\n

This allows the user to utilize the \"position hold\" functionality in the ROV

\n

Nortek Nucleus integration

\n

To mount the Nucleus unto the BlueROV2 and connect it to its network, refer Nortek's Nucleus integration guide.

\n

setup

\n

BlueOS

\n

BlueOS needs to be of version 1.1.0-beta18 or newer in order to support the adding of third party extensions.

\n

ArduSub

\n

ArduSub needs to be of version 4.1.0 or newer for it to support the VISUAL_POSITION_DELTA packets used to send velocity data to the ROV.

\n

Nucleus

\n

This extension assumes that the Nucleus is connected to the network of the ROV through an ethernet connection. It is therefore necessary to set a static IP in the Nucleus.

\n

The network prefix of the BlueROV2 is 192.168.2.0, with a netmask of 255.255.255.0. The Nucleus' static IP must therefore be set to a fitting value, i.e. 192.168.2.201.

\n

In the GUI that comes with the extension the user must specify this IP address to establish a connection with the Nucleus device. The user is therefore not limited to using this IP address, but is at the same time responsible of selecting an IP address that is not already in use on the network.

\n

Adding extension to BlueROV2

\n

The extension can be added to the BlueROV2 either through the BlueOS software, or by creating the docker image on the onboard computer and running the docker container directly.

\n

It is recommended to add the extension through BlueOS as it is both easier and the intended way for this extension to be added. The two different approaches are covered in the following subsections.

\n

BlueOS

\n

Installation

\n

The extension can be added through BlueOS' extensions menu.

\n

Navigate to Extensions > Extensions Manager.

\n

\"blueos_menu\"

\n

Locate Nortek Nucleus under the tab \"STORE\" and open it.

\n

\"nortek_nucleus_store\"

\n

When the Nortek Nucleus extension is opened the user will be presented with this README, as well as information about the extensions creator, a link to this github repository, the settings in the docker image of the extension and the option of installing the extension.

\n

To install the extension, select the newest available version in the drop down menu (the newest version should be the default) and push install. BlueOS will the pull the nucleus extension docker image and install it in its extensions.

\n

\"nortek_nucleus_install\"

\n

Usage

\n

After the installation has been completed. The extension can be located in Extensions > Extensions Manager, under the tab \"INSTALLED\".

\n

\"nortek_nucleus_installed\"

\n

Here the user have the option to edit sittings, uninstall, disable and restart the extension. It is also possible to view the output logs from the docker container that runs the extension which can serve as a good debugging tool.

\n

The extension itself can be opened in the menu by navigating to Extensions > Nucleus: Position hold.

\n

\"blueos_menu_nucleus\"

\n

Opening this will present the user with the GUI for the Nucleus extension which is covered in Using the extension

\n

Docker

\n

To set this extension up manually, ssh into the Raspberry Pi on the BlueROV2 (or access via red-pill in BlueOS terminal).

\n

N.B. The docker image available on dockerhub is set to use port 80 for its user interface which allows BlueOS to handle which port this user interface should be available at. For the manual approach it is therefore necessary to build the docker image with a different port if you wish to have access to the user interface.

\n

N.B. In the current version of the extension it is necessary to have access to the GUI as it is required for establishing the connection to the Nucleus.

\n

On the onboard computer, clone this repo in your preferred path with the following command:

\n

git clone git@github.com:nortekgroup/nucleus_driver.git

\n

Navigate to the blueos_extension folder (the folder containing the Dockerfile) and build the docker image with the following command:

\n

docker build . -t nucleus_driver

\n

The GUI of the extension is by default on port 5000.

\n

If another port is preferred for the GUI the image can be build with the preferred port as an argument with the following command

\n

docker build . -t nucleus_driver --build-arg PORT=5000

\n

with the value following \"PORT=\" being your preferred port.

\n

The docker container can be executed with the following command

\n

docker run --net=host --add-host=host.docker.internal:host-gateway -v /root/.config/blueos:/root/.config --name=nucleus_driver --restart=unless-stopped nucleus_driver

\n

--net=host allows the container to share the network of the ROV which is necessary for it to communicate with the ROV and make the GUI available

\n

-v /root/.config/blueos:/root/.config maps the volume \"/root/.config/blueos\" from the Raspberry Pi into \"/root/.config\" in the container. This allows the container the store configuration data in-between runs.

\n

--name=Nucleus-Driver is the preferred name of the container.

\n

--restart=unless-stopped allows the extension to automatically start when the ROV is powered up

\n

With the docker container running, the GUI can be accessed in a browser by navigating to blueos.local:<port> (or 192.168.2.2:<port>), where <port> is the specified port from the image creation. See Using the extension to learn about how to use the GUI.

\n

Using the extension

\n

N.B. In order for the extension to work it is necessary to change certain controller parameters. Refer to \"Controller parameters\" section for more info

\n

N.B. In order for the \"position hold\" algorithm to perform well it might be necessary to change the ROV's PID parameters. Refer to \"PID parameters\" section for more info

\n

With the extension added, its user interface (GUI) can be found by navigating to Extensions -> Nucleus: Position hold in the BlueOS menu.

\n

In the case of a manual installation through docker, the GUI can be found y navigating to blueos.local:<port> where <port> is he port specified when the docker image was created.

\n

The GUI presents the user with a home page and two pages for parametrization. These pages can be navigated in-between using the navigation banner at the top of the GUI

\n

Home

\n

The home screen presents the user with a status field which displays the results of various checks performed during the startup of the ROV. It is necessary for all of these checks to pass in order for extension to work. Some easy troubleshooting is presented in the home screen in case any of these checks were to fail

\n

The Nucleus hostname field is used to set the IP address used to connect to the Nucleus device. This IP address should be the same as the static IP configured on the Nucleus device.

\n

It is also a field which allows the user to decide whether the driver is enabled. The driver must be enabled for it to feed velocity data to the ROV. If it is not enabled the driver is still running and extracting data from the Nucleus, but the velocity is not sent to the ROV.

\n

The packet counter field displays how many velocity data packets has been handled by the extension. Sent packages refers to packages that has been sent to the ROV, Failed packets refers to packets that for some reason failed to be sent, and Skipped packets are packets that were in good condition and ready to be sent, but weren't due to the driver not being enabled.

\n

PID parameters

\n

N.B. Adjusting any of these parameters WILL change the behavior of the ROV

\n

N.B. Neither the extension nor the ROV will remember the original values of these parameters in case they are changed. It is therefore the users responsibility to remember the original values in case they wish to revert back to the original parameterization.

\n

The PID parameters page gives the user opportunity to modify selected PID parameters in the controller. Good parameterization is necessary for a good performance of the ROV. The correct parameters varies from vehicle to vehicle as the physical attributes of the ROV has an impact on its behavior. However, recommended parameters for a standard BlueROV2 with only the Nucleus being the third party installation is presented on this page.

\n

Controller parameters

\n

N.B. Adjusting any of these parameters may change the behavior of the ROV

\n

N.B. Neither the extension nor the ROV will remember the original values of these parameters in case they are changed. It is therefore the users responsibility to remember the original values in case they wish to revert back to the original parameterization.

\n

In order for the controller to accept and utilize the velocity packets sent from the Nucleus, certain parameters has to be changed. The parameters and their required values are presented on this page.

\n

After these parameters has been changed it is necessary to power cycle the vehicle for these parameters to take effect

", + "support": "https://support.nortekgroup.com/", "requirements": null, "company": { "about": "", - "name": "Blue Robotics", - "email": "support@bluerobotics.com" + "name": "Nortek", + "email": "" }, "permissions": { "ExposedPorts": { - "8000/tcp": {} + "80/tcp": {} }, "HostConfig": { + "Binds": [ + "/root/.config:/root/.config" + ], + "ExtraHosts": [ + "host.docker.internal:host-gateway" + ], "PortBindings": { - "8000/tcp": [ + "80/tcp": [ { "HostPort": "" } @@ -4494,61 +4935,52 @@ } } }, - "v1.5.0": { - "identifier": "078c2d8b-1490-598d-98e0-ca480e6c06e1", + "0.0.7": { + "identifier": "a2f79df4-7b59-549a-8d5e-7bcf276d92f1", "type": "other", - "website": null, + "website": "https://github.com/nortekgroup/nucleus_driver/tree/main/blueos_extension", "images": [ { - "expanded_size": 18526710, + "expanded_size": 67134007, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:c25175b8be9ca30f086243303e4c6af59dc439df0b8e77baf89ed1b148e03287" + "digest": "sha256:3c2863d40a1fb24a52bee3a121066c066ce4dea188bcf34f57d703604b4ef67d" } ], "authors": [ { - "name": "Rafael Araujo Lehmkuhl", - "email": "rafael@bluerobotics.com" - }, - { - "name": "Patrick Jos\u00e9 Pereira", - "email": "patrick@bluerobotics.com" - }, - { - "name": "Arturo Manzoli", - "email": "arturo@bluerobotics.com" + "name": "Martin Bergene Johansen", + "email": "martin.johansen@nortekgroup.com" } ], - "filter_tags": [ - "vehicle-control", - "control-station", - "ground-station", - "navigation", - "joystick", - "mission-planning" - ], + "filter_tags": [], "extra_links": {}, - "tag": "v1.5.0", + "tag": "0.0.7", "docs": null, - "readme": "
\n
\n
\n


\n

\n
\n
\n
\n


\n

An intuitive and customizable cross-platform ground control station for remote vehicles of all types. Click here for a demo!

\n

\"Test,\n\"Downloads\"

\n

\"Latest\n\"Date\"

\n

\"Docker\"\n\"Pulls\"\n\"Size\"

\n

Standard Usage

\n

See our documentation \ud83d\udcd6

\n

Development

\n

Installing Cockpit

\n

Cockpit is typically installed as an Electron application or BlueOS Extension, but for development purposes it is valuable to run it locally.

\n

To start, clone the repository and its submodules. The submodules are required components for Cockpit to be able to run:

\n

git clone --recurse-submodules git@github.com:bluerobotics/cockpit.git

\n

Next, install bun. Following their documented instructions is strongly recommended - we have received reports that installing bun from alternatives like Snap did not work properly.

\n

With bun installed, you can enter the repository folder and follow the steps below:

\n

bun install

\n

and then run the server locally with:

\n

bun run dev --host

\n

Then you should see a prompt with the local IP and port that can be accessed through a browser, such as localhost:5173.

\n

Installing backend providers

\n

Cockpit is currently a frontend-only application. That means it relies on data offered by other backend solutions, which are not built-in.

\n

If you have a BlueOS instance running, there's no need to install any backend, as BlueOS already provides everything.

\n

If that's not your case and you want to install the necessary backends, follow the instructions below:

\n
    \n
  1. Install a MAVLink router. We recommend mavp2p or MAVLink Router.
  2. \n
  3. Run the MAVLink router, connecting it to your vehicle or SITL instance.
  4. \n
  5. Install mavlink2rest.
  6. \n
  7. Run mavlink2rest, pointing it to the endpoint provided by the MAVLink router. Remember to serve the API over the 6040 port by running it with --server 0.0.0.0:6040.
  8. \n
  9. [Optional] If you want to work with video streaming, install Mavlink Camera Manager.
  10. \n
\n

Connecting to your vehicle

\n

Follow the instructions provided here to connect Cockpit to your vehicle.

\n

If you're running a BlueOS instance, just put the IP address of it in \"Global vehicle address\" and click the \"apply\" button.

\n

If you're serving mavlink2rest in the same machine as Cockpit, activate the checkmark for \"Mavlink2Rest connection\" and use ws://127.0.0.1:6040/v1/ws/mavlink there (if you're running a mavlink2rest version before 0.11.15, omit the /v1 in the URL).

\n

If you're serving mavlink-camera-manager in the same machine as Cockpit, activate the checkmark for \"WebRTC connection\" and use ws://127.0.0.1:6020 there.

\n

Simulating a vehicle

\n

Cockpit provides a simulation environments in a docker compose file. There is an environment provided for ArduSub, ArduCopter, ArduRover and ArduPlane. The compose file uses docker compose profiles to allow you to choose which vehicle you want to simulate. The available profiles are ardusub, arducopter, ardurover and arduplane. You can run a simulation environment by running the following command:

\n

docker-compose -f sim.yml --profile ardusub up

\n

Assuming you have run the bun run dev --host command, you can access the simulation environment by opening the browser and accessing localhost:5173.

", - "support": "https://discuss.bluerobotics.com/c/bluerobotics-software", + "readme": "

BlueOS extension

\n

This is a Nucleus extension for the BlueOS software running on BlueROV2.

\n

It works by wrapping the Nucleus Driver in a docker image, with a script that feeds velocity data from the Nucleus device into the ArduSub control system through mavlink commands.

\n

This allows the user to utilize the \"position hold\" functionality in the ROV

\n

Nortek Nucleus integration

\n

To mount the Nucleus unto the BlueROV2 and connect it to its network, refer Nortek's Nucleus integration guide.

\n

setup

\n

BlueOS

\n

BlueOS needs to be of version 1.1.0-beta18 or newer in order to support the adding of third party extensions.

\n

ArduSub

\n

ArduSub needs to be of version 4.1.0 or newer for it to support the VISUAL_POSITION_DELTA packets used to send velocity data to the ROV.

\n

Nucleus

\n

This extension assumes that the Nucleus is connected to the network of the ROV through an ethernet connection. It is therefore necessary to set a static IP in the Nucleus.

\n

The network prefix of the BlueROV2 is 192.168.2.0, with a netmask of 255.255.255.0. The Nucleus' static IP must therefore be set to a fitting value, i.e. 192.168.2.201.

\n

In the GUI that comes with the extension the user must specify this IP address to establish a connection with the Nucleus device. The user is therefore not limited to using this IP address, but is at the same time responsible of selecting an IP address that is not already in use on the network.

\n

Adding extension to BlueROV2

\n

The extension can be added to the BlueROV2 either through the BlueOS software, or by creating the docker image on the onboard computer and running the docker container directly.

\n

It is recommended to add the extension through BlueOS as it is both easier and the intended way for this extension to be added. The two different approaches are covered in the following subsections.

\n

BlueOS

\n

Installation

\n

The extension can be added through BlueOS' extensions menu.

\n

Navigate to Extensions > Extensions Manager.

\n

\"blueos_menu\"

\n

Locate Nortek Nucleus under the tab \"STORE\" and open it.

\n

\"nortek_nucleus_store\"

\n

When the Nortek Nucleus extension is opened the user will be presented with this README, as well as information about the extensions creator, a link to this github repository, the settings in the docker image of the extension and the option of installing the extension.

\n

To install the extension, select the newest available version in the drop down menu (the newest version should be the default) and push install. BlueOS will the pull the nucleus extension docker image and install it in its extensions.

\n

\"nortek_nucleus_install\"

\n

Usage

\n

After the installation has been completed. The extension can be located in Extensions > Extensions Manager, under the tab \"INSTALLED\".

\n

\"nortek_nucleus_installed\"

\n

Here the user have the option to edit sittings, uninstall, disable and restart the extension. It is also possible to view the output logs from the docker container that runs the extension which can serve as a good debugging tool.

\n

The extension itself can be opened in the menu by navigating to Extensions > Nucleus: Position hold.

\n

\"blueos_menu_nucleus\"

\n

Opening this will present the user with the GUI for the Nucleus extension which is covered in Using the extension

\n

Docker

\n

To set this extension up manually, ssh into the Raspberry Pi on the BlueROV2 (or access via red-pill in BlueOS terminal).

\n

N.B. The docker image available on dockerhub is set to use port 80 for its user interface which allows BlueOS to handle which port this user interface should be available at. For the manual approach it is therefore necessary to build the docker image with a different port if you wish to have access to the user interface.

\n

N.B. In the current version of the extension it is necessary to have access to the GUI as it is required for establishing the connection to the Nucleus.

\n

On the onboard computer, clone this repo in your preferred path with the following command:

\n

git clone git@github.com:nortekgroup/nucleus_driver.git

\n

Navigate to the blueos_extension folder (the folder containing the Dockerfile) and build the docker image with the following command:

\n

docker build . -t nucleus_driver

\n

The GUI of the extension is by default on port 5000.

\n

If another port is preferred for the GUI the image can be build with the preferred port as an argument with the following command

\n

docker build . -t nucleus_driver --build-arg PORT=5000

\n

with the value following \"PORT=\" being your preferred port.

\n

The docker container can be executed with the following command

\n

docker run --net=host --add-host=host.docker.internal:host-gateway -v /root/.config/blueos:/root/.config --name=nucleus_driver --restart=unless-stopped nucleus_driver

\n

--net=host allows the container to share the network of the ROV which is necessary for it to communicate with the ROV and make the GUI available

\n

-v /root/.config/blueos:/root/.config maps the volume \"/root/.config/blueos\" from the Raspberry Pi into \"/root/.config\" in the container. This allows the container the store configuration data in-between runs.

\n

--name=Nucleus-Driver is the preferred name of the container.

\n

--restart=unless-stopped allows the extension to automatically start when the ROV is powered up

\n

With the docker container running, the GUI can be accessed in a browser by navigating to blueos.local:<port> (or 192.168.2.2:<port>), where <port> is the specified port from the image creation. See Using the extension to learn about how to use the GUI.

\n

Using the extension

\n

N.B. In order for the extension to work it is necessary to change certain controller parameters. Refer to \"Controller parameters\" section for more info

\n

N.B. In order for the \"position hold\" algorithm to perform well it might be necessary to change the ROV's PID parameters. Refer to \"PID parameters\" section for more info

\n

With the extension added, its user interface (GUI) can be found by navigating to Extensions -> Nucleus: Position hold in the BlueOS menu.

\n

In the case of a manual installation through docker, the GUI can be found y navigating to blueos.local:<port> where <port> is he port specified when the docker image was created.

\n

The GUI presents the user with a home page and two pages for parametrization. These pages can be navigated in-between using the navigation banner at the top of the GUI

\n

Home

\n

The home screen presents the user with a status field which displays the results of various checks performed during the startup of the ROV. It is necessary for all of these checks to pass in order for extension to work. Some easy troubleshooting is presented in the home screen in case any of these checks were to fail

\n

The Nucleus hostname field is used to set the IP address used to connect to the Nucleus device. This IP address should be the same as the static IP configured on the Nucleus device.

\n

It is also a field which allows the user to decide whether the driver is enabled. The driver must be enabled for it to feed velocity data to the ROV. If it is not enabled the driver is still running and extracting data from the Nucleus, but the velocity is not sent to the ROV.

\n

The packet counter field displays how many velocity data packets has been handled by the extension. Sent packages refers to packages that has been sent to the ROV, Failed packets refers to packets that for some reason failed to be sent, and Skipped packets are packets that were in good condition and ready to be sent, but weren't due to the driver not being enabled.

\n

PID parameters

\n

N.B. Adjusting any of these parameters WILL change the behavior of the ROV

\n

N.B. Neither the extension nor the ROV will remember the original values of these parameters in case they are changed. It is therefore the users responsibility to remember the original values in case they wish to revert back to the original parameterization.

\n

The PID parameters page gives the user opportunity to modify selected PID parameters in the controller. Good parameterization is necessary for a good performance of the ROV. The correct parameters varies from vehicle to vehicle as the physical attributes of the ROV has an impact on its behavior. However, recommended parameters for a standard BlueROV2 with only the Nucleus being the third party installation is presented on this page.

\n

Controller parameters

\n

N.B. Adjusting any of these parameters may change the behavior of the ROV

\n

N.B. Neither the extension nor the ROV will remember the original values of these parameters in case they are changed. It is therefore the users responsibility to remember the original values in case they wish to revert back to the original parameterization.

\n

In order for the controller to accept and utilize the velocity packets sent from the Nucleus, certain parameters has to be changed. The parameters and their required values are presented on this page.

\n

After these parameters has been changed it is necessary to power cycle the vehicle for these parameters to take effect

", + "support": "https://support.nortekgroup.com/", "requirements": null, "company": { "about": "", - "name": "Blue Robotics", - "email": "support@bluerobotics.com" + "name": "Nortek", + "email": "" }, "permissions": { "ExposedPorts": { - "8000/tcp": {} + "80/tcp": {} }, "HostConfig": { + "Binds": [ + "/root/.config:/root/.config" + ], + "ExtraHosts": [ + "host.docker.internal:host-gateway" + ], "PortBindings": { - "8000/tcp": [ + "80/tcp": [ { "HostPort": "" } @@ -4557,61 +4989,52 @@ } } }, - "v1.4.1": { - "identifier": "c007aa1b-a17e-521f-b55c-9bd4af5c1e26", + "0.0.6": { + "identifier": "27443a12-b946-5860-a163-1747f31fc434", "type": "other", - "website": null, + "website": "https://github.com/nortekgroup/nucleus_driver/tree/main/blueos_extension", "images": [ { - "expanded_size": 18438898, + "expanded_size": 66433573, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:76a949a84e7b085e828769ef838c218e03d7d4bf10cc3b6a27f515658a590907" + "digest": "sha256:ea7125f465fbb327c4b7d20debe40491de00e448c9750b31497388bac2c776b4" } ], "authors": [ { - "name": "Rafael Araujo Lehmkuhl", - "email": "rafael@bluerobotics.com" - }, - { - "name": "Patrick Jos\u00e9 Pereira", - "email": "patrick@bluerobotics.com" - }, - { - "name": "Arturo Manzoli", - "email": "arturo@bluerobotics.com" + "name": "Martin Bergene Johansen", + "email": "martin.johansen@nortekgroup.com" } ], - "filter_tags": [ - "vehicle-control", - "control-station", - "ground-station", - "navigation", - "joystick", - "mission-planning" - ], + "filter_tags": [], "extra_links": {}, - "tag": "v1.4.1", + "tag": "0.0.6", "docs": null, - "readme": "
\n
\n
\n


\n

\n
\n
\n
\n


\n

An intuitive and customizable cross-platform ground control station for remote vehicles of all types. Click here for a demo!

\n

\"Test,\n\"Downloads\"

\n

\"Latest\n\"Date\"

\n

\"Docker\"\n\"Pulls\"\n\"Size\"

\n

Standard Usage

\n

See our documentation \ud83d\udcd6

\n

Development

\n

Installing Cockpit

\n

Cockpit is typically installed as an Electron application or BlueOS Extension, but for development purposes it is valuable to run it locally.

\n

To start, clone the repository and its submodules. The submodules are required components for Cockpit to be able to run:

\n

git clone --recurse-submodules git@github.com:bluerobotics/cockpit.git

\n

Next, install bun. Following their documented instructions is strongly recommended - we have received reports that installing bun from alternatives like Snap did not work properly.

\n

With bun installed, you can enter the repository folder and follow the steps below:

\n

bun install

\n

and then run the server locally with:

\n

bun run dev --host

\n

Then you should see a prompt with the local IP and port that can be accessed through a browser, such as localhost:5173.

\n

Installing backend providers

\n

Cockpit is currently a frontend-only application. That means it relies on data offered by other backend solutions, which are not built-in.

\n

If you have a BlueOS instance running, there's no need to install any backend, as BlueOS already provides everything.

\n

If that's not your case and you want to install the necessary backends, follow the instructions below:

\n
    \n
  1. Install a MAVLink router. We recommend mavp2p or MAVLink Router.
  2. \n
  3. Run the MAVLink router, connecting it to your vehicle or SITL instance.
  4. \n
  5. Install mavlink2rest.
  6. \n
  7. Run mavlink2rest, pointing it to the endpoint provided by the MAVLink router. Remember to serve the API over the 6040 port by running it with --server 0.0.0.0:6040.
  8. \n
  9. [Optional] If you want to work with video streaming, install Mavlink Camera Manager.
  10. \n
\n

Connecting to your vehicle

\n

Follow the instructions provided here to connect Cockpit to your vehicle.

\n

If you're running a BlueOS instance, just put the IP address of it in \"Global vehicle address\" and click the \"apply\" button.

\n

If you're serving mavlink2rest in the same machine as Cockpit, activate the checkmark for \"Mavlink2Rest connection\" and use ws://127.0.0.1:6040/v1/ws/mavlink there (if you're running a mavlink2rest version before 0.11.15, omit the /v1 in the URL).

\n

If you're serving mavlink-camera-manager in the same machine as Cockpit, activate the checkmark for \"WebRTC connection\" and use ws://127.0.0.1:6020 there.

\n

Simulating a vehicle

\n

Cockpit provides a simulation environments in a docker compose file. There is an environment provided for ArduSub, ArduCopter, ArduRover and ArduPlane. The compose file uses docker compose profiles to allow you to choose which vehicle you want to simulate. The available profiles are ardusub, arducopter, ardurover and arduplane. You can run a simulation environment by running the following command:

\n

docker-compose -f sim.yml --profile ardusub up

\n

Assuming you have run the bun run dev --host command, you can access the simulation environment by opening the browser and accessing localhost:5173.

", - "support": "https://discuss.bluerobotics.com/c/bluerobotics-software", + "readme": "

BlueOS extension

\n

This is a Nucleus extension for the BlueOS software running on BlueROV2.

\n

It works by wrapping the Nucleus Driver in a docker image, with a script that feeds velocity data from the Nucleus device into the ArduSub control system through mavlink commands.

\n

This allows the user to utilize the \"position hold\" functionality in the ROV

\n

Nortek Nucleus integration

\n

To mount the Nucleus unto the BlueROV2 and connect it to its network, refer Nortek's Nucleus integration guide.

\n

setup

\n

BlueOS

\n

BlueOS needs to be of version 1.1.0-beta18 or newer in order to support the adding of third party extensions.

\n

ArduSub

\n

ArduSub needs to be of version 4.1.0 or newer for it to support the VISUAL_POSITION_DELTA packets used to send velocity data to the ROV.

\n

Nucleus

\n

This extension assumes that the Nucleus is connected to the network of the ROV through an ethernet connection. It is therefore necessary to set a static IP in the Nucleus.

\n

The network prefix of the BlueROV2 is 192.168.2.0, with a netmask of 255.255.255.0. The Nucleus' static IP must therefore be set to a fitting value, i.e. 192.168.2.201.

\n

In the GUI that comes with the extension the user must specify this IP address to establish a connection with the Nucleus device. The user is therefore not limited to using this IP address, but is at the same time responsible of selecting an IP address that is not already in use on the network.

\n

Adding extension to BlueROV2

\n

The extension can be added to the BlueROV2 either through the BlueOS software, or by creating the docker image on the onboard computer and running the docker container directly.

\n

It is recommended to add the extension through BlueOS as it is both easier and the intended way for this extension to be added. The two different approaches are covered in the following subsections.

\n

BlueOS

\n

Installation

\n

The extension can be added through BlueOS' extensions menu.

\n

Navigate to Extensions > Extensions Manager.

\n

\"blueos_menu\"

\n

Locate Nortek Nucleus under the tab \"STORE\" and open it.

\n

\"nortek_nucleus_store\"

\n

When the Nortek Nucleus extension is opened the user will be presented with this README, as well as information about the extensions creator, a link to this github repository, the settings in the docker image of the extension and the option of installing the extension.

\n

To install the extension, select the newest available version in the drop down menu (the newest version should be the default) and push install. BlueOS will the pull the nucleus extension docker image and install it in its extensions.

\n

\"nortek_nucleus_install\"

\n

Usage

\n

After the installation has been completed. The extension can be located in Extensions > Extensions Manager, under the tab \"INSTALLED\".

\n

\"nortek_nucleus_installed\"

\n

Here the user have the option to edit sittings, uninstall, disable and restart the extension. It is also possible to view the output logs from the docker container that runs the extension which can serve as a good debugging tool.

\n

The extension itself can be opened in the menu by navigating to Extensions > Nucleus: Position hold.

\n

\"blueos_menu_nucleus\"

\n

Opening this will present the user with the GUI for the Nucleus extension which is covered in Using the extension

\n

Docker

\n

To set this extension up manually, ssh into the Raspberry Pi on the BlueROV2 (or access via red-pill in BlueOS terminal).

\n

N.B. The docker image available on dockerhub is set to use port 80 for its user interface which allows BlueOS to handle which port this user interface should be available at. For the manual approach it is therefore necessary to build the docker image with a different port if you wish to have access to the user interface.

\n

N.B. In the current version of the extension it is necessary to have access to the GUI as it is required for establishing the connection to the Nucleus.

\n

On the onboard computer, clone this repo in your preferred path with the following command:

\n

git clone git@github.com:nortekgroup/nucleus_driver.git

\n

Navigate to the blueos_extension folder (the folder containing the Dockerfile) and build the docker image with the following command:

\n

docker build . -t nucleus_driver

\n

The GUI of the extension is by default on port 5000.

\n

If another port is preferred for the GUI the image can be build with the preferred port as an argument with the following command

\n

docker build . -t nucleus_driver --build-arg PORT=5000

\n

with the value following \"PORT=\" being your preferred port.

\n

The docker container can be executed with the following command

\n

docker run --net=host --add-host=host.docker.internal:host-gateway -v /root/.config/blueos:/root/.config --name=nucleus_driver --restart=unless-stopped nucleus_driver

\n

--net=host allows the container to share the network of the ROV which is necessary for it to communicate with the ROV and make the GUI available

\n

-v /root/.config/blueos:/root/.config maps the volume \"/root/.config/blueos\" from the Raspberry Pi into \"/root/.config\" in the container. This allows the container the store configuration data in-between runs.

\n

--name=Nucleus-Driver is the preferred name of the container.

\n

--restart=unless-stopped allows the extension to automatically start when the ROV is powered up

\n

With the docker container running, the GUI can be accessed in a browser by navigating to blueos.local:<port> (or 192.168.2.2:<port>), where <port> is the specified port from the image creation. See Using the extension to learn about how to use the GUI.

\n

Using the extension

\n

N.B. In order for the extension to work it is necessary to change certain controller parameters. Refer to \"Controller parameters\" section for more info

\n

N.B. In order for the \"position hold\" algorithm to perform well it might be necessary to change the ROV's PID parameters. Refer to \"PID parameters\" section for more info

\n

With the extension added, its user interface (GUI) can be found by navigating to Extensions -> Nucleus: Position hold in the BlueOS menu.

\n

In the case of a manual installation through docker, the GUI can be found y navigating to blueos.local:<port> where <port> is he port specified when the docker image was created.

\n

The GUI presents the user with a home page and two pages for parametrization. These pages can be navigated in-between using the navigation banner at the top of the GUI

\n

Home

\n

The home screen presents the user with a status field which displays the results of various checks performed during the startup of the ROV. It is necessary for all of these checks to pass in order for extension to work. Some easy troubleshooting is presented in the home screen in case any of these checks were to fail

\n

The Nucleus hostname field is used to set the IP address used to connect to the Nucleus device. This IP address should be the same as the static IP configured on the Nucleus device.

\n

It is also a field which allows the user to decide whether the driver is enabled. The driver must be enabled for it to feed velocity data to the ROV. If it is not enabled the driver is still running and extracting data from the Nucleus, but the velocity is not sent to the ROV.

\n

The packet counter field displays how many velocity data packets has been handled by the extension. Sent packages refers to packages that has been sent to the ROV, Failed packets refers to packets that for some reason failed to be sent, and Skipped packets are packets that were in good condition and ready to be sent, but weren't due to the driver not being enabled.

\n

PID parameters

\n

N.B. Adjusting any of these parameters WILL change the behavior of the ROV

\n

N.B. Neither the extension nor the ROV will remember the original values of these parameters in case they are changed. It is therefore the users responsibility to remember the original values in case they wish to revert back to the original parameterization.

\n

The PID parameters page gives the user opportunity to modify selected PID parameters in the controller. Good parameterization is necessary for a good performance of the ROV. The correct parameters varies from vehicle to vehicle as the physical attributes of the ROV has an impact on its behavior. However, recommended parameters for a standard BlueROV2 with only the Nucleus being the third party installation is presented on this page.

\n

Controller parameters

\n

N.B. Adjusting any of these parameters may change the behavior of the ROV

\n

N.B. Neither the extension nor the ROV will remember the original values of these parameters in case they are changed. It is therefore the users responsibility to remember the original values in case they wish to revert back to the original parameterization.

\n

In order for the controller to accept and utilize the velocity packets sent from the Nucleus, certain parameters has to be changed. The parameters and their required values are presented on this page.

\n

After these parameters has been changed it is necessary to power cycle the vehicle for these parameters to take effect

", + "support": "https://support.nortekgroup.com/", "requirements": null, "company": { "about": "", - "name": "Blue Robotics", - "email": "support@bluerobotics.com" + "name": "Nortek", + "email": "" }, "permissions": { "ExposedPorts": { - "8000/tcp": {} + "80/tcp": {} }, "HostConfig": { + "Binds": [ + "/root/.config:/root/.config" + ], + "ExtraHosts": [ + "host.docker.internal:host-gateway" + ], "PortBindings": { - "8000/tcp": [ + "80/tcp": [ { "HostPort": "" } @@ -4619,1613 +5042,1270 @@ } } } - }, - "v1.3.2": { - "identifier": "c337e9be-1f0a-5685-86bd-5b7f771db881", + } + }, + "repo_info": { + "downloads": 19963, + "last_updated": "2023-07-31T13:20:08.25399Z", + "date_registered": "2023-03-23T10:28:07.423732Z" + } + }, + { + "identifier": "itskalvik.ros2", + "name": "ROS2", + "website": "https://github.com/itskalvik/blueos-ros2", + "docker": "itskalvik/blueos-ros2", + "description": "Robot Operating System 2 (ROS2) extension for BlueOS", + "extension_logo": "https://raw.githubusercontent.com/bluerobotics/BlueOS-Extensions-Repository/master/repos/itskalvik/ros2/extension_logo.png", + "company_logo": "https://raw.githubusercontent.com/bluerobotics/BlueOS-Extensions-Repository/master/repos/itskalvik/company_logo.png", + "versions": { + "0.0.1": { + "identifier": "c1d98179-2821-5887-8139-9d454a33d024", "type": "other", "website": null, "images": [ { - "expanded_size": 18432848, + "expanded_size": 299133958, "platform": { - "architecture": "arm", - "variant": "v7", + "architecture": "arm64", + "variant": null, "os": "linux" }, - "digest": "sha256:fdd00353dd3957b147e81611ddec75e3ec2ede7b8dc2458ed8c392f6e0344a0c" + "digest": "sha256:98851140b60814f9a02ff80ce4f269f69a19f76dcc08e64eb5445d2ad06e2af7" } ], "authors": [ { - "name": "Rafael Araujo Lehmkuhl", - "email": "rafael@bluerobotics.com" - }, - { - "name": "Patrick Jos\u00e9 Pereira", - "email": "patrick@bluerobotics.com" - }, - { - "name": "Arturo Manzoli", - "email": "arturo@bluerobotics.com" + "name": "Kalvik Jakkala", + "email": "itskalvik@gmail.com" } ], "filter_tags": [ - "vehicle-control", - "control-station", - "ground-station", - "navigation", - "joystick", - "mission-planning" + "ros2", + "robot" ], "extra_links": {}, - "tag": "v1.3.2", + "tag": "0.0.1", "docs": null, - "readme": "
\n
\n
\n


\n

\n
\n
\n
\n


\n

An intuitive and customizable cross-platform ground control station for remote vehicles of all types. Click here for a demo!

\n

\"Test,\n\"Downloads\"

\n

\"Latest\n\"Date\"

\n

\"Docker\"\n\"Pulls\"\n\"Size\"

\n

Standard Usage

\n

See our documentation \ud83d\udcd6

\n

Development

\n

Installing Cockpit

\n

Cockpit is typically installed as an Electron application or BlueOS Extension, but for development purposes it is valuable to run it locally.

\n

To start, clone the repository and its submodules. The submodules are required components for Cockpit to be able to run:

\n

git clone --recurse-submodules git@github.com:bluerobotics/cockpit.git

\n

Next, install bun. Following their documented instructions is strongly recommended - we have received reports that installing bun from alternatives like Snap did not work properly.

\n

With bun installed, you can enter the repository folder and follow the steps below:

\n

bun install

\n

and then run the server locally with:

\n

bun run dev --host

\n

Then you should see a prompt with the local IP and port that can be accessed through a browser, such as localhost:5173.

\n

Installing backend providers

\n

Cockpit is currently a frontend-only application. That means it relies on data offered by other backend solutions, which are not built-in.

\n

If you have a BlueOS instance running, there's no need to install any backend, as BlueOS already provides everything.

\n

If that's not your case and you want to install the necessary backends, follow the instructions below:

\n
    \n
  1. Install a MAVLink router. We recommend mavp2p or MAVLink Router.
  2. \n
  3. Run the MAVLink router, connecting it to your vehicle or SITL instance.
  4. \n
  5. Install mavlink2rest.
  6. \n
  7. Run mavlink2rest, pointing it to the endpoint provided by the MAVLink router. Remember to serve the API over the 6040 port by running it with --server 0.0.0.0:6040.
  8. \n
  9. [Optional] If you want to work with video streaming, install Mavlink Camera Manager.
  10. \n
\n

Connecting to your vehicle

\n

Follow the instructions provided here to connect Cockpit to your vehicle.

\n

If you're running a BlueOS instance, just put the IP address of it in \"Global vehicle address\" and click the \"apply\" button.

\n

If you're serving mavlink2rest in the same machine as Cockpit, activate the checkmark for \"Mavlink2Rest connection\" and use ws://127.0.0.1:6040/v1/ws/mavlink there (if you're running a mavlink2rest version before 0.11.15, omit the /v1 in the URL).

\n

If you're serving mavlink-camera-manager in the same machine as Cockpit, activate the checkmark for \"WebRTC connection\" and use ws://127.0.0.1:6020 there.

\n

Simulating a vehicle

\n

Cockpit provides a simulation environments in a docker compose file. There is an environment provided for ArduSub, ArduCopter, ArduRover and ArduPlane. The compose file uses docker compose profiles to allow you to choose which vehicle you want to simulate. The available profiles are ardusub, arducopter, ardurover and arduplane. You can run a simulation environment by running the following command:

\n

docker-compose -f sim.yml --profile ardusub up

\n

Assuming you have run the bun run dev --host command, you can access the simulation environment by opening the browser and accessing localhost:5173.

", - "support": "https://discuss.bluerobotics.com/c/bluerobotics-software", + "readme": "

BlueOS ROS2 Extension

\n

This extension makes it possible to communicate with the vehicle via ROS2 and MAVROS

", + "support": null, "requirements": null, "company": { "about": "", - "name": "Blue Robotics", - "email": "support@bluerobotics.com" + "name": "ItsKalvik", + "email": "itskalvik@gmail.com" }, "permissions": { - "ExposedPorts": { - "8000/tcp": {} - }, + "NetworkMode": "host", "HostConfig": { - "PortBindings": { - "8000/tcp": [ - { - "HostPort": "" - } - ] - } + "Binds": [ + "/dev:/dev:rw" + ], + "Privileged": true, + "NetworkMode": "host" } } - }, - "v1.3.1": { - "identifier": "2c0135ec-eaef-58e4-8b97-47884da4adae", - "type": "other", - "website": null, + } + }, + "repo_info": { + "downloads": 195, + "last_updated": "2024-11-18T15:06:56.257201Z", + "date_registered": "2024-11-10T22:07:32.150637Z" + } + }, + { + "identifier": "ceruleansonar.sonarview", + "name": "SonarView", + "website": "https://sonarview.io/", + "docker": "nicknothom/sonarview", + "description": "Cross platform sonar viewing application", + "extension_logo": "https://raw.githubusercontent.com/bluerobotics/BlueOS-Extensions-Repository/master/repos/ceruleansonar/company_logo.png", + "company_logo": "https://raw.githubusercontent.com/bluerobotics/BlueOS-Extensions-Repository/master/repos/ceruleansonar/company_logo.png", + "versions": { + "1.13.1-beta": { + "identifier": "70ea11eb-74b3-5cc1-939b-adbaf7b6cabc", + "type": "device-integration", + "website": "https://ceruleansonar.com", "images": [ { - "expanded_size": 18430616, + "expanded_size": 74087422, + "platform": { + "architecture": "amd64", + "variant": null, + "os": "linux" + }, + "digest": "sha256:b9f26020cf6f3a6eeb7e06effeccac99ea533d6d0337e5f9388cef2dd3c12872" + }, + { + "expanded_size": 72285070, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:ab9278832da77473685ee84fda9c191c8f577c0ed0a71a5ce5e31c6adc24dc12" + "digest": "sha256:5baa87bdee832d16301a6691c4a5c5d1840a1a96b2bcea87f030602c23107311" + }, + { + "expanded_size": 74084801, + "platform": { + "architecture": "arm64", + "variant": null, + "os": "linux" + }, + "digest": "sha256:9292ee4af3e653e5af90c5e57a9b7db79de5cfba87152088d173932d7bc7fc37" } ], "authors": [ { - "name": "Rafael Araujo Lehmkuhl", - "email": "rafael@bluerobotics.com" - }, - { - "name": "Patrick Jos\u00e9 Pereira", - "email": "patrick@bluerobotics.com" - }, - { - "name": "Arturo Manzoli", - "email": "arturo@bluerobotics.com" + "name": "Nick Nothom", + "email": "nick.nothom@ceruleansonar.com" } ], - "filter_tags": [ - "vehicle-control", - "control-station", - "ground-station", - "navigation", - "joystick", - "mission-planning" - ], + "filter_tags": [], "extra_links": {}, - "tag": "v1.3.1", + "tag": "1.13.1-beta", "docs": null, - "readme": "
\n
\n
\n


\n

\n
\n
\n
\n


\n

An intuitive and customizable cross-platform ground control station for remote vehicles of all types. Click here for a demo!

\n

\"Test,\n\"Downloads\"

\n

\"Latest\n\"Date\"

\n

\"Docker\"\n\"Pulls\"\n\"Size\"

\n

Standard Usage

\n

See our documentation \ud83d\udcd6

\n

Development

\n

Installing Cockpit

\n

Cockpit is typically installed as an Electron application or BlueOS Extension, but for development purposes it is valuable to run it locally.

\n

To start, clone the repository and its submodules. The submodules are required components for Cockpit to be able to run:

\n

git clone --recurse-submodules git@github.com:bluerobotics/cockpit.git

\n

Next, install bun. Following their documented instructions is strongly recommended - we have received reports that installing bun from alternatives like Snap did not work properly.

\n

With bun installed, you can enter the repository folder and follow the steps below:

\n

bun install

\n

and then run the server locally with:

\n

bun run dev --host

\n

Then you should see a prompt with the local IP and port that can be accessed through a browser, such as localhost:5173.

\n

Installing backend providers

\n

Cockpit is currently a frontend-only application. That means it relies on data offered by other backend solutions, which are not built-in.

\n

If you have a BlueOS instance running, there's no need to install any backend, as BlueOS already provides everything.

\n

If that's not your case and you want to install the necessary backends, follow the instructions below:

\n
    \n
  1. Install a MAVLink router. We recommend mavp2p or MAVLink Router.
  2. \n
  3. Run the MAVLink router, connecting it to your vehicle or SITL instance.
  4. \n
  5. Install mavlink2rest.
  6. \n
  7. Run mavlink2rest, pointing it to the endpoint provided by the MAVLink router. Remember to serve the API over the 6040 port by running it with --server 0.0.0.0:6040.
  8. \n
  9. [Optional] If you want to work with video streaming, install Mavlink Camera Manager.
  10. \n
\n

Connecting to your vehicle

\n

Follow the instructions provided here to connect Cockpit to your vehicle.

\n

If you're running a BlueOS instance, just put the IP address of it in \"Global vehicle address\" and click the \"apply\" button.

\n

If you're serving mavlink2rest in the same machine as Cockpit, activate the checkmark for \"Mavlink2Rest connection\" and use ws://127.0.0.1:6040/v1/ws/mavlink there (if you're running a mavlink2rest version before 0.11.15, omit the /v1 in the URL).

\n

If you're serving mavlink-camera-manager in the same machine as Cockpit, activate the checkmark for \"WebRTC connection\" and use ws://127.0.0.1:6020 there.

\n

Simulating a vehicle

\n

Cockpit provides a simulation environments in a docker compose file. There is an environment provided for ArduSub, ArduCopter, ArduRover and ArduPlane. The compose file uses docker compose profiles to allow you to choose which vehicle you want to simulate. The available profiles are ardusub, arducopter, ardurover and arduplane. You can run a simulation environment by running the following command:

\n

docker-compose -f sim.yml --profile ardusub up

\n

Assuming you have run the bun run dev --host command, you can access the simulation environment by opening the browser and accessing localhost:5173.

", - "support": "https://discuss.bluerobotics.com/c/bluerobotics-software", + "readme": "

SonarView

\n

SonarView is a cross-platform application for controlling and communicating with sonar devices.

\n

This repository hosts the build and release process for SonarView.

\n", + "support": "https://forum.ceruleansonar.com/categories", "requirements": null, "company": { - "about": "", - "name": "Blue Robotics", - "email": "support@bluerobotics.com" + "about": "Cerulean Sonar: Advanced Technology. Sensibly Priced.", + "name": "Cerulean Sonar", + "email": "dennys.bisogno@ceruleansonar.com" }, "permissions": { - "ExposedPorts": { - "8000/tcp": {} - }, "HostConfig": { - "PortBindings": { - "8000/tcp": [ - { - "HostPort": "" - } - ] - } + "NetworkMode": "host", + "Binds": [ + "/usr/blueos/userdata/SonarView:/userdata" + ], + "ReadonlyRootfs": true, + "ExtraHosts": [ + "host.docker.internal:127.0.1.1" + ] } } }, - "v1.3.0": { - "identifier": "ccc33762-34f0-5162-872b-a8a99d2c27a6", - "type": "other", - "website": null, + "1.11.6": { + "identifier": "7b11044b-8a7d-5420-92fe-659f50007ce6", + "type": "device-integration", + "website": "https://ceruleansonar.com", "images": [ { - "expanded_size": 18430622, + "expanded_size": 82319185, + "platform": { + "architecture": "amd64", + "variant": null, + "os": "linux" + }, + "digest": "sha256:e8993bf2363ce510f3330f0e3b50acb215f0f8c0cc452e0ac37e8fda78fdc438" + }, + { + "expanded_size": 80513900, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:f09f3c2e62456be3cfd440812f98c5e26aa1279db86854ab38de9acbd3c44092" + "digest": "sha256:0887c6e0c0a04b99f1f49363f8d96a7abc3f5e5b8365600d0c5d762f20040b7d" + }, + { + "expanded_size": 82319614, + "platform": { + "architecture": "arm64", + "variant": null, + "os": "linux" + }, + "digest": "sha256:1da10a7850d63d196cdcfd67403fe805233985a159eb8d46241e46741c3471ad" } ], "authors": [ { - "name": "Rafael Araujo Lehmkuhl", - "email": "rafael@bluerobotics.com" - }, - { - "name": "Patrick Jos\u00e9 Pereira", - "email": "patrick@bluerobotics.com" - }, - { - "name": "Arturo Manzoli", - "email": "arturo@bluerobotics.com" + "name": "Nick Nothom", + "email": "nick.nothom@ceruleansonar.com" } ], - "filter_tags": [ - "vehicle-control", - "control-station", - "ground-station", - "navigation", - "joystick", - "mission-planning" - ], + "filter_tags": [], "extra_links": {}, - "tag": "v1.3.0", + "tag": "1.11.6", "docs": null, - "readme": "
\n
\n
\n


\n

\n
\n
\n
\n


\n

An intuitive and customizable cross-platform ground control station for remote vehicles of all types. Click here for a demo!

\n

\"Test,\n\"Downloads\"

\n

\"Latest\n\"Date\"

\n

\"Docker\"\n\"Pulls\"\n\"Size\"

\n

Standard Usage

\n

See our documentation \ud83d\udcd6

\n

Development

\n

Installing Cockpit

\n

Cockpit is typically installed as an Electron application or BlueOS Extension, but for development purposes it is valuable to run it locally.

\n

To start, clone the repository and its submodules. The submodules are required components for Cockpit to be able to run:

\n

git clone --recurse-submodules git@github.com:bluerobotics/cockpit.git

\n

Next, install bun. Following their documented instructions is strongly recommended - we have received reports that installing bun from alternatives like Snap did not work properly.

\n

With bun installed, you can enter the repository folder and follow the steps below:

\n

bun install

\n

and then run the server locally with:

\n

bun run dev --host

\n

Then you should see a prompt with the local IP and port that can be accessed through a browser, such as localhost:5173.

\n

Installing backend providers

\n

Cockpit is currently a frontend-only application. That means it relies on data offered by other backend solutions, which are not built-in.

\n

If you have a BlueOS instance running, there's no need to install any backend, as BlueOS already provides everything.

\n

If that's not your case and you want to install the necessary backends, follow the instructions below:

\n
    \n
  1. Install a MAVLink router. We recommend mavp2p or MAVLink Router.
  2. \n
  3. Run the MAVLink router, connecting it to your vehicle or SITL instance.
  4. \n
  5. Install mavlink2rest.
  6. \n
  7. Run mavlink2rest, pointing it to the endpoint provided by the MAVLink router. Remember to serve the API over the 6040 port by running it with --server 0.0.0.0:6040.
  8. \n
  9. [Optional] If you want to work with video streaming, install Mavlink Camera Manager.
  10. \n
\n

Connecting to your vehicle

\n

Follow the instructions provided here to connect Cockpit to your vehicle.

\n

If you're running a BlueOS instance, just put the IP address of it in \"Global vehicle address\" and click the \"apply\" button.

\n

If you're serving mavlink2rest in the same machine as Cockpit, activate the checkmark for \"Mavlink2Rest connection\" and use ws://127.0.0.1:6040/v1/ws/mavlink there (if you're running a mavlink2rest version before 0.11.15, omit the /v1 in the URL).

\n

If you're serving mavlink-camera-manager in the same machine as Cockpit, activate the checkmark for \"WebRTC connection\" and use ws://127.0.0.1:6020 there.

\n

Simulating a vehicle

\n

Cockpit provides a simulation environments in a docker compose file. There is an environment provided for ArduSub, ArduCopter, ArduRover and ArduPlane. The compose file uses docker compose profiles to allow you to choose which vehicle you want to simulate. The available profiles are ardusub, arducopter, ardurover and arduplane. You can run a simulation environment by running the following command:

\n

docker-compose -f sim.yml --profile ardusub up

\n

Assuming you have run the bun run dev --host command, you can access the simulation environment by opening the browser and accessing localhost:5173.

", - "support": "https://discuss.bluerobotics.com/c/bluerobotics-software", + "readme": "

SonarView

\n

SonarView is a cross-platform application for controlling and communicating with sonar devices.

\n

This repository hosts the build and release process for SonarView.

\n", + "support": "https://forum.ceruleansonar.com/categories", "requirements": null, "company": { - "about": "", - "name": "Blue Robotics", - "email": "support@bluerobotics.com" + "about": "Cerulean Sonar: Advanced Technology. Sensibly Priced.", + "name": "Cerulean Sonar", + "email": "dennys.bisogno@ceruleansonar.com" }, "permissions": { - "ExposedPorts": { - "8000/tcp": {} - }, "HostConfig": { - "PortBindings": { - "8000/tcp": [ - { - "HostPort": "" - } - ] - } - } + "NetworkMode": "host", + "Binds": [ + "/usr/blueos/userdata/SonarView:/userdata" + ], + "ReadonlyRootfs": true, + "ExtraHosts": [ + "host.docker.internal:127.0.1.1" + ] + } } }, - "v1.2.2": { - "identifier": "d8e4c076-8a57-5578-bc74-82708ef0536c", - "type": "other", - "website": null, + "1.11.4": { + "identifier": "ad47b040-2275-52ee-a297-ca80a043e18a", + "type": "device-integration", + "website": "https://ceruleansonar.com", "images": [ { - "expanded_size": 18416403, + "expanded_size": 82323544, + "platform": { + "architecture": "amd64", + "variant": null, + "os": "linux" + }, + "digest": "sha256:c905c18cedb0e2467d9abc2fd8d04f7deb1bcbca47c155752f9387a73ece3391" + }, + { + "expanded_size": 80514832, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:34f51458874b6e0193c6927c24661e14039efa519ee73a69bdebeeeb379d95e1" + "digest": "sha256:64aa4c9f1d23e99dda04fb1c0bcc87ed3ed02627aed06deb7bf1adf4f01316b8" + }, + { + "expanded_size": 82320103, + "platform": { + "architecture": "arm64", + "variant": null, + "os": "linux" + }, + "digest": "sha256:2d768da8a611dec8bf5ade8f792f9e38013eb332edc578a9dd53c9021af6b4e2" } ], "authors": [ { - "name": "Rafael Araujo Lehmkuhl", - "email": "rafael@bluerobotics.com" - }, - { - "name": "Patrick Jos\u00e9 Pereira", - "email": "patrick@bluerobotics.com" - }, - { - "name": "Arturo Manzoli", - "email": "arturo@bluerobotics.com" + "name": "Nick Nothom", + "email": "nick.nothom@ceruleansonar.com" } ], - "filter_tags": [ - "vehicle-control", - "control-station", - "ground-station", - "navigation", - "joystick", - "mission-planning" - ], + "filter_tags": [], "extra_links": {}, - "tag": "v1.2.2", + "tag": "1.11.4", "docs": null, - "readme": "
\n
\n
\n


\n

\n
\n
\n
\n


\n

An intuitive and customizable cross-platform ground control station for remote vehicles of all types. Click here for a demo!

\n

\"Test,\n\"Downloads\"

\n

\"Latest\n\"Date\"

\n

\"Docker\"\n\"Pulls\"\n\"Size\"

\n

Standard Usage

\n

See our documentation \ud83d\udcd6

\n

Development

\n

Installing Cockpit

\n

Cockpit is typically installed as an Electron application or BlueOS Extension, but for development purposes it is valuable to run it locally.

\n

To start, clone the repository and its submodules. The submodules are required components for Cockpit to be able to run:

\n

git clone --recurse-submodules git@github.com:bluerobotics/cockpit.git

\n

Next, install bun. Following their documented instructions is strongly recommended - we have received reports that installing bun from alternatives like Snap did not work properly.

\n

With bun installed, you can enter the repository folder and follow the steps below:

\n

bun install

\n

and then run the server locally with:

\n

bun run dev --host

\n

Then you should see a prompt with the local IP and port that can be accessed through a browser, such as localhost:5173.

\n

Installing backend providers

\n

Cockpit is currently a frontend-only application. That means it relies on data offered by other backend solutions, which are not built-in.

\n

If you have a BlueOS instance running, there's no need to install any backend, as BlueOS already provides everything.

\n

If that's not your case and you want to install the necessary backends, follow the instructions below:

\n
    \n
  1. Install a MAVLink router. We recommend mavp2p or MAVLink Router.
  2. \n
  3. Run the MAVLink router, connecting it to your vehicle or SITL instance.
  4. \n
  5. Install mavlink2rest.
  6. \n
  7. Run mavlink2rest, pointing it to the endpoint provided by the MAVLink router. Remember to serve the API over the 6040 port by running it with --server 0.0.0.0:6040.
  8. \n
  9. [Optional] If you want to work with video streaming, install Mavlink Camera Manager.
  10. \n
\n

Connecting to your vehicle

\n

Follow the instructions provided here to connect Cockpit to your vehicle.

\n

If you're running a BlueOS instance, just put the IP address of it in \"Global vehicle address\" and click the \"apply\" button.

\n

If you're serving mavlink2rest in the same machine as Cockpit, activate the checkmark for \"Mavlink2Rest connection\" and use ws://127.0.0.1:6040/v1/ws/mavlink there (if you're running a mavlink2rest version before 0.11.15, omit the /v1 in the URL).

\n

If you're serving mavlink-camera-manager in the same machine as Cockpit, activate the checkmark for \"WebRTC connection\" and use ws://127.0.0.1:6020 there.

\n

Simulating a vehicle

\n

Cockpit provides a simulation environments in a docker compose file. There is an environment provided for ArduSub, ArduCopter, ArduRover and ArduPlane. The compose file uses docker compose profiles to allow you to choose which vehicle you want to simulate. The available profiles are ardusub, arducopter, ardurover and arduplane. You can run a simulation environment by running the following command:

\n

docker-compose -f sim.yml --profile ardusub up

\n

Assuming you have run the bun run dev --host command, you can access the simulation environment by opening the browser and accessing localhost:5173.

", - "support": "https://discuss.bluerobotics.com/c/bluerobotics-software", + "readme": "

SonarView

\n

SonarView is a cross-platform application for controlling and communicating with sonar devices.

\n

This repository hosts the build and release process for SonarView.

\n", + "support": "https://forum.ceruleansonar.com/categories", "requirements": null, "company": { - "about": "", - "name": "Blue Robotics", - "email": "support@bluerobotics.com" + "about": "Cerulean Sonar: Advanced Technology. Sensibly Priced.", + "name": "Cerulean Sonar", + "email": "dennys.bisogno@ceruleansonar.com" }, "permissions": { - "ExposedPorts": { - "8000/tcp": {} - }, "HostConfig": { - "PortBindings": { - "8000/tcp": [ - { - "HostPort": "" - } - ] - } + "NetworkMode": "host", + "Binds": [ + "/usr/blueos/userdata/SonarView:/userdata" + ], + "ReadonlyRootfs": true, + "ExtraHosts": [ + "host.docker.internal:host-gateway" + ] } } }, - "v1.2.1": { - "identifier": "58a7e9da-4bf7-5b2b-9c0a-0afa0a20ac49", - "type": "other", - "website": null, + "1.11.3": { + "identifier": "56ed6449-1ffb-5d70-8f83-db08efad0b59", + "type": "device-integration", + "website": "https://ceruleansonar.com", "images": [ { - "expanded_size": 18415910, + "expanded_size": 80516719, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:6763f93125b653d6759649ca926582c98d2d240a026e213b1011ce61e5900e37" + "digest": "sha256:b87cd4b2325eaa733cb6c55d76901b125ea65593f3b4549b3aa87c23a8347c57" } ], "authors": [ { - "name": "Rafael Araujo Lehmkuhl", - "email": "rafael@bluerobotics.com" - }, - { - "name": "Patrick Jos\u00e9 Pereira", - "email": "patrick@bluerobotics.com" - }, - { - "name": "Arturo Manzoli", - "email": "arturo@bluerobotics.com" + "name": "Nick Nothom", + "email": "nick.nothom@ceruleansonar.com" } ], - "filter_tags": [ - "vehicle-control", - "control-station", - "ground-station", - "navigation", - "joystick", - "mission-planning" - ], + "filter_tags": [], "extra_links": {}, - "tag": "v1.2.1", + "tag": "1.11.3", "docs": null, - "readme": "
\n
\n
\n


\n

\n
\n
\n
\n


\n

An intuitive and customizable cross-platform ground control station for remote vehicles of all types. Click here for a demo!

\n

\"Test,\n\"Downloads\"

\n

\"Latest\n\"Date\"

\n

\"Docker\"\n\"Pulls\"\n\"Size\"

\n

Standard Usage

\n

See our documentation \ud83d\udcd6

\n

Development

\n

Installing Cockpit

\n

Cockpit is typically installed as an Electron application or BlueOS Extension, but for development purposes it is valuable to run it locally.

\n

To start, clone the repository and its submodules. The submodules are required components for Cockpit to be able to run:

\n

git clone --recurse-submodules git@github.com:bluerobotics/cockpit.git

\n

Next, install bun. Following their documented instructions is strongly recommended - we have received reports that installing bun from alternatives like Snap did not work properly.

\n

With bun installed, you can enter the repository folder and follow the steps below:

\n

bun install

\n

and then run the server locally with:

\n

bun run dev --host

\n

Then you should see a prompt with the local IP and port that can be accessed through a browser, such as localhost:5173.

\n

Installing backend providers

\n

Cockpit is currently a frontend-only application. That means it relies on data offered by other backend solutions, which are not built-in.

\n

If you have a BlueOS instance running, there's no need to install any backend, as BlueOS already provides everything.

\n

If that's not your case and you want to install the necessary backends, follow the instructions below:

\n
    \n
  1. Install a MAVLink router. We recommend mavp2p or MAVLink Router.
  2. \n
  3. Run the MAVLink router, connecting it to your vehicle or SITL instance.
  4. \n
  5. Install mavlink2rest.
  6. \n
  7. Run mavlink2rest, pointing it to the endpoint provided by the MAVLink router. Remember to serve the API over the 6040 port by running it with --server 0.0.0.0:6040.
  8. \n
  9. [Optional] If you want to work with video streaming, install Mavlink Camera Manager.
  10. \n
\n

Connecting to your vehicle

\n

Follow the instructions provided here to connect Cockpit to your vehicle.

\n

If you're running a BlueOS instance, just put the IP address of it in \"Global vehicle address\" and click the \"apply\" button.

\n

If you're serving mavlink2rest in the same machine as Cockpit, activate the checkmark for \"Mavlink2Rest connection\" and use ws://127.0.0.1:6040/v1/ws/mavlink there (if you're running a mavlink2rest version before 0.11.15, omit the /v1 in the URL).

\n

If you're serving mavlink-camera-manager in the same machine as Cockpit, activate the checkmark for \"WebRTC connection\" and use ws://127.0.0.1:6020 there.

\n

Simulating a vehicle

\n

Cockpit provides a simulation environments in a docker compose file. There is an environment provided for ArduSub, ArduCopter, ArduRover and ArduPlane. The compose file uses docker compose profiles to allow you to choose which vehicle you want to simulate. The available profiles are ardusub, arducopter, ardurover and arduplane. You can run a simulation environment by running the following command:

\n

docker-compose -f sim.yml --profile ardusub up

\n

Assuming you have run the bun run dev --host command, you can access the simulation environment by opening the browser and accessing localhost:5173.

", - "support": "https://discuss.bluerobotics.com/c/bluerobotics-software", + "readme": "

SonarView

\n

SonarView is a cross-platform application for controlling and communicating with sonar devices.

\n

This repository hosts the build and release process for SonarView.

\n", + "support": "https://forum.ceruleansonar.com/categories", "requirements": null, "company": { - "about": "", - "name": "Blue Robotics", - "email": "support@bluerobotics.com" + "about": "Cerulean Sonar: Advanced Technology. Sensibly Priced.", + "name": "Cerulean Sonar", + "email": "dennys.bisogno@ceruleansonar.com" }, "permissions": { - "ExposedPorts": { - "8000/tcp": {} - }, "HostConfig": { - "PortBindings": { - "8000/tcp": [ - { - "HostPort": "" - } - ] - } + "NetworkMode": "host", + "Binds": [ + "/usr/blueos/userdata/SonarView:/userdata" + ], + "ReadonlyRootfs": true, + "ExtraHosts": [ + "host.docker.internal:host-gateway" + ] } } }, - "v1.2.0": { - "identifier": "b5122630-45e2-5ba6-bb9c-dc861d873d8f", - "type": "other", - "website": null, + "1.11.1": { + "identifier": "a69f6f52-9e0b-5dc8-90d3-f3e24c7f91b9", + "type": "device-integration", + "website": "https://ceruleansonar.com", "images": [ { - "expanded_size": 18414256, + "expanded_size": 80516048, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:ec8570f9161c9893b610b170320becf31aed843ef13677dc28b57585d0af5d72" + "digest": "sha256:4ddfc5a90e90ec6a3e5bc98f2cbc967c9ae4087ead74130125cb20b5b3c71668" } ], "authors": [ { - "name": "Rafael Araujo Lehmkuhl", - "email": "rafael@bluerobotics.com" - }, - { - "name": "Patrick Jos\u00e9 Pereira", - "email": "patrick@bluerobotics.com" - }, - { - "name": "Arturo Manzoli", - "email": "arturo@bluerobotics.com" + "name": "Nick Nothom", + "email": "nick.nothom@ceruleansonar.com" } ], - "filter_tags": [ - "vehicle-control", - "control-station", - "ground-station", - "navigation", - "joystick", - "mission-planning" - ], + "filter_tags": [], "extra_links": {}, - "tag": "v1.2.0", + "tag": "1.11.1", "docs": null, - "readme": "
\n
\n
\n


\n

\n
\n
\n
\n


\n

An intuitive and customizable cross-platform ground control station for remote vehicles of all types. Click here for a demo!

\n

\"Test,\n\"Downloads\"

\n

\"Latest\n\"Date\"

\n

\"Docker\"\n\"Pulls\"\n\"Size\"

\n

Standard Usage

\n

See our documentation \ud83d\udcd6

\n

Development

\n

Installing Cockpit

\n

Cockpit is typically installed as an Electron application or BlueOS Extension, but for development purposes it is valuable to run it locally.

\n

To start, clone the repository and its submodules. The submodules are required components for Cockpit to be able to run:

\n

git clone --recurse-submodules git@github.com:bluerobotics/cockpit.git

\n

Next, install bun. Following their documented instructions is strongly recommended - we have received reports that installing bun from alternatives like Snap did not work properly.

\n

With bun installed, you can enter the repository folder and follow the steps below:

\n

bun install

\n

and then run the server locally with:

\n

bun run dev --host

\n

Then you should see a prompt with the local IP and port that can be accessed through a browser, such as localhost:5173.

\n

Installing backend providers

\n

Cockpit is currently a frontend-only application. That means it relies on data offered by other backend solutions, which are not built-in.

\n

If you have a BlueOS instance running, there's no need to install any backend, as BlueOS already provides everything.

\n

If that's not your case and you want to install the necessary backends, follow the instructions below:

\n
    \n
  1. Install a MAVLink router. We recommend mavp2p or MAVLink Router.
  2. \n
  3. Run the MAVLink router, connecting it to your vehicle or SITL instance.
  4. \n
  5. Install mavlink2rest.
  6. \n
  7. Run mavlink2rest, pointing it to the endpoint provided by the MAVLink router. Remember to serve the API over the 6040 port by running it with --server 0.0.0.0:6040.
  8. \n
  9. [Optional] If you want to work with video streaming, install Mavlink Camera Manager.
  10. \n
\n

Connecting to your vehicle

\n

Follow the instructions provided here to connect Cockpit to your vehicle.

\n

If you're running a BlueOS instance, just put the IP address of it in \"Global vehicle address\" and click the \"apply\" button.

\n

If you're serving mavlink2rest in the same machine as Cockpit, activate the checkmark for \"Mavlink2Rest connection\" and use ws://127.0.0.1:6040/v1/ws/mavlink there (if you're running a mavlink2rest version before 0.11.15, omit the /v1 in the URL).

\n

If you're serving mavlink-camera-manager in the same machine as Cockpit, activate the checkmark for \"WebRTC connection\" and use ws://127.0.0.1:6020 there.

\n

Simulating a vehicle

\n

Cockpit provides a simulation environments in a docker compose file. There is an environment provided for ArduSub, ArduCopter, ArduRover and ArduPlane. The compose file uses docker compose profiles to allow you to choose which vehicle you want to simulate. The available profiles are ardusub, arducopter, ardurover and arduplane. You can run a simulation environment by running the following command:

\n

docker-compose -f sim.yml --profile ardusub up

\n

Assuming you have run the bun run dev --host command, you can access the simulation environment by opening the browser and accessing localhost:5173.

", - "support": "https://discuss.bluerobotics.com/c/bluerobotics-software", + "readme": "

SonarView

\n

SonarView is a cross-platform application for controlling and communicating with sonar devices.

\n

This repository hosts the build and release process for SonarView.

\n", + "support": "https://forum.ceruleansonar.com/categories", "requirements": null, "company": { - "about": "", - "name": "Blue Robotics", - "email": "support@bluerobotics.com" + "about": "Cerulean Sonar: Advanced Technology. Sensibly Priced.", + "name": "Cerulean Sonar", + "email": "dennys.bisogno@ceruleansonar.com" }, "permissions": { - "ExposedPorts": { - "8000/tcp": {} - }, "HostConfig": { - "PortBindings": { - "8000/tcp": [ - { - "HostPort": "" - } - ] - } + "NetworkMode": "host", + "Binds": [ + "/usr/blueos/userdata/SonarView:/userdata" + ], + "ReadonlyRootfs": true, + "ExtraHosts": [ + "host.docker.internal:host-gateway" + ] } } }, - "v1.1.1": { - "identifier": "0ad50b1a-8966-5f07-bc33-222e7bdeb912", - "type": "other", - "website": null, + "1.10.2-beta.3": { + "identifier": "c71434d5-b801-5242-b289-40a862a2f981", + "type": "device-integration", + "website": "https://ceruleansonar.com", "images": [ { - "expanded_size": 18406196, + "expanded_size": 80506933, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:d62ca8c2759074e0ed8128f8b2e9dcc5eeb6ea4dbee0118db856cfb9d2295005" + "digest": "sha256:6197170208f4a67016af98439f22059cace4018fd2023d35759465f84a3123e4" } ], "authors": [ { - "name": "Rafael Araujo Lehmkuhl", - "email": "rafael@bluerobotics.com" - }, - { - "name": "Patrick Jos\u00e9 Pereira", - "email": "patrick@bluerobotics.com" - }, - { - "name": "Arturo Manzoli", - "email": "arturo@bluerobotics.com" + "name": "Nick Nothom", + "email": "nick.nothom@ceruleansonar.com" } ], - "filter_tags": [ - "vehicle-control", - "control-station", - "ground-station", - "navigation", - "joystick", - "mission-planning" - ], + "filter_tags": [], "extra_links": {}, - "tag": "v1.1.1", + "tag": "1.10.2-beta.3", "docs": null, - "readme": "
\n
\n
\n


\n

\n
\n
\n
\n


\n

An intuitive and customizable cross-platform ground control station for remote vehicles of all types. Click here for a demo!

\n

\"Test,\n\"Downloads\"

\n

\"Latest\n\"Date\"

\n

\"Docker\"\n\"Pulls\"\n\"Size\"

\n

Standard Usage

\n

See our documentation \ud83d\udcd6

\n

Development

\n

Installing Cockpit

\n

Cockpit is typically installed as an Electron application or BlueOS Extension, but for development purposes it is valuable to run it locally.

\n

To start, clone the repository and its submodules. The submodules are required components for Cockpit to be able to run:

\n

git clone --recurse-submodules git@github.com:bluerobotics/cockpit.git

\n

Next, install bun. Following their documented instructions is strongly recommended - we have received reports that installing bun from alternatives like Snap did not work properly.

\n

With bun installed, you can enter the repository folder and follow the steps below:

\n

bun install

\n

and then run the server locally with:

\n

bun run dev --host

\n

Then you should see a prompt with the local IP and port that can be accessed through a browser, such as localhost:5173.

\n

Installing backend providers

\n

Cockpit is currently a frontend-only application. That means it relies on data offered by other backend solutions, which are not built-in.

\n

If you have a BlueOS instance running, there's no need to install any backend, as BlueOS already provides everything.

\n

If that's not your case and you want to install the necessary backends, follow the instructions below:

\n
    \n
  1. Install a MAVLink router. We recommend mavp2p or MAVLink Router.
  2. \n
  3. Run the MAVLink router, connecting it to your vehicle or SITL instance.
  4. \n
  5. Install mavlink2rest.
  6. \n
  7. Run mavlink2rest, pointing it to the endpoint provided by the MAVLink router. Remember to serve the API over the 6040 port by running it with --server 0.0.0.0:6040.
  8. \n
  9. [Optional] If you want to work with video streaming, install Mavlink Camera Manager.
  10. \n
\n

Connecting to your vehicle

\n

Follow the instructions provided here to connect Cockpit to your vehicle.

\n

If you're running a BlueOS instance, just put the IP address of it in \"Global vehicle address\" and click the \"apply\" button.

\n

If you're serving mavlink2rest in the same machine as Cockpit, activate the checkmark for \"Mavlink2Rest connection\" and use ws://127.0.0.1:6040/v1/ws/mavlink there (if you're running a mavlink2rest version before 0.11.15, omit the /v1 in the URL).

\n

If you're serving mavlink-camera-manager in the same machine as Cockpit, activate the checkmark for \"WebRTC connection\" and use ws://127.0.0.1:6020 there.

\n

Simulating a vehicle

\n

Cockpit provides a simulation environments in a docker compose file. There is an environment provided for ArduSub, ArduCopter, ArduRover and ArduPlane. The compose file uses docker compose profiles to allow you to choose which vehicle you want to simulate. The available profiles are ardusub, arducopter, ardurover and arduplane. You can run a simulation environment by running the following command:

\n

docker-compose -f sim.yml --profile ardusub up

\n

Assuming you have run the bun run dev --host command, you can access the simulation environment by opening the browser and accessing localhost:5173.

", - "support": "https://discuss.bluerobotics.com/c/bluerobotics-software", + "readme": "

SonarView

\n

SonarView is a cross-platform application for controlling and communicating with sonar devices.

\n

This repository hosts the build and release process for SonarView.

\n", + "support": "https://forum.ceruleansonar.com/categories", "requirements": null, "company": { - "about": "", - "name": "Blue Robotics", - "email": "support@bluerobotics.com" - }, - "permissions": { - "ExposedPorts": { - "8000/tcp": {} - }, + "about": "Cerulean Sonar: Advanced Technology. Sensibly Priced.", + "name": "Cerulean Sonar", + "email": "dennys.bisogno@ceruleansonar.com" + }, + "permissions": { "HostConfig": { - "PortBindings": { - "8000/tcp": [ - { - "HostPort": "" - } - ] - } + "NetworkMode": "host", + "Binds": [ + "/usr/blueos/userdata/SonarView:/userdata" + ], + "ReadonlyRootfs": true, + "ExtraHosts": [ + "host.docker.internal:host-gateway" + ] } } }, - "v1.0.2": { - "identifier": "6693b57e-6957-50d7-a9ee-8cfc96d38e57", - "type": "other", - "website": null, + "1.10.2-beta": { + "identifier": "ca378d8a-7911-5ff3-bf75-b19e0b2841ed", + "type": "device-integration", + "website": "https://ceruleansonar.com", "images": [ { - "expanded_size": 17453223, + "expanded_size": 65839861, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:b2c4c48b43f3ce386dba9e85359f3f79621d03a9edd1d5307915e752f6461be5" + "digest": "sha256:dc079a313915976ec9af36eccc1b6cbff273b9277ff5266f84882049e40d0186" } ], "authors": [ { - "name": "Rafael Araujo Lehmkuhl", - "email": "rafael@bluerobotics.com" - }, - { - "name": "Patrick Jos\u00e9 Pereira", - "email": "patrick@bluerobotics.com" - }, - { - "name": "Arturo Manzoli", - "email": "arturo@bluerobotics.com" + "name": "Nick Nothom", + "email": "nick.nothom@ceruleansonar.com" } ], - "filter_tags": [ - "vehicle-control", - "control-station", - "ground-station", - "navigation", - "joystick", - "mission-planning" - ], + "filter_tags": [], "extra_links": {}, - "tag": "v1.0.2", + "tag": "1.10.2-beta", "docs": null, - "readme": "
\n
\n
\n


\n

\n
\n
\n
\n


\n

An intuitive and customizable cross-platform ground control station for remote vehicles of all types. Click here for a demo!

\n

\"Test,\n\"Downloads\"

\n

\"Latest\n\"Date\"

\n

\"Docker\"\n\"Pulls\"\n\"Size\"

\n

Standard Usage

\n

See our documentation \ud83d\udcd6

\n

Development

\n

Installing Cockpit

\n

Cockpit is typically installed as an Electron application or BlueOS Extension, but for development purposes it is valuable to run it locally.

\n

To start, clone the repository and its submodules. The submodules are required components for Cockpit to be able to run:

\n

git clone --recurse-submodules git@github.com:bluerobotics/cockpit.git

\n

Next, install bun. Following their documented instructions is strongly recommended - we have received reports that installing bun from alternatives like Snap did not work properly.

\n

With bun installed, you can enter the repository folder and follow the steps below:

\n

bun install

\n

and then run the server locally with:

\n

bun run dev --host

\n

Then you should see a prompt with the local IP and port that can be accessed through a browser, such as localhost:5173.

\n

Installing backend providers

\n

Cockpit is currently a frontend-only application. That means it relies on data offered by other backend solutions, which are not built-in.

\n

If you have a BlueOS instance running, there's no need to install any backend, as BlueOS already provides everything.

\n

If that's not your case and you want to install the necessary backends, follow the instructions below:

\n
    \n
  1. Install a MAVLink router. We recommend mavp2p or MAVLink Router.
  2. \n
  3. Run the MAVLink router, connecting it to your vehicle or SITL instance.
  4. \n
  5. Install mavlink2rest.
  6. \n
  7. Run mavlink2rest, pointing it to the endpoint provided by the MAVLink router. Remember to serve the API over the 6040 port by running it with --server 0.0.0.0:6040.
  8. \n
  9. [Optional] If you want to work with video streaming, install Mavlink Camera Manager.
  10. \n
\n

Connecting to your vehicle

\n

Follow the instructions provided here to connect Cockpit to your vehicle.

\n

If you're running a BlueOS instance, just put the IP address of it in \"Global vehicle address\" and click the \"apply\" button.

\n

If you're serving mavlink2rest in the same machine as Cockpit, activate the checkmark for \"Mavlink2Rest connection\" and use ws://127.0.0.1:6040/v1/ws/mavlink there (if you're running a mavlink2rest version before 0.11.15, omit the /v1 in the URL).

\n

If you're serving mavlink-camera-manager in the same machine as Cockpit, activate the checkmark for \"WebRTC connection\" and use ws://127.0.0.1:6020 there.

\n

Simulating a vehicle

\n

Cockpit provides a simulation environments in a docker compose file. There is an environment provided for ArduSub, ArduCopter, ArduRover and ArduPlane. The compose file uses docker compose profiles to allow you to choose which vehicle you want to simulate. The available profiles are ardusub, arducopter, ardurover and arduplane. You can run a simulation environment by running the following command:

\n

docker-compose -f sim.yml --profile ardusub up

\n

Assuming you have run the bun run dev --host command, you can access the simulation environment by opening the browser and accessing localhost:5173.

", - "support": "https://discuss.bluerobotics.com/c/bluerobotics-software", + "readme": "

SonarView

\n

SonarView is a cross-platform application for controlling and communicating with sonar devices.

\n

This repository hosts the build and release process for SonarView.

\n", + "support": "https://forum.ceruleansonar.com/categories", "requirements": null, "company": { - "about": "", - "name": "Blue Robotics", - "email": "support@bluerobotics.com" + "about": "Cerulean Sonar: Advanced Technology. Sensibly Priced.", + "name": "Cerulean Sonar", + "email": "dennys.bisogno@ceruleansonar.com" }, "permissions": { - "ExposedPorts": { - "8000/tcp": {} - }, "HostConfig": { - "PortBindings": { - "8000/tcp": [ - { - "HostPort": "" - } - ] - } + "NetworkMode": "host", + "Binds": [ + "/usr/blueos/userdata/SonarView:/userdata" + ], + "ReadonlyRootfs": true, + "ExtraHosts": [ + "host.docker.internal:host-gateway" + ] } } }, - "v1.0.1": { - "identifier": "92b97ef2-dfc0-5899-b3c0-633e7e8e75b8", - "type": "other", - "website": null, + "1.10.0": { + "identifier": "49e536c2-67b0-5378-9568-14876ab174f0", + "type": "device-integration", + "website": "https://ceruleansonar.com", "images": [ { - "expanded_size": 17453323, + "expanded_size": 112680456, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:e97b0f36256879af42d722eb247a15b13c1fc09bdc9f842e2863b083d97e6746" + "digest": "sha256:89320f349fe49896676c0dc39122a9cfca50d01aa5d1b062e0445a6c6260acc1" } ], "authors": [ { - "name": "Rafael Araujo Lehmkuhl", - "email": "rafael@bluerobotics.com" - }, - { - "name": "Patrick Jos\u00e9 Pereira", - "email": "patrick@bluerobotics.com" - }, - { - "name": "Arturo Manzoli", - "email": "arturo@bluerobotics.com" + "name": "Nick Nothom", + "email": "nick.nothom@ceruleansonar.com" } ], - "filter_tags": [ - "vehicle-control", - "control-station", - "ground-station", - "navigation", - "joystick", - "mission-planning" - ], + "filter_tags": [], "extra_links": {}, - "tag": "v1.0.1", + "tag": "1.10.0", "docs": null, - "readme": "
\n
\n
\n


\n

\n
\n
\n
\n


\n

An intuitive and customizable cross-platform ground control station for remote vehicles of all types. Click here for a demo!

\n

\"Test,\n\"Downloads\"

\n

\"Latest\n\"Date\"

\n

\"Docker\"\n\"Pulls\"\n\"Size\"

\n

Standard Usage

\n

See our documentation \ud83d\udcd6

\n

Development

\n

Installing Cockpit

\n

Cockpit is typically installed as an Electron application or BlueOS Extension, but for development purposes it is valuable to run it locally.

\n

To start, clone the repository and its submodules. The submodules are required components for Cockpit to be able to run:

\n

git clone --recurse-submodules git@github.com:bluerobotics/cockpit.git

\n

Next, install bun. Following their documented instructions is strongly recommended - we have received reports that installing bun from alternatives like Snap did not work properly.

\n

With bun installed, you can enter the repository folder and follow the steps below:

\n

bun install

\n

and then run the server locally with:

\n

bun run dev --host

\n

Then you should see a prompt with the local IP and port that can be accessed through a browser, such as localhost:5173.

\n

Installing backend providers

\n

Cockpit is currently a frontend-only application. That means it relies on data offered by other backend solutions, which are not built-in.

\n

If you have a BlueOS instance running, there's no need to install any backend, as BlueOS already provides everything.

\n

If that's not your case and you want to install the necessary backends, follow the instructions below:

\n
    \n
  1. Install a MAVLink router. We recommend mavp2p or MAVLink Router.
  2. \n
  3. Run the MAVLink router, connecting it to your vehicle or SITL instance.
  4. \n
  5. Install mavlink2rest.
  6. \n
  7. Run mavlink2rest, pointing it to the endpoint provided by the MAVLink router. Remember to serve the API over the 6040 port by running it with --server 0.0.0.0:6040.
  8. \n
  9. [Optional] If you want to work with video streaming, install Mavlink Camera Manager.
  10. \n
\n

Connecting to your vehicle

\n

Follow the instructions provided here to connect Cockpit to your vehicle.

\n

If you're running a BlueOS instance, just put the IP address of it in \"Global vehicle address\" and click the \"apply\" button.

\n

If you're serving mavlink2rest in the same machine as Cockpit, activate the checkmark for \"Mavlink2Rest connection\" and use ws://127.0.0.1:6040/v1/ws/mavlink there (if you're running a mavlink2rest version before 0.11.15, omit the /v1 in the URL).

\n

If you're serving mavlink-camera-manager in the same machine as Cockpit, activate the checkmark for \"WebRTC connection\" and use ws://127.0.0.1:6020 there.

\n

Simulating a vehicle

\n

Cockpit provides a simulation environments in a docker compose file. There is an environment provided for ArduSub, ArduCopter, ArduRover and ArduPlane. The compose file uses docker compose profiles to allow you to choose which vehicle you want to simulate. The available profiles are ardusub, arducopter, ardurover and arduplane. You can run a simulation environment by running the following command:

\n

docker-compose -f sim.yml --profile ardusub up

\n

Assuming you have run the bun run dev --host command, you can access the simulation environment by opening the browser and accessing localhost:5173.

", - "support": "https://discuss.bluerobotics.com/c/bluerobotics-software", + "readme": "

SonarView

\n

SonarView is a cross-platform application for controlling and communicating with sonar devices.

\n

This repository hosts the build and release process for SonarView.

\n", + "support": "https://forum.ceruleansonar.com/categories", "requirements": null, "company": { - "about": "", - "name": "Blue Robotics", - "email": "support@bluerobotics.com" + "about": "Cerulean Sonar: Advanced Technology. Sensibly Priced.", + "name": "Cerulean Sonar", + "email": "dennys.bisogno@ceruleansonar.com" }, "permissions": { - "ExposedPorts": { - "8000/tcp": {} - }, "HostConfig": { - "PortBindings": { - "8000/tcp": [ - { - "HostPort": "" - } - ] - } + "NetworkMode": "host", + "Binds": [ + "/usr/blueos/userdata/SonarView:/userdata" + ] } } }, - "v1.0.0": { - "identifier": "a790f37b-ad09-5aa7-b852-9afc5d60b466", - "type": "other", - "website": null, + "1.10.0-beta.12": { + "identifier": "d349a682-d3c4-5062-9217-8cd917b77022", + "type": "device-integration", + "website": "https://ceruleansonar.com", "images": [ { - "expanded_size": 17420845, + "expanded_size": 101384005, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:619e8d6540b4f5f64c68b1b9f120a3b79db4f40d3c1b6436e24f5dd8ff864e60" + "digest": "sha256:fdeb4a8e8dd78ac86f12da10ce85bbe34620cdec12f76d7b48e938a57f05cda9" } ], "authors": [ { - "name": "Rafael Araujo Lehmkuhl", - "email": "rafael@bluerobotics.com" - }, - { - "name": "Patrick Jos\u00e9 Pereira", - "email": "patrick@bluerobotics.com" - }, - { - "name": "Arturo Manzoli", - "email": "arturo@bluerobotics.com" + "name": "Nick Nothom", + "email": "nick.nothom@ceruleansonar.com" } ], - "filter_tags": [ - "vehicle-control", - "control-station", - "ground-station", - "navigation", - "joystick", - "mission-planning" - ], + "filter_tags": [], "extra_links": {}, - "tag": "v1.0.0", + "tag": "1.10.0-beta.12", "docs": null, - "readme": "
\n
\n
\n


\n

\n
\n
\n
\n


\n

An intuitive and customizable cross-platform ground control station for remote vehicles of all types. Click here for a demo!

\n

\"Test,\n\"Downloads\"

\n

\"Latest\n\"Date\"

\n

\"Docker\"\n\"Pulls\"\n\"Size\"

\n

Standard Usage

\n

See our documentation \ud83d\udcd6

\n

Development

\n

Installing Cockpit

\n

Cockpit is typically installed as an Electron application or BlueOS Extension, but for development purposes it is valuable to run it locally.

\n

To start, clone the repository and its submodules. The submodules are required components for Cockpit to be able to run:

\n

git clone --recurse-submodules git@github.com:bluerobotics/cockpit.git

\n

Next, install bun. Following their documented instructions is strongly recommended - we have received reports that installing bun from alternatives like Snap did not work properly.

\n

With bun installed, you can enter the repository folder and follow the steps below:

\n

bun install

\n

and then run the server locally with:

\n

bun run dev --host

\n

Then you should see a prompt with the local IP and port that can be accessed through a browser, such as localhost:5173.

\n

Installing backend providers

\n

Cockpit is currently a frontend-only application. That means it relies on data offered by other backend solutions, which are not built-in.

\n

If you have a BlueOS instance running, there's no need to install any backend, as BlueOS already provides everything.

\n

If that's not your case and you want to install the necessary backends, follow the instructions below:

\n
    \n
  1. Install a MAVLink router. We recommend mavp2p or MAVLink Router.
  2. \n
  3. Run the MAVLink router, connecting it to your vehicle or SITL instance.
  4. \n
  5. Install mavlink2rest.
  6. \n
  7. Run mavlink2rest, pointing it to the endpoint provided by the MAVLink router. Remember to serve the API over the 6040 port by running it with --server 0.0.0.0:6040.
  8. \n
  9. [Optional] If you want to work with video streaming, install Mavlink Camera Manager.
  10. \n
\n

Connecting to your vehicle

\n

Follow the instructions provided here to connect Cockpit to your vehicle.

\n

If you're running a BlueOS instance, just put the IP address of it in \"Global vehicle address\" and click the \"apply\" button.

\n

If you're serving mavlink2rest in the same machine as Cockpit, activate the checkmark for \"Mavlink2Rest connection\" and use ws://127.0.0.1:6040/v1/ws/mavlink there (if you're running a mavlink2rest version before 0.11.15, omit the /v1 in the URL).

\n

If you're serving mavlink-camera-manager in the same machine as Cockpit, activate the checkmark for \"WebRTC connection\" and use ws://127.0.0.1:6020 there.

\n

Simulating a vehicle

\n

Cockpit provides a simulation environments in a docker compose file. There is an environment provided for ArduSub, ArduCopter, ArduRover and ArduPlane. The compose file uses docker compose profiles to allow you to choose which vehicle you want to simulate. The available profiles are ardusub, arducopter, ardurover and arduplane. You can run a simulation environment by running the following command:

\n

docker-compose -f sim.yml --profile ardusub up

\n

Assuming you have run the bun run dev --host command, you can access the simulation environment by opening the browser and accessing localhost:5173.

", - "support": "https://discuss.bluerobotics.com/c/bluerobotics-software", + "readme": "

SonarView

\n

SonarView is a cross-platform application for controlling and communicating with sonar devices.

\n

This repository hosts the build and release process for SonarView.

\n", + "support": "https://forum.ceruleansonar.com/categories", "requirements": null, "company": { - "about": "", - "name": "Blue Robotics", - "email": "support@bluerobotics.com" + "about": "Cerulean Sonar: Advanced Technology. Sensibly Priced.", + "name": "Cerulean Sonar", + "email": "dennys.bisogno@ceruleansonar.com" }, "permissions": { - "ExposedPorts": { - "8000/tcp": {} - }, "HostConfig": { - "PortBindings": { - "8000/tcp": [ - { - "HostPort": "" - } - ] - } + "NetworkMode": "host", + "Binds": [ + "/usr/blueos/userdata/SonarView:/userdata" + ] } } }, - "v1.0.0-beta.30": { - "identifier": "6d5cd7a9-a771-5aa0-83a6-27e65d1823dd", - "type": "other", - "website": null, + "1.10.0-beta.11": { + "identifier": "21d0136b-e157-53b9-ab32-fc7af2d8773d", + "type": "device-integration", + "website": "https://ceruleansonar.com", "images": [ { - "expanded_size": 17420852, + "expanded_size": 101256004, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:ac23649c8d5b50320562b709af252530e63f8a57a6975592655e7ac85e602943" - }, - { - "expanded_size": 17635460, - "platform": { - "architecture": "arm64", - "variant": null, - "os": "linux" - }, - "digest": "sha256:07bd3bebfc90b28761442d04c114b8615a1c2231f186caf720f254a341039311" + "digest": "sha256:588e8164b3a0b2271228d951dbee79965b3c9689c45b1186a49ce9a80b819c3f" } ], "authors": [ { - "name": "Rafael Araujo Lehmkuhl", - "email": "rafael@bluerobotics.com" - }, - { - "name": "Patrick Jos\u00e9 Pereira", - "email": "patrick@bluerobotics.com" - }, - { - "name": "Arturo Manzoli", - "email": "arturo@bluerobotics.com" + "name": "Nick Nothom", + "email": "nick.nothom@ceruleansonar.com" } ], - "filter_tags": [ - "vehicle-control", - "control-station", - "ground-station", - "navigation", - "joystick", - "mission-planning" - ], + "filter_tags": [], "extra_links": {}, - "tag": "v1.0.0-beta.30", + "tag": "1.10.0-beta.11", "docs": null, - "readme": "
\n
\n
\n


\n

\n
\n
\n
\n


\n

An intuitive and customizable cross-platform ground control station for remote vehicles of all types. Click here for a demo!

\n

\"Test,\n\"Downloads\"

\n

\"Latest\n\"Date\"

\n

\"Docker\"\n\"Pulls\"\n\"Size\"

\n

Standard Usage

\n

See our documentation \ud83d\udcd6

\n

Development

\n

Installing Cockpit

\n

Cockpit is typically installed as an Electron application or BlueOS Extension, but for development purposes it is valuable to run it locally.

\n

To start, clone the repository and its submodules. The submodules are required components for Cockpit to be able to run:

\n

git clone --recurse-submodules git@github.com:bluerobotics/cockpit.git

\n

Next, install bun. Following their documented instructions is strongly recommended - we have received reports that installing bun from alternatives like Snap did not work properly.

\n

With bun installed, you can enter the repository folder and follow the steps below:

\n

bun install

\n

and then run the server locally with:

\n

bun run dev --host

\n

Then you should see a prompt with the local IP and port that can be accessed through a browser, such as localhost:5173.

\n

Installing backend providers

\n

Cockpit is currently a frontend-only application. That means it relies on data offered by other backend solutions, which are not built-in.

\n

If you have a BlueOS instance running, there's no need to install any backend, as BlueOS already provides everything.

\n

If that's not your case and you want to install the necessary backends, follow the instructions below:

\n
    \n
  1. Install a MAVLink router. We recommend mavp2p or MAVLink Router.
  2. \n
  3. Run the MAVLink router, connecting it to your vehicle or SITL instance.
  4. \n
  5. Install mavlink2rest.
  6. \n
  7. Run mavlink2rest, pointing it to the endpoint provided by the MAVLink router. Remember to serve the API over the 6040 port by running it with --server 0.0.0.0:6040.
  8. \n
  9. [Optional] If you want to work with video streaming, install Mavlink Camera Manager.
  10. \n
\n

Connecting to your vehicle

\n

Follow the instructions provided here to connect Cockpit to your vehicle.

\n

If you're running a BlueOS instance, just put the IP address of it in \"Global vehicle address\" and click the \"apply\" button.

\n

If you're serving mavlink2rest in the same machine as Cockpit, activate the checkmark for \"Mavlink2Rest connection\" and use ws://127.0.0.1:6040/v1/ws/mavlink there (if you're running a mavlink2rest version before 0.11.15, omit the /v1 in the URL).

\n

If you're serving mavlink-camera-manager in the same machine as Cockpit, activate the checkmark for \"WebRTC connection\" and use ws://127.0.0.1:6020 there.

\n

Simulating a vehicle

\n

Cockpit provides a simulation environments in a docker compose file. There is an environment provided for ArduSub, ArduCopter, ArduRover and ArduPlane. The compose file uses docker compose profiles to allow you to choose which vehicle you want to simulate. The available profiles are ardusub, arducopter, ardurover and arduplane. You can run a simulation environment by running the following command:

\n

docker-compose -f sim.yml --profile ardusub up

\n

Assuming you have run the bun run dev --host command, you can access the simulation environment by opening the browser and accessing localhost:5173.

", - "support": "https://discuss.bluerobotics.com/c/bluerobotics-software", + "readme": "

SonarView

\n

SonarView is a cross-platform application for controlling and communicating with sonar devices.

\n

This repository hosts the build and release process for SonarView.

\n", + "support": "https://forum.ceruleansonar.com/categories", "requirements": null, "company": { - "about": "", - "name": "Blue Robotics", - "email": "support@bluerobotics.com" + "about": "Cerulean Sonar: Advanced Technology. Sensibly Priced.", + "name": "Cerulean Sonar", + "email": "dennys.bisogno@ceruleansonar.com" }, "permissions": { - "ExposedPorts": { - "8000/tcp": {} - }, "HostConfig": { - "PortBindings": { - "8000/tcp": [ - { - "HostPort": "" - } - ] - } + "NetworkMode": "host", + "Binds": [ + "/usr/blueos/userdata/SonarView:/userdata" + ] } } }, - "v1.0.0-beta.28": { - "identifier": "c8bc7d7b-4d50-5d8f-8d23-35c6f84de056", - "type": "other", - "website": null, + "1.10.0-beta.10": { + "identifier": "cea5e538-5147-5706-8e4d-38cbdc320356", + "type": "device-integration", + "website": "https://ceruleansonar.com", "images": [ { - "expanded_size": 17408918, + "expanded_size": 101125762, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:651514362785addcc9a7d7c93c38198dcfc6a77e6b8f3c5c27cdfe1cdb4b71b4" + "digest": "sha256:aed2ec3f11c34455849d7df0202ad696e142cccf4f3cac6bf46c4e9ae781e0eb" } ], "authors": [ { - "name": "Rafael Araujo Lehmkuhl", - "email": "rafael@bluerobotics.com" - }, - { - "name": "Patrick Jos\u00e9 Pereira", - "email": "patrick@bluerobotics.com" - }, - { - "name": "Arturo Manzoli", - "email": "arturo@bluerobotics.com" + "name": "Nick Nothom", + "email": "nick.nothom@ceruleansonar.com" } ], - "filter_tags": [ - "vehicle-control", - "control-station", - "ground-station", - "navigation", - "joystick", - "mission-planning" - ], + "filter_tags": [], "extra_links": {}, - "tag": "v1.0.0-beta.28", + "tag": "1.10.0-beta.10", "docs": null, - "readme": "
\n
\n
\n


\n

\n
\n
\n
\n


\n

An intuitive and customizable cross-platform ground control station for remote vehicles of all types. Click here for a demo!

\n

\"Test,\n\"Downloads\"

\n

\"Latest\n\"Date\"

\n

\"Docker\"\n\"Pulls\"\n\"Size\"

\n

Standard Usage

\n

See our documentation \ud83d\udcd6

\n

Development

\n

Installing Cockpit

\n

Cockpit is typically installed as an Electron application or BlueOS Extension, but for development purposes it is valuable to run it locally.

\n

To start, clone the repository and its submodules. The submodules are required components for Cockpit to be able to run:

\n

git clone --recurse-submodules git@github.com:bluerobotics/cockpit.git

\n

Next, install bun. Following their documented instructions is strongly recommended - we have received reports that installing bun from alternatives like Snap did not work properly.

\n

With bun installed, you can enter the repository folder and follow the steps below:

\n

bun install

\n

and then run the server locally with:

\n

bun run dev --host

\n

Then you should see a prompt with the local IP and port that can be accessed through a browser, such as localhost:5173.

\n

Installing backend providers

\n

Cockpit is currently a frontend-only application. That means it relies on data offered by other backend solutions, which are not built-in.

\n

If you have a BlueOS instance running, there's no need to install any backend, as BlueOS already provides everything.

\n

If that's not your case and you want to install the necessary backends, follow the instructions below:

\n
    \n
  1. Install a MAVLink router. We recommend mavp2p or MAVLink Router.
  2. \n
  3. Run the MAVLink router, connecting it to your vehicle or SITL instance.
  4. \n
  5. Install mavlink2rest.
  6. \n
  7. Run mavlink2rest, pointing it to the endpoint provided by the MAVLink router. Remember to serve the API over the 6040 port by running it with --server 0.0.0.0:6040.
  8. \n
  9. [Optional] If you want to work with video streaming, install Mavlink Camera Manager.
  10. \n
\n

Connecting to your vehicle

\n

Follow the instructions provided here to connect Cockpit to your vehicle.

\n

If you're running a BlueOS instance, just put the IP address of it in \"Global vehicle address\" and click the \"apply\" button.

\n

If you're serving mavlink2rest in the same machine as Cockpit, activate the checkmark for \"Mavlink2Rest connection\" and use ws://127.0.0.1:6040/v1/ws/mavlink there (if you're running a mavlink2rest version before 0.11.15, omit the /v1 in the URL).

\n

If you're serving mavlink-camera-manager in the same machine as Cockpit, activate the checkmark for \"WebRTC connection\" and use ws://127.0.0.1:6020 there.

\n

Simulating a vehicle

\n

Cockpit provides a simulation environments in a docker compose file. There is an environment provided for ArduSub, ArduCopter, ArduRover and ArduPlane. The compose file uses docker compose profiles to allow you to choose which vehicle you want to simulate. The available profiles are ardusub, arducopter, ardurover and arduplane. You can run a simulation environment by running the following command:

\n

docker-compose -f sim.yml --profile ardusub up

\n

Assuming you have run the bun run dev --host command, you can access the simulation environment by opening the browser and accessing localhost:5173.

", - "support": "https://discuss.bluerobotics.com/c/bluerobotics-software", + "readme": "

SonarView

\n

SonarView is a cross-platform application for controlling and communicating with sonar devices.

\n

This repository hosts the build and release process for SonarView.

\n", + "support": "https://forum.ceruleansonar.com/categories", "requirements": null, "company": { - "about": "", - "name": "Blue Robotics", - "email": "support@bluerobotics.com" + "about": "Cerulean Sonar: Advanced Technology. Sensibly Priced.", + "name": "Cerulean Sonar", + "email": "dennys.bisogno@ceruleansonar.com" }, "permissions": { - "ExposedPorts": { - "8000/tcp": {} - }, "HostConfig": { - "PortBindings": { - "8000/tcp": [ - { - "HostPort": "" - } - ] - } + "NetworkMode": "host", + "Binds": [ + "/usr/blueos/userdata/SonarView:/userdata" + ] } } }, - "v1.0.0-beta.27": { - "identifier": "96d0cd8a-734a-5041-9914-6e897be4123a", - "type": "other", - "website": null, + "1.10.0-beta.5": { + "identifier": "3891d46c-944e-5dd0-aa43-8ef3423d9201", + "type": "device-integration", + "website": "https://ceruleansonar.com", "images": [ { - "expanded_size": 17343567, + "expanded_size": 101205315, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:b572fc4dffa8757ce4f4c2d391c7ea2c944a4ac7e44ad4db074f48aa1249046d" + "digest": "sha256:8fa0cb03edec8552eb104850491165926039a031687de6fd3f8db05cd3b42024" } ], "authors": [ { - "name": "Rafael Araujo Lehmkuhl", - "email": "rafael@bluerobotics.com" - }, - { - "name": "Patrick Jos\u00e9 Pereira", - "email": "patrick@bluerobotics.com" - }, - { - "name": "Arturo Manzoli", - "email": "arturo@bluerobotics.com" + "name": "Nick Nothom", + "email": "nick.nothom@ceruleansonar.com" } ], - "filter_tags": [ - "vehicle-control", - "control-station", - "ground-station", - "navigation", - "joystick", - "mission-planning" - ], + "filter_tags": [], "extra_links": {}, - "tag": "v1.0.0-beta.27", + "tag": "1.10.0-beta.5", "docs": null, - "readme": "
\n
\n
\n


\n

\n
\n
\n
\n


\n

An intuitive and customizable cross-platform ground control station for remote vehicles of all types. Click here for a demo!

\n

\"Test,\n\"Downloads\"

\n

\"Latest\n\"Date\"

\n

\"Docker\"\n\"Pulls\"\n\"Size\"

\n

Standard Usage

\n

See our documentation \ud83d\udcd6

\n

Development

\n

Installing Cockpit

\n

Cockpit is typically installed as an Electron application or BlueOS Extension, but for development purposes it is valuable to run it locally.

\n

To start, clone the repository and its submodules. The submodules are required components for Cockpit to be able to run:

\n

git clone --recurse-submodules git@github.com:bluerobotics/cockpit.git

\n

Next, install bun. Following their documented instructions is strongly recommended - we have received reports that installing bun from alternatives like Snap did not work properly.

\n

With bun installed, you can enter the repository folder and follow the steps below:

\n

bun install

\n

and then run the server locally with:

\n

bun run dev --host

\n

Then you should see a prompt with the local IP and port that can be accessed through a browser, such as localhost:5173.

\n

Installing backend providers

\n

Cockpit is currently a frontend-only application. That means it relies on data offered by other backend solutions, which are not built-in.

\n

If you have a BlueOS instance running, there's no need to install any backend, as BlueOS already provides everything.

\n

If that's not your case and you want to install the necessary backends, follow the instructions below:

\n
    \n
  1. Install a MAVLink router. We recommend mavp2p or MAVLink Router.
  2. \n
  3. Run the MAVLink router, connecting it to your vehicle or SITL instance.
  4. \n
  5. Install mavlink2rest.
  6. \n
  7. Run mavlink2rest, pointing it to the endpoint provided by the MAVLink router. Remember to serve the API over the 6040 port by running it with --server 0.0.0.0:6040.
  8. \n
  9. [Optional] If you want to work with video streaming, install Mavlink Camera Manager.
  10. \n
\n

Connecting to your vehicle

\n

Follow the instructions provided here to connect Cockpit to your vehicle.

\n

If you're running a BlueOS instance, just put the IP address of it in \"Global vehicle address\" and click the \"apply\" button.

\n

If you're serving mavlink2rest in the same machine as Cockpit, activate the checkmark for \"Mavlink2Rest connection\" and use ws://127.0.0.1:6040/v1/ws/mavlink there (if you're running a mavlink2rest version before 0.11.15, omit the /v1 in the URL).

\n

If you're serving mavlink-camera-manager in the same machine as Cockpit, activate the checkmark for \"WebRTC connection\" and use ws://127.0.0.1:6020 there.

\n

Simulating a vehicle

\n

Cockpit provides a simulation environments in a docker compose file. There is an environment provided for ArduSub, ArduCopter, ArduRover and ArduPlane. The compose file uses docker compose profiles to allow you to choose which vehicle you want to simulate. The available profiles are ardusub, arducopter, ardurover and arduplane. You can run a simulation environment by running the following command:

\n

docker-compose -f sim.yml --profile ardusub up

\n

Assuming you have run the bun run dev --host command, you can access the simulation environment by opening the browser and accessing localhost:5173.

", - "support": "https://discuss.bluerobotics.com/c/bluerobotics-software", + "readme": "

SonarView

\n

SonarView is a cross-platform application for controlling and communicating with sonar devices.

\n

This repository hosts the build and release process for SonarView.

\n", + "support": "https://forum.ceruleansonar.com/categories", "requirements": null, "company": { - "about": "", - "name": "Blue Robotics", - "email": "support@bluerobotics.com" + "about": "Cerulean Sonar: Advanced Technology. Sensibly Priced.", + "name": "Cerulean Sonar", + "email": "dennys.bisogno@ceruleansonar.com" }, "permissions": { - "ExposedPorts": { - "8000/tcp": {} - }, "HostConfig": { - "PortBindings": { - "8000/tcp": [ - { - "HostPort": "" - } - ] - } + "NetworkMode": "host", + "Binds": [ + "/usr/blueos/userdata/SonarView:/userdata" + ] } } - } - }, - "repo_info": { - "downloads": 64203, - "last_updated": "2025-01-22T15:26:46.047828Z", - "date_registered": "2023-01-30T01:40:41.340441Z" - } - }, - { - "identifier": "bluerobotics.water-linked-dvl", - "name": "Water Linked DVL", - "website": "https://github.com/bluerobotics/BlueOS-Water-Linked-DVL/", - "docker": "bluerobotics/blueos-water-linked-dvl", - "description": "Enables ROV position holding and navigation", - "extension_logo": "https://raw.githubusercontent.com/bluerobotics/BlueOS-Extensions-Repository/master/repos/bluerobotics/water-linked-dvl/extension_logo.png", - "company_logo": "https://raw.githubusercontent.com/bluerobotics/BlueOS-Extensions-Repository/master/repos/bluerobotics/company_logo.png", - "versions": { - "v1.0.7": { - "identifier": "bc9d57c3-cf02-5785-bf89-921c450a9fb4", + }, + "1.10.0-beta.4": { + "identifier": "06ad512b-596b-5943-9a53-7046445e0bf7", "type": "device-integration", - "website": "https://github.com/bluerobotics/BlueOS-Water-Linked-DVL", + "website": "https://ceruleansonar.com", "images": [ { - "expanded_size": 70965287, + "expanded_size": 101198927, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:b96869c28654831900781874f50eb75649b5b600a88abdfcbdfb30fc5fcd12e3" + "digest": "sha256:573434b0d1ad6e9a65bd1a29ec77ee16ed7392411b73adc6a739d2acbec3481d" } ], "authors": [ { - "name": "Willian Galvani", - "email": "willian@bluerobotics.com" + "name": "Nick Nothom", + "email": "nick.nothom@ceruleansonar.com" } ], - "filter_tags": [ - "positioning", - "navigation", - "doppler-velocity-log" - ], + "filter_tags": [], "extra_links": {}, - "tag": "v1.0.7", + "tag": "1.10.0-beta.4", "docs": null, - "readme": "

BlueOS-Water-Linked-DVL

\n

Changelog

\n

v1.0.7

\n
    \n
  • Fix using lat/long inputs with no internet
  • \n
\n

v1.0.6

\n
    \n
  • No longer sets parameters automatically. Users can now change for two modes of operation:
      \n
    • DVL-only, the recommended mode
    • \n
    • DVL+GPS, experimental mode which allows fusing (underwater) GPS and DVL data
    • \n
    \n
  • \n
\n

v1.0.5

\n
    \n
  • Update texts to make support of DVL A125 obvious
  • \n
\n

v1.0.4

\n
    \n
  • Fix issue introduced in v1.0.3 where the extension was unable to talk to Cable-guy
  • \n
\n

v1.0.3

\n
    \n
  • Uses an random available port instead of 9001 to avoid conflict
  • \n
  • Updated menu icon
  • \n
\n

v1.0.2

\n
    \n
  • Improved style
  • \n
\n

v1.0.1

\n
    \n
  • Fixed an issue where the driver was sending Rangefinder messages with invalid data
  • \n
\n

This is a docker implementation of a Water Linked DVL A50 and A125 driver as a BlueOS Extension.

\n

Install

\n

Install it from BlueOS extensions tab.

\n

The service will show in the \"Extension Manager\" section in BlueOS, where there are some configuration options.

", - "support": "https://github.com/bluerobotics/BlueOS-Water-Linked-DVL/issues", - "requirements": "core >= 1.1", + "readme": "

SonarView

\n

SonarView is a cross-platform application for controlling and communicating with sonar devices.

\n

This repository hosts the build and release process for SonarView.

\n", + "support": "https://forum.ceruleansonar.com/categories", + "requirements": null, "company": { - "about": "", - "name": "Blue Robotics", - "email": "support@bluerobotics.com" + "about": "Cerulean Sonar: Advanced Technology. Sensibly Priced.", + "name": "Cerulean Sonar", + "email": "dennys.bisogno@ceruleansonar.com" }, "permissions": { - "ExposedPorts": { - "9001/tcp": {} - }, "HostConfig": { + "NetworkMode": "host", "Binds": [ - "/root/.config:/root/.config" - ], - "ExtraHosts": [ - "host.docker.internal:host-gateway" - ], - "PortBindings": { - "9001/tcp": [ - { - "HostPort": "" - } - ] - } + "/usr/blueos/userdata/SonarView:/userdata" + ] } } }, - "v1.0.6": { - "identifier": "5b72c3c7-cc68-5c2c-9edd-b400daa9070d", + "1.10.0-beta.1": { + "identifier": "7b278514-5be9-5a08-951b-4498a58723c9", "type": "device-integration", - "website": "https://github.com/bluerobotics/BlueOS-Water-Linked-DVL", + "website": "https://ceruleansonar.com", "images": [ { - "expanded_size": 70955108, + "expanded_size": 49771027, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:5c4cc57ab14bbc3c32fc83aefad9f4ef6ab244411b1f80c4511fd6f70535fb48" + "digest": "sha256:85161c073ce12e2097dda21e71e5802b274c470d939ef8ae2a09fd09f0ef2b7c" } ], "authors": [ { - "name": "Willian Galvani", - "email": "willian@bluerobotics.com" + "name": "Nick Nothom", + "email": "nick.nothom@ceruleansonar.com" } ], - "filter_tags": [ - "positioning", - "navigation", - "doppler-velocity-log" - ], + "filter_tags": [], "extra_links": {}, - "tag": "v1.0.6", + "tag": "1.10.0-beta.1", "docs": null, - "readme": "

BlueOS-Water-Linked-DVL

\n

Changelog

\n

v1.0.6

\n
    \n
  • No longer sets parameters automatically. Users can now change for two modes of operation:
      \n
    • DVL-only, the recommended mode
    • \n
    • DVL+GPS, experimental mode which allows fusing (underwater) GPS and DVL data
    • \n
    \n
  • \n
\n

v1.0.5

\n
    \n
  • Update texts to make support of DVL A125 obvious
  • \n
\n

v1.0.4

\n
    \n
  • Fix issue introduced in v1.0.3 where the extension was unable to talk to Cable-guy
  • \n
\n

v1.0.3

\n
    \n
  • Uses an random available port instead of 9001 to avoid conflict
  • \n
  • Updated menu icon
  • \n
\n

v1.0.2

\n
    \n
  • Improved style
  • \n
\n

v1.0.1

\n
    \n
  • Fixed an issue where the driver was sending Rangefinder messages with invalid data
  • \n
\n

This is a docker implementation of a Water Linked DVL A50 and A125 driver as a BlueOS Extension.

\n

Install

\n

Install it from BlueOS extensions tab.

\n

The service will show in the \"Extension Manager\" section in BlueOS, where there are some configuration options.

", - "support": "https://github.com/bluerobotics/BlueOS-Water-Linked-DVL/issues", - "requirements": "core >= 1.1", + "readme": "

SonarView

\n

SonarView is a cross-platform application for controlling and communicating with sonar devices.

\n

This repository hosts the build and release process for SonarView.

\n", + "support": "https://forum.ceruleansonar.com/categories", + "requirements": null, "company": { - "about": "", - "name": "Blue Robotics", - "email": "support@bluerobotics.com" + "about": "Cerulean Sonar: Advanced Technology. Sensibly Priced.", + "name": "Cerulean Sonar", + "email": "dennys.bisogno@ceruleansonar.com" }, "permissions": { - "ExposedPorts": { - "9001/tcp": {} - }, "HostConfig": { + "NetworkMode": "host", "Binds": [ - "/root/.config:/root/.config" - ], - "ExtraHosts": [ - "host.docker.internal:host-gateway" - ], - "PortBindings": { - "9001/tcp": [ - { - "HostPort": "" - } - ] - } + "/usr/blueos/userdata/SonarView:/userdata" + ] } } }, - "v1.0.5": { - "identifier": "d4a8e194-7374-5f38-9e6b-05d689366907", + "1.9.12": { + "identifier": "325dc850-1974-5133-b4c6-b04c2c34eb77", "type": "device-integration", - "website": "https://github.com/bluerobotics/BlueOS-Water-Linked-DVL", + "website": "https://ceruleansonar.com", "images": [ { - "expanded_size": 71286141, + "expanded_size": 49771292, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:7af61750294fa6eb726e73f855d6ec207ba7bf2c0af1e1ac9626c9e29b54a924" + "digest": "sha256:d3f23d2b3c9cb79a7d476e929d68a86ede6a2eb1c7aef38241ac02c9f5abc966" } ], "authors": [ { - "name": "Willian Galvani", - "email": "willian@bluerobotics.com" + "name": "Nick Nothom", + "email": "nick.nothom@ceruleansonar.com" } ], - "filter_tags": [ - "positioning", - "navigation", - "doppler-velocity-log" - ], + "filter_tags": [], "extra_links": {}, - "tag": "v1.0.5", + "tag": "1.9.12", "docs": null, - "readme": "

BlueOS-Water-Linked-DVL

\n

Changelog

\n

v1.0.5

\n
    \n
  • Update texts to make support of DVL A125 obvious
  • \n
\n

v1.0.4

\n
    \n
  • Fix issue introduced in v1.0.3 where the extension was unable to talk to Cable-guy
  • \n
\n

v1.0.3

\n
    \n
  • Uses an random available port instead of 9001 to avoid conflict
  • \n
  • Updated menu icon
  • \n
\n

v1.0.2

\n
    \n
  • Improved style
  • \n
\n

v1.0.1

\n
    \n
  • Fixed an issue where the driver was sending Rangefinder messages with invalid data
  • \n
\n

This is a docker implementation of a Water Linked DVL A50 and A125 driver as a BlueOS Extension.

\n

Install

\n

Install it from BlueOS extensions tab.

\n

The service will show in the \"Extension Manager\" section in BlueOS, where there are some configuration options.

", - "support": "https://github.com/bluerobotics/BlueOS-Water-Linked-DVL/issues", - "requirements": "core >= 1.1", + "readme": "

SonarView

\n

SonarView is a cross-platform application for controlling and communicating with sonar devices.

\n

This repository hosts the build and release process for SonarView.

\n", + "support": "https://forum.ceruleansonar.com/categories", + "requirements": null, "company": { - "about": "", - "name": "Blue Robotics", - "email": "support@bluerobotics.com" + "about": "Cerulean Sonar: Advanced Technology. Sensibly Priced.", + "name": "Cerulean Sonar", + "email": "dennys.bisogno@ceruleansonar.com" }, "permissions": { - "ExposedPorts": { - "9001/tcp": {} - }, "HostConfig": { + "NetworkMode": "host", "Binds": [ - "/root/.config:/root/.config" - ], - "ExtraHosts": [ - "host.docker.internal:host-gateway" - ], - "PortBindings": { - "9001/tcp": [ - { - "HostPort": "" - } - ] - } + "/usr/blueos/userdata/SonarView:/userdata" + ] } } }, - "v1.0.4": { - "identifier": "d28a5218-620a-58c3-8468-46a878b2260a", + "1.9.12-beta.9": { + "identifier": "572ecada-021f-5961-9c71-c79deb82fe25", "type": "device-integration", - "website": "https://github.com/bluerobotics/BlueOS-Water-Linked-DVL", + "website": "https://ceruleansonar.com", "images": [ { - "expanded_size": 71246910, + "expanded_size": 42853862, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:f8ee948cb512af09d2cab3cc92cc39de0bc802645f382033ba7c5d5972f7c541" + "digest": "sha256:d9521aca36f3adb67a84358499748d9386edfead62f1ca0838dec52ef9422382" } ], "authors": [ { - "name": "Willian Galvani", - "email": "willian@bluerobotics.com" + "name": "Nick Nothom", + "email": "nick.nothom@ceruleansonar.com" } ], - "filter_tags": [ - "positioning", - "navigation", - "doppler-velocity-log" - ], + "filter_tags": [], "extra_links": {}, - "tag": "v1.0.4", + "tag": "1.9.12-beta.9", "docs": null, - "readme": "

BlueOS-Water-Linked-DVL

\n

Changelog

\n

v1.0.4

\n
    \n
  • Fix issue introduced in v1.0.3 where the extension was unable to talk to Cable-guy
  • \n
\n

v1.0.3

\n
    \n
  • Uses an random available port instead of 9001 to avoid conflict
  • \n
  • Updated menu icon
  • \n
\n

v1.0.2

\n
    \n
  • Improved style
  • \n
\n

v1.0.1

\n
    \n
  • Fixed an issue where the driver was sending Rangefinder messages with invalid data
  • \n
\n

This is a docker implementation of a Waterlinked DVL A50 driver as a BlueOS Extension.

\n

Install

\n

Install it from BlueOS extensions tab.

\n

The service will show in the \"Extension Manager\" section in BlueOS, where there are some configuration options.

", - "support": "https://github.com/bluerobotics/BlueOS-Water-Linked-DVL/issues", - "requirements": "core >= 1.1", + "readme": "

SonarView

\n

SonarView is a cross-platform application for controlling and communicating with sonar devices.

\n

This repository hosts the build and release process for SonarView.

\n", + "support": "https://forum.ceruleansonar.com/categories", + "requirements": null, "company": { - "about": "", - "name": "Blue Robotics", - "email": "support@bluerobotics.com" + "about": "Cerulean Sonar: Advanced Technology. Sensibly Priced.", + "name": "Cerulean Sonar", + "email": "dennys.bisogno@ceruleansonar.com" }, "permissions": { - "ExposedPorts": { - "9001/tcp": {} - }, "HostConfig": { + "NetworkMode": "host", "Binds": [ - "/root/.config:/root/.config" - ], - "ExtraHosts": [ - "host.docker.internal:host-gateway" - ], - "PortBindings": { - "9001/tcp": [ - { - "HostPort": "" - } - ] - } + "/usr/blueos/userdata/SonarView:/userdata" + ] } } }, - "v1.0.3": { - "identifier": "a6397468-59fb-5808-9706-ea15c6948122", + "1.9.12-beta.8": { + "identifier": "e2d5ea6f-d93b-5db2-8c6f-c10c1d652ea6", "type": "device-integration", - "website": "https://github.com/bluerobotics/BlueOS-Water-Linked-DVL", + "website": "https://ceruleansonar.com", "images": [ { - "expanded_size": 71173047, + "expanded_size": 42853915, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:18c4bf17906b278c44e840b40f8561928283ea151f48958ef42dd8ee0d95eb48" + "digest": "sha256:3b8b7880f4ce78bab0ab1a28d2bb9aaf92cffc1cf807f905e45de1406885acdd" } ], "authors": [ { - "name": "Willian Galvani", - "email": "willian@bluerobotics.com" + "name": "Nick Nothom", + "email": "nick.nothom@ceruleansonar.com" } ], - "filter_tags": [ - "positioning", - "navigation", - "doppler-velocity-log" - ], + "filter_tags": [], "extra_links": {}, - "tag": "v1.0.3", + "tag": "1.9.12-beta.8", "docs": null, - "readme": "

BlueOS-Water-Linked-DVL

\n

Changelog

\n

v1.0.3

\n
    \n
  • Uses an random available port instead of 9001 to avoid conflict
  • \n
  • Updated menu icon
  • \n
\n

v1.0.2

\n
    \n
  • Improved style
  • \n
\n

v1.0.1

\n
    \n
  • Fixed an issue where the driver was sending Rangefinder messages with invalid data
  • \n
\n

This is a docker implementation of a Waterlinked DVL A50 driver as a BlueOS Extension.

\n

Install

\n

Install it from BlueOS extensions tab.

\n

The service will show in the \"Extension Manager\" section in BlueOS, where there are some configuration options.

", - "support": "https://github.com/bluerobotics/BlueOS-Water-Linked-DVL/issues", - "requirements": "core >= 1.1", + "readme": "

SonarView

\n

SonarView is a cross-platform application for controlling and communicating with sonar devices.

\n

This repository hosts the build and release process for SonarView.

\n", + "support": "https://forum.ceruleansonar.com/categories", + "requirements": null, "company": { - "about": "", - "name": "Blue Robotics", - "email": "support@bluerobotics.com" + "about": "Cerulean Sonar: Advanced Technology. Sensibly Priced.", + "name": "Cerulean Sonar", + "email": "dennys.bisogno@ceruleansonar.com" }, "permissions": { - "ExposedPorts": { - "9001/tcp": {} - }, "HostConfig": { + "NetworkMode": "host", "Binds": [ - "/root/.config:/root/.config" - ], - "PortBindings": { - "9001/tcp": [ - { - "HostPort": "" - } - ] - } + "/usr/blueos/userdata/SonarView:/userdata" + ] } } }, - "v1.0.2": { - "identifier": "a5416f70-61fe-5098-930b-6fce0d2c0bf4", - "type": "other", - "website": "https://github.com/bluerobotics/BlueOS-Water-Linked-DVL", + "1.9.12-beta.7": { + "identifier": "37cf3df4-a47b-5787-8c68-2ce193cc9224", + "type": "device-integration", + "website": "https://ceruleansonar.com", "images": [ { - "expanded_size": 72588503, + "expanded_size": 40285609, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:1e8607b8ea94b70337ada4b84941aa38fcccb06b0c630122d07c2dc66e64630d" + "digest": "sha256:4ebbc42072d29c9c40fa1117613187cca80221b90da372b87cd6fc51ce4f6b4b" } ], "authors": [ { - "name": "Willian Galvani", - "email": "willian@bluerobotics.com" + "name": "Nick Nothom", + "email": "nick.nothom@ceruleansonar.com" } ], "filter_tags": [], "extra_links": {}, - "tag": "v1.0.2", + "tag": "1.9.12-beta.7", "docs": null, - "readme": "

BlueOS-Water-Linked-DVL

\n

Changelog

\n

v1.0.2

\n
    \n
  • Improved style
  • \n
\n

v1.0.1

\n
    \n
  • Fixed an issue where the driver was sending Rangefinder messages with invalid data
  • \n
\n

This is a docker implementation of a Waterlinked DVL A50 driver as a BlueOS Extension.

\n

Install

\n

Install it from BlueOS extensions tab.

\n

The service will show in the \"Extension Manager\" section in BlueOS, where there are some configuration options.

", - "support": "https://github.com/bluerobotics/BlueOS-Water-Linked-DVL", - "requirements": "core > 1", + "readme": "

SonarView

\n

SonarView is a cross-platform application for controlling and communicating with sonar devices.

\n

This repository hosts the build and release process for SonarView.

\n", + "support": "https://forum.ceruleansonar.com/categories", + "requirements": null, "company": { - "about": "", - "name": "Blue Robotics", - "email": "support@bluerobotics.com" + "about": "Cerulean Sonar: Advanced Technology. Sensibly Priced.", + "name": "Cerulean Sonar", + "email": "dennys.bisogno@ceruleansonar.com" }, "permissions": { - "NetworkMode": "host" + "HostConfig": { + "NetworkMode": "host", + "Binds": [ + "/usr/blueos/userdata/SonarView:/userdata" + ] + } } }, - "v1.0.1": { - "identifier": "98ed5b74-52a3-57e1-a100-cbeb698c5498", - "type": "other", - "website": "https://github.com/bluerobotics/BlueOS-Water-Linked-DVL", + "1.9.10-beta": { + "identifier": "928cbe63-a345-597c-9842-912381024d38", + "type": "device-integration", + "website": "https://ceruleansonar.com", "images": [ { - "expanded_size": 72798434, + "expanded_size": 35750482, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:65115990f649c932a39466fc846aaf671608b441c1e8e8448b8cd4496204d88d" + "digest": "sha256:0864648de9a0b21141eeb3f6bfd0a7bb065a7b32033ad9c10e01a81504d25272" } ], "authors": [ { - "name": "Willian Galvani", - "email": "willian@bluerobotics.com" + "name": "Nick Nothom", + "email": "nick.nothom@ceruleansonar.com" } ], "filter_tags": [], "extra_links": {}, - "tag": "v1.0.1", + "tag": "1.9.10-beta", "docs": null, - "readme": "

BlueOS-Water-Linked-DVL

\n

Changelog

\n

v1.0.1

\n
    \n
  • Fixed an issue where the driver was sending Rangefinder messages with invalid data
  • \n
\n

This is a docker implementation of a Waterlinked DVL-a50 driver for the new Blue Robotics BlueOS.

\n

To set this up, ssh into the Raspberry Pi (or access via red-pill in BlueOS Terminal) and run

\n

sudo docker run -d --net=host -v /root/.config/blueos:/root/.config --name=BlueOS-Water-Linked-DVL --restart=unless-stopped bluerobotics/blueos-water-linked-dvl:latest

\n

The service will show in the \"Available Services\" section in BlueOS, where there are some configuration options.

", - "support": "https://github.com/bluerobotics/BlueOS-Water-Linked-DVL", - "requirements": "core > 1", + "readme": "

SonarView

\n

SonarView is a cross-platform application for controlling and communicating with sonar devices.

\n

This repository hosts the build and release process for SonarView.

\n", + "support": "https://forum.ceruleansonar.com/categories", + "requirements": null, "company": { - "about": "", - "name": "Blue Robotics", - "email": "support@bluerobotics.com" + "about": "Cerulean Sonar: Advanced Technology. Sensibly Priced.", + "name": "Cerulean Sonar", + "email": "dennys.bisogno@ceruleansonar.com" }, "permissions": { - "NetworkMode": "host" + "HostConfig": { + "NetworkMode": "host", + "Binds": [ + "/usr/blueos/userdata/SonarView:/userdata" + ] + } } }, - "v1.0.0": { - "identifier": "a12a3bf4-23fa-54be-b7af-d4b1598c8246", - "type": "other", - "website": "https://github.com/bluerobotics/BlueOS-Water-Linked-DVL", + "1.9.8": { + "identifier": "3d33dc4f-e0cd-5018-836f-a1103bef5a6a", + "type": "device-integration", + "website": "https://ceruleansonar.com", "images": [ { - "expanded_size": 72784115, + "expanded_size": 71022758, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:daae2a13f71622da16ae0b2a766c3b17b314cf15d538d00112f4036677dad0de" + "digest": "sha256:835ef36209e513f79662b5647c49db8956a7d294e3b0fac7a1fb351d68296e29" } ], "authors": [ { - "name": "Willian Galvani", - "email": "willian@bluerobotics.com" + "name": "Nick Nothom", + "email": "nick.nothom@ceruleansonar.com" } ], "filter_tags": [], "extra_links": {}, - "tag": "v1.0.0", + "tag": "1.9.8", "docs": null, - "readme": "

BlueOS-Water-Linked-DVL

\n

This is a docker implementation of a Waterlinked DVL-a50 driver for the new Blue Robotics BlueOS.

\n

To set this up, ssh into the Raspberry Pi (or access via red-pill in BlueOS Terminal) and run

\n

sudo docker run -d --net=host -v /root/.config/blueos:/root/.config --name=BlueOS-Water-Linked-DVL --restart=unless-stopped bluerobotics/blueos-water-linked-dvl:latest

\n

The service will show in the \"Available Services\" section in BlueOS, where there are some configuration options.

", - "support": "https://github.com/bluerobotics/BlueOS-Water-Linked-DVL", - "requirements": "core > 1", + "readme": "

SonarView

\n

SonarView is a cross-platform application for controlling and communicating with sonar devices.

\n

This repository hosts the build and release process for SonarView.

\n", + "support": "https://forum.ceruleansonar.com/categories", + "requirements": null, "company": { - "about": "", - "name": "Blue Robotics", - "email": "support@bluerobotics.com" + "about": "Cerulean Sonar: Advanced Technology. Sensibly Priced.", + "name": "Cerulean Sonar", + "email": "dennys.bisogno@ceruleansonar.com" }, "permissions": { - "NetworkMode": "host" - } - } - }, - "repo_info": { - "downloads": 235053, - "last_updated": "2024-11-27T15:41:37.907923Z", - "date_registered": "2022-06-01T23:43:43.19026Z" - } - }, - { - "identifier": "bluerobotics.node-red", - "name": "Node-RED", - "website": "https://github.com/patrickelectric/blueos-node-red", - "docker": "patrickelectric/blueos-node-red", - "description": "Low-code development tool for custom functionality", - "extension_logo": "https://raw.githubusercontent.com/bluerobotics/BlueOS-Extensions-Repository/master/repos/bluerobotics/node-red/extension_logo.png", - "company_logo": "https://raw.githubusercontent.com/bluerobotics/BlueOS-Extensions-Repository/master/repos/bluerobotics/company_logo.png", - "versions": { - "1.1.0": { - "identifier": "4e50156a-1afb-592e-bf18-c159d7c126a0", - "type": "other", - "website": null, + "HostConfig": { + "NetworkMode": "host", + "Binds": [ + "/usr/blueos/userdata/SonarView:/userdata" + ] + } + } + }, + "1.9.7": { + "identifier": "84568eec-06cf-5d1f-8be6-13370e975317", + "type": "device-integration", + "website": "https://ceruleansonar.com", "images": [ { - "expanded_size": 168829981, + "expanded_size": 35564484, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:7fd15626dafae013f3d3bfd8dde4a11003bbd9c1c1c1d9e63edaa765fba77542" + "digest": "sha256:0185bd281f703bfd3b3cd58b65cb409acb2a8b0be7a9c1001fa467a599b50836" } ], "authors": [ { - "name": "Patrick Jos\u00e9 Pereira", - "email": "patrickelectric@gmail.com" + "name": "Nick Nothom", + "email": "nick.nothom@ceruleansonar.com" } ], - "filter_tags": [ - "code", - "development", - "ide", - "node-red" - ], + "filter_tags": [], "extra_links": {}, - "tag": "1.1.0", + "tag": "1.9.7", "docs": null, - "readme": "

BlueOS node-red

\n

Node-RED is a programming tool for wiring together hardware devices, APIs and online services in new and interesting ways.

\n

It provides a browser-based editor that makes it easy to wire together flows using the wide range of nodes in the palette that can be deployed to its runtime in a single-click.

", - "support": null, + "readme": "

SonarView

\n

SonarView is a cross-platform application for controlling and communicating with sonar devices.

\n

This repository hosts the build and release process for SonarView.

\n", + "support": "https://forum.ceruleansonar.com/categories", "requirements": null, "company": { - "about": "", - "name": "Blue Robotics", - "email": "support@bluerobotics.com" + "about": "Cerulean Sonar: Advanced Technology. Sensibly Priced.", + "name": "Cerulean Sonar", + "email": "dennys.bisogno@ceruleansonar.com" }, "permissions": { - "ExposedPorts": { - "80/tcp": {} - }, "HostConfig": { - "Privileged": true, + "NetworkMode": "host", "Binds": [ - "/usr/blueos/extensions/node-red:/data:rw", - "/etc/hostname:/etc/hostname:ro", - "/dev:/dev:rw", - "/:/home/workspace/host:rw" - ], - "PortBindings": { - "80/tcp": [ - { - "HostPort": "" - } - ] - } + "/usr/blueos/userdata/SonarView:/userdata" + ] } } }, - "1.0.3": { - "identifier": "f56aceb6-80df-59c4-8b04-ec4fb55ce680", - "type": "other", - "website": null, + "1.9.5-beta": { + "identifier": "957939f1-d143-5746-8ce6-c77b6058ce77", + "type": "device-integration", + "website": "https://ceruleansonar.com", "images": [ { - "expanded_size": 161203610, + "expanded_size": 35534628, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:40af90b41e49214ab3cd2551871caae204e2d2bb484cf647c4b8b5db15936e1c" + "digest": "sha256:8f6fdf5689bd6e15caa423d91a9477f0999d675e819cab0cd564e852f389c42c" } ], "authors": [ { - "name": "Patrick Jos\u00e9 Pereira", - "email": "patrickelectric@gmail.com" + "name": "Nick Nothom", + "email": "nick.nothom@ceruleansonar.com" } ], - "filter_tags": [ - "code", - "development", - "ide", - "node-red" - ], + "filter_tags": [], "extra_links": {}, - "tag": "1.0.3", + "tag": "1.9.5-beta", "docs": null, - "readme": "

BlueOS node-red

\n

Node-RED is a programming tool for wiring together hardware devices, APIs and online services in new and interesting ways.

\n

It provides a browser-based editor that makes it easy to wire together flows using the wide range of nodes in the palette that can be deployed to its runtime in a single-click.

", - "support": null, + "readme": "

SonarView

\n

SonarView is a cross-platform application for controlling and communicating with sonar devices.

\n

This repository hosts the build and release process for SonarView.

\n", + "support": "https://forum.ceruleansonar.com/categories", "requirements": null, "company": { - "about": "", - "name": "Blue Robotics", - "email": "support@bluerobotics.com" + "about": "Cerulean Sonar: Advanced Technology. Sensibly Priced.", + "name": "Cerulean Sonar", + "email": "dennys.bisogno@ceruleansonar.com" }, "permissions": { - "ExposedPorts": { - "80/tcp": {} - }, "HostConfig": { - "Privileged": true, + "NetworkMode": "host", "Binds": [ - "/usr/blueos/extensions/node-red:/data:rw", - "/etc/hostname:/etc/hostname:ro", - "/dev:/dev:rw", - "/:/home/workspace/host:rw" - ], - "PortBindings": { - "80/tcp": [ - { - "HostPort": "" - } - ] - } + "/usr/blueos/userdata/SonarView:/userdata" + ] } } }, - "1.0.2": { - "identifier": "0b938a2c-503c-532d-8e70-842f4f0b4321", - "type": "other", - "website": null, + "1.9.4-beta": { + "identifier": "a3147341-4ef6-5d6c-9996-b20af70a479a", + "type": "device-integration", + "website": "https://ceruleansonar.com", "images": [ { - "expanded_size": 157814612, + "expanded_size": 35534684, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:20ce89d066804fc5c0207b71e7de85488abd1caccb011c21ee5a66d4df7f3130" + "digest": "sha256:17d9369e7c34fb414a82255909e9557e5dba0163cf8e26c7292b37237d521c9e" } ], "authors": [ { - "name": "Patrick Jos\u00e9 Pereira", - "email": "patrickelectric@gmail.com" + "name": "Nick Nothom", + "email": "nick.nothom@ceruleansonar.com" } ], - "filter_tags": [ - "code", - "development", - "ide", - "node-red" - ], + "filter_tags": [], "extra_links": {}, - "tag": "1.0.2", + "tag": "1.9.4-beta", "docs": null, - "readme": "

BlueOS node-red

\n

Node-RED is a programming tool for wiring together hardware devices, APIs and online services in new and interesting ways.

\n

It provides a browser-based editor that makes it easy to wire together flows using the wide range of nodes in the palette that can be deployed to its runtime in a single-click.

", - "support": null, + "readme": "

SonarView

\n

SonarView is a cross-platform application for controlling and communicating with sonar devices.

\n

This repository hosts the build and release process for SonarView.

\n", + "support": "https://forum.ceruleansonar.com/categories", "requirements": null, "company": { - "about": "", - "name": "Blue Robotics", - "email": "support@bluerobotics.com" + "about": "Cerulean Sonar: Advanced Technology. Sensibly Priced.", + "name": "Cerulean Sonar", + "email": "dennys.bisogno@ceruleansonar.com" }, "permissions": { - "ExposedPorts": { - "80/tcp": {} - }, "HostConfig": { - "Privileged": true, + "NetworkMode": "host", "Binds": [ - "/usr/blueos/userdata/node-red:/data:rw", - "/etc/hostname:/etc/hostname:ro", - "/dev:/dev:rw", - "/:/home/workspace/host:rw" - ], - "PortBindings": { - "80/tcp": [ - { - "HostPort": "" - } - ] - } + "/usr/blueos/userdata/SonarView:/userdata" + ] } } }, - "1.0.1": { - "identifier": "4fdb3c47-ee61-5322-a7ca-1e85416dbadc", - "type": "other", - "website": null, + "1.8.9": { + "identifier": "9a7a409f-5c18-5c3e-b8df-9c8bf2a69959", + "type": "device-integration", + "website": "https://ceruleansonar.com", "images": [ { - "expanded_size": 161234072, + "expanded_size": 38383327, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:7e898a24b188429bad6bb6d1229ae906a1447b732afbc69fe29b22a5b839af89" + "digest": "sha256:a21de0655ed73d40b7415f5e85bd727d709c9517d9960b10e2d4e5dee49624e9" } ], "authors": [ { - "name": "Patrick Jos\u00e9 Pereira", - "email": "patrickelectric@gmail.com" + "name": "Nick Nothom", + "email": "nick.nothom@ceruleansonar.com" } ], - "filter_tags": [ - "code", - "development", - "ide", - "node-red" - ], + "filter_tags": [], "extra_links": {}, - "tag": "1.0.1", + "tag": "1.8.9", "docs": null, - "readme": "

BlueOS node-red

\n

Node-RED is a programming tool for wiring together hardware devices, APIs and online services in new and interesting ways.

\n

It provides a browser-based editor that makes it easy to wire together flows using the wide range of nodes in the palette that can be deployed to its runtime in a single-click.

", - "support": null, + "readme": "

SonarView

\n

SonarView is a cross-platform application for controlling and communicating with sonar devices.

\n

This repository hosts the build and release process for SonarView.

\n", + "support": "https://forum.ceruleansonar.com/categories", "requirements": null, "company": { - "about": "", - "name": "Blue Robotics", - "email": "support@bluerobotics.com" + "about": "Cerulean Sonar: Advanced Technology. Sensibly Priced.", + "name": "Cerulean Sonar", + "email": "dennys.bisogno@ceruleansonar.com" }, "permissions": { - "ExposedPorts": { - "80/tcp": {} - }, "HostConfig": { - "Privileged": true, + "NetworkMode": "host", "Binds": [ - "/usr/blueos/userdata/node-red:/data:rw", - "/etc/hostname:/etc/hostname:ro", - "/dev:/dev:rw", - "/:/home/workspace/host:rw" - ], - "PortBindings": { - "80/tcp": [ - { - "HostPort": "" - } - ] - } + "/usr/blueos/userdata/SonarView:/userdata" + ] } } - }, - "1.0.0": { - "identifier": "10ae5964-f59f-53a9-8828-664dc3406aab", - "type": "other", - "website": null, - "images": [ - { - "expanded_size": 161234072, - "platform": { - "architecture": "arm", - "variant": "v7", - "os": "linux" - }, - "digest": "sha256:7e898a24b188429bad6bb6d1229ae906a1447b732afbc69fe29b22a5b839af89" - } - ], - "authors": [ - { - "name": "Patrick Jos\u00e9 Pereira", - "email": "patrickelectric@gmail.com" + } + }, + "repo_info": { + "downloads": 38880, + "last_updated": "2025-01-21T18:43:35.286463Z", + "date_registered": "2023-02-09T18:16:56.606258Z" + } + }, + { + "identifier": "ceruleansonar.cerulean-docs", + "name": "Cerulean Docs", + "website": "https://github.com/ceruleansonar/BlueOS-Cerulean-Docs/", + "docker": "nicknothom/blueos-cerulean-docs", + "description": "Offline access for Cerulean Documentation", + "extension_logo": "https://raw.githubusercontent.com/bluerobotics/BlueOS-Extensions-Repository/master/repos/ceruleansonar/company_logo.png", + "company_logo": "https://raw.githubusercontent.com/bluerobotics/BlueOS-Extensions-Repository/master/repos/ceruleansonar/company_logo.png", + "versions": { + "v1.1.0": { + "identifier": "d50945d9-c307-5261-b40d-1f260ac0b6a4", + "type": "other", + "website": "https://ceruleansonar.com", + "images": [ + { + "expanded_size": 175566507, + "platform": { + "architecture": "amd64", + "variant": null, + "os": "linux" + }, + "digest": "sha256:bd71575157ca09fdb6a1b2f8072d56ea27ff0ef9176375d789d893f70cfa7a50" + }, + { + "expanded_size": 170030192, + "platform": { + "architecture": "arm", + "variant": "v7", + "os": "linux" + }, + "digest": "sha256:bb85774c6ced6dae9b9b75cc66a3c0f2aeb20c61b5cb5ad37e393f688c93e843" } ], - "filter_tags": [ - "code", - "development", - "ide", - "node-red" + "authors": [ + { + "name": "Nick Nothom", + "email": "nick.nothom@ceruleansonar.com" + } ], + "filter_tags": [], "extra_links": {}, - "tag": "1.0.0", + "tag": "v1.1.0", "docs": null, - "readme": "

BlueOS node-red

\n

Node-RED is a programming tool for wiring together hardware devices, APIs and online services in new and interesting ways.

\n

It provides a browser-based editor that makes it easy to wire together flows using the wide range of nodes in the palette that can be deployed to its runtime in a single-click.

", - "support": null, - "requirements": null, + "readme": "

BlueOS Cerulean Docs

\n

Hosts a mirror of the Cerulean Docs on the ROV so they can be viewed offline.

", + "support": "https://forum.ceruleansonar.com/categories", + "requirements": "core > 1", "company": { "about": "", - "name": "Blue Robotics", - "email": "support@bluerobotics.com" + "name": "Cerulean Sonar", + "email": "dennys.bisogno@ceruleansonar.com" }, "permissions": { - "ExposedPorts": { - "80/tcp": {} - }, - "HostConfig": { - "Privileged": true, - "Binds": [ - "/usr/blueos/userdata/node-red:/data:rw", - "/etc/hostname:/etc/hostname:ro", - "/dev:/dev:rw", - "/:/home/workspace/host:rw" - ], - "PortBindings": { - "80/tcp": [ - { - "HostPort": "" - } - ] - } - } + "NetworkMode": "host" } - } - }, - "repo_info": { - "downloads": 8295, - "last_updated": "2024-07-29T21:22:46.380269Z", - "date_registered": "2023-08-29T20:22:57.798237Z" - } - }, - { - "identifier": "bluerobotics.power-switch-calibration", - "name": "PowerSwitch Calibration", - "website": "https://github.com/rjehangir/BlueOS-PS-Calibration/", - "docker": "rjehangir/blueos-ps-calibration", - "description": "Calibrate offset on BlueBoat for improved measurements", - "extension_logo": "https://raw.githubusercontent.com/bluerobotics/BlueOS-Extensions-Repository/master/repos/bluerobotics/power-switch-calibration/extension_logo.png", - "company_logo": "https://raw.githubusercontent.com/bluerobotics/BlueOS-Extensions-Repository/master/repos/bluerobotics/company_logo.png", - "versions": { + }, "v1.0.0": { - "identifier": "bcc4553d-e923-5310-93d0-4a775fe22322", - "type": "device-integration", - "website": null, + "identifier": "e6424a8a-3f3c-5312-9511-6d58f284e9fe", + "type": "other", + "website": "https://ceruleansonar.com", "images": [ { - "expanded_size": 7915983, + "expanded_size": 170033285, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:e542fdb888f196961b5cb710cbada54be76cfff90b16eb8e73a434f34abf672f" + "digest": "sha256:a4dc00ddc3a2398ff400d2533b4f9eea53d19cce0a8df24b0f9595fa1c09fc4f" } ], "authors": [ { - "name": "Rustom Jehangir", - "email": "rusty@bluerobotics.com" + "name": "Nick Nothom", + "email": "nick.nothom@ceruleansonar.com" } ], "filter_tags": [], "extra_links": {}, "tag": "v1.0.0", "docs": null, - "readme": "

BlueOS Power Switch Calibration Extension

\n

This extension provides a simple routine to calibrate the offset of the \"Power Switch\" used in the BlueBoat to provide a more accurate current and power measurement.

\n

Build

\n

Execute the following command to build your extension:

\n

shell\n docker buildx build --platform linux/arm/v7 . -t my_docker_user/blueos-ps-calibration:latest --output type=registry

", - "support": null, - "requirements": null, + "readme": "

BlueOS Cerulean Docs

\n

Hosts a mirror of the Cerulean Docs on the ROV so they can be viewed offline.

", + "support": "https://forum.ceruleansonar.com/categories", + "requirements": "core > 1", "company": { "about": "", - "name": "Blue Robotics", - "email": "support@bluerobotics.com" + "name": "Cerulean Sonar", + "email": "dennys.bisogno@ceruleansonar.com" }, "permissions": { "ExposedPorts": { @@ -6244,430 +6324,383 @@ } }, "repo_info": { - "downloads": 1103, - "last_updated": "2023-11-07T01:34:15.374584Z", - "date_registered": "2023-11-05T01:19:48.269227Z" + "downloads": 4956, + "last_updated": "2023-03-15T20:41:07.344116Z", + "date_registered": "2023-03-02T18:19:41.09439Z" } }, { - "identifier": "bluerobotics.openvscode", - "name": "OpenVSCoder", - "website": "https://github.com/patrickelectric/blueos-code-server", - "docker": "patrickelectric/blueos-openvscode", - "description": "Edit and run code directly in BlueOS", - "extension_logo": "https://raw.githubusercontent.com/bluerobotics/BlueOS-Extensions-Repository/master/repos/bluerobotics/openvscode/extension_logo.png", - "company_logo": "https://raw.githubusercontent.com/bluerobotics/BlueOS-Extensions-Repository/master/repos/bluerobotics/company_logo.png", + "identifier": "ceruleansonar.cerulean-dvl", + "name": "Cerulean DVL", + "website": "https://github.com/ceruleansonar/BlueOS-Cerulean-DVL/", + "docker": "nicknothom/blueos-cerulean-dvl", + "description": "BlueOS extension for Cerulean DVL", + "extension_logo": "https://raw.githubusercontent.com/bluerobotics/BlueOS-Extensions-Repository/master/repos/ceruleansonar/company_logo.png", + "company_logo": "https://raw.githubusercontent.com/bluerobotics/BlueOS-Extensions-Repository/master/repos/ceruleansonar/company_logo.png", "versions": { - "1.1.2": { - "identifier": "a74a07d6-9148-5a4e-9bb9-0d65cf1ee13e", + "v1.0.8": { + "identifier": "aa686520-e5f6-5cfb-ac69-b414de3e694a", "type": "other", - "website": null, + "website": "https://ceruleansonar.com", "images": [ { - "expanded_size": 717989843, + "expanded_size": 109619325, + "platform": { + "architecture": "amd64", + "variant": null, + "os": "linux" + }, + "digest": "sha256:40bdaa212803402e97dcd013000c5991ddc950ce4120a93bdd8e30b876e26324" + }, + { + "expanded_size": 100085882, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:6c4f9d55d5a55b557d473ad47b08493e56be4801d44744a151598505a80f2d38" + "digest": "sha256:e208ec461095ed3491a3c38ab7913afe855d9850b4f29f13e620c4f71715bc8c" } ], "authors": [ { - "name": "Patrick Jos\u00e9 Pereira", - "email": "patrickelectric@gmail.com" + "name": "Nick Nothom", + "email": "nick.nothom@ceruleansonar.com" } ], - "filter_tags": [ - "code", - "development", - "ide", - "vscode", - "python", - "rust" - ], + "filter_tags": [], "extra_links": {}, - "tag": "1.1.2", + "tag": "v1.0.8", "docs": null, - "readme": "

BlueOS Code Server

\n

BlueOS extension for OpenVSCode Server.

\n

OpenVSCode server is a project where it provides a version of VS Code that runs a server on a remote machine and allows access through a modern web browser. It's based on the very same architecture used by Gitpod or GitHub Codespaces at scale.

", - "support": null, + "readme": "

BlueOS-Cerulean-DVL

\n

Cerulean DVL driver, compatible with Blue Robotics BlueOS.

\n

Manual Installation:

\n

To set this up, ssh into the Raspberry Pi (or access via red-pill in BlueOS Terminal) and run

\n

sudo docker run -d --net=host -v /root/.config/cerulean:/root/.config --name=BlueOS-Cerulean-DVL --restart=unless-stopped nicknothom/blueos-cerulean-dvl:latest

\n

The service will show in the \"Available Services\" section in BlueOS, where there are some configuration options.

", + "support": "https://forum.ceruleansonar.com/categories", "requirements": null, - "company": null, + "company": { + "about": "", + "name": "Cerulean Sonar", + "email": "dennys.bisogno@ceruleansonar.com" + }, "permissions": { - "ExposedPorts": { - "80/tcp": {} - }, "HostConfig": { - "Privileged": true, + "NetworkMode": "host", "Binds": [ - "/usr/blueos/userdata/openvscode/.cache:/home/workspace/.cache:rw", - "/usr/blueos/userdata/openvscode/.local:/home/workspace/.local:rw", - "/usr/blueos/userdata:/userdata:rw", - "/usr/blueos/openvscode:/openvscode:rw", - "/var/run/docker.sock:/var/run/docker.sock:rw", - "/usr/bin/docker:/usr/bin/docker:ro", - "/etc/hostname:/etc/hostname:ro", - "/dev:/dev:rw", - "/:/home/workspace/host:rw" - ], - "PortBindings": { - "80/tcp": [ - { - "HostPort": "" - } - ] - } + "/root/.config/cerulean:/root/.config" + ] } } }, - "1.1.1": { - "identifier": "9ea3a4bf-5af7-5628-bf18-a0112499a59d", + "v1.0.7": { + "identifier": "8f856745-ea5b-56a3-87fe-c893f0bf2a9a", "type": "other", - "website": null, + "website": "https://ceruleansonar.com", "images": [ { - "expanded_size": 690118664, + "expanded_size": 100085651, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:36249d2e485389d1a2cc2470160a2452236bba9684a1050f9a1a83bda032579e" + "digest": "sha256:cdc856ea07548d4cd6e2993ebd81baad2a018034b24085a13f71e6021ad969c5" } ], "authors": [ { - "name": "Patrick Jos\u00e9 Pereira", - "email": "patrickelectric@gmail.com" + "name": "Nick Nothom", + "email": "nick.nothom@ceruleansonar.com" } ], - "filter_tags": [ - "code", - "development", - "ide", - "vscode", - "python", - "rust" - ], + "filter_tags": [], "extra_links": {}, - "tag": "1.1.1", + "tag": "v1.0.7", "docs": null, - "readme": "

BlueOS Code Server

\n

BlueOS extension for OpenVSCode Server.

\n

OpenVSCode server is a project where it provides a version of VS Code that runs a server on a remote machine and allows access through a modern web browser. It's based on the very same architecture used by Gitpod or GitHub Codespaces at scale.

", - "support": null, + "readme": "

BlueOS-Cerulean-DVL

\n

Cerulean DVL driver, compatible with Blue Robotics BlueOS.

\n

Manual Installation:

\n

To set this up, ssh into the Raspberry Pi (or access via red-pill in BlueOS Terminal) and run

\n

sudo docker run -d --net=host -v /root/.config/cerulean:/root/.config --name=BlueOS-Cerulean-DVL --restart=unless-stopped nicknothom/blueos-cerulean-dvl:latest

\n

The service will show in the \"Available Services\" section in BlueOS, where there are some configuration options.

", + "support": "https://forum.ceruleansonar.com/categories", "requirements": null, - "company": null, + "company": { + "about": "", + "name": "Cerulean Sonar", + "email": "dennys.bisogno@ceruleansonar.com" + }, "permissions": { - "ExposedPorts": { - "80/tcp": {} - }, "HostConfig": { - "Privileged": true, + "NetworkMode": "host", "Binds": [ - "/usr/blueos/userdata:/home/workspace/userdata:rw", - "/usr/blueos/openvscode:/openvscode:rw", - "/var/run/docker.sock:/var/run/docker.sock:rw", - "/usr/bin/docker:/usr/bin/docker:ro", - "/etc/hostname:/etc/hostname:ro", - "/dev:/dev:rw", - "/:/home/workspace/host:rw" - ], - "PortBindings": { - "80/tcp": [ - { - "HostPort": "" - } - ] - } + "/root/.config/cerulean:/root/.config" + ] } } }, - "1.1.0": { - "identifier": "f1e0dcf6-8ee1-5746-bd9b-5a8189bf4716", + "v1.0.6": { + "identifier": "b52186e9-c76e-5768-bf31-d34231668d0e", "type": "other", - "website": null, + "website": "https://ceruleansonar.com", "images": [ { - "expanded_size": 800907473, + "expanded_size": 100082275, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:c4bfff1256818710af76d7b9ca2cfff8d98f2edcacf745c2b460a5166d822ece" + "digest": "sha256:452ef69b3fff8ccf2e2ecd47d431b1ae5c4244802c8df2e7ed59259ae3e084f6" } ], "authors": [ { - "name": "Patrick Jos\u00e9 Pereira", - "email": "patrickelectric@gmail.com" + "name": "Nick Nothom", + "email": "nick.nothom@ceruleansonar.com" } ], - "filter_tags": [ - "code", - "development", - "ide", - "vscode", - "python", - "rust" - ], + "filter_tags": [], "extra_links": {}, - "tag": "1.1.0", + "tag": "v1.0.6", "docs": null, - "readme": "

BlueOS Code Server

\n

BlueOS extension for OpenVSCode Server.

\n

OpenVSCode server is a project where it provides a version of VS Code that runs a server on a remote machine and allows access through a modern web browser. It's based on the very same architecture used by Gitpod or GitHub Codespaces at scale.

", - "support": null, + "readme": "

BlueOS-Cerulean-DVL

\n

Cerulean DVL driver, compatible with Blue Robotics BlueOS.

\n

Manual Installation:

\n

To set this up, ssh into the Raspberry Pi (or access via red-pill in BlueOS Terminal) and run

\n

sudo docker run -d --net=host -v /root/.config/cerulean:/root/.config --name=BlueOS-Cerulean-DVL --restart=unless-stopped nicknothom/blueos-cerulean-dvl:latest

\n

The service will show in the \"Available Services\" section in BlueOS, where there are some configuration options.

", + "support": "https://forum.ceruleansonar.com/categories", "requirements": null, - "company": null, + "company": { + "about": "", + "name": "Cerulean Sonar", + "email": "dennys.bisogno@ceruleansonar.com" + }, "permissions": { - "ExposedPorts": { - "80/tcp": {} - }, + "NetworkMode": "host", "HostConfig": { - "Privileged": true, "Binds": [ - "/usr/blueos/userdata:/home/workspace/userdata:rw", - "/usr/blueos/openvscode:/openvscode:rw", - "/var/run/docker.sock:/var/run/docker.sock:rw", - "/usr/bin/docker:/usr/bin/docker:ro", - "/etc/hostname:/etc/hostname:ro", - "/dev:/dev:rw", - "/:/home/workspace/host:rw" - ], - "PortBindings": { - "80/tcp": [ - { - "HostPort": "" - } - ] - } + "/root/.config/cerulean:/root/.config" + ] } } }, - "1.0.7": { - "identifier": "f069f86e-9bc5-573f-9c49-020604e09720", + "v1.0.5": { + "identifier": "eb83e2bc-7f5a-5eb5-b5ab-95ca97364c27", "type": "other", - "website": null, + "website": "https://ceruleansonar.com", "images": [ { - "expanded_size": 306628412, + "expanded_size": 100029465, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:b145ec2696af559d0df0ef81cd3428627332bcc3bab0f6a531b668a4fac63be7" + "digest": "sha256:b31f7996252e37ad56b7a84df851ced94adaf815b688abffeaa79c1f2bcfaa1f" } ], "authors": [ { - "name": "Patrick Jos\u00e9 Pereira", - "email": "patrickelectric@gmail.com" + "name": "Nick Nothom", + "email": "nick.nothom@ceruleansonar.com" } ], - "filter_tags": [ - "code", - "development", - "ide", - "vscode", - "python", - "rust" - ], + "filter_tags": [], "extra_links": {}, - "tag": "1.0.7", + "tag": "v1.0.5", "docs": null, - "readme": "

BlueOS Code Server

\n

BlueOS extension for OpenVSCode Server.

\n

OpenVSCode server is a project where it provides a version of VS Code that runs a server on a remote machine and allows access through a modern web browser. It's based on the very same architecture used by Gitpod or GitHub Codespaces at scale.

", - "support": null, + "readme": "

BlueOS-Cerulean-DVL

\n

Cerulean DVL driver, compatible with Blue Robotics BlueOS.

\n

Manual Installation:

\n

To set this up, ssh into the Raspberry Pi (or access via red-pill in BlueOS Terminal) and run

\n

sudo docker run -d --net=host -v /root/.config/cerulean:/root/.config --name=BlueOS-Cerulean-DVL --restart=unless-stopped nicknothom/blueos-cerulean-dvl:latest

\n

The service will show in the \"Available Services\" section in BlueOS, where there are some configuration options.

", + "support": "https://forum.ceruleansonar.com/categories", "requirements": null, - "company": null, + "company": { + "about": "", + "name": "Cerulean Sonar", + "email": "dennys.bisogno@ceruleansonar.com" + }, "permissions": { - "ExposedPorts": { - "80/tcp": {} - }, + "NetworkMode": "host", "HostConfig": { - "Privileged": true, "Binds": [ - "/usr/blueos/userdata:/home/workspace/userdata:rw", - "/usr/blueos/openvscode:/openvscode:rw", - "/var/run/docker.sock:/var/run/docker.sock:rw", - "/usr/bin/docker:/usr/bin/docker:ro", - "/etc/hostname:/etc/hostname:ro", - "/:/home/workspace/host:rw" - ], - "PortBindings": { - "80/tcp": [ - { - "HostPort": "" - } - ] - } + "/root/.config/blueos:/root/.config" + ] } } }, - "1.0.6": { - "identifier": "1aa4f634-c664-5a19-814a-e2f54b1437f3", + "v1.0.4": { + "identifier": "2056eda3-d739-511c-a708-054d2ef830c2", "type": "other", - "website": null, + "website": "https://ceruleansonar.com", "images": [ { - "expanded_size": 306628413, + "expanded_size": 99947116, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:a917f9dc8ea4b6c8c55d2d740d28e034ee0e83e46422a8bb6a40e9fe8b8b5af6" + "digest": "sha256:8c3edb7d465c05b9b735cc55291fa323deb95f3f11c086ecd47729f0d78a5249" } ], "authors": [ { - "name": "Patrick Jos\u00e9 Pereira", - "email": "patrickelectric@gmail.com" + "name": "Nick Nothom", + "email": "nick.nothom@ceruleansonar.com" } ], - "filter_tags": [ - "code", - "development", - "ide", - "vscode", - "python", - "rust" - ], + "filter_tags": [], "extra_links": {}, - "tag": "1.0.6", + "tag": "v1.0.4", "docs": null, - "readme": "

BlueOS Code Server

\n

BlueOS extension for OpenVSCode Server.

\n

OpenVSCode server is a project where it provides a version of VS Code that runs a server on a remote machine and allows access through a modern web browser. It's based on the very same architecture used by Gitpod or GitHub Codespaces at scale.

", - "support": null, + "readme": "

BlueOS-Cerulean-DVL

\n

Cerulean DVL driver, compatible with Blue Robotics BlueOS.

\n

Manual Installation:

\n

To set this up, ssh into the Raspberry Pi (or access via red-pill in BlueOS Terminal) and run

\n

sudo docker run -d --net=host -v /root/.config/cerulean:/root/.config --name=BlueOS-Cerulean-DVL --restart=unless-stopped nicknothom/blueos-cerulean-dvl:latest

\n

The service will show in the \"Available Services\" section in BlueOS, where there are some configuration options.

", + "support": "https://forum.ceruleansonar.com/categories", "requirements": null, - "company": null, + "company": { + "about": "", + "name": "Cerulean Sonar", + "email": "dennys.bisogno@ceruleansonar.com" + }, "permissions": { - "ExposedPorts": { - "80/tcp": {} - }, - "HostConfig": { - "Privileged": true, - "Binds": [ - "/usr/blueos/userdata:/home/workspace/userdata:rw", - "/usr/blueos/openvscode:/openvscode:rw", - "/etc/hostname:/etc/hostname:ro", - "/:/home/workspace/host:rw" - ], - "PortBindings": { - "80/tcp": [ - { - "HostPort": "" - } - ] - } - } + "NetworkMode": "host" } }, - "1.0.5": { - "identifier": "5a744a04-250a-5e44-a418-c833bc445a98", + "v1.0.2": { + "identifier": "57d15a76-04cd-515d-a297-58a4bb60088e", "type": "other", - "website": null, + "website": "https://ceruleansonar.com", "images": [ { - "expanded_size": 306628410, + "expanded_size": 100174048, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:fca3d0af07145c5a4b15ed014f9e7db84d2f358b4d22716cf0fda8d31cbc479b" + "digest": "sha256:19f8215cae9fa37e89c9e8596ec2010d520430d46bf3fb93d58ed7f6e7745fac" } ], "authors": [ { - "name": "Patrick Jos\u00e9 Pereira", - "email": "patrickelectric@gmail.com" + "name": "Nick Nothom", + "email": "nick.nothom@ceruleansonar.com" } ], - "filter_tags": [ - "code", - "development", - "ide", - "vscode", - "python", - "rust" - ], + "filter_tags": [], "extra_links": {}, - "tag": "1.0.5", + "tag": "v1.0.2", "docs": null, - "readme": "

BlueOS Code Server

\n

BlueOS extension for OpenVSCode Server.

\n

OpenVSCode server is a project where it provides a version of VS Code that runs a server on a remote machine and allows access through a modern web browser. It's based on the very same architecture used by Gitpod or GitHub Codespaces at scale.

", - "support": null, + "readme": "

BlueOS-Cerulean-DVL

\n

Cerulean DVL driver, compatible with Blue Robotics BlueOS.

\n

Manual Installation:

\n

To set this up, ssh into the Raspberry Pi (or access via red-pill in BlueOS Terminal) and run

\n

sudo docker run -d --net=host -v /root/.config/cerulean:/root/.config --name=BlueOS-Cerulean-DVL --restart=unless-stopped nicknothom/blueos-cerulean-dvl:latest

\n

The service will show in the \"Available Services\" section in BlueOS, where there are some configuration options.

", + "support": "https://forum.ceruleansonar.com/categories", "requirements": null, - "company": null, + "company": { + "about": "", + "name": "Cerulean Sonar", + "email": "dennys.bisogno@ceruleansonar.com" + }, "permissions": { - "ExposedPorts": { - "80/tcp": {} - }, - "HostConfig": { - "Privileged": true, - "Binds": [ - "/usr/blueos/userdata:/home/workspace/userdata:rw", - "/usr/blueos/openvscode:/openvscode:rw", - "/etc/hostname:/etc/hostname:ro", - "/:/home/workspace/host:rw" - ], - "PortBindings": { - "80/tcp": [ - { - "HostPort": "" - } - ] - } - } + "NetworkMode": "host" } }, - "1.0.4": { - "identifier": "15f94a81-695d-530f-bafc-5dcef4bbf61b", + "v1.0.1": { + "identifier": "5fda492f-72b4-54c0-bd0f-fca4761a0bfd", "type": "other", - "website": null, + "website": "https://ceruleansonar.com", "images": [ { - "expanded_size": 306514789, + "expanded_size": 109912491, + "platform": { + "architecture": "amd64", + "variant": null, + "os": "linux" + }, + "digest": "sha256:d5e8e487e02db3573da4b82b5c1bffcfd7dc56115aabc9e31d46b441205e8678" + }, + { + "expanded_size": 100174019, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:de3c0417bb5f8ff88cefc38e78d8706116d8ae9726c2ab4262af5a7580e7567c" + "digest": "sha256:11543c36b10be611293248778bc7b924eea38b7bfa47f39701c1b72d3b9a288f" } ], "authors": [ { - "name": "Patrick Jos\u00e9 Pereira", - "email": "patrickelectric@gmail.com" + "name": "Nick Nothom", + "email": "nick.nothom@ceruleansonar.com" } ], - "filter_tags": [ - "code", - "development", - "ide", - "vscode", - "python", - "rust" - ], + "filter_tags": [], "extra_links": {}, - "tag": "1.0.4", + "tag": "v1.0.1", "docs": null, - "readme": "

BlueOS Code Server

\n

BlueOS extension for OpenVSCode Server.

\n

OpenVSCode server is a project where it provides a version of VS Code that runs a server on a remote machine and allows access through a modern web browser. It's based on the very same architecture used by Gitpod or GitHub Codespaces at scale.

", - "support": null, + "readme": "

BlueOS-Cerulean-DVL

\n

Cerulean DVL driver, compatible with Blue Robotics BlueOS.

\n

Manual Installation:

\n

To set this up, ssh into the Raspberry Pi (or access via red-pill in BlueOS Terminal) and run

\n

sudo docker run -d --net=host -v /root/.config/cerulean:/root/.config --name=BlueOS-Cerulean-DVL --restart=unless-stopped nicknothom/blueos-cerulean-dvl:latest

\n

The service will show in the \"Available Services\" section in BlueOS, where there are some configuration options.

", + "support": "https://forum.ceruleansonar.com/categories", "requirements": null, - "company": null, + "company": { + "about": "", + "name": "Cerulean Sonar", + "email": "dennys.bisogno@ceruleansonar.com" + }, + "permissions": { + "NetworkMode": "host" + } + } + }, + "repo_info": { + "downloads": 16736, + "last_updated": "2023-05-17T18:58:43.418901Z", + "date_registered": "2023-01-17T21:41:45.289578Z" + } + }, + { + "identifier": "bluerobotics.water-linked-dvl", + "name": "Water Linked DVL", + "website": "https://github.com/bluerobotics/BlueOS-Water-Linked-DVL/", + "docker": "bluerobotics/blueos-water-linked-dvl", + "description": "Enables ROV position holding and navigation", + "extension_logo": "https://raw.githubusercontent.com/bluerobotics/BlueOS-Extensions-Repository/master/repos/bluerobotics/water-linked-dvl/extension_logo.png", + "company_logo": "https://raw.githubusercontent.com/bluerobotics/BlueOS-Extensions-Repository/master/repos/bluerobotics/company_logo.png", + "versions": { + "v1.0.7": { + "identifier": "bc9d57c3-cf02-5785-bf89-921c450a9fb4", + "type": "device-integration", + "website": "https://github.com/bluerobotics/BlueOS-Water-Linked-DVL", + "images": [ + { + "expanded_size": 70965287, + "platform": { + "architecture": "arm", + "variant": "v7", + "os": "linux" + }, + "digest": "sha256:b96869c28654831900781874f50eb75649b5b600a88abdfcbdfb30fc5fcd12e3" + } + ], + "authors": [ + { + "name": "Willian Galvani", + "email": "willian@bluerobotics.com" + } + ], + "filter_tags": [ + "positioning", + "navigation", + "doppler-velocity-log" + ], + "extra_links": {}, + "tag": "v1.0.7", + "docs": null, + "readme": "

BlueOS-Water-Linked-DVL

\n

Changelog

\n

v1.0.7

\n
    \n
  • Fix using lat/long inputs with no internet
  • \n
\n

v1.0.6

\n
    \n
  • No longer sets parameters automatically. Users can now change for two modes of operation:
      \n
    • DVL-only, the recommended mode
    • \n
    • DVL+GPS, experimental mode which allows fusing (underwater) GPS and DVL data
    • \n
    \n
  • \n
\n

v1.0.5

\n
    \n
  • Update texts to make support of DVL A125 obvious
  • \n
\n

v1.0.4

\n
    \n
  • Fix issue introduced in v1.0.3 where the extension was unable to talk to Cable-guy
  • \n
\n

v1.0.3

\n
    \n
  • Uses an random available port instead of 9001 to avoid conflict
  • \n
  • Updated menu icon
  • \n
\n

v1.0.2

\n
    \n
  • Improved style
  • \n
\n

v1.0.1

\n
    \n
  • Fixed an issue where the driver was sending Rangefinder messages with invalid data
  • \n
\n

This is a docker implementation of a Water Linked DVL A50 and A125 driver as a BlueOS Extension.

\n

Install

\n

Install it from BlueOS extensions tab.

\n

The service will show in the \"Extension Manager\" section in BlueOS, where there are some configuration options.

", + "support": "https://github.com/bluerobotics/BlueOS-Water-Linked-DVL/issues", + "requirements": "core >= 1.1", + "company": { + "about": "", + "name": "Blue Robotics", + "email": "support@bluerobotics.com" + }, "permissions": { "ExposedPorts": { - "80/tcp": {} + "9001/tcp": {} }, "HostConfig": { - "Privileged": true, "Binds": [ - "/usr/blueos/userdata:/home/workspace/userdata:rw", - "/usr/blueos/openvscode:/openvscode:rw", - "/:/home/workspace/host:rw" + "/root/.config:/root/.config" + ], + "ExtraHosts": [ + "host.docker.internal:host-gateway" ], "PortBindings": { - "80/tcp": [ + "9001/tcp": [ { "HostPort": "" } @@ -6676,55 +6709,56 @@ } } }, - "1.0.3": { - "identifier": "c1d55fdb-fa51-5c81-931b-02931f7c3461", - "type": "other", - "website": null, + "v1.0.6": { + "identifier": "5b72c3c7-cc68-5c2c-9edd-b400daa9070d", + "type": "device-integration", + "website": "https://github.com/bluerobotics/BlueOS-Water-Linked-DVL", "images": [ { - "expanded_size": 211619864, + "expanded_size": 70955108, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:5647c270f0f05c688748e58912aa139e1d82b8801ccf23b4997631e13f89abe9" + "digest": "sha256:5c4cc57ab14bbc3c32fc83aefad9f4ef6ab244411b1f80c4511fd6f70535fb48" } ], "authors": [ { - "name": "Patrick Jos\u00e9 Pereira", - "email": "patrickelectric@gmail.com" + "name": "Willian Galvani", + "email": "willian@bluerobotics.com" } ], "filter_tags": [ - "code", - "development", - "ide", - "vscode", - "python", - "rust" + "positioning", + "navigation", + "doppler-velocity-log" ], "extra_links": {}, - "tag": "1.0.3", + "tag": "v1.0.6", "docs": null, - "readme": "

BlueOS Code Server

\n

BlueOS extension for OpenVSCode Server.

\n

OpenVSCode server is a project where it provides a version of VS Code that runs a server on a remote machine and allows access through a modern web browser. It's based on the very same architecture used by Gitpod or GitHub Codespaces at scale.

", - "support": null, - "requirements": null, - "company": null, + "readme": "

BlueOS-Water-Linked-DVL

\n

Changelog

\n

v1.0.6

\n
    \n
  • No longer sets parameters automatically. Users can now change for two modes of operation:
      \n
    • DVL-only, the recommended mode
    • \n
    • DVL+GPS, experimental mode which allows fusing (underwater) GPS and DVL data
    • \n
    \n
  • \n
\n

v1.0.5

\n
    \n
  • Update texts to make support of DVL A125 obvious
  • \n
\n

v1.0.4

\n
    \n
  • Fix issue introduced in v1.0.3 where the extension was unable to talk to Cable-guy
  • \n
\n

v1.0.3

\n
    \n
  • Uses an random available port instead of 9001 to avoid conflict
  • \n
  • Updated menu icon
  • \n
\n

v1.0.2

\n
    \n
  • Improved style
  • \n
\n

v1.0.1

\n
    \n
  • Fixed an issue where the driver was sending Rangefinder messages with invalid data
  • \n
\n

This is a docker implementation of a Water Linked DVL A50 and A125 driver as a BlueOS Extension.

\n

Install

\n

Install it from BlueOS extensions tab.

\n

The service will show in the \"Extension Manager\" section in BlueOS, where there are some configuration options.

", + "support": "https://github.com/bluerobotics/BlueOS-Water-Linked-DVL/issues", + "requirements": "core >= 1.1", + "company": { + "about": "", + "name": "Blue Robotics", + "email": "support@bluerobotics.com" + }, "permissions": { "ExposedPorts": { - "80/tcp": {} + "9001/tcp": {} }, "HostConfig": { - "Privileged": true, "Binds": [ - "/usr/blueos/userdata:/home/workspace/userdata:rw", - "/usr/blueos/openvscode:/openvscode:rw", - "/:/home/workspace/host:rw" + "/root/.config:/root/.config" + ], + "ExtraHosts": [ + "host.docker.internal:host-gateway" ], "PortBindings": { - "80/tcp": [ + "9001/tcp": [ { "HostPort": "" } @@ -6733,55 +6767,56 @@ } } }, - "1.0.2": { - "identifier": "acff44bd-868a-5073-8dd0-9de682c36b45", - "type": "other", - "website": null, + "v1.0.5": { + "identifier": "d4a8e194-7374-5f38-9e6b-05d689366907", + "type": "device-integration", + "website": "https://github.com/bluerobotics/BlueOS-Water-Linked-DVL", "images": [ { - "expanded_size": 211619835, + "expanded_size": 71286141, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:933474f7fb3e1223b29b1fd6c1b382d8ca40635e2513d322fed6d052f2c2a8f1" + "digest": "sha256:7af61750294fa6eb726e73f855d6ec207ba7bf2c0af1e1ac9626c9e29b54a924" } ], "authors": [ { - "name": "Patrick Jos\u00e9 Pereira", - "email": "patrickelectric@gmail.com" + "name": "Willian Galvani", + "email": "willian@bluerobotics.com" } ], "filter_tags": [ - "code", - "development", - "ide", - "vscode", - "python", - "rust" + "positioning", + "navigation", + "doppler-velocity-log" ], "extra_links": {}, - "tag": "1.0.2", + "tag": "v1.0.5", "docs": null, - "readme": "

BlueOS Code Server

\n

BlueOS extension for OpenVSCode Server.

\n

OpenVSCode server is a project where it provides a version of VS Code that runs a server on a remote machine and allows access through a modern web browser. It's based on the very same architecture used by Gitpod or GitHub Codespaces at scale.

", - "support": null, - "requirements": null, - "company": null, + "readme": "

BlueOS-Water-Linked-DVL

\n

Changelog

\n

v1.0.5

\n
    \n
  • Update texts to make support of DVL A125 obvious
  • \n
\n

v1.0.4

\n
    \n
  • Fix issue introduced in v1.0.3 where the extension was unable to talk to Cable-guy
  • \n
\n

v1.0.3

\n
    \n
  • Uses an random available port instead of 9001 to avoid conflict
  • \n
  • Updated menu icon
  • \n
\n

v1.0.2

\n
    \n
  • Improved style
  • \n
\n

v1.0.1

\n
    \n
  • Fixed an issue where the driver was sending Rangefinder messages with invalid data
  • \n
\n

This is a docker implementation of a Water Linked DVL A50 and A125 driver as a BlueOS Extension.

\n

Install

\n

Install it from BlueOS extensions tab.

\n

The service will show in the \"Extension Manager\" section in BlueOS, where there are some configuration options.

", + "support": "https://github.com/bluerobotics/BlueOS-Water-Linked-DVL/issues", + "requirements": "core >= 1.1", + "company": { + "about": "", + "name": "Blue Robotics", + "email": "support@bluerobotics.com" + }, "permissions": { "ExposedPorts": { - "80/tcp": {} + "9001/tcp": {} }, "HostConfig": { - "Privileged": true, "Binds": [ - "/usr/blueos/userdata:/home/workspace/userdata:rw", - "/usr/blueos/openvscode:/openvscode:rw", - "/:/home/workspace/host:rw" + "/root/.config:/root/.config" + ], + "ExtraHosts": [ + "host.docker.internal:host-gateway" ], "PortBindings": { - "80/tcp": [ + "9001/tcp": [ { "HostPort": "" } @@ -6790,55 +6825,56 @@ } } }, - "1.0.1": { - "identifier": "7d6e443f-a79b-5590-82e4-482b15e1ed2f", - "type": "other", - "website": null, + "v1.0.4": { + "identifier": "d28a5218-620a-58c3-8468-46a878b2260a", + "type": "device-integration", + "website": "https://github.com/bluerobotics/BlueOS-Water-Linked-DVL", "images": [ { - "expanded_size": 211619828, + "expanded_size": 71246910, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:dee5ee2a9c888be36172b674b9284a9434147874af39ca6680c017de0dfa8610" + "digest": "sha256:f8ee948cb512af09d2cab3cc92cc39de0bc802645f382033ba7c5d5972f7c541" } ], "authors": [ { - "name": "Patrick Jos\u00e9 Pereira", - "email": "patrickelectric@gmail.com" + "name": "Willian Galvani", + "email": "willian@bluerobotics.com" } ], "filter_tags": [ - "code", - "development", - "ide", - "vscode", - "python", - "rust" + "positioning", + "navigation", + "doppler-velocity-log" ], "extra_links": {}, - "tag": "1.0.1", + "tag": "v1.0.4", "docs": null, - "readme": "

BlueOS Code Server

\n

BlueOS extension for OpenVSCode Server.

\n

OpenVSCode server is a project where it provides a version of VS Code that runs a server on a remote machine and allows access through a modern web browser. It's based on the very same architecture used by Gitpod or GitHub Codespaces at scale.

", - "support": null, - "requirements": null, - "company": null, + "readme": "

BlueOS-Water-Linked-DVL

\n

Changelog

\n

v1.0.4

\n
    \n
  • Fix issue introduced in v1.0.3 where the extension was unable to talk to Cable-guy
  • \n
\n

v1.0.3

\n
    \n
  • Uses an random available port instead of 9001 to avoid conflict
  • \n
  • Updated menu icon
  • \n
\n

v1.0.2

\n
    \n
  • Improved style
  • \n
\n

v1.0.1

\n
    \n
  • Fixed an issue where the driver was sending Rangefinder messages with invalid data
  • \n
\n

This is a docker implementation of a Waterlinked DVL A50 driver as a BlueOS Extension.

\n

Install

\n

Install it from BlueOS extensions tab.

\n

The service will show in the \"Extension Manager\" section in BlueOS, where there are some configuration options.

", + "support": "https://github.com/bluerobotics/BlueOS-Water-Linked-DVL/issues", + "requirements": "core >= 1.1", + "company": { + "about": "", + "name": "Blue Robotics", + "email": "support@bluerobotics.com" + }, "permissions": { "ExposedPorts": { - "80/tcp": {} + "9001/tcp": {} }, "HostConfig": { - "Privileged": true, "Binds": [ - "/usr/blueos/userdata:/home/workspace/userdata:rw", - "/usr/blueos/openvscode:/openvscode:rw", - "/:/home/workspace/host:rw" + "/root/.config:/root/.config" + ], + "ExtraHosts": [ + "host.docker.internal:host-gateway" ], "PortBindings": { - "80/tcp": [ + "9001/tcp": [ { "HostPort": "" } @@ -6847,49 +6883,53 @@ } } }, - "1.0.0": { - "identifier": "dcda618a-ffe0-5fc0-8493-847a675d0d09", - "type": "other", - "website": null, + "v1.0.3": { + "identifier": "a6397468-59fb-5808-9706-ea15c6948122", + "type": "device-integration", + "website": "https://github.com/bluerobotics/BlueOS-Water-Linked-DVL", "images": [ { - "expanded_size": 211619813, + "expanded_size": 71173047, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:fafa0fa8ef1e93fc13f8db0da55157fc95303a4b5c2bccd00cf670aaae8b5d3e" + "digest": "sha256:18c4bf17906b278c44e840b40f8561928283ea151f48958ef42dd8ee0d95eb48" } ], "authors": [ { - "name": "Patrick Jos\u00e9 Pereira", - "email": "patrickelectric@gmail.com" - } + "name": "Willian Galvani", + "email": "willian@bluerobotics.com" + } ], "filter_tags": [ - "code", - "development", - "ide", - "vscode", - "python", - "rust" + "positioning", + "navigation", + "doppler-velocity-log" ], "extra_links": {}, - "tag": "1.0.0", + "tag": "v1.0.3", "docs": null, - "readme": "

BlueOS Code Server

\n

BlueOS extension for OpenVSCode Server.

\n

OpenVSCode server is a project where it provides a version of VS Code that runs a server on a remote machine and allows access through a modern web browser. It's based on the very same architecture used by Gitpod or GitHub Codespaces at scale.

", - "support": null, - "requirements": null, - "company": null, + "readme": "

BlueOS-Water-Linked-DVL

\n

Changelog

\n

v1.0.3

\n
    \n
  • Uses an random available port instead of 9001 to avoid conflict
  • \n
  • Updated menu icon
  • \n
\n

v1.0.2

\n
    \n
  • Improved style
  • \n
\n

v1.0.1

\n
    \n
  • Fixed an issue where the driver was sending Rangefinder messages with invalid data
  • \n
\n

This is a docker implementation of a Waterlinked DVL A50 driver as a BlueOS Extension.

\n

Install

\n

Install it from BlueOS extensions tab.

\n

The service will show in the \"Extension Manager\" section in BlueOS, where there are some configuration options.

", + "support": "https://github.com/bluerobotics/BlueOS-Water-Linked-DVL/issues", + "requirements": "core >= 1.1", + "company": { + "about": "", + "name": "Blue Robotics", + "email": "support@bluerobotics.com" + }, "permissions": { "ExposedPorts": { - "80/tcp": {} + "9001/tcp": {} }, "HostConfig": { + "Binds": [ + "/root/.config:/root/.config" + ], "PortBindings": { - "80/tcp": [ + "9001/tcp": [ { "HostPort": "" } @@ -6897,237 +6937,178 @@ } } } - } - }, - "repo_info": { - "downloads": 22495, - "last_updated": "2023-09-06T01:24:53.238154Z", - "date_registered": "2023-07-06T13:38:30.979513Z" - } - }, - { - "identifier": "vshie.pingSurvey", - "name": "Simple Ping2 Survey", - "website": "https://github.com/vshie/pingSurvey", - "docker": "vshie/blueos-simplepingsurvey", - "description": "Simple Ping2 Survey", - "extension_logo": "https://raw.githubusercontent.com/bluerobotics/BlueOS-Extensions-Repository/master/repos/vshie/pingSurvey/extension_logo.png", - "company_logo": "https://raw.githubusercontent.com/bluerobotics/BlueOS-Extensions-Repository/master/repos/vshie/company_logo.png", - "versions": { - "v1.0.1": { - "identifier": "91e2c1c5-9f3e-53aa-85a5-350c42bbe7f0", - "type": "tool", - "website": null, + }, + "v1.0.2": { + "identifier": "a5416f70-61fe-5098-930b-6fce0d2c0bf4", + "type": "other", + "website": "https://github.com/bluerobotics/BlueOS-Water-Linked-DVL", "images": [ { - "expanded_size": 54415457, + "expanded_size": 72588503, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:2917a429dfc66a447295883b8de1ca551ff3e64109bd6bdcf8d943d535811ac7" + "digest": "sha256:1e8607b8ea94b70337ada4b84941aa38fcccb06b0c630122d07c2dc66e64630d" } ], "authors": [ { - "name": "Tony White", - "email": "tonywhite@bluerobotics.com" + "name": "Willian Galvani", + "email": "willian@bluerobotics.com" } ], "filter_tags": [], - "extra_links": { - "source": "https://github.com/vshie/pingSurvey" - }, - "tag": "v1.0.1", + "extra_links": {}, + "tag": "v1.0.2", "docs": null, - "readme": "

BlueOS-ping Survey

\n

A simple extension for BlueOS intended for collection of time-sync'd sonar and GPS data.

\n

Read more about this extension here

\n

Future feature ideas:

\n
    \n
  • Fix bar at top that scrolls down to hide
  • \n
  • WP Survey speed parameter control on page?
  • \n
  • User controlled confidence filter on live and/or logged data?
  • \n
  • Show GPS speed over ground in table, HDOP
  • \n
  • User configurable color gradient to depth mapping
  • \n
  • Better mobile experience - scaling corner logos
  • \n
", - "support": null, - "requirements": "core >= 1.1", + "readme": "

BlueOS-Water-Linked-DVL

\n

Changelog

\n

v1.0.2

\n
    \n
  • Improved style
  • \n
\n

v1.0.1

\n
    \n
  • Fixed an issue where the driver was sending Rangefinder messages with invalid data
  • \n
\n

This is a docker implementation of a Waterlinked DVL A50 driver as a BlueOS Extension.

\n

Install

\n

Install it from BlueOS extensions tab.

\n

The service will show in the \"Extension Manager\" section in BlueOS, where there are some configuration options.

", + "support": "https://github.com/bluerobotics/BlueOS-Water-Linked-DVL", + "requirements": "core > 1", "company": { "about": "", "name": "Blue Robotics", "email": "support@bluerobotics.com" }, "permissions": { - "ExposedPorts": { - "5420/tcp": {} - }, - "HostConfig": { - "Binds": [ - "/usr/blueos/extensions/ping-survey:/app/logs" - ], - "ExtraHosts": [ - "host.docker.internal:host-gateway" - ], - "PortBindings": { - "5420/tcp": [ - { - "HostPort": "" - } - ] - } - } + "NetworkMode": "host" } }, - "v1.0.0": { - "identifier": "276e7852-159a-54f2-a476-0b623801fb8b", - "type": "example", - "website": null, + "v1.0.1": { + "identifier": "98ed5b74-52a3-57e1-a100-cbeb698c5498", + "type": "other", + "website": "https://github.com/bluerobotics/BlueOS-Water-Linked-DVL", "images": [ { - "expanded_size": 54320169, + "expanded_size": 72798434, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:f329aae26ef680843dd8b54ccb72f3e35ec80102b3d850a2c87ce4c522740a62" + "digest": "sha256:65115990f649c932a39466fc846aaf671608b441c1e8e8448b8cd4496204d88d" } ], "authors": [ { - "name": "Tony White", - "email": "tonywhite@bluerobotics.com" + "name": "Willian Galvani", + "email": "willian@bluerobotics.com" } ], "filter_tags": [], - "extra_links": { - "source": "https://github.com/vshie/pingSurvey" - }, - "tag": "v1.0.0", + "extra_links": {}, + "tag": "v1.0.1", "docs": null, - "readme": "

BlueOS-ping Survey

\n

A simple extension for BlueOS intended for collection of time-sync'd sonar and GPS data.

\n

Future feature ideas:

", - "support": null, - "requirements": "core >= 1.1", + "readme": "

BlueOS-Water-Linked-DVL

\n

Changelog

\n

v1.0.1

\n
    \n
  • Fixed an issue where the driver was sending Rangefinder messages with invalid data
  • \n
\n

This is a docker implementation of a Waterlinked DVL-a50 driver for the new Blue Robotics BlueOS.

\n

To set this up, ssh into the Raspberry Pi (or access via red-pill in BlueOS Terminal) and run

\n

sudo docker run -d --net=host -v /root/.config/blueos:/root/.config --name=BlueOS-Water-Linked-DVL --restart=unless-stopped bluerobotics/blueos-water-linked-dvl:latest

\n

The service will show in the \"Available Services\" section in BlueOS, where there are some configuration options.

", + "support": "https://github.com/bluerobotics/BlueOS-Water-Linked-DVL", + "requirements": "core > 1", "company": { "about": "", "name": "Blue Robotics", "email": "support@bluerobotics.com" }, "permissions": { - "ExposedPorts": { - "5420/tcp": {} - }, - "HostConfig": { - "Binds": [ - "/root/.config/blueos/extensions/$IMAGE_NAME:/root/.config" - ], - "ExtraHosts": [ - "host.docker.internal:host-gateway" - ], - "PortBindings": { - "5420/tcp": [ - { - "HostPort": "" - } - ] - } - } + "NetworkMode": "host" } - } - }, - "repo_info": { - "downloads": 3439, - "last_updated": "2024-02-02T17:20:22.289289Z", - "date_registered": "2023-10-04T23:07:17.135228Z" - } - }, - { - "identifier": "ceruleansonar.cerulean-docs", - "name": "Cerulean Docs", - "website": "https://github.com/ceruleansonar/BlueOS-Cerulean-Docs/", - "docker": "nicknothom/blueos-cerulean-docs", - "description": "Offline access for Cerulean Documentation", - "extension_logo": "https://raw.githubusercontent.com/bluerobotics/BlueOS-Extensions-Repository/master/repos/ceruleansonar/company_logo.png", - "company_logo": "https://raw.githubusercontent.com/bluerobotics/BlueOS-Extensions-Repository/master/repos/ceruleansonar/company_logo.png", - "versions": { - "v1.1.0": { - "identifier": "d50945d9-c307-5261-b40d-1f260ac0b6a4", + }, + "v1.0.0": { + "identifier": "a12a3bf4-23fa-54be-b7af-d4b1598c8246", "type": "other", - "website": "https://ceruleansonar.com", + "website": "https://github.com/bluerobotics/BlueOS-Water-Linked-DVL", "images": [ { - "expanded_size": 175566507, - "platform": { - "architecture": "amd64", - "variant": null, - "os": "linux" - }, - "digest": "sha256:bd71575157ca09fdb6a1b2f8072d56ea27ff0ef9176375d789d893f70cfa7a50" - }, - { - "expanded_size": 170030192, + "expanded_size": 72784115, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:bb85774c6ced6dae9b9b75cc66a3c0f2aeb20c61b5cb5ad37e393f688c93e843" + "digest": "sha256:daae2a13f71622da16ae0b2a766c3b17b314cf15d538d00112f4036677dad0de" } ], "authors": [ { - "name": "Nick Nothom", - "email": "nick.nothom@ceruleansonar.com" + "name": "Willian Galvani", + "email": "willian@bluerobotics.com" } ], "filter_tags": [], "extra_links": {}, - "tag": "v1.1.0", + "tag": "v1.0.0", "docs": null, - "readme": "

BlueOS Cerulean Docs

\n

Hosts a mirror of the Cerulean Docs on the ROV so they can be viewed offline.

", - "support": "https://forum.ceruleansonar.com/categories", + "readme": "

BlueOS-Water-Linked-DVL

\n

This is a docker implementation of a Waterlinked DVL-a50 driver for the new Blue Robotics BlueOS.

\n

To set this up, ssh into the Raspberry Pi (or access via red-pill in BlueOS Terminal) and run

\n

sudo docker run -d --net=host -v /root/.config/blueos:/root/.config --name=BlueOS-Water-Linked-DVL --restart=unless-stopped bluerobotics/blueos-water-linked-dvl:latest

\n

The service will show in the \"Available Services\" section in BlueOS, where there are some configuration options.

", + "support": "https://github.com/bluerobotics/BlueOS-Water-Linked-DVL", "requirements": "core > 1", "company": { "about": "", - "name": "Cerulean Sonar", - "email": "dennys.bisogno@ceruleansonar.com" + "name": "Blue Robotics", + "email": "support@bluerobotics.com" }, "permissions": { "NetworkMode": "host" } - }, - "v1.0.0": { - "identifier": "e6424a8a-3f3c-5312-9511-6d58f284e9fe", - "type": "other", - "website": "https://ceruleansonar.com", + } + }, + "repo_info": { + "downloads": 235083, + "last_updated": "2024-11-27T15:41:37.907923Z", + "date_registered": "2022-06-01T23:43:43.19026Z" + } + }, + { + "identifier": "bluerobotics.navigator-webassistant", + "name": "Navigator WebAssistant", + "website": "https://github.com/RaulTrombin/blueos-navigator-web-assistant", + "docker": "raulelektron/blueos_navigator_webassistant", + "description": "Use navigator board through webservices.", + "extension_logo": "https://raw.githubusercontent.com/bluerobotics/BlueOS-Extensions-Repository/master/repos/bluerobotics/navigator-webassistant/extension_logo.png", + "company_logo": "https://raw.githubusercontent.com/bluerobotics/BlueOS-Extensions-Repository/master/repos/bluerobotics/company_logo.png", + "versions": { + "0.0.0": { + "identifier": "042adc70-9663-5011-9bcb-ecb74a86eb2c", + "type": "education", + "website": null, "images": [ { - "expanded_size": 170033285, + "expanded_size": 13222204, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:a4dc00ddc3a2398ff400d2533b4f9eea53d19cce0a8df24b0f9595fa1c09fc4f" + "digest": "sha256:397c8a86a25d57079e23afc9a1b3da8affa81e634b567058f702e902d0ede456" } ], "authors": [ { - "name": "Nick Nothom", - "email": "nick.nothom@ceruleansonar.com" + "name": "Raul Victor Trombin", + "email": "raulvtrombin@gmail.com" } ], - "filter_tags": [], + "filter_tags": [ + "rov", + "robot" + ], "extra_links": {}, - "tag": "v1.0.0", + "tag": "0.0.0", "docs": null, - "readme": "

BlueOS Cerulean Docs

\n

Hosts a mirror of the Cerulean Docs on the ROV so they can be viewed offline.

", - "support": "https://forum.ceruleansonar.com/categories", - "requirements": "core > 1", + "readme": "

BlueOS's Navigator Extension

\n

Navigator Webassistant extension is a webserver that allows user to control navigator hardware.\nThis application uses the navigator-assistant to interface with navigator board, and users can control it from Websocket and RestAPI.

\n

Instructions

\n

Access the extensions manager and install with the following parameters:

\n

Extensions Manager:\nblueos.local/tools/extensions-manager\nParameters:

\n

```\nraulelektron.blueos_navigator_webassistant

\n

Navigator Assistant

\n

latest

\n

{\n \"ExposedPorts\": {\n \"8080/tcp\": {}\n },\n \"HostConfig\": {\n \"Privileged\": true,\n \"PortBindings\": {\n \"8080/tcp\": [\n {\n \"HostPort\": \"\"\n }\n ]\n }\n }\n}\n```

\n

You can also run Navigator Assistant locally or on other extensions. Please check navigator-web-assistant.

\n

You can also use the Jupyter extension to try some fast python and websocket applications.

", + "support": null, + "requirements": null, "company": { - "about": "", - "name": "Cerulean Sonar", - "email": "dennys.bisogno@ceruleansonar.com" + "about": "Control navigator hardware using webservices", + "name": "Blue Robotics", + "email": "support@bluerobotics.com" }, "permissions": { "ExposedPorts": { - "80/tcp": {} + "8080/tcp": {} }, "HostConfig": { + "Privileged": true, "PortBindings": { - "80/tcp": [ + "8080/tcp": [ { "HostPort": "" } @@ -7138,1500 +7119,2055 @@ } }, "repo_info": { - "downloads": 4950, - "last_updated": "2023-03-15T20:41:07.344116Z", - "date_registered": "2023-03-02T18:19:41.09439Z" + "downloads": 983, + "last_updated": "2024-02-05T22:10:02.139431Z", + "date_registered": "2024-01-22T15:06:39.735884Z" } }, { - "identifier": "ceruleansonar.sonarview", - "name": "SonarView", - "website": "https://sonarview.io/", - "docker": "nicknothom/sonarview", - "description": "Cross platform sonar viewing application", - "extension_logo": "https://raw.githubusercontent.com/bluerobotics/BlueOS-Extensions-Repository/master/repos/ceruleansonar/company_logo.png", - "company_logo": "https://raw.githubusercontent.com/bluerobotics/BlueOS-Extensions-Repository/master/repos/ceruleansonar/company_logo.png", + "identifier": "bluerobotics.node-red", + "name": "Node-RED", + "website": "https://github.com/patrickelectric/blueos-node-red", + "docker": "patrickelectric/blueos-node-red", + "description": "Low-code development tool for custom functionality", + "extension_logo": "https://raw.githubusercontent.com/bluerobotics/BlueOS-Extensions-Repository/master/repos/bluerobotics/node-red/extension_logo.png", + "company_logo": "https://raw.githubusercontent.com/bluerobotics/BlueOS-Extensions-Repository/master/repos/bluerobotics/company_logo.png", "versions": { - "1.13.1-beta": { - "identifier": "70ea11eb-74b3-5cc1-939b-adbaf7b6cabc", - "type": "device-integration", - "website": "https://ceruleansonar.com", + "1.1.0": { + "identifier": "4e50156a-1afb-592e-bf18-c159d7c126a0", + "type": "other", + "website": null, "images": [ { - "expanded_size": 74087422, - "platform": { - "architecture": "amd64", - "variant": null, - "os": "linux" - }, - "digest": "sha256:b9f26020cf6f3a6eeb7e06effeccac99ea533d6d0337e5f9388cef2dd3c12872" - }, - { - "expanded_size": 72285070, + "expanded_size": 168829981, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:5baa87bdee832d16301a6691c4a5c5d1840a1a96b2bcea87f030602c23107311" - }, - { - "expanded_size": 74084801, - "platform": { - "architecture": "arm64", - "variant": null, - "os": "linux" - }, - "digest": "sha256:9292ee4af3e653e5af90c5e57a9b7db79de5cfba87152088d173932d7bc7fc37" + "digest": "sha256:7fd15626dafae013f3d3bfd8dde4a11003bbd9c1c1c1d9e63edaa765fba77542" } ], "authors": [ { - "name": "Nick Nothom", - "email": "nick.nothom@ceruleansonar.com" + "name": "Patrick Jos\u00e9 Pereira", + "email": "patrickelectric@gmail.com" } ], - "filter_tags": [], + "filter_tags": [ + "code", + "development", + "ide", + "node-red" + ], "extra_links": {}, - "tag": "1.13.1-beta", + "tag": "1.1.0", "docs": null, - "readme": "

SonarView

\n

SonarView is a cross-platform application for controlling and communicating with sonar devices.

\n

This repository hosts the build and release process for SonarView.

\n", - "support": "https://forum.ceruleansonar.com/categories", + "readme": "

BlueOS node-red

\n

Node-RED is a programming tool for wiring together hardware devices, APIs and online services in new and interesting ways.

\n

It provides a browser-based editor that makes it easy to wire together flows using the wide range of nodes in the palette that can be deployed to its runtime in a single-click.

", + "support": null, "requirements": null, "company": { - "about": "Cerulean Sonar: Advanced Technology. Sensibly Priced.", - "name": "Cerulean Sonar", - "email": "dennys.bisogno@ceruleansonar.com" + "about": "", + "name": "Blue Robotics", + "email": "support@bluerobotics.com" }, "permissions": { + "ExposedPorts": { + "80/tcp": {} + }, "HostConfig": { - "NetworkMode": "host", + "Privileged": true, "Binds": [ - "/usr/blueos/userdata/SonarView:/userdata" + "/usr/blueos/extensions/node-red:/data:rw", + "/etc/hostname:/etc/hostname:ro", + "/dev:/dev:rw", + "/:/home/workspace/host:rw" ], - "ReadonlyRootfs": true, - "ExtraHosts": [ - "host.docker.internal:127.0.1.1" - ] + "PortBindings": { + "80/tcp": [ + { + "HostPort": "" + } + ] + } } } }, - "1.11.6": { - "identifier": "7b11044b-8a7d-5420-92fe-659f50007ce6", - "type": "device-integration", - "website": "https://ceruleansonar.com", + "1.0.3": { + "identifier": "f56aceb6-80df-59c4-8b04-ec4fb55ce680", + "type": "other", + "website": null, "images": [ { - "expanded_size": 82319185, - "platform": { - "architecture": "amd64", - "variant": null, - "os": "linux" - }, - "digest": "sha256:e8993bf2363ce510f3330f0e3b50acb215f0f8c0cc452e0ac37e8fda78fdc438" - }, - { - "expanded_size": 80513900, + "expanded_size": 161203610, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:0887c6e0c0a04b99f1f49363f8d96a7abc3f5e5b8365600d0c5d762f20040b7d" - }, - { - "expanded_size": 82319614, - "platform": { - "architecture": "arm64", - "variant": null, - "os": "linux" - }, - "digest": "sha256:1da10a7850d63d196cdcfd67403fe805233985a159eb8d46241e46741c3471ad" + "digest": "sha256:40af90b41e49214ab3cd2551871caae204e2d2bb484cf647c4b8b5db15936e1c" } ], "authors": [ { - "name": "Nick Nothom", - "email": "nick.nothom@ceruleansonar.com" + "name": "Patrick Jos\u00e9 Pereira", + "email": "patrickelectric@gmail.com" } ], - "filter_tags": [], + "filter_tags": [ + "code", + "development", + "ide", + "node-red" + ], "extra_links": {}, - "tag": "1.11.6", + "tag": "1.0.3", "docs": null, - "readme": "

SonarView

\n

SonarView is a cross-platform application for controlling and communicating with sonar devices.

\n

This repository hosts the build and release process for SonarView.

\n", - "support": "https://forum.ceruleansonar.com/categories", + "readme": "

BlueOS node-red

\n

Node-RED is a programming tool for wiring together hardware devices, APIs and online services in new and interesting ways.

\n

It provides a browser-based editor that makes it easy to wire together flows using the wide range of nodes in the palette that can be deployed to its runtime in a single-click.

", + "support": null, "requirements": null, "company": { - "about": "Cerulean Sonar: Advanced Technology. Sensibly Priced.", - "name": "Cerulean Sonar", - "email": "dennys.bisogno@ceruleansonar.com" + "about": "", + "name": "Blue Robotics", + "email": "support@bluerobotics.com" }, "permissions": { + "ExposedPorts": { + "80/tcp": {} + }, "HostConfig": { - "NetworkMode": "host", + "Privileged": true, "Binds": [ - "/usr/blueos/userdata/SonarView:/userdata" + "/usr/blueos/extensions/node-red:/data:rw", + "/etc/hostname:/etc/hostname:ro", + "/dev:/dev:rw", + "/:/home/workspace/host:rw" ], - "ReadonlyRootfs": true, - "ExtraHosts": [ - "host.docker.internal:127.0.1.1" - ] + "PortBindings": { + "80/tcp": [ + { + "HostPort": "" + } + ] + } } } }, - "1.11.4": { - "identifier": "ad47b040-2275-52ee-a297-ca80a043e18a", - "type": "device-integration", - "website": "https://ceruleansonar.com", + "1.0.2": { + "identifier": "0b938a2c-503c-532d-8e70-842f4f0b4321", + "type": "other", + "website": null, "images": [ { - "expanded_size": 82323544, - "platform": { - "architecture": "amd64", - "variant": null, - "os": "linux" - }, - "digest": "sha256:c905c18cedb0e2467d9abc2fd8d04f7deb1bcbca47c155752f9387a73ece3391" - }, - { - "expanded_size": 80514832, + "expanded_size": 157814612, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:64aa4c9f1d23e99dda04fb1c0bcc87ed3ed02627aed06deb7bf1adf4f01316b8" - }, - { - "expanded_size": 82320103, - "platform": { - "architecture": "arm64", - "variant": null, - "os": "linux" - }, - "digest": "sha256:2d768da8a611dec8bf5ade8f792f9e38013eb332edc578a9dd53c9021af6b4e2" + "digest": "sha256:20ce89d066804fc5c0207b71e7de85488abd1caccb011c21ee5a66d4df7f3130" } ], "authors": [ { - "name": "Nick Nothom", - "email": "nick.nothom@ceruleansonar.com" + "name": "Patrick Jos\u00e9 Pereira", + "email": "patrickelectric@gmail.com" } ], - "filter_tags": [], + "filter_tags": [ + "code", + "development", + "ide", + "node-red" + ], "extra_links": {}, - "tag": "1.11.4", + "tag": "1.0.2", "docs": null, - "readme": "

SonarView

\n

SonarView is a cross-platform application for controlling and communicating with sonar devices.

\n

This repository hosts the build and release process for SonarView.

\n", - "support": "https://forum.ceruleansonar.com/categories", + "readme": "

BlueOS node-red

\n

Node-RED is a programming tool for wiring together hardware devices, APIs and online services in new and interesting ways.

\n

It provides a browser-based editor that makes it easy to wire together flows using the wide range of nodes in the palette that can be deployed to its runtime in a single-click.

", + "support": null, "requirements": null, "company": { - "about": "Cerulean Sonar: Advanced Technology. Sensibly Priced.", - "name": "Cerulean Sonar", - "email": "dennys.bisogno@ceruleansonar.com" + "about": "", + "name": "Blue Robotics", + "email": "support@bluerobotics.com" }, "permissions": { + "ExposedPorts": { + "80/tcp": {} + }, "HostConfig": { - "NetworkMode": "host", + "Privileged": true, "Binds": [ - "/usr/blueos/userdata/SonarView:/userdata" + "/usr/blueos/userdata/node-red:/data:rw", + "/etc/hostname:/etc/hostname:ro", + "/dev:/dev:rw", + "/:/home/workspace/host:rw" ], - "ReadonlyRootfs": true, - "ExtraHosts": [ - "host.docker.internal:host-gateway" - ] + "PortBindings": { + "80/tcp": [ + { + "HostPort": "" + } + ] + } } } }, - "1.11.3": { - "identifier": "56ed6449-1ffb-5d70-8f83-db08efad0b59", - "type": "device-integration", - "website": "https://ceruleansonar.com", + "1.0.1": { + "identifier": "4fdb3c47-ee61-5322-a7ca-1e85416dbadc", + "type": "other", + "website": null, "images": [ { - "expanded_size": 80516719, + "expanded_size": 161234072, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:b87cd4b2325eaa733cb6c55d76901b125ea65593f3b4549b3aa87c23a8347c57" + "digest": "sha256:7e898a24b188429bad6bb6d1229ae906a1447b732afbc69fe29b22a5b839af89" } ], "authors": [ { - "name": "Nick Nothom", - "email": "nick.nothom@ceruleansonar.com" + "name": "Patrick Jos\u00e9 Pereira", + "email": "patrickelectric@gmail.com" } ], - "filter_tags": [], - "extra_links": {}, - "tag": "1.11.3", - "docs": null, - "readme": "

SonarView

\n

SonarView is a cross-platform application for controlling and communicating with sonar devices.

\n

This repository hosts the build and release process for SonarView.

\n", - "support": "https://forum.ceruleansonar.com/categories", + "filter_tags": [ + "code", + "development", + "ide", + "node-red" + ], + "extra_links": {}, + "tag": "1.0.1", + "docs": null, + "readme": "

BlueOS node-red

\n

Node-RED is a programming tool for wiring together hardware devices, APIs and online services in new and interesting ways.

\n

It provides a browser-based editor that makes it easy to wire together flows using the wide range of nodes in the palette that can be deployed to its runtime in a single-click.

", + "support": null, "requirements": null, "company": { - "about": "Cerulean Sonar: Advanced Technology. Sensibly Priced.", - "name": "Cerulean Sonar", - "email": "dennys.bisogno@ceruleansonar.com" + "about": "", + "name": "Blue Robotics", + "email": "support@bluerobotics.com" }, "permissions": { + "ExposedPorts": { + "80/tcp": {} + }, "HostConfig": { - "NetworkMode": "host", + "Privileged": true, "Binds": [ - "/usr/blueos/userdata/SonarView:/userdata" + "/usr/blueos/userdata/node-red:/data:rw", + "/etc/hostname:/etc/hostname:ro", + "/dev:/dev:rw", + "/:/home/workspace/host:rw" ], - "ReadonlyRootfs": true, - "ExtraHosts": [ - "host.docker.internal:host-gateway" - ] + "PortBindings": { + "80/tcp": [ + { + "HostPort": "" + } + ] + } } } }, - "1.11.1": { - "identifier": "a69f6f52-9e0b-5dc8-90d3-f3e24c7f91b9", - "type": "device-integration", - "website": "https://ceruleansonar.com", + "1.0.0": { + "identifier": "10ae5964-f59f-53a9-8828-664dc3406aab", + "type": "other", + "website": null, "images": [ { - "expanded_size": 80516048, + "expanded_size": 161234072, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:4ddfc5a90e90ec6a3e5bc98f2cbc967c9ae4087ead74130125cb20b5b3c71668" + "digest": "sha256:7e898a24b188429bad6bb6d1229ae906a1447b732afbc69fe29b22a5b839af89" } ], "authors": [ { - "name": "Nick Nothom", - "email": "nick.nothom@ceruleansonar.com" + "name": "Patrick Jos\u00e9 Pereira", + "email": "patrickelectric@gmail.com" } ], - "filter_tags": [], + "filter_tags": [ + "code", + "development", + "ide", + "node-red" + ], "extra_links": {}, - "tag": "1.11.1", + "tag": "1.0.0", "docs": null, - "readme": "

SonarView

\n

SonarView is a cross-platform application for controlling and communicating with sonar devices.

\n

This repository hosts the build and release process for SonarView.

\n", - "support": "https://forum.ceruleansonar.com/categories", + "readme": "

BlueOS node-red

\n

Node-RED is a programming tool for wiring together hardware devices, APIs and online services in new and interesting ways.

\n

It provides a browser-based editor that makes it easy to wire together flows using the wide range of nodes in the palette that can be deployed to its runtime in a single-click.

", + "support": null, "requirements": null, "company": { - "about": "Cerulean Sonar: Advanced Technology. Sensibly Priced.", - "name": "Cerulean Sonar", - "email": "dennys.bisogno@ceruleansonar.com" + "about": "", + "name": "Blue Robotics", + "email": "support@bluerobotics.com" }, "permissions": { + "ExposedPorts": { + "80/tcp": {} + }, "HostConfig": { - "NetworkMode": "host", + "Privileged": true, "Binds": [ - "/usr/blueos/userdata/SonarView:/userdata" + "/usr/blueos/userdata/node-red:/data:rw", + "/etc/hostname:/etc/hostname:ro", + "/dev:/dev:rw", + "/:/home/workspace/host:rw" ], - "ReadonlyRootfs": true, - "ExtraHosts": [ - "host.docker.internal:host-gateway" - ] + "PortBindings": { + "80/tcp": [ + { + "HostPort": "" + } + ] + } } } - }, - "1.10.2-beta.3": { - "identifier": "c71434d5-b801-5242-b289-40a862a2f981", + } + }, + "repo_info": { + "downloads": 8313, + "last_updated": "2024-07-29T21:22:46.380269Z", + "date_registered": "2023-08-29T20:22:57.798237Z" + } + }, + { + "identifier": "bluerobotics.cellphone-modem-manager", + "name": "Cellphone Modem Manager", + "website": "https://github.com/bluerobotics/cellphone-modem-manager", + "docker": "bluerobotics/blueos-cellphone-modem-manager", + "description": "Blue Robotics cellphone modem manager", + "extension_logo": "https://raw.githubusercontent.com/bluerobotics/BlueOS-Extensions-Repository/master/repos/bluerobotics/cellphone-modem-manager/extension_logo.png", + "company_logo": "https://raw.githubusercontent.com/bluerobotics/BlueOS-Extensions-Repository/master/repos/bluerobotics/company_logo.png", + "versions": { + "0.2.0": { + "identifier": "55684b9f-3da4-540c-a19e-f060e95db1e6", "type": "device-integration", - "website": "https://ceruleansonar.com", + "website": "https://raw.githubusercontent.com/bluerobotics/cellphone-modem-manager/", "images": [ { - "expanded_size": 80506933, + "expanded_size": 98006979, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:6197170208f4a67016af98439f22059cace4018fd2023d35759465f84a3123e4" + "digest": "sha256:2d9c19eea0c360eded692fb5e23d3a7d8bb7146f542e7aeb613f9ef8a245d88d" + }, + { + "expanded_size": 104323629, + "platform": { + "architecture": "arm64", + "variant": null, + "os": "linux" + }, + "digest": "sha256:9531b33148500a5a60e71aece48921e09de7ac2117165b517b675754c91de492" + }, + { + "expanded_size": 107030530, + "platform": { + "architecture": "amd64", + "variant": null, + "os": "linux" + }, + "digest": "sha256:5ca0ce1d54db139f385fe3cd66256f5803ed3ae70ebb28e993f2245d97864dbc" } ], "authors": [ { - "name": "Nick Nothom", - "email": "nick.nothom@ceruleansonar.com" + "name": "Jo\u00e3o M\u00e1rio Lago", + "email": "joaolago@bluerobotics.com" + }, + { + "name": "Willian Galvani", + "email": "willian@bluerobotics.com" + }, + { + "name": "Patrick J. Pereira", + "email": "patrickelectric@gmail.com" } ], "filter_tags": [], "extra_links": {}, - "tag": "1.10.2-beta.3", + "tag": "0.2.0", "docs": null, - "readme": "

SonarView

\n

SonarView is a cross-platform application for controlling and communicating with sonar devices.

\n

This repository hosts the build and release process for SonarView.

\n", - "support": "https://forum.ceruleansonar.com/categories", - "requirements": null, + "readme": "

Basic extension to manage cellphone modems

", + "support": "https://raw.githubusercontent.com/bluerobotics/cellphone-modem-manager/", + "requirements": "core >= 1.3", "company": { - "about": "Cerulean Sonar: Advanced Technology. Sensibly Priced.", - "name": "Cerulean Sonar", - "email": "dennys.bisogno@ceruleansonar.com" + "about": "", + "name": "Blue Robotics", + "email": "support@bluerobotics.com" }, "permissions": { + "ExposedPorts": { + "20038/tcp": {} + }, "HostConfig": { - "NetworkMode": "host", + "Privileged": true, "Binds": [ - "/usr/blueos/userdata/SonarView:/userdata" + "/root/.config:/root/.config", + "/dev:/dev:rw" ], - "ReadonlyRootfs": true, "ExtraHosts": [ - "host.docker.internal:host-gateway" - ] + "blueos.internal:host-gateway" + ], + "PortBindings": { + "20038/tcp": [ + { + "HostPort": "" + } + ] + } } } }, - "1.10.2-beta": { - "identifier": "ca378d8a-7911-5ff3-bf75-b19e0b2841ed", + "0.1.0": { + "identifier": "66cf0c96-6457-5117-b5fe-c3af41614318", "type": "device-integration", - "website": "https://ceruleansonar.com", + "website": "https://raw.githubusercontent.com/bluerobotics/cellphone-modem-manager/", "images": [ { - "expanded_size": 65839861, + "expanded_size": 98006170, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:dc079a313915976ec9af36eccc1b6cbff273b9277ff5266f84882049e40d0186" + "digest": "sha256:5fdbc09389ee7691c4c5b801c6f071f45d2d153afa375a3c872209870c20f3a2" } ], "authors": [ { - "name": "Nick Nothom", - "email": "nick.nothom@ceruleansonar.com" + "name": "Jo\u00e3o M\u00e1rio Lago", + "email": "joaolago@bluerobotics.com" + }, + { + "name": "Willian Galvani", + "email": "willian@bluerobotics.com" + }, + { + "name": "Patrick J. Pereira", + "email": "patrickelectric@gmail.com" } ], "filter_tags": [], "extra_links": {}, - "tag": "1.10.2-beta", + "tag": "0.1.0", "docs": null, - "readme": "

SonarView

\n

SonarView is a cross-platform application for controlling and communicating with sonar devices.

\n

This repository hosts the build and release process for SonarView.

\n", - "support": "https://forum.ceruleansonar.com/categories", - "requirements": null, + "readme": "

Basic extension to manage cellphone modems

", + "support": "https://raw.githubusercontent.com/bluerobotics/cellphone-modem-manager/", + "requirements": "core >= 1.3", "company": { - "about": "Cerulean Sonar: Advanced Technology. Sensibly Priced.", - "name": "Cerulean Sonar", - "email": "dennys.bisogno@ceruleansonar.com" + "about": "", + "name": "Blue Robotics", + "email": "support@bluerobotics.com" }, "permissions": { + "ExposedPorts": { + "20038/tcp": {} + }, "HostConfig": { - "NetworkMode": "host", + "Privileged": true, "Binds": [ - "/usr/blueos/userdata/SonarView:/userdata" + "/root/.config:/root/.config", + "/dev:/dev:rw" ], - "ReadonlyRootfs": true, "ExtraHosts": [ - "host.docker.internal:host-gateway" - ] + "blueos.internal:host-gateway" + ], + "PortBindings": { + "20038/tcp": [ + { + "HostPort": "" + } + ] + } } } - }, - "1.10.0": { - "identifier": "49e536c2-67b0-5378-9568-14876ab174f0", - "type": "device-integration", - "website": "https://ceruleansonar.com", - "images": [ - { - "expanded_size": 112680456, - "platform": { - "architecture": "arm", - "variant": "v7", - "os": "linux" - }, - "digest": "sha256:89320f349fe49896676c0dc39122a9cfca50d01aa5d1b062e0445a6c6260acc1" - } - ], - "authors": [ - { - "name": "Nick Nothom", - "email": "nick.nothom@ceruleansonar.com" - } - ], - "filter_tags": [], - "extra_links": {}, - "tag": "1.10.0", - "docs": null, - "readme": "

SonarView

\n

SonarView is a cross-platform application for controlling and communicating with sonar devices.

\n

This repository hosts the build and release process for SonarView.

\n", - "support": "https://forum.ceruleansonar.com/categories", - "requirements": null, - "company": { - "about": "Cerulean Sonar: Advanced Technology. Sensibly Priced.", - "name": "Cerulean Sonar", - "email": "dennys.bisogno@ceruleansonar.com" - }, - "permissions": { - "HostConfig": { - "NetworkMode": "host", - "Binds": [ - "/usr/blueos/userdata/SonarView:/userdata" - ] - } - } - }, - "1.10.0-beta.12": { - "identifier": "d349a682-d3c4-5062-9217-8cd917b77022", - "type": "device-integration", - "website": "https://ceruleansonar.com", + } + }, + "repo_info": { + "downloads": 205, + "last_updated": "2024-12-17T00:38:57.606838Z", + "date_registered": "2024-12-10T16:34:37.516719Z" + } + }, + { + "identifier": "bluerobotics.openvscode", + "name": "OpenVSCoder", + "website": "https://github.com/patrickelectric/blueos-code-server", + "docker": "patrickelectric/blueos-openvscode", + "description": "Edit and run code directly in BlueOS", + "extension_logo": "https://raw.githubusercontent.com/bluerobotics/BlueOS-Extensions-Repository/master/repos/bluerobotics/openvscode/extension_logo.png", + "company_logo": "https://raw.githubusercontent.com/bluerobotics/BlueOS-Extensions-Repository/master/repos/bluerobotics/company_logo.png", + "versions": { + "1.1.2": { + "identifier": "a74a07d6-9148-5a4e-9bb9-0d65cf1ee13e", + "type": "other", + "website": null, "images": [ { - "expanded_size": 101384005, + "expanded_size": 717989843, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:fdeb4a8e8dd78ac86f12da10ce85bbe34620cdec12f76d7b48e938a57f05cda9" + "digest": "sha256:6c4f9d55d5a55b557d473ad47b08493e56be4801d44744a151598505a80f2d38" } ], "authors": [ { - "name": "Nick Nothom", - "email": "nick.nothom@ceruleansonar.com" + "name": "Patrick Jos\u00e9 Pereira", + "email": "patrickelectric@gmail.com" } ], - "filter_tags": [], + "filter_tags": [ + "code", + "development", + "ide", + "vscode", + "python", + "rust" + ], "extra_links": {}, - "tag": "1.10.0-beta.12", + "tag": "1.1.2", "docs": null, - "readme": "

SonarView

\n

SonarView is a cross-platform application for controlling and communicating with sonar devices.

\n

This repository hosts the build and release process for SonarView.

\n", - "support": "https://forum.ceruleansonar.com/categories", + "readme": "

BlueOS Code Server

\n

BlueOS extension for OpenVSCode Server.

\n

OpenVSCode server is a project where it provides a version of VS Code that runs a server on a remote machine and allows access through a modern web browser. It's based on the very same architecture used by Gitpod or GitHub Codespaces at scale.

", + "support": null, "requirements": null, - "company": { - "about": "Cerulean Sonar: Advanced Technology. Sensibly Priced.", - "name": "Cerulean Sonar", - "email": "dennys.bisogno@ceruleansonar.com" - }, + "company": null, "permissions": { + "ExposedPorts": { + "80/tcp": {} + }, "HostConfig": { - "NetworkMode": "host", + "Privileged": true, "Binds": [ - "/usr/blueos/userdata/SonarView:/userdata" - ] + "/usr/blueos/userdata/openvscode/.cache:/home/workspace/.cache:rw", + "/usr/blueos/userdata/openvscode/.local:/home/workspace/.local:rw", + "/usr/blueos/userdata:/userdata:rw", + "/usr/blueos/openvscode:/openvscode:rw", + "/var/run/docker.sock:/var/run/docker.sock:rw", + "/usr/bin/docker:/usr/bin/docker:ro", + "/etc/hostname:/etc/hostname:ro", + "/dev:/dev:rw", + "/:/home/workspace/host:rw" + ], + "PortBindings": { + "80/tcp": [ + { + "HostPort": "" + } + ] + } } } }, - "1.10.0-beta.11": { - "identifier": "21d0136b-e157-53b9-ab32-fc7af2d8773d", - "type": "device-integration", - "website": "https://ceruleansonar.com", + "1.1.1": { + "identifier": "9ea3a4bf-5af7-5628-bf18-a0112499a59d", + "type": "other", + "website": null, "images": [ { - "expanded_size": 101256004, + "expanded_size": 690118664, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:588e8164b3a0b2271228d951dbee79965b3c9689c45b1186a49ce9a80b819c3f" + "digest": "sha256:36249d2e485389d1a2cc2470160a2452236bba9684a1050f9a1a83bda032579e" } ], "authors": [ { - "name": "Nick Nothom", - "email": "nick.nothom@ceruleansonar.com" + "name": "Patrick Jos\u00e9 Pereira", + "email": "patrickelectric@gmail.com" } ], - "filter_tags": [], + "filter_tags": [ + "code", + "development", + "ide", + "vscode", + "python", + "rust" + ], "extra_links": {}, - "tag": "1.10.0-beta.11", + "tag": "1.1.1", "docs": null, - "readme": "

SonarView

\n

SonarView is a cross-platform application for controlling and communicating with sonar devices.

\n

This repository hosts the build and release process for SonarView.

\n", - "support": "https://forum.ceruleansonar.com/categories", + "readme": "

BlueOS Code Server

\n

BlueOS extension for OpenVSCode Server.

\n

OpenVSCode server is a project where it provides a version of VS Code that runs a server on a remote machine and allows access through a modern web browser. It's based on the very same architecture used by Gitpod or GitHub Codespaces at scale.

", + "support": null, "requirements": null, - "company": { - "about": "Cerulean Sonar: Advanced Technology. Sensibly Priced.", - "name": "Cerulean Sonar", - "email": "dennys.bisogno@ceruleansonar.com" - }, + "company": null, "permissions": { + "ExposedPorts": { + "80/tcp": {} + }, "HostConfig": { - "NetworkMode": "host", + "Privileged": true, "Binds": [ - "/usr/blueos/userdata/SonarView:/userdata" - ] + "/usr/blueos/userdata:/home/workspace/userdata:rw", + "/usr/blueos/openvscode:/openvscode:rw", + "/var/run/docker.sock:/var/run/docker.sock:rw", + "/usr/bin/docker:/usr/bin/docker:ro", + "/etc/hostname:/etc/hostname:ro", + "/dev:/dev:rw", + "/:/home/workspace/host:rw" + ], + "PortBindings": { + "80/tcp": [ + { + "HostPort": "" + } + ] + } } } }, - "1.10.0-beta.10": { - "identifier": "cea5e538-5147-5706-8e4d-38cbdc320356", - "type": "device-integration", - "website": "https://ceruleansonar.com", + "1.1.0": { + "identifier": "f1e0dcf6-8ee1-5746-bd9b-5a8189bf4716", + "type": "other", + "website": null, "images": [ { - "expanded_size": 101125762, + "expanded_size": 800907473, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:aed2ec3f11c34455849d7df0202ad696e142cccf4f3cac6bf46c4e9ae781e0eb" + "digest": "sha256:c4bfff1256818710af76d7b9ca2cfff8d98f2edcacf745c2b460a5166d822ece" } ], "authors": [ { - "name": "Nick Nothom", - "email": "nick.nothom@ceruleansonar.com" + "name": "Patrick Jos\u00e9 Pereira", + "email": "patrickelectric@gmail.com" } ], - "filter_tags": [], + "filter_tags": [ + "code", + "development", + "ide", + "vscode", + "python", + "rust" + ], "extra_links": {}, - "tag": "1.10.0-beta.10", + "tag": "1.1.0", "docs": null, - "readme": "

SonarView

\n

SonarView is a cross-platform application for controlling and communicating with sonar devices.

\n

This repository hosts the build and release process for SonarView.

\n", - "support": "https://forum.ceruleansonar.com/categories", + "readme": "

BlueOS Code Server

\n

BlueOS extension for OpenVSCode Server.

\n

OpenVSCode server is a project where it provides a version of VS Code that runs a server on a remote machine and allows access through a modern web browser. It's based on the very same architecture used by Gitpod or GitHub Codespaces at scale.

", + "support": null, "requirements": null, - "company": { - "about": "Cerulean Sonar: Advanced Technology. Sensibly Priced.", - "name": "Cerulean Sonar", - "email": "dennys.bisogno@ceruleansonar.com" - }, + "company": null, "permissions": { + "ExposedPorts": { + "80/tcp": {} + }, "HostConfig": { - "NetworkMode": "host", + "Privileged": true, "Binds": [ - "/usr/blueos/userdata/SonarView:/userdata" - ] + "/usr/blueos/userdata:/home/workspace/userdata:rw", + "/usr/blueos/openvscode:/openvscode:rw", + "/var/run/docker.sock:/var/run/docker.sock:rw", + "/usr/bin/docker:/usr/bin/docker:ro", + "/etc/hostname:/etc/hostname:ro", + "/dev:/dev:rw", + "/:/home/workspace/host:rw" + ], + "PortBindings": { + "80/tcp": [ + { + "HostPort": "" + } + ] + } } } }, - "1.10.0-beta.5": { - "identifier": "3891d46c-944e-5dd0-aa43-8ef3423d9201", - "type": "device-integration", - "website": "https://ceruleansonar.com", + "1.0.7": { + "identifier": "f069f86e-9bc5-573f-9c49-020604e09720", + "type": "other", + "website": null, "images": [ { - "expanded_size": 101205315, + "expanded_size": 306628412, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:8fa0cb03edec8552eb104850491165926039a031687de6fd3f8db05cd3b42024" + "digest": "sha256:b145ec2696af559d0df0ef81cd3428627332bcc3bab0f6a531b668a4fac63be7" } ], "authors": [ { - "name": "Nick Nothom", - "email": "nick.nothom@ceruleansonar.com" + "name": "Patrick Jos\u00e9 Pereira", + "email": "patrickelectric@gmail.com" } ], - "filter_tags": [], + "filter_tags": [ + "code", + "development", + "ide", + "vscode", + "python", + "rust" + ], "extra_links": {}, - "tag": "1.10.0-beta.5", + "tag": "1.0.7", "docs": null, - "readme": "

SonarView

\n

SonarView is a cross-platform application for controlling and communicating with sonar devices.

\n

This repository hosts the build and release process for SonarView.

\n", - "support": "https://forum.ceruleansonar.com/categories", + "readme": "

BlueOS Code Server

\n

BlueOS extension for OpenVSCode Server.

\n

OpenVSCode server is a project where it provides a version of VS Code that runs a server on a remote machine and allows access through a modern web browser. It's based on the very same architecture used by Gitpod or GitHub Codespaces at scale.

", + "support": null, "requirements": null, - "company": { - "about": "Cerulean Sonar: Advanced Technology. Sensibly Priced.", - "name": "Cerulean Sonar", - "email": "dennys.bisogno@ceruleansonar.com" - }, + "company": null, "permissions": { + "ExposedPorts": { + "80/tcp": {} + }, "HostConfig": { - "NetworkMode": "host", + "Privileged": true, "Binds": [ - "/usr/blueos/userdata/SonarView:/userdata" - ] + "/usr/blueos/userdata:/home/workspace/userdata:rw", + "/usr/blueos/openvscode:/openvscode:rw", + "/var/run/docker.sock:/var/run/docker.sock:rw", + "/usr/bin/docker:/usr/bin/docker:ro", + "/etc/hostname:/etc/hostname:ro", + "/:/home/workspace/host:rw" + ], + "PortBindings": { + "80/tcp": [ + { + "HostPort": "" + } + ] + } } } }, - "1.10.0-beta.4": { - "identifier": "06ad512b-596b-5943-9a53-7046445e0bf7", - "type": "device-integration", - "website": "https://ceruleansonar.com", + "1.0.6": { + "identifier": "1aa4f634-c664-5a19-814a-e2f54b1437f3", + "type": "other", + "website": null, "images": [ { - "expanded_size": 101198927, + "expanded_size": 306628413, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:573434b0d1ad6e9a65bd1a29ec77ee16ed7392411b73adc6a739d2acbec3481d" + "digest": "sha256:a917f9dc8ea4b6c8c55d2d740d28e034ee0e83e46422a8bb6a40e9fe8b8b5af6" } ], "authors": [ { - "name": "Nick Nothom", - "email": "nick.nothom@ceruleansonar.com" + "name": "Patrick Jos\u00e9 Pereira", + "email": "patrickelectric@gmail.com" } ], - "filter_tags": [], + "filter_tags": [ + "code", + "development", + "ide", + "vscode", + "python", + "rust" + ], "extra_links": {}, - "tag": "1.10.0-beta.4", + "tag": "1.0.6", "docs": null, - "readme": "

SonarView

\n

SonarView is a cross-platform application for controlling and communicating with sonar devices.

\n

This repository hosts the build and release process for SonarView.

\n", - "support": "https://forum.ceruleansonar.com/categories", + "readme": "

BlueOS Code Server

\n

BlueOS extension for OpenVSCode Server.

\n

OpenVSCode server is a project where it provides a version of VS Code that runs a server on a remote machine and allows access through a modern web browser. It's based on the very same architecture used by Gitpod or GitHub Codespaces at scale.

", + "support": null, "requirements": null, - "company": { - "about": "Cerulean Sonar: Advanced Technology. Sensibly Priced.", - "name": "Cerulean Sonar", - "email": "dennys.bisogno@ceruleansonar.com" - }, + "company": null, "permissions": { + "ExposedPorts": { + "80/tcp": {} + }, "HostConfig": { - "NetworkMode": "host", + "Privileged": true, "Binds": [ - "/usr/blueos/userdata/SonarView:/userdata" - ] + "/usr/blueos/userdata:/home/workspace/userdata:rw", + "/usr/blueos/openvscode:/openvscode:rw", + "/etc/hostname:/etc/hostname:ro", + "/:/home/workspace/host:rw" + ], + "PortBindings": { + "80/tcp": [ + { + "HostPort": "" + } + ] + } } } }, - "1.10.0-beta.1": { - "identifier": "7b278514-5be9-5a08-951b-4498a58723c9", - "type": "device-integration", - "website": "https://ceruleansonar.com", + "1.0.5": { + "identifier": "5a744a04-250a-5e44-a418-c833bc445a98", + "type": "other", + "website": null, "images": [ { - "expanded_size": 49771027, + "expanded_size": 306628410, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:85161c073ce12e2097dda21e71e5802b274c470d939ef8ae2a09fd09f0ef2b7c" + "digest": "sha256:fca3d0af07145c5a4b15ed014f9e7db84d2f358b4d22716cf0fda8d31cbc479b" } ], "authors": [ { - "name": "Nick Nothom", - "email": "nick.nothom@ceruleansonar.com" + "name": "Patrick Jos\u00e9 Pereira", + "email": "patrickelectric@gmail.com" } ], - "filter_tags": [], + "filter_tags": [ + "code", + "development", + "ide", + "vscode", + "python", + "rust" + ], "extra_links": {}, - "tag": "1.10.0-beta.1", + "tag": "1.0.5", "docs": null, - "readme": "

SonarView

\n

SonarView is a cross-platform application for controlling and communicating with sonar devices.

\n

This repository hosts the build and release process for SonarView.

\n", - "support": "https://forum.ceruleansonar.com/categories", + "readme": "

BlueOS Code Server

\n

BlueOS extension for OpenVSCode Server.

\n

OpenVSCode server is a project where it provides a version of VS Code that runs a server on a remote machine and allows access through a modern web browser. It's based on the very same architecture used by Gitpod or GitHub Codespaces at scale.

", + "support": null, "requirements": null, - "company": { - "about": "Cerulean Sonar: Advanced Technology. Sensibly Priced.", - "name": "Cerulean Sonar", - "email": "dennys.bisogno@ceruleansonar.com" - }, + "company": null, "permissions": { + "ExposedPorts": { + "80/tcp": {} + }, "HostConfig": { - "NetworkMode": "host", + "Privileged": true, "Binds": [ - "/usr/blueos/userdata/SonarView:/userdata" - ] + "/usr/blueos/userdata:/home/workspace/userdata:rw", + "/usr/blueos/openvscode:/openvscode:rw", + "/etc/hostname:/etc/hostname:ro", + "/:/home/workspace/host:rw" + ], + "PortBindings": { + "80/tcp": [ + { + "HostPort": "" + } + ] + } } } }, - "1.9.12": { - "identifier": "325dc850-1974-5133-b4c6-b04c2c34eb77", - "type": "device-integration", - "website": "https://ceruleansonar.com", + "1.0.4": { + "identifier": "15f94a81-695d-530f-bafc-5dcef4bbf61b", + "type": "other", + "website": null, "images": [ { - "expanded_size": 49771292, + "expanded_size": 306514789, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:d3f23d2b3c9cb79a7d476e929d68a86ede6a2eb1c7aef38241ac02c9f5abc966" + "digest": "sha256:de3c0417bb5f8ff88cefc38e78d8706116d8ae9726c2ab4262af5a7580e7567c" } ], "authors": [ { - "name": "Nick Nothom", - "email": "nick.nothom@ceruleansonar.com" + "name": "Patrick Jos\u00e9 Pereira", + "email": "patrickelectric@gmail.com" } ], - "filter_tags": [], + "filter_tags": [ + "code", + "development", + "ide", + "vscode", + "python", + "rust" + ], "extra_links": {}, - "tag": "1.9.12", + "tag": "1.0.4", "docs": null, - "readme": "

SonarView

\n

SonarView is a cross-platform application for controlling and communicating with sonar devices.

\n

This repository hosts the build and release process for SonarView.

\n", - "support": "https://forum.ceruleansonar.com/categories", + "readme": "

BlueOS Code Server

\n

BlueOS extension for OpenVSCode Server.

\n

OpenVSCode server is a project where it provides a version of VS Code that runs a server on a remote machine and allows access through a modern web browser. It's based on the very same architecture used by Gitpod or GitHub Codespaces at scale.

", + "support": null, "requirements": null, - "company": { - "about": "Cerulean Sonar: Advanced Technology. Sensibly Priced.", - "name": "Cerulean Sonar", - "email": "dennys.bisogno@ceruleansonar.com" - }, + "company": null, "permissions": { + "ExposedPorts": { + "80/tcp": {} + }, "HostConfig": { - "NetworkMode": "host", + "Privileged": true, "Binds": [ - "/usr/blueos/userdata/SonarView:/userdata" - ] + "/usr/blueos/userdata:/home/workspace/userdata:rw", + "/usr/blueos/openvscode:/openvscode:rw", + "/:/home/workspace/host:rw" + ], + "PortBindings": { + "80/tcp": [ + { + "HostPort": "" + } + ] + } } } }, - "1.9.12-beta.9": { - "identifier": "572ecada-021f-5961-9c71-c79deb82fe25", - "type": "device-integration", - "website": "https://ceruleansonar.com", + "1.0.3": { + "identifier": "c1d55fdb-fa51-5c81-931b-02931f7c3461", + "type": "other", + "website": null, "images": [ { - "expanded_size": 42853862, + "expanded_size": 211619864, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:d9521aca36f3adb67a84358499748d9386edfead62f1ca0838dec52ef9422382" + "digest": "sha256:5647c270f0f05c688748e58912aa139e1d82b8801ccf23b4997631e13f89abe9" } ], "authors": [ { - "name": "Nick Nothom", - "email": "nick.nothom@ceruleansonar.com" + "name": "Patrick Jos\u00e9 Pereira", + "email": "patrickelectric@gmail.com" } ], - "filter_tags": [], + "filter_tags": [ + "code", + "development", + "ide", + "vscode", + "python", + "rust" + ], "extra_links": {}, - "tag": "1.9.12-beta.9", + "tag": "1.0.3", "docs": null, - "readme": "

SonarView

\n

SonarView is a cross-platform application for controlling and communicating with sonar devices.

\n

This repository hosts the build and release process for SonarView.

\n", - "support": "https://forum.ceruleansonar.com/categories", + "readme": "

BlueOS Code Server

\n

BlueOS extension for OpenVSCode Server.

\n

OpenVSCode server is a project where it provides a version of VS Code that runs a server on a remote machine and allows access through a modern web browser. It's based on the very same architecture used by Gitpod or GitHub Codespaces at scale.

", + "support": null, "requirements": null, - "company": { - "about": "Cerulean Sonar: Advanced Technology. Sensibly Priced.", - "name": "Cerulean Sonar", - "email": "dennys.bisogno@ceruleansonar.com" - }, + "company": null, "permissions": { + "ExposedPorts": { + "80/tcp": {} + }, "HostConfig": { - "NetworkMode": "host", + "Privileged": true, "Binds": [ - "/usr/blueos/userdata/SonarView:/userdata" - ] + "/usr/blueos/userdata:/home/workspace/userdata:rw", + "/usr/blueos/openvscode:/openvscode:rw", + "/:/home/workspace/host:rw" + ], + "PortBindings": { + "80/tcp": [ + { + "HostPort": "" + } + ] + } } } }, - "1.9.12-beta.8": { - "identifier": "e2d5ea6f-d93b-5db2-8c6f-c10c1d652ea6", - "type": "device-integration", - "website": "https://ceruleansonar.com", + "1.0.2": { + "identifier": "acff44bd-868a-5073-8dd0-9de682c36b45", + "type": "other", + "website": null, "images": [ { - "expanded_size": 42853915, + "expanded_size": 211619835, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:3b8b7880f4ce78bab0ab1a28d2bb9aaf92cffc1cf807f905e45de1406885acdd" + "digest": "sha256:933474f7fb3e1223b29b1fd6c1b382d8ca40635e2513d322fed6d052f2c2a8f1" } ], "authors": [ { - "name": "Nick Nothom", - "email": "nick.nothom@ceruleansonar.com" + "name": "Patrick Jos\u00e9 Pereira", + "email": "patrickelectric@gmail.com" } ], - "filter_tags": [], + "filter_tags": [ + "code", + "development", + "ide", + "vscode", + "python", + "rust" + ], "extra_links": {}, - "tag": "1.9.12-beta.8", + "tag": "1.0.2", "docs": null, - "readme": "

SonarView

\n

SonarView is a cross-platform application for controlling and communicating with sonar devices.

\n

This repository hosts the build and release process for SonarView.

\n", - "support": "https://forum.ceruleansonar.com/categories", + "readme": "

BlueOS Code Server

\n

BlueOS extension for OpenVSCode Server.

\n

OpenVSCode server is a project where it provides a version of VS Code that runs a server on a remote machine and allows access through a modern web browser. It's based on the very same architecture used by Gitpod or GitHub Codespaces at scale.

", + "support": null, "requirements": null, - "company": { - "about": "Cerulean Sonar: Advanced Technology. Sensibly Priced.", - "name": "Cerulean Sonar", - "email": "dennys.bisogno@ceruleansonar.com" - }, + "company": null, "permissions": { + "ExposedPorts": { + "80/tcp": {} + }, "HostConfig": { - "NetworkMode": "host", + "Privileged": true, "Binds": [ - "/usr/blueos/userdata/SonarView:/userdata" - ] + "/usr/blueos/userdata:/home/workspace/userdata:rw", + "/usr/blueos/openvscode:/openvscode:rw", + "/:/home/workspace/host:rw" + ], + "PortBindings": { + "80/tcp": [ + { + "HostPort": "" + } + ] + } } } }, - "1.9.12-beta.7": { - "identifier": "37cf3df4-a47b-5787-8c68-2ce193cc9224", - "type": "device-integration", - "website": "https://ceruleansonar.com", + "1.0.1": { + "identifier": "7d6e443f-a79b-5590-82e4-482b15e1ed2f", + "type": "other", + "website": null, "images": [ { - "expanded_size": 40285609, + "expanded_size": 211619828, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:4ebbc42072d29c9c40fa1117613187cca80221b90da372b87cd6fc51ce4f6b4b" + "digest": "sha256:dee5ee2a9c888be36172b674b9284a9434147874af39ca6680c017de0dfa8610" } ], "authors": [ { - "name": "Nick Nothom", - "email": "nick.nothom@ceruleansonar.com" + "name": "Patrick Jos\u00e9 Pereira", + "email": "patrickelectric@gmail.com" } ], - "filter_tags": [], + "filter_tags": [ + "code", + "development", + "ide", + "vscode", + "python", + "rust" + ], "extra_links": {}, - "tag": "1.9.12-beta.7", + "tag": "1.0.1", "docs": null, - "readme": "

SonarView

\n

SonarView is a cross-platform application for controlling and communicating with sonar devices.

\n

This repository hosts the build and release process for SonarView.

\n", - "support": "https://forum.ceruleansonar.com/categories", + "readme": "

BlueOS Code Server

\n

BlueOS extension for OpenVSCode Server.

\n

OpenVSCode server is a project where it provides a version of VS Code that runs a server on a remote machine and allows access through a modern web browser. It's based on the very same architecture used by Gitpod or GitHub Codespaces at scale.

", + "support": null, "requirements": null, - "company": { - "about": "Cerulean Sonar: Advanced Technology. Sensibly Priced.", - "name": "Cerulean Sonar", - "email": "dennys.bisogno@ceruleansonar.com" - }, + "company": null, "permissions": { + "ExposedPorts": { + "80/tcp": {} + }, "HostConfig": { - "NetworkMode": "host", + "Privileged": true, "Binds": [ - "/usr/blueos/userdata/SonarView:/userdata" - ] + "/usr/blueos/userdata:/home/workspace/userdata:rw", + "/usr/blueos/openvscode:/openvscode:rw", + "/:/home/workspace/host:rw" + ], + "PortBindings": { + "80/tcp": [ + { + "HostPort": "" + } + ] + } } } }, - "1.9.10-beta": { - "identifier": "928cbe63-a345-597c-9842-912381024d38", - "type": "device-integration", - "website": "https://ceruleansonar.com", + "1.0.0": { + "identifier": "dcda618a-ffe0-5fc0-8493-847a675d0d09", + "type": "other", + "website": null, "images": [ { - "expanded_size": 35750482, + "expanded_size": 211619813, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:0864648de9a0b21141eeb3f6bfd0a7bb065a7b32033ad9c10e01a81504d25272" + "digest": "sha256:fafa0fa8ef1e93fc13f8db0da55157fc95303a4b5c2bccd00cf670aaae8b5d3e" } ], "authors": [ { - "name": "Nick Nothom", - "email": "nick.nothom@ceruleansonar.com" + "name": "Patrick Jos\u00e9 Pereira", + "email": "patrickelectric@gmail.com" } ], - "filter_tags": [], + "filter_tags": [ + "code", + "development", + "ide", + "vscode", + "python", + "rust" + ], "extra_links": {}, - "tag": "1.9.10-beta", + "tag": "1.0.0", "docs": null, - "readme": "

SonarView

\n

SonarView is a cross-platform application for controlling and communicating with sonar devices.

\n

This repository hosts the build and release process for SonarView.

\n", - "support": "https://forum.ceruleansonar.com/categories", + "readme": "

BlueOS Code Server

\n

BlueOS extension for OpenVSCode Server.

\n

OpenVSCode server is a project where it provides a version of VS Code that runs a server on a remote machine and allows access through a modern web browser. It's based on the very same architecture used by Gitpod or GitHub Codespaces at scale.

", + "support": null, "requirements": null, - "company": { - "about": "Cerulean Sonar: Advanced Technology. Sensibly Priced.", - "name": "Cerulean Sonar", - "email": "dennys.bisogno@ceruleansonar.com" - }, + "company": null, "permissions": { + "ExposedPorts": { + "80/tcp": {} + }, "HostConfig": { - "NetworkMode": "host", - "Binds": [ - "/usr/blueos/userdata/SonarView:/userdata" - ] + "PortBindings": { + "80/tcp": [ + { + "HostPort": "" + } + ] + } } } - }, - "1.9.8": { - "identifier": "3d33dc4f-e0cd-5018-836f-a1103bef5a6a", - "type": "device-integration", - "website": "https://ceruleansonar.com", + } + }, + "repo_info": { + "downloads": 22537, + "last_updated": "2023-09-06T01:24:53.238154Z", + "date_registered": "2023-07-06T13:38:30.979513Z" + } + }, + { + "identifier": "bluerobotics.cockpit", + "name": "Cockpit", + "website": "https://github.com/bluerobotics/cockpit", + "docker": "bluerobotics/cockpit", + "description": "Blue Robotics' next generation control interface; under development", + "extension_logo": "https://raw.githubusercontent.com/bluerobotics/BlueOS-Extensions-Repository/master/repos/bluerobotics/cockpit/extension_logo.png", + "company_logo": "https://raw.githubusercontent.com/bluerobotics/BlueOS-Extensions-Repository/master/repos/bluerobotics/company_logo.png", + "versions": { + "v1.9.0": { + "identifier": "28d2a48f-d728-5a76-92dd-566fcfd938c2", + "type": "other", + "website": null, "images": [ { - "expanded_size": 71022758, + "expanded_size": 21746664, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:835ef36209e513f79662b5647c49db8956a7d294e3b0fac7a1fb351d68296e29" + "digest": "sha256:5cef0b919e40513dc1e1f978411a777d8572be8db6c9bb9b59840ef77562083e" + }, + { + "expanded_size": 21961940, + "platform": { + "architecture": "arm64", + "variant": null, + "os": "linux" + }, + "digest": "sha256:86ba5b658c1d17bb16a95ab4f3f0f7437e01a6b353a1934b8b14b1350671a8f0" + }, + { + "expanded_size": 22004663, + "platform": { + "architecture": "amd64", + "variant": null, + "os": "linux" + }, + "digest": "sha256:8de9132206b16b70f445ed8f39d3d8ac39af79155372766f06c2be048c1ac0d9" } ], "authors": [ { - "name": "Nick Nothom", - "email": "nick.nothom@ceruleansonar.com" + "name": "Rafael Araujo Lehmkuhl", + "email": "rafael@bluerobotics.com" + }, + { + "name": "Patrick Jos\u00e9 Pereira", + "email": "patrick@bluerobotics.com" + }, + { + "name": "Arturo Manzoli", + "email": "arturo@bluerobotics.com" } ], - "filter_tags": [], + "filter_tags": [ + "vehicle-control", + "control-station", + "ground-station", + "navigation", + "joystick", + "mission-planning" + ], "extra_links": {}, - "tag": "1.9.8", + "tag": "v1.9.0", "docs": null, - "readme": "

SonarView

\n

SonarView is a cross-platform application for controlling and communicating with sonar devices.

\n

This repository hosts the build and release process for SonarView.

\n", - "support": "https://forum.ceruleansonar.com/categories", + "readme": "
\n
\n
\n


\n

\n
\n
\n
\n


\n

An intuitive and customizable cross-platform ground control station for remote vehicles of all types. Click here for a demo!

\n

\"Test,\n\"Downloads\"

\n

\"Latest\n\"Date\"

\n

\"Docker\"\n\"Pulls\"\n\"Size\"

\n

Standard Usage

\n

See our documentation \ud83d\udcd6

\n

Development

\n

Installing Cockpit

\n

Cockpit is typically installed as an Electron application or BlueOS Extension, but for development purposes it is valuable to run it locally.

\n

To start, clone the repository and its submodules. The submodules are required components for Cockpit to be able to run:

\n

git clone --recurse-submodules git@github.com:bluerobotics/cockpit.git

\n

Next, install bun. Following their documented instructions is strongly recommended - we have received reports that installing bun from alternatives like Snap did not work properly.

\n

With bun installed, you can enter the repository folder and follow the steps below:

\n

bun install

\n

and then run the server locally with:

\n

bun run dev --host

\n

Then you should see a prompt with the local IP and port that can be accessed through a browser, such as localhost:5173.

\n

Installing backend providers

\n

Cockpit is currently a frontend-only application. That means it relies on data offered by other backend solutions, which are not built-in.

\n

If you have a BlueOS instance running, there's no need to install any backend, as BlueOS already provides everything.

\n

If that's not your case and you want to install the necessary backends, follow the instructions below:

\n
    \n
  1. Install a MAVLink router. We recommend mavp2p or MAVLink Router.
  2. \n
  3. Run the MAVLink router, connecting it to your vehicle or SITL instance.
  4. \n
  5. Install mavlink2rest.
  6. \n
  7. Run mavlink2rest, pointing it to the endpoint provided by the MAVLink router. Remember to serve the API over the 6040 port by running it with --server 0.0.0.0:6040.
  8. \n
  9. [Optional] If you want to work with video streaming, install Mavlink Camera Manager.
  10. \n
\n

Connecting to your vehicle

\n

Follow the instructions provided here to connect Cockpit to your vehicle.

\n

If you're running a BlueOS instance, just put the IP address of it in \"Global vehicle address\" and click the \"apply\" button.

\n

If you're serving mavlink2rest in the same machine as Cockpit, activate the checkmark for \"Mavlink2Rest connection\" and use ws://127.0.0.1:6040/v1/ws/mavlink there (if you're running a mavlink2rest version before 0.11.15, omit the /v1 in the URL).

\n

If you're serving mavlink-camera-manager in the same machine as Cockpit, activate the checkmark for \"WebRTC connection\" and use ws://127.0.0.1:6020 there.

\n

Simulating a vehicle

\n

Cockpit provides a simulation environments in a docker compose file. There is an environment provided for ArduSub, ArduCopter, ArduRover and ArduPlane. The compose file uses docker compose profiles to allow you to choose which vehicle you want to simulate. The available profiles are ardusub, arducopter, ardurover and arduplane. You can run a simulation environment by running the following command:

\n

docker-compose -f sim.yml --profile ardusub up

\n

Assuming you have run the bun run dev --host command, you can access the simulation environment by opening the browser and accessing localhost:5173.

", + "support": "https://discuss.bluerobotics.com/c/bluerobotics-software", "requirements": null, "company": { - "about": "Cerulean Sonar: Advanced Technology. Sensibly Priced.", - "name": "Cerulean Sonar", - "email": "dennys.bisogno@ceruleansonar.com" + "about": "", + "name": "Blue Robotics", + "email": "support@bluerobotics.com" }, "permissions": { + "ExposedPorts": { + "8000/tcp": {} + }, "HostConfig": { - "NetworkMode": "host", - "Binds": [ - "/usr/blueos/userdata/SonarView:/userdata" - ] + "PortBindings": { + "8000/tcp": [ + { + "HostPort": "" + } + ] + } } } }, - "1.9.7": { - "identifier": "84568eec-06cf-5d1f-8be6-13370e975317", - "type": "device-integration", - "website": "https://ceruleansonar.com", + "v1.8.0": { + "identifier": "ca7b5721-b7d3-560f-8107-c4632f8236f3", + "type": "other", + "website": null, "images": [ { - "expanded_size": 35564484, + "expanded_size": 18677021, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:0185bd281f703bfd3b3cd58b65cb409acb2a8b0be7a9c1001fa467a599b50836" + "digest": "sha256:a32d48d6aa8d1e4b3006ce35574db0167d280989b4db008db7be0ccc56b14c1e" + }, + { + "expanded_size": 18892300, + "platform": { + "architecture": "arm64", + "variant": null, + "os": "linux" + }, + "digest": "sha256:ff5efb5682d54bf201a8e8ce0db45072cb4ee7862c2adabb4774bd4d485a1923" + }, + { + "expanded_size": 18935036, + "platform": { + "architecture": "amd64", + "variant": null, + "os": "linux" + }, + "digest": "sha256:95e3574f8e35b7b5f172c9c2d7d63826be810d77ac9b2db7ec25df16e0cdcbbb" } ], "authors": [ { - "name": "Nick Nothom", - "email": "nick.nothom@ceruleansonar.com" + "name": "Rafael Araujo Lehmkuhl", + "email": "rafael@bluerobotics.com" + }, + { + "name": "Patrick Jos\u00e9 Pereira", + "email": "patrick@bluerobotics.com" + }, + { + "name": "Arturo Manzoli", + "email": "arturo@bluerobotics.com" } ], - "filter_tags": [], + "filter_tags": [ + "vehicle-control", + "control-station", + "ground-station", + "navigation", + "joystick", + "mission-planning" + ], "extra_links": {}, - "tag": "1.9.7", + "tag": "v1.8.0", "docs": null, - "readme": "

SonarView

\n

SonarView is a cross-platform application for controlling and communicating with sonar devices.

\n

This repository hosts the build and release process for SonarView.

\n", - "support": "https://forum.ceruleansonar.com/categories", + "readme": "
\n
\n
\n


\n

\n
\n
\n
\n


\n

An intuitive and customizable cross-platform ground control station for remote vehicles of all types. Click here for a demo!

\n

\"Test,\n\"Downloads\"

\n

\"Latest\n\"Date\"

\n

\"Docker\"\n\"Pulls\"\n\"Size\"

\n

Standard Usage

\n

See our documentation \ud83d\udcd6

\n

Development

\n

Installing Cockpit

\n

Cockpit is typically installed as an Electron application or BlueOS Extension, but for development purposes it is valuable to run it locally.

\n

To start, clone the repository and its submodules. The submodules are required components for Cockpit to be able to run:

\n

git clone --recurse-submodules git@github.com:bluerobotics/cockpit.git

\n

Next, install bun. Following their documented instructions is strongly recommended - we have received reports that installing bun from alternatives like Snap did not work properly.

\n

With bun installed, you can enter the repository folder and follow the steps below:

\n

bun install

\n

and then run the server locally with:

\n

bun run dev --host

\n

Then you should see a prompt with the local IP and port that can be accessed through a browser, such as localhost:5173.

\n

Installing backend providers

\n

Cockpit is currently a frontend-only application. That means it relies on data offered by other backend solutions, which are not built-in.

\n

If you have a BlueOS instance running, there's no need to install any backend, as BlueOS already provides everything.

\n

If that's not your case and you want to install the necessary backends, follow the instructions below:

\n
    \n
  1. Install a MAVLink router. We recommend mavp2p or MAVLink Router.
  2. \n
  3. Run the MAVLink router, connecting it to your vehicle or SITL instance.
  4. \n
  5. Install mavlink2rest.
  6. \n
  7. Run mavlink2rest, pointing it to the endpoint provided by the MAVLink router. Remember to serve the API over the 6040 port by running it with --server 0.0.0.0:6040.
  8. \n
  9. [Optional] If you want to work with video streaming, install Mavlink Camera Manager.
  10. \n
\n

Connecting to your vehicle

\n

Follow the instructions provided here to connect Cockpit to your vehicle.

\n

If you're running a BlueOS instance, just put the IP address of it in \"Global vehicle address\" and click the \"apply\" button.

\n

If you're serving mavlink2rest in the same machine as Cockpit, activate the checkmark for \"Mavlink2Rest connection\" and use ws://127.0.0.1:6040/v1/ws/mavlink there (if you're running a mavlink2rest version before 0.11.15, omit the /v1 in the URL).

\n

If you're serving mavlink-camera-manager in the same machine as Cockpit, activate the checkmark for \"WebRTC connection\" and use ws://127.0.0.1:6020 there.

\n

Simulating a vehicle

\n

Cockpit provides a simulation environments in a docker compose file. There is an environment provided for ArduSub, ArduCopter, ArduRover and ArduPlane. The compose file uses docker compose profiles to allow you to choose which vehicle you want to simulate. The available profiles are ardusub, arducopter, ardurover and arduplane. You can run a simulation environment by running the following command:

\n

docker-compose -f sim.yml --profile ardusub up

\n

Assuming you have run the bun run dev --host command, you can access the simulation environment by opening the browser and accessing localhost:5173.

", + "support": "https://discuss.bluerobotics.com/c/bluerobotics-software", "requirements": null, "company": { - "about": "Cerulean Sonar: Advanced Technology. Sensibly Priced.", - "name": "Cerulean Sonar", - "email": "dennys.bisogno@ceruleansonar.com" + "about": "", + "name": "Blue Robotics", + "email": "support@bluerobotics.com" }, "permissions": { + "ExposedPorts": { + "8000/tcp": {} + }, "HostConfig": { - "NetworkMode": "host", - "Binds": [ - "/usr/blueos/userdata/SonarView:/userdata" - ] + "PortBindings": { + "8000/tcp": [ + { + "HostPort": "" + } + ] + } } } }, - "1.9.5-beta": { - "identifier": "957939f1-d143-5746-8ce6-c77b6058ce77", - "type": "device-integration", - "website": "https://ceruleansonar.com", + "v1.7.1": { + "identifier": "0be7112e-499c-52be-8869-5ef93fa1a756", + "type": "other", + "website": null, "images": [ { - "expanded_size": 35534628, + "expanded_size": 18677375, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:8f6fdf5689bd6e15caa423d91a9477f0999d675e819cab0cd564e852f389c42c" + "digest": "sha256:8400071bc525d1ea47e5d0ba9408c6f9fc0edefe8450f6057423a1069616d099" + }, + { + "expanded_size": 18892656, + "platform": { + "architecture": "arm64", + "variant": null, + "os": "linux" + }, + "digest": "sha256:007e73676dd280f29432aa6fbcc412238430767d4bd9792b4d1cb54ef75df61c" + }, + { + "expanded_size": 18935394, + "platform": { + "architecture": "amd64", + "variant": null, + "os": "linux" + }, + "digest": "sha256:94c7bea3c25ab934e73647d2c45e86186c08949bfece9fa54f007f91fbe7c75f" } ], "authors": [ { - "name": "Nick Nothom", - "email": "nick.nothom@ceruleansonar.com" + "name": "Rafael Araujo Lehmkuhl", + "email": "rafael@bluerobotics.com" + }, + { + "name": "Patrick Jos\u00e9 Pereira", + "email": "patrick@bluerobotics.com" + }, + { + "name": "Arturo Manzoli", + "email": "arturo@bluerobotics.com" } ], - "filter_tags": [], + "filter_tags": [ + "vehicle-control", + "control-station", + "ground-station", + "navigation", + "joystick", + "mission-planning" + ], "extra_links": {}, - "tag": "1.9.5-beta", + "tag": "v1.7.1", "docs": null, - "readme": "

SonarView

\n

SonarView is a cross-platform application for controlling and communicating with sonar devices.

\n

This repository hosts the build and release process for SonarView.

\n", - "support": "https://forum.ceruleansonar.com/categories", + "readme": "
\n
\n
\n


\n

\n
\n
\n
\n


\n

An intuitive and customizable cross-platform ground control station for remote vehicles of all types. Click here for a demo!

\n

\"Test,\n\"Downloads\"

\n

\"Latest\n\"Date\"

\n

\"Docker\"\n\"Pulls\"\n\"Size\"

\n

Standard Usage

\n

See our documentation \ud83d\udcd6

\n

Development

\n

Installing Cockpit

\n

Cockpit is typically installed as an Electron application or BlueOS Extension, but for development purposes it is valuable to run it locally.

\n

To start, clone the repository and its submodules. The submodules are required components for Cockpit to be able to run:

\n

git clone --recurse-submodules git@github.com:bluerobotics/cockpit.git

\n

Next, install bun. Following their documented instructions is strongly recommended - we have received reports that installing bun from alternatives like Snap did not work properly.

\n

With bun installed, you can enter the repository folder and follow the steps below:

\n

bun install

\n

and then run the server locally with:

\n

bun run dev --host

\n

Then you should see a prompt with the local IP and port that can be accessed through a browser, such as localhost:5173.

\n

Installing backend providers

\n

Cockpit is currently a frontend-only application. That means it relies on data offered by other backend solutions, which are not built-in.

\n

If you have a BlueOS instance running, there's no need to install any backend, as BlueOS already provides everything.

\n

If that's not your case and you want to install the necessary backends, follow the instructions below:

\n
    \n
  1. Install a MAVLink router. We recommend mavp2p or MAVLink Router.
  2. \n
  3. Run the MAVLink router, connecting it to your vehicle or SITL instance.
  4. \n
  5. Install mavlink2rest.
  6. \n
  7. Run mavlink2rest, pointing it to the endpoint provided by the MAVLink router. Remember to serve the API over the 6040 port by running it with --server 0.0.0.0:6040.
  8. \n
  9. [Optional] If you want to work with video streaming, install Mavlink Camera Manager.
  10. \n
\n

Connecting to your vehicle

\n

Follow the instructions provided here to connect Cockpit to your vehicle.

\n

If you're running a BlueOS instance, just put the IP address of it in \"Global vehicle address\" and click the \"apply\" button.

\n

If you're serving mavlink2rest in the same machine as Cockpit, activate the checkmark for \"Mavlink2Rest connection\" and use ws://127.0.0.1:6040/v1/ws/mavlink there (if you're running a mavlink2rest version before 0.11.15, omit the /v1 in the URL).

\n

If you're serving mavlink-camera-manager in the same machine as Cockpit, activate the checkmark for \"WebRTC connection\" and use ws://127.0.0.1:6020 there.

\n

Simulating a vehicle

\n

Cockpit provides a simulation environments in a docker compose file. There is an environment provided for ArduSub, ArduCopter, ArduRover and ArduPlane. The compose file uses docker compose profiles to allow you to choose which vehicle you want to simulate. The available profiles are ardusub, arducopter, ardurover and arduplane. You can run a simulation environment by running the following command:

\n

docker-compose -f sim.yml --profile ardusub up

\n

Assuming you have run the bun run dev --host command, you can access the simulation environment by opening the browser and accessing localhost:5173.

", + "support": "https://discuss.bluerobotics.com/c/bluerobotics-software", "requirements": null, "company": { - "about": "Cerulean Sonar: Advanced Technology. Sensibly Priced.", - "name": "Cerulean Sonar", - "email": "dennys.bisogno@ceruleansonar.com" + "about": "", + "name": "Blue Robotics", + "email": "support@bluerobotics.com" }, "permissions": { + "ExposedPorts": { + "8000/tcp": {} + }, "HostConfig": { - "NetworkMode": "host", - "Binds": [ - "/usr/blueos/userdata/SonarView:/userdata" - ] + "PortBindings": { + "8000/tcp": [ + { + "HostPort": "" + } + ] + } } } }, - "1.9.4-beta": { - "identifier": "a3147341-4ef6-5d6c-9996-b20af70a479a", - "type": "device-integration", - "website": "https://ceruleansonar.com", + "1.7.0": { + "identifier": "fd260599-d7df-5e1d-b08a-596c52ba57cf", + "type": "other", + "website": null, "images": [ { - "expanded_size": 35534684, + "expanded_size": 18675978, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:17d9369e7c34fb414a82255909e9557e5dba0163cf8e26c7292b37237d521c9e" + "digest": "sha256:c7ae43fc5b4d49970f6727842a1fead3c448e474ddfe5a02fc8805ff9861579b" + }, + { + "expanded_size": 18891273, + "platform": { + "architecture": "arm64", + "variant": null, + "os": "linux" + }, + "digest": "sha256:ed252024924a35a0d749ce283f14d05b1f76feb68ba844ebdda2fce96b9d4e99" + }, + { + "expanded_size": 18934020, + "platform": { + "architecture": "amd64", + "variant": null, + "os": "linux" + }, + "digest": "sha256:a6cd15726ea3facfb9d54c99f3d53ef78d053ffee4ec8fc2851e8ddb2c39e7aa" } ], "authors": [ { - "name": "Nick Nothom", - "email": "nick.nothom@ceruleansonar.com" + "name": "Rafael Araujo Lehmkuhl", + "email": "rafael@bluerobotics.com" + }, + { + "name": "Patrick Jos\u00e9 Pereira", + "email": "patrick@bluerobotics.com" + }, + { + "name": "Arturo Manzoli", + "email": "arturo@bluerobotics.com" } ], - "filter_tags": [], + "filter_tags": [ + "vehicle-control", + "control-station", + "ground-station", + "navigation", + "joystick", + "mission-planning" + ], "extra_links": {}, - "tag": "1.9.4-beta", + "tag": "1.7.0", "docs": null, - "readme": "

SonarView

\n

SonarView is a cross-platform application for controlling and communicating with sonar devices.

\n

This repository hosts the build and release process for SonarView.

\n", - "support": "https://forum.ceruleansonar.com/categories", + "readme": "
\n
\n
\n


\n

\n
\n
\n
\n


\n

An intuitive and customizable cross-platform ground control station for remote vehicles of all types. Click here for a demo!

\n

\"Test,\n\"Downloads\"

\n

\"Latest\n\"Date\"

\n

\"Docker\"\n\"Pulls\"\n\"Size\"

\n

Standard Usage

\n

See our documentation \ud83d\udcd6

\n

Development

\n

Installing Cockpit

\n

Cockpit is typically installed as an Electron application or BlueOS Extension, but for development purposes it is valuable to run it locally.

\n

To start, clone the repository and its submodules. The submodules are required components for Cockpit to be able to run:

\n

git clone --recurse-submodules git@github.com:bluerobotics/cockpit.git

\n

Next, install bun. Following their documented instructions is strongly recommended - we have received reports that installing bun from alternatives like Snap did not work properly.

\n

With bun installed, you can enter the repository folder and follow the steps below:

\n

bun install

\n

and then run the server locally with:

\n

bun run dev --host

\n

Then you should see a prompt with the local IP and port that can be accessed through a browser, such as localhost:5173.

\n

Installing backend providers

\n

Cockpit is currently a frontend-only application. That means it relies on data offered by other backend solutions, which are not built-in.

\n

If you have a BlueOS instance running, there's no need to install any backend, as BlueOS already provides everything.

\n

If that's not your case and you want to install the necessary backends, follow the instructions below:

\n
    \n
  1. Install a MAVLink router. We recommend mavp2p or MAVLink Router.
  2. \n
  3. Run the MAVLink router, connecting it to your vehicle or SITL instance.
  4. \n
  5. Install mavlink2rest.
  6. \n
  7. Run mavlink2rest, pointing it to the endpoint provided by the MAVLink router. Remember to serve the API over the 6040 port by running it with --server 0.0.0.0:6040.
  8. \n
  9. [Optional] If you want to work with video streaming, install Mavlink Camera Manager.
  10. \n
\n

Connecting to your vehicle

\n

Follow the instructions provided here to connect Cockpit to your vehicle.

\n

If you're running a BlueOS instance, just put the IP address of it in \"Global vehicle address\" and click the \"apply\" button.

\n

If you're serving mavlink2rest in the same machine as Cockpit, activate the checkmark for \"Mavlink2Rest connection\" and use ws://127.0.0.1:6040/v1/ws/mavlink there (if you're running a mavlink2rest version before 0.11.15, omit the /v1 in the URL).

\n

If you're serving mavlink-camera-manager in the same machine as Cockpit, activate the checkmark for \"WebRTC connection\" and use ws://127.0.0.1:6020 there.

\n

Simulating a vehicle

\n

Cockpit provides a simulation environments in a docker compose file. There is an environment provided for ArduSub, ArduCopter, ArduRover and ArduPlane. The compose file uses docker compose profiles to allow you to choose which vehicle you want to simulate. The available profiles are ardusub, arducopter, ardurover and arduplane. You can run a simulation environment by running the following command:

\n

docker-compose -f sim.yml --profile ardusub up

\n

Assuming you have run the bun run dev --host command, you can access the simulation environment by opening the browser and accessing localhost:5173.

", + "support": "https://discuss.bluerobotics.com/c/bluerobotics-software", "requirements": null, "company": { - "about": "Cerulean Sonar: Advanced Technology. Sensibly Priced.", - "name": "Cerulean Sonar", - "email": "dennys.bisogno@ceruleansonar.com" + "about": "", + "name": "Blue Robotics", + "email": "support@bluerobotics.com" }, "permissions": { + "ExposedPorts": { + "8000/tcp": {} + }, "HostConfig": { - "NetworkMode": "host", - "Binds": [ - "/usr/blueos/userdata/SonarView:/userdata" - ] + "PortBindings": { + "8000/tcp": [ + { + "HostPort": "" + } + ] + } } } }, - "1.8.9": { - "identifier": "9a7a409f-5c18-5c3e-b8df-9c8bf2a69959", - "type": "device-integration", - "website": "https://ceruleansonar.com", + "v1.6.0": { + "identifier": "f10c9509-5ac6-572b-ba49-81989ede79c5", + "type": "other", + "website": null, "images": [ { - "expanded_size": 38383327, + "expanded_size": 18700323, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:a21de0655ed73d40b7415f5e85bd727d709c9517d9960b10e2d4e5dee49624e9" + "digest": "sha256:ade18f9f9671a4160f8eb0d8b0d4225592fef6f39c8c5213fd4cb965bf93a402" + }, + { + "expanded_size": 18915095, + "platform": { + "architecture": "arm64", + "variant": null, + "os": "linux" + }, + "digest": "sha256:c69bc83a13c4ad4d6abcc7dd43d446524834731bd6cfe328075d6d0c227c1bce" + }, + { + "expanded_size": 18958567, + "platform": { + "architecture": "amd64", + "variant": null, + "os": "linux" + }, + "digest": "sha256:8ed7464a57d76bb05617ca11d84d4febe77ba18567d173a427a310d33201e335" } ], "authors": [ { - "name": "Nick Nothom", - "email": "nick.nothom@ceruleansonar.com" + "name": "Rafael Araujo Lehmkuhl", + "email": "rafael@bluerobotics.com" + }, + { + "name": "Patrick Jos\u00e9 Pereira", + "email": "patrick@bluerobotics.com" + }, + { + "name": "Arturo Manzoli", + "email": "arturo@bluerobotics.com" } ], - "filter_tags": [], + "filter_tags": [ + "vehicle-control", + "control-station", + "ground-station", + "navigation", + "joystick", + "mission-planning" + ], "extra_links": {}, - "tag": "1.8.9", + "tag": "v1.6.0", "docs": null, - "readme": "

SonarView

\n

SonarView is a cross-platform application for controlling and communicating with sonar devices.

\n

This repository hosts the build and release process for SonarView.

\n", - "support": "https://forum.ceruleansonar.com/categories", + "readme": "
\n
\n
\n


\n

\n
\n
\n
\n


\n

An intuitive and customizable cross-platform ground control station for remote vehicles of all types. Click here for a demo!

\n

\"Test,\n\"Downloads\"

\n

\"Latest\n\"Date\"

\n

\"Docker\"\n\"Pulls\"\n\"Size\"

\n

Standard Usage

\n

See our documentation \ud83d\udcd6

\n

Development

\n

Installing Cockpit

\n

Cockpit is typically installed as an Electron application or BlueOS Extension, but for development purposes it is valuable to run it locally.

\n

To start, clone the repository and its submodules. The submodules are required components for Cockpit to be able to run:

\n

git clone --recurse-submodules git@github.com:bluerobotics/cockpit.git

\n

Next, install bun. Following their documented instructions is strongly recommended - we have received reports that installing bun from alternatives like Snap did not work properly.

\n

With bun installed, you can enter the repository folder and follow the steps below:

\n

bun install

\n

and then run the server locally with:

\n

bun run dev --host

\n

Then you should see a prompt with the local IP and port that can be accessed through a browser, such as localhost:5173.

\n

Installing backend providers

\n

Cockpit is currently a frontend-only application. That means it relies on data offered by other backend solutions, which are not built-in.

\n

If you have a BlueOS instance running, there's no need to install any backend, as BlueOS already provides everything.

\n

If that's not your case and you want to install the necessary backends, follow the instructions below:

\n
    \n
  1. Install a MAVLink router. We recommend mavp2p or MAVLink Router.
  2. \n
  3. Run the MAVLink router, connecting it to your vehicle or SITL instance.
  4. \n
  5. Install mavlink2rest.
  6. \n
  7. Run mavlink2rest, pointing it to the endpoint provided by the MAVLink router. Remember to serve the API over the 6040 port by running it with --server 0.0.0.0:6040.
  8. \n
  9. [Optional] If you want to work with video streaming, install Mavlink Camera Manager.
  10. \n
\n

Connecting to your vehicle

\n

Follow the instructions provided here to connect Cockpit to your vehicle.

\n

If you're running a BlueOS instance, just put the IP address of it in \"Global vehicle address\" and click the \"apply\" button.

\n

If you're serving mavlink2rest in the same machine as Cockpit, activate the checkmark for \"Mavlink2Rest connection\" and use ws://127.0.0.1:6040/v1/ws/mavlink there (if you're running a mavlink2rest version before 0.11.15, omit the /v1 in the URL).

\n

If you're serving mavlink-camera-manager in the same machine as Cockpit, activate the checkmark for \"WebRTC connection\" and use ws://127.0.0.1:6020 there.

\n

Simulating a vehicle

\n

Cockpit provides a simulation environments in a docker compose file. There is an environment provided for ArduSub, ArduCopter, ArduRover and ArduPlane. The compose file uses docker compose profiles to allow you to choose which vehicle you want to simulate. The available profiles are ardusub, arducopter, ardurover and arduplane. You can run a simulation environment by running the following command:

\n

docker-compose -f sim.yml --profile ardusub up

\n

Assuming you have run the bun run dev --host command, you can access the simulation environment by opening the browser and accessing localhost:5173.

", + "support": "https://discuss.bluerobotics.com/c/bluerobotics-software", "requirements": null, "company": { - "about": "Cerulean Sonar: Advanced Technology. Sensibly Priced.", - "name": "Cerulean Sonar", - "email": "dennys.bisogno@ceruleansonar.com" + "about": "", + "name": "Blue Robotics", + "email": "support@bluerobotics.com" }, "permissions": { + "ExposedPorts": { + "8000/tcp": {} + }, "HostConfig": { - "NetworkMode": "host", - "Binds": [ - "/usr/blueos/userdata/SonarView:/userdata" - ] + "PortBindings": { + "8000/tcp": [ + { + "HostPort": "" + } + ] + } } } - } - }, - "repo_info": { - "downloads": 38783, - "last_updated": "2025-01-21T18:43:35.286463Z", - "date_registered": "2023-02-09T18:16:56.606258Z" - } - }, - { - "identifier": "ceruleansonar.cerulean-dvl", - "name": "Cerulean DVL", - "website": "https://github.com/ceruleansonar/BlueOS-Cerulean-DVL/", - "docker": "nicknothom/blueos-cerulean-dvl", - "description": "BlueOS extension for Cerulean DVL", - "extension_logo": "https://raw.githubusercontent.com/bluerobotics/BlueOS-Extensions-Repository/master/repos/ceruleansonar/company_logo.png", - "company_logo": "https://raw.githubusercontent.com/bluerobotics/BlueOS-Extensions-Repository/master/repos/ceruleansonar/company_logo.png", - "versions": { - "v1.0.8": { - "identifier": "aa686520-e5f6-5cfb-ac69-b414de3e694a", + }, + "v1.5.0": { + "identifier": "078c2d8b-1490-598d-98e0-ca480e6c06e1", "type": "other", - "website": "https://ceruleansonar.com", + "website": null, "images": [ { - "expanded_size": 109619325, - "platform": { - "architecture": "amd64", - "variant": null, - "os": "linux" - }, - "digest": "sha256:40bdaa212803402e97dcd013000c5991ddc950ce4120a93bdd8e30b876e26324" - }, - { - "expanded_size": 100085882, + "expanded_size": 18526710, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:e208ec461095ed3491a3c38ab7913afe855d9850b4f29f13e620c4f71715bc8c" + "digest": "sha256:c25175b8be9ca30f086243303e4c6af59dc439df0b8e77baf89ed1b148e03287" } ], "authors": [ { - "name": "Nick Nothom", - "email": "nick.nothom@ceruleansonar.com" + "name": "Rafael Araujo Lehmkuhl", + "email": "rafael@bluerobotics.com" + }, + { + "name": "Patrick Jos\u00e9 Pereira", + "email": "patrick@bluerobotics.com" + }, + { + "name": "Arturo Manzoli", + "email": "arturo@bluerobotics.com" } ], - "filter_tags": [], + "filter_tags": [ + "vehicle-control", + "control-station", + "ground-station", + "navigation", + "joystick", + "mission-planning" + ], "extra_links": {}, - "tag": "v1.0.8", + "tag": "v1.5.0", "docs": null, - "readme": "

BlueOS-Cerulean-DVL

\n

Cerulean DVL driver, compatible with Blue Robotics BlueOS.

\n

Manual Installation:

\n

To set this up, ssh into the Raspberry Pi (or access via red-pill in BlueOS Terminal) and run

\n

sudo docker run -d --net=host -v /root/.config/cerulean:/root/.config --name=BlueOS-Cerulean-DVL --restart=unless-stopped nicknothom/blueos-cerulean-dvl:latest

\n

The service will show in the \"Available Services\" section in BlueOS, where there are some configuration options.

", - "support": "https://forum.ceruleansonar.com/categories", + "readme": "
\n
\n
\n


\n

\n
\n
\n
\n


\n

An intuitive and customizable cross-platform ground control station for remote vehicles of all types. Click here for a demo!

\n

\"Test,\n\"Downloads\"

\n

\"Latest\n\"Date\"

\n

\"Docker\"\n\"Pulls\"\n\"Size\"

\n

Standard Usage

\n

See our documentation \ud83d\udcd6

\n

Development

\n

Installing Cockpit

\n

Cockpit is typically installed as an Electron application or BlueOS Extension, but for development purposes it is valuable to run it locally.

\n

To start, clone the repository and its submodules. The submodules are required components for Cockpit to be able to run:

\n

git clone --recurse-submodules git@github.com:bluerobotics/cockpit.git

\n

Next, install bun. Following their documented instructions is strongly recommended - we have received reports that installing bun from alternatives like Snap did not work properly.

\n

With bun installed, you can enter the repository folder and follow the steps below:

\n

bun install

\n

and then run the server locally with:

\n

bun run dev --host

\n

Then you should see a prompt with the local IP and port that can be accessed through a browser, such as localhost:5173.

\n

Installing backend providers

\n

Cockpit is currently a frontend-only application. That means it relies on data offered by other backend solutions, which are not built-in.

\n

If you have a BlueOS instance running, there's no need to install any backend, as BlueOS already provides everything.

\n

If that's not your case and you want to install the necessary backends, follow the instructions below:

\n
    \n
  1. Install a MAVLink router. We recommend mavp2p or MAVLink Router.
  2. \n
  3. Run the MAVLink router, connecting it to your vehicle or SITL instance.
  4. \n
  5. Install mavlink2rest.
  6. \n
  7. Run mavlink2rest, pointing it to the endpoint provided by the MAVLink router. Remember to serve the API over the 6040 port by running it with --server 0.0.0.0:6040.
  8. \n
  9. [Optional] If you want to work with video streaming, install Mavlink Camera Manager.
  10. \n
\n

Connecting to your vehicle

\n

Follow the instructions provided here to connect Cockpit to your vehicle.

\n

If you're running a BlueOS instance, just put the IP address of it in \"Global vehicle address\" and click the \"apply\" button.

\n

If you're serving mavlink2rest in the same machine as Cockpit, activate the checkmark for \"Mavlink2Rest connection\" and use ws://127.0.0.1:6040/v1/ws/mavlink there (if you're running a mavlink2rest version before 0.11.15, omit the /v1 in the URL).

\n

If you're serving mavlink-camera-manager in the same machine as Cockpit, activate the checkmark for \"WebRTC connection\" and use ws://127.0.0.1:6020 there.

\n

Simulating a vehicle

\n

Cockpit provides a simulation environments in a docker compose file. There is an environment provided for ArduSub, ArduCopter, ArduRover and ArduPlane. The compose file uses docker compose profiles to allow you to choose which vehicle you want to simulate. The available profiles are ardusub, arducopter, ardurover and arduplane. You can run a simulation environment by running the following command:

\n

docker-compose -f sim.yml --profile ardusub up

\n

Assuming you have run the bun run dev --host command, you can access the simulation environment by opening the browser and accessing localhost:5173.

", + "support": "https://discuss.bluerobotics.com/c/bluerobotics-software", "requirements": null, "company": { "about": "", - "name": "Cerulean Sonar", - "email": "dennys.bisogno@ceruleansonar.com" + "name": "Blue Robotics", + "email": "support@bluerobotics.com" }, "permissions": { + "ExposedPorts": { + "8000/tcp": {} + }, "HostConfig": { - "NetworkMode": "host", - "Binds": [ - "/root/.config/cerulean:/root/.config" - ] + "PortBindings": { + "8000/tcp": [ + { + "HostPort": "" + } + ] + } } } }, - "v1.0.7": { - "identifier": "8f856745-ea5b-56a3-87fe-c893f0bf2a9a", + "v1.4.1": { + "identifier": "c007aa1b-a17e-521f-b55c-9bd4af5c1e26", "type": "other", - "website": "https://ceruleansonar.com", + "website": null, "images": [ { - "expanded_size": 100085651, + "expanded_size": 18438898, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:cdc856ea07548d4cd6e2993ebd81baad2a018034b24085a13f71e6021ad969c5" + "digest": "sha256:76a949a84e7b085e828769ef838c218e03d7d4bf10cc3b6a27f515658a590907" } ], "authors": [ { - "name": "Nick Nothom", - "email": "nick.nothom@ceruleansonar.com" + "name": "Rafael Araujo Lehmkuhl", + "email": "rafael@bluerobotics.com" + }, + { + "name": "Patrick Jos\u00e9 Pereira", + "email": "patrick@bluerobotics.com" + }, + { + "name": "Arturo Manzoli", + "email": "arturo@bluerobotics.com" } ], - "filter_tags": [], + "filter_tags": [ + "vehicle-control", + "control-station", + "ground-station", + "navigation", + "joystick", + "mission-planning" + ], "extra_links": {}, - "tag": "v1.0.7", + "tag": "v1.4.1", "docs": null, - "readme": "

BlueOS-Cerulean-DVL

\n

Cerulean DVL driver, compatible with Blue Robotics BlueOS.

\n

Manual Installation:

\n

To set this up, ssh into the Raspberry Pi (or access via red-pill in BlueOS Terminal) and run

\n

sudo docker run -d --net=host -v /root/.config/cerulean:/root/.config --name=BlueOS-Cerulean-DVL --restart=unless-stopped nicknothom/blueos-cerulean-dvl:latest

\n

The service will show in the \"Available Services\" section in BlueOS, where there are some configuration options.

", - "support": "https://forum.ceruleansonar.com/categories", + "readme": "
\n
\n
\n


\n

\n
\n
\n
\n


\n

An intuitive and customizable cross-platform ground control station for remote vehicles of all types. Click here for a demo!

\n

\"Test,\n\"Downloads\"

\n

\"Latest\n\"Date\"

\n

\"Docker\"\n\"Pulls\"\n\"Size\"

\n

Standard Usage

\n

See our documentation \ud83d\udcd6

\n

Development

\n

Installing Cockpit

\n

Cockpit is typically installed as an Electron application or BlueOS Extension, but for development purposes it is valuable to run it locally.

\n

To start, clone the repository and its submodules. The submodules are required components for Cockpit to be able to run:

\n

git clone --recurse-submodules git@github.com:bluerobotics/cockpit.git

\n

Next, install bun. Following their documented instructions is strongly recommended - we have received reports that installing bun from alternatives like Snap did not work properly.

\n

With bun installed, you can enter the repository folder and follow the steps below:

\n

bun install

\n

and then run the server locally with:

\n

bun run dev --host

\n

Then you should see a prompt with the local IP and port that can be accessed through a browser, such as localhost:5173.

\n

Installing backend providers

\n

Cockpit is currently a frontend-only application. That means it relies on data offered by other backend solutions, which are not built-in.

\n

If you have a BlueOS instance running, there's no need to install any backend, as BlueOS already provides everything.

\n

If that's not your case and you want to install the necessary backends, follow the instructions below:

\n
    \n
  1. Install a MAVLink router. We recommend mavp2p or MAVLink Router.
  2. \n
  3. Run the MAVLink router, connecting it to your vehicle or SITL instance.
  4. \n
  5. Install mavlink2rest.
  6. \n
  7. Run mavlink2rest, pointing it to the endpoint provided by the MAVLink router. Remember to serve the API over the 6040 port by running it with --server 0.0.0.0:6040.
  8. \n
  9. [Optional] If you want to work with video streaming, install Mavlink Camera Manager.
  10. \n
\n

Connecting to your vehicle

\n

Follow the instructions provided here to connect Cockpit to your vehicle.

\n

If you're running a BlueOS instance, just put the IP address of it in \"Global vehicle address\" and click the \"apply\" button.

\n

If you're serving mavlink2rest in the same machine as Cockpit, activate the checkmark for \"Mavlink2Rest connection\" and use ws://127.0.0.1:6040/v1/ws/mavlink there (if you're running a mavlink2rest version before 0.11.15, omit the /v1 in the URL).

\n

If you're serving mavlink-camera-manager in the same machine as Cockpit, activate the checkmark for \"WebRTC connection\" and use ws://127.0.0.1:6020 there.

\n

Simulating a vehicle

\n

Cockpit provides a simulation environments in a docker compose file. There is an environment provided for ArduSub, ArduCopter, ArduRover and ArduPlane. The compose file uses docker compose profiles to allow you to choose which vehicle you want to simulate. The available profiles are ardusub, arducopter, ardurover and arduplane. You can run a simulation environment by running the following command:

\n

docker-compose -f sim.yml --profile ardusub up

\n

Assuming you have run the bun run dev --host command, you can access the simulation environment by opening the browser and accessing localhost:5173.

", + "support": "https://discuss.bluerobotics.com/c/bluerobotics-software", "requirements": null, "company": { "about": "", - "name": "Cerulean Sonar", - "email": "dennys.bisogno@ceruleansonar.com" + "name": "Blue Robotics", + "email": "support@bluerobotics.com" }, "permissions": { + "ExposedPorts": { + "8000/tcp": {} + }, "HostConfig": { - "NetworkMode": "host", - "Binds": [ - "/root/.config/cerulean:/root/.config" - ] + "PortBindings": { + "8000/tcp": [ + { + "HostPort": "" + } + ] + } } } }, - "v1.0.6": { - "identifier": "b52186e9-c76e-5768-bf31-d34231668d0e", + "v1.4.0": { + "identifier": "557ded8d-c70b-5ac7-95b8-6ff23f0ff688", "type": "other", - "website": "https://ceruleansonar.com", + "website": null, "images": [ { - "expanded_size": 100082275, + "expanded_size": 18440148, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:452ef69b3fff8ccf2e2ecd47d431b1ae5c4244802c8df2e7ed59259ae3e084f6" + "digest": "sha256:a67167407b51105a3dcd6c98ac1f0e64502b239b274f918891757c786a1c8aee" } ], "authors": [ { - "name": "Nick Nothom", - "email": "nick.nothom@ceruleansonar.com" + "name": "Rafael Araujo Lehmkuhl", + "email": "rafael@bluerobotics.com" + }, + { + "name": "Patrick Jos\u00e9 Pereira", + "email": "patrick@bluerobotics.com" + }, + { + "name": "Arturo Manzoli", + "email": "arturo@bluerobotics.com" } ], - "filter_tags": [], + "filter_tags": [ + "vehicle-control", + "control-station", + "ground-station", + "navigation", + "joystick", + "mission-planning" + ], "extra_links": {}, - "tag": "v1.0.6", + "tag": "v1.4.0", "docs": null, - "readme": "

BlueOS-Cerulean-DVL

\n

Cerulean DVL driver, compatible with Blue Robotics BlueOS.

\n

Manual Installation:

\n

To set this up, ssh into the Raspberry Pi (or access via red-pill in BlueOS Terminal) and run

\n

sudo docker run -d --net=host -v /root/.config/cerulean:/root/.config --name=BlueOS-Cerulean-DVL --restart=unless-stopped nicknothom/blueos-cerulean-dvl:latest

\n

The service will show in the \"Available Services\" section in BlueOS, where there are some configuration options.

", - "support": "https://forum.ceruleansonar.com/categories", + "readme": "
\n
\n
\n


\n

\n
\n
\n
\n


\n

An intuitive and customizable cross-platform ground control station for remote vehicles of all types. Click here for a demo!

\n

\"Test,\n\"Downloads\"

\n

\"Latest\n\"Date\"

\n

\"Docker\"\n\"Pulls\"\n\"Size\"

\n

Standard Usage

\n

See our documentation \ud83d\udcd6

\n

Development

\n

Installing Cockpit

\n

Cockpit is typically installed as an Electron application or BlueOS Extension, but for development purposes it is valuable to run it locally.

\n

To start, clone the repository and its submodules. The submodules are required components for Cockpit to be able to run:

\n

git clone --recurse-submodules git@github.com:bluerobotics/cockpit.git

\n

Next, install bun. Following their documented instructions is strongly recommended - we have received reports that installing bun from alternatives like Snap did not work properly.

\n

With bun installed, you can enter the repository folder and follow the steps below:

\n

bun install

\n

and then run the server locally with:

\n

bun run dev --host

\n

Then you should see a prompt with the local IP and port that can be accessed through a browser, such as localhost:5173.

\n

Installing backend providers

\n

Cockpit is currently a frontend-only application. That means it relies on data offered by other backend solutions, which are not built-in.

\n

If you have a BlueOS instance running, there's no need to install any backend, as BlueOS already provides everything.

\n

If that's not your case and you want to install the necessary backends, follow the instructions below:

\n
    \n
  1. Install a MAVLink router. We recommend mavp2p or MAVLink Router.
  2. \n
  3. Run the MAVLink router, connecting it to your vehicle or SITL instance.
  4. \n
  5. Install mavlink2rest.
  6. \n
  7. Run mavlink2rest, pointing it to the endpoint provided by the MAVLink router. Remember to serve the API over the 6040 port by running it with --server 0.0.0.0:6040.
  8. \n
  9. [Optional] If you want to work with video streaming, install Mavlink Camera Manager.
  10. \n
\n

Connecting to your vehicle

\n

Follow the instructions provided here to connect Cockpit to your vehicle.

\n

If you're running a BlueOS instance, just put the IP address of it in \"Global vehicle address\" and click the \"apply\" button.

\n

If you're serving mavlink2rest in the same machine as Cockpit, activate the checkmark for \"Mavlink2Rest connection\" and use ws://127.0.0.1:6040/v1/ws/mavlink there (if you're running a mavlink2rest version before 0.11.15, omit the /v1 in the URL).

\n

If you're serving mavlink-camera-manager in the same machine as Cockpit, activate the checkmark for \"WebRTC connection\" and use ws://127.0.0.1:6020 there.

\n

Simulating a vehicle

\n

Cockpit provides a simulation environments in a docker compose file. There is an environment provided for ArduSub, ArduCopter, ArduRover and ArduPlane. The compose file uses docker compose profiles to allow you to choose which vehicle you want to simulate. The available profiles are ardusub, arducopter, ardurover and arduplane. You can run a simulation environment by running the following command:

\n

docker-compose -f sim.yml --profile ardusub up

\n

Assuming you have run the bun run dev --host command, you can access the simulation environment by opening the browser and accessing localhost:5173.

", + "support": "https://discuss.bluerobotics.com/c/bluerobotics-software", "requirements": null, "company": { "about": "", - "name": "Cerulean Sonar", - "email": "dennys.bisogno@ceruleansonar.com" + "name": "Blue Robotics", + "email": "support@bluerobotics.com" }, "permissions": { - "NetworkMode": "host", + "ExposedPorts": { + "8000/tcp": {} + }, "HostConfig": { - "Binds": [ - "/root/.config/cerulean:/root/.config" - ] + "PortBindings": { + "8000/tcp": [ + { + "HostPort": "" + } + ] + } } } }, - "v1.0.5": { - "identifier": "eb83e2bc-7f5a-5eb5-b5ab-95ca97364c27", + "v1.3.2": { + "identifier": "c337e9be-1f0a-5685-86bd-5b7f771db881", "type": "other", - "website": "https://ceruleansonar.com", + "website": null, "images": [ { - "expanded_size": 100029465, + "expanded_size": 18432848, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:b31f7996252e37ad56b7a84df851ced94adaf815b688abffeaa79c1f2bcfaa1f" + "digest": "sha256:fdd00353dd3957b147e81611ddec75e3ec2ede7b8dc2458ed8c392f6e0344a0c" } ], "authors": [ { - "name": "Nick Nothom", - "email": "nick.nothom@ceruleansonar.com" + "name": "Rafael Araujo Lehmkuhl", + "email": "rafael@bluerobotics.com" + }, + { + "name": "Patrick Jos\u00e9 Pereira", + "email": "patrick@bluerobotics.com" + }, + { + "name": "Arturo Manzoli", + "email": "arturo@bluerobotics.com" } ], - "filter_tags": [], + "filter_tags": [ + "vehicle-control", + "control-station", + "ground-station", + "navigation", + "joystick", + "mission-planning" + ], "extra_links": {}, - "tag": "v1.0.5", + "tag": "v1.3.2", "docs": null, - "readme": "

BlueOS-Cerulean-DVL

\n

Cerulean DVL driver, compatible with Blue Robotics BlueOS.

\n

Manual Installation:

\n

To set this up, ssh into the Raspberry Pi (or access via red-pill in BlueOS Terminal) and run

\n

sudo docker run -d --net=host -v /root/.config/cerulean:/root/.config --name=BlueOS-Cerulean-DVL --restart=unless-stopped nicknothom/blueos-cerulean-dvl:latest

\n

The service will show in the \"Available Services\" section in BlueOS, where there are some configuration options.

", - "support": "https://forum.ceruleansonar.com/categories", + "readme": "
\n
\n
\n


\n

\n
\n
\n
\n


\n

An intuitive and customizable cross-platform ground control station for remote vehicles of all types. Click here for a demo!

\n

\"Test,\n\"Downloads\"

\n

\"Latest\n\"Date\"

\n

\"Docker\"\n\"Pulls\"\n\"Size\"

\n

Standard Usage

\n

See our documentation \ud83d\udcd6

\n

Development

\n

Installing Cockpit

\n

Cockpit is typically installed as an Electron application or BlueOS Extension, but for development purposes it is valuable to run it locally.

\n

To start, clone the repository and its submodules. The submodules are required components for Cockpit to be able to run:

\n

git clone --recurse-submodules git@github.com:bluerobotics/cockpit.git

\n

Next, install bun. Following their documented instructions is strongly recommended - we have received reports that installing bun from alternatives like Snap did not work properly.

\n

With bun installed, you can enter the repository folder and follow the steps below:

\n

bun install

\n

and then run the server locally with:

\n

bun run dev --host

\n

Then you should see a prompt with the local IP and port that can be accessed through a browser, such as localhost:5173.

\n

Installing backend providers

\n

Cockpit is currently a frontend-only application. That means it relies on data offered by other backend solutions, which are not built-in.

\n

If you have a BlueOS instance running, there's no need to install any backend, as BlueOS already provides everything.

\n

If that's not your case and you want to install the necessary backends, follow the instructions below:

\n
    \n
  1. Install a MAVLink router. We recommend mavp2p or MAVLink Router.
  2. \n
  3. Run the MAVLink router, connecting it to your vehicle or SITL instance.
  4. \n
  5. Install mavlink2rest.
  6. \n
  7. Run mavlink2rest, pointing it to the endpoint provided by the MAVLink router. Remember to serve the API over the 6040 port by running it with --server 0.0.0.0:6040.
  8. \n
  9. [Optional] If you want to work with video streaming, install Mavlink Camera Manager.
  10. \n
\n

Connecting to your vehicle

\n

Follow the instructions provided here to connect Cockpit to your vehicle.

\n

If you're running a BlueOS instance, just put the IP address of it in \"Global vehicle address\" and click the \"apply\" button.

\n

If you're serving mavlink2rest in the same machine as Cockpit, activate the checkmark for \"Mavlink2Rest connection\" and use ws://127.0.0.1:6040/v1/ws/mavlink there (if you're running a mavlink2rest version before 0.11.15, omit the /v1 in the URL).

\n

If you're serving mavlink-camera-manager in the same machine as Cockpit, activate the checkmark for \"WebRTC connection\" and use ws://127.0.0.1:6020 there.

\n

Simulating a vehicle

\n

Cockpit provides a simulation environments in a docker compose file. There is an environment provided for ArduSub, ArduCopter, ArduRover and ArduPlane. The compose file uses docker compose profiles to allow you to choose which vehicle you want to simulate. The available profiles are ardusub, arducopter, ardurover and arduplane. You can run a simulation environment by running the following command:

\n

docker-compose -f sim.yml --profile ardusub up

\n

Assuming you have run the bun run dev --host command, you can access the simulation environment by opening the browser and accessing localhost:5173.

", + "support": "https://discuss.bluerobotics.com/c/bluerobotics-software", "requirements": null, "company": { "about": "", - "name": "Cerulean Sonar", - "email": "dennys.bisogno@ceruleansonar.com" + "name": "Blue Robotics", + "email": "support@bluerobotics.com" }, "permissions": { - "NetworkMode": "host", + "ExposedPorts": { + "8000/tcp": {} + }, "HostConfig": { - "Binds": [ - "/root/.config/blueos:/root/.config" - ] + "PortBindings": { + "8000/tcp": [ + { + "HostPort": "" + } + ] + } } } }, - "v1.0.4": { - "identifier": "2056eda3-d739-511c-a708-054d2ef830c2", + "v1.3.1": { + "identifier": "2c0135ec-eaef-58e4-8b97-47884da4adae", "type": "other", - "website": "https://ceruleansonar.com", + "website": null, "images": [ { - "expanded_size": 99947116, + "expanded_size": 18430616, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:8c3edb7d465c05b9b735cc55291fa323deb95f3f11c086ecd47729f0d78a5249" + "digest": "sha256:ab9278832da77473685ee84fda9c191c8f577c0ed0a71a5ce5e31c6adc24dc12" } ], "authors": [ { - "name": "Nick Nothom", - "email": "nick.nothom@ceruleansonar.com" + "name": "Rafael Araujo Lehmkuhl", + "email": "rafael@bluerobotics.com" + }, + { + "name": "Patrick Jos\u00e9 Pereira", + "email": "patrick@bluerobotics.com" + }, + { + "name": "Arturo Manzoli", + "email": "arturo@bluerobotics.com" } ], - "filter_tags": [], + "filter_tags": [ + "vehicle-control", + "control-station", + "ground-station", + "navigation", + "joystick", + "mission-planning" + ], "extra_links": {}, - "tag": "v1.0.4", + "tag": "v1.3.1", "docs": null, - "readme": "

BlueOS-Cerulean-DVL

\n

Cerulean DVL driver, compatible with Blue Robotics BlueOS.

\n

Manual Installation:

\n

To set this up, ssh into the Raspberry Pi (or access via red-pill in BlueOS Terminal) and run

\n

sudo docker run -d --net=host -v /root/.config/cerulean:/root/.config --name=BlueOS-Cerulean-DVL --restart=unless-stopped nicknothom/blueos-cerulean-dvl:latest

\n

The service will show in the \"Available Services\" section in BlueOS, where there are some configuration options.

", - "support": "https://forum.ceruleansonar.com/categories", + "readme": "
\n
\n
\n


\n

\n
\n
\n
\n


\n

An intuitive and customizable cross-platform ground control station for remote vehicles of all types. Click here for a demo!

\n

\"Test,\n\"Downloads\"

\n

\"Latest\n\"Date\"

\n

\"Docker\"\n\"Pulls\"\n\"Size\"

\n

Standard Usage

\n

See our documentation \ud83d\udcd6

\n

Development

\n

Installing Cockpit

\n

Cockpit is typically installed as an Electron application or BlueOS Extension, but for development purposes it is valuable to run it locally.

\n

To start, clone the repository and its submodules. The submodules are required components for Cockpit to be able to run:

\n

git clone --recurse-submodules git@github.com:bluerobotics/cockpit.git

\n

Next, install bun. Following their documented instructions is strongly recommended - we have received reports that installing bun from alternatives like Snap did not work properly.

\n

With bun installed, you can enter the repository folder and follow the steps below:

\n

bun install

\n

and then run the server locally with:

\n

bun run dev --host

\n

Then you should see a prompt with the local IP and port that can be accessed through a browser, such as localhost:5173.

\n

Installing backend providers

\n

Cockpit is currently a frontend-only application. That means it relies on data offered by other backend solutions, which are not built-in.

\n

If you have a BlueOS instance running, there's no need to install any backend, as BlueOS already provides everything.

\n

If that's not your case and you want to install the necessary backends, follow the instructions below:

\n
    \n
  1. Install a MAVLink router. We recommend mavp2p or MAVLink Router.
  2. \n
  3. Run the MAVLink router, connecting it to your vehicle or SITL instance.
  4. \n
  5. Install mavlink2rest.
  6. \n
  7. Run mavlink2rest, pointing it to the endpoint provided by the MAVLink router. Remember to serve the API over the 6040 port by running it with --server 0.0.0.0:6040.
  8. \n
  9. [Optional] If you want to work with video streaming, install Mavlink Camera Manager.
  10. \n
\n

Connecting to your vehicle

\n

Follow the instructions provided here to connect Cockpit to your vehicle.

\n

If you're running a BlueOS instance, just put the IP address of it in \"Global vehicle address\" and click the \"apply\" button.

\n

If you're serving mavlink2rest in the same machine as Cockpit, activate the checkmark for \"Mavlink2Rest connection\" and use ws://127.0.0.1:6040/v1/ws/mavlink there (if you're running a mavlink2rest version before 0.11.15, omit the /v1 in the URL).

\n

If you're serving mavlink-camera-manager in the same machine as Cockpit, activate the checkmark for \"WebRTC connection\" and use ws://127.0.0.1:6020 there.

\n

Simulating a vehicle

\n

Cockpit provides a simulation environments in a docker compose file. There is an environment provided for ArduSub, ArduCopter, ArduRover and ArduPlane. The compose file uses docker compose profiles to allow you to choose which vehicle you want to simulate. The available profiles are ardusub, arducopter, ardurover and arduplane. You can run a simulation environment by running the following command:

\n

docker-compose -f sim.yml --profile ardusub up

\n

Assuming you have run the bun run dev --host command, you can access the simulation environment by opening the browser and accessing localhost:5173.

", + "support": "https://discuss.bluerobotics.com/c/bluerobotics-software", "requirements": null, "company": { "about": "", - "name": "Cerulean Sonar", - "email": "dennys.bisogno@ceruleansonar.com" + "name": "Blue Robotics", + "email": "support@bluerobotics.com" }, "permissions": { - "NetworkMode": "host" + "ExposedPorts": { + "8000/tcp": {} + }, + "HostConfig": { + "PortBindings": { + "8000/tcp": [ + { + "HostPort": "" + } + ] + } + } } }, - "v1.0.2": { - "identifier": "57d15a76-04cd-515d-a297-58a4bb60088e", + "v1.3.0": { + "identifier": "ccc33762-34f0-5162-872b-a8a99d2c27a6", "type": "other", - "website": "https://ceruleansonar.com", + "website": null, "images": [ { - "expanded_size": 100174048, + "expanded_size": 18430622, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:19f8215cae9fa37e89c9e8596ec2010d520430d46bf3fb93d58ed7f6e7745fac" + "digest": "sha256:f09f3c2e62456be3cfd440812f98c5e26aa1279db86854ab38de9acbd3c44092" } ], "authors": [ { - "name": "Nick Nothom", - "email": "nick.nothom@ceruleansonar.com" + "name": "Rafael Araujo Lehmkuhl", + "email": "rafael@bluerobotics.com" + }, + { + "name": "Patrick Jos\u00e9 Pereira", + "email": "patrick@bluerobotics.com" + }, + { + "name": "Arturo Manzoli", + "email": "arturo@bluerobotics.com" } ], - "filter_tags": [], + "filter_tags": [ + "vehicle-control", + "control-station", + "ground-station", + "navigation", + "joystick", + "mission-planning" + ], "extra_links": {}, - "tag": "v1.0.2", + "tag": "v1.3.0", "docs": null, - "readme": "

BlueOS-Cerulean-DVL

\n

Cerulean DVL driver, compatible with Blue Robotics BlueOS.

\n

Manual Installation:

\n

To set this up, ssh into the Raspberry Pi (or access via red-pill in BlueOS Terminal) and run

\n

sudo docker run -d --net=host -v /root/.config/cerulean:/root/.config --name=BlueOS-Cerulean-DVL --restart=unless-stopped nicknothom/blueos-cerulean-dvl:latest

\n

The service will show in the \"Available Services\" section in BlueOS, where there are some configuration options.

", - "support": "https://forum.ceruleansonar.com/categories", + "readme": "
\n
\n
\n


\n

\n
\n
\n
\n


\n

An intuitive and customizable cross-platform ground control station for remote vehicles of all types. Click here for a demo!

\n

\"Test,\n\"Downloads\"

\n

\"Latest\n\"Date\"

\n

\"Docker\"\n\"Pulls\"\n\"Size\"

\n

Standard Usage

\n

See our documentation \ud83d\udcd6

\n

Development

\n

Installing Cockpit

\n

Cockpit is typically installed as an Electron application or BlueOS Extension, but for development purposes it is valuable to run it locally.

\n

To start, clone the repository and its submodules. The submodules are required components for Cockpit to be able to run:

\n

git clone --recurse-submodules git@github.com:bluerobotics/cockpit.git

\n

Next, install bun. Following their documented instructions is strongly recommended - we have received reports that installing bun from alternatives like Snap did not work properly.

\n

With bun installed, you can enter the repository folder and follow the steps below:

\n

bun install

\n

and then run the server locally with:

\n

bun run dev --host

\n

Then you should see a prompt with the local IP and port that can be accessed through a browser, such as localhost:5173.

\n

Installing backend providers

\n

Cockpit is currently a frontend-only application. That means it relies on data offered by other backend solutions, which are not built-in.

\n

If you have a BlueOS instance running, there's no need to install any backend, as BlueOS already provides everything.

\n

If that's not your case and you want to install the necessary backends, follow the instructions below:

\n
    \n
  1. Install a MAVLink router. We recommend mavp2p or MAVLink Router.
  2. \n
  3. Run the MAVLink router, connecting it to your vehicle or SITL instance.
  4. \n
  5. Install mavlink2rest.
  6. \n
  7. Run mavlink2rest, pointing it to the endpoint provided by the MAVLink router. Remember to serve the API over the 6040 port by running it with --server 0.0.0.0:6040.
  8. \n
  9. [Optional] If you want to work with video streaming, install Mavlink Camera Manager.
  10. \n
\n

Connecting to your vehicle

\n

Follow the instructions provided here to connect Cockpit to your vehicle.

\n

If you're running a BlueOS instance, just put the IP address of it in \"Global vehicle address\" and click the \"apply\" button.

\n

If you're serving mavlink2rest in the same machine as Cockpit, activate the checkmark for \"Mavlink2Rest connection\" and use ws://127.0.0.1:6040/v1/ws/mavlink there (if you're running a mavlink2rest version before 0.11.15, omit the /v1 in the URL).

\n

If you're serving mavlink-camera-manager in the same machine as Cockpit, activate the checkmark for \"WebRTC connection\" and use ws://127.0.0.1:6020 there.

\n

Simulating a vehicle

\n

Cockpit provides a simulation environments in a docker compose file. There is an environment provided for ArduSub, ArduCopter, ArduRover and ArduPlane. The compose file uses docker compose profiles to allow you to choose which vehicle you want to simulate. The available profiles are ardusub, arducopter, ardurover and arduplane. You can run a simulation environment by running the following command:

\n

docker-compose -f sim.yml --profile ardusub up

\n

Assuming you have run the bun run dev --host command, you can access the simulation environment by opening the browser and accessing localhost:5173.

", + "support": "https://discuss.bluerobotics.com/c/bluerobotics-software", "requirements": null, "company": { "about": "", - "name": "Cerulean Sonar", - "email": "dennys.bisogno@ceruleansonar.com" + "name": "Blue Robotics", + "email": "support@bluerobotics.com" }, "permissions": { - "NetworkMode": "host" + "ExposedPorts": { + "8000/tcp": {} + }, + "HostConfig": { + "PortBindings": { + "8000/tcp": [ + { + "HostPort": "" + } + ] + } + } } }, - "v1.0.1": { - "identifier": "5fda492f-72b4-54c0-bd0f-fca4761a0bfd", + "v1.2.2": { + "identifier": "d8e4c076-8a57-5578-bc74-82708ef0536c", "type": "other", - "website": "https://ceruleansonar.com", + "website": null, "images": [ { - "expanded_size": 109912491, - "platform": { - "architecture": "amd64", - "variant": null, - "os": "linux" - }, - "digest": "sha256:d5e8e487e02db3573da4b82b5c1bffcfd7dc56115aabc9e31d46b441205e8678" - }, - { - "expanded_size": 100174019, + "expanded_size": 18416403, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:11543c36b10be611293248778bc7b924eea38b7bfa47f39701c1b72d3b9a288f" + "digest": "sha256:34f51458874b6e0193c6927c24661e14039efa519ee73a69bdebeeeb379d95e1" } ], "authors": [ { - "name": "Nick Nothom", - "email": "nick.nothom@ceruleansonar.com" + "name": "Rafael Araujo Lehmkuhl", + "email": "rafael@bluerobotics.com" + }, + { + "name": "Patrick Jos\u00e9 Pereira", + "email": "patrick@bluerobotics.com" + }, + { + "name": "Arturo Manzoli", + "email": "arturo@bluerobotics.com" } ], - "filter_tags": [], + "filter_tags": [ + "vehicle-control", + "control-station", + "ground-station", + "navigation", + "joystick", + "mission-planning" + ], "extra_links": {}, - "tag": "v1.0.1", + "tag": "v1.2.2", "docs": null, - "readme": "

BlueOS-Cerulean-DVL

\n

Cerulean DVL driver, compatible with Blue Robotics BlueOS.

\n

Manual Installation:

\n

To set this up, ssh into the Raspberry Pi (or access via red-pill in BlueOS Terminal) and run

\n

sudo docker run -d --net=host -v /root/.config/cerulean:/root/.config --name=BlueOS-Cerulean-DVL --restart=unless-stopped nicknothom/blueos-cerulean-dvl:latest

\n

The service will show in the \"Available Services\" section in BlueOS, where there are some configuration options.

", - "support": "https://forum.ceruleansonar.com/categories", + "readme": "
\n
\n
\n


\n

\n
\n
\n
\n


\n

An intuitive and customizable cross-platform ground control station for remote vehicles of all types. Click here for a demo!

\n

\"Test,\n\"Downloads\"

\n

\"Latest\n\"Date\"

\n

\"Docker\"\n\"Pulls\"\n\"Size\"

\n

Standard Usage

\n

See our documentation \ud83d\udcd6

\n

Development

\n

Installing Cockpit

\n

Cockpit is typically installed as an Electron application or BlueOS Extension, but for development purposes it is valuable to run it locally.

\n

To start, clone the repository and its submodules. The submodules are required components for Cockpit to be able to run:

\n

git clone --recurse-submodules git@github.com:bluerobotics/cockpit.git

\n

Next, install bun. Following their documented instructions is strongly recommended - we have received reports that installing bun from alternatives like Snap did not work properly.

\n

With bun installed, you can enter the repository folder and follow the steps below:

\n

bun install

\n

and then run the server locally with:

\n

bun run dev --host

\n

Then you should see a prompt with the local IP and port that can be accessed through a browser, such as localhost:5173.

\n

Installing backend providers

\n

Cockpit is currently a frontend-only application. That means it relies on data offered by other backend solutions, which are not built-in.

\n

If you have a BlueOS instance running, there's no need to install any backend, as BlueOS already provides everything.

\n

If that's not your case and you want to install the necessary backends, follow the instructions below:

\n
    \n
  1. Install a MAVLink router. We recommend mavp2p or MAVLink Router.
  2. \n
  3. Run the MAVLink router, connecting it to your vehicle or SITL instance.
  4. \n
  5. Install mavlink2rest.
  6. \n
  7. Run mavlink2rest, pointing it to the endpoint provided by the MAVLink router. Remember to serve the API over the 6040 port by running it with --server 0.0.0.0:6040.
  8. \n
  9. [Optional] If you want to work with video streaming, install Mavlink Camera Manager.
  10. \n
\n

Connecting to your vehicle

\n

Follow the instructions provided here to connect Cockpit to your vehicle.

\n

If you're running a BlueOS instance, just put the IP address of it in \"Global vehicle address\" and click the \"apply\" button.

\n

If you're serving mavlink2rest in the same machine as Cockpit, activate the checkmark for \"Mavlink2Rest connection\" and use ws://127.0.0.1:6040/v1/ws/mavlink there (if you're running a mavlink2rest version before 0.11.15, omit the /v1 in the URL).

\n

If you're serving mavlink-camera-manager in the same machine as Cockpit, activate the checkmark for \"WebRTC connection\" and use ws://127.0.0.1:6020 there.

\n

Simulating a vehicle

\n

Cockpit provides a simulation environments in a docker compose file. There is an environment provided for ArduSub, ArduCopter, ArduRover and ArduPlane. The compose file uses docker compose profiles to allow you to choose which vehicle you want to simulate. The available profiles are ardusub, arducopter, ardurover and arduplane. You can run a simulation environment by running the following command:

\n

docker-compose -f sim.yml --profile ardusub up

\n

Assuming you have run the bun run dev --host command, you can access the simulation environment by opening the browser and accessing localhost:5173.

", + "support": "https://discuss.bluerobotics.com/c/bluerobotics-software", "requirements": null, "company": { "about": "", - "name": "Cerulean Sonar", - "email": "dennys.bisogno@ceruleansonar.com" + "name": "Blue Robotics", + "email": "support@bluerobotics.com" }, "permissions": { - "NetworkMode": "host" + "ExposedPorts": { + "8000/tcp": {} + }, + "HostConfig": { + "PortBindings": { + "8000/tcp": [ + { + "HostPort": "" + } + ] + } + } } - } - }, - "repo_info": { - "downloads": 16711, - "last_updated": "2023-05-17T18:58:43.418901Z", - "date_registered": "2023-01-17T21:41:45.289578Z" - } - }, - { - "identifier": "nortekgroup.nucleus", - "name": "Nortek Nucleus", - "website": "https://github.com/nortekgroup/nucleus_driver/tree/main/blueos_extension", - "docker": "nortekgroup/blueos_nucleus", - "description": "Supports the Nucleus1000 DVL for ROV navigation", - "extension_logo": "https://raw.githubusercontent.com/bluerobotics/BlueOS-Extensions-Repository/master/repos/nortekgroup/company_logo.png", - "company_logo": "https://raw.githubusercontent.com/bluerobotics/BlueOS-Extensions-Repository/master/repos/nortekgroup/company_logo.png", - "versions": { - "1.2.0": { - "identifier": "5279391c-d9e5-5ac9-a901-96de644f637c", - "type": "device-integration", - "website": "https://github.com/nortekgroup/nucleus_driver/tree/main/blueos_extension", + }, + "v1.2.1": { + "identifier": "58a7e9da-4bf7-5b2b-9c0a-0afa0a20ac49", + "type": "other", + "website": null, "images": [ { - "expanded_size": 73000634, - "platform": { - "architecture": "amd64", - "variant": null, - "os": "linux" - }, - "digest": "sha256:13dd49ad03110b9876e9a23cfaa3b3b61632b166c5bd2376f40876e8e45e61b7" - }, - { - "expanded_size": 67262813, + "expanded_size": 18415910, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:630017a74190da84b89edee200f473baf0140a80d8e7e843bab8a9178091268d" + "digest": "sha256:6763f93125b653d6759649ca926582c98d2d240a026e213b1011ce61e5900e37" } ], "authors": [ { - "name": "Martin Bergene Johansen", - "email": "martin.johansen@nortekgroup.com" + "name": "Rafael Araujo Lehmkuhl", + "email": "rafael@bluerobotics.com" + }, + { + "name": "Patrick Jos\u00e9 Pereira", + "email": "patrick@bluerobotics.com" + }, + { + "name": "Arturo Manzoli", + "email": "arturo@bluerobotics.com" } ], "filter_tags": [ - "positioning", + "vehicle-control", + "control-station", + "ground-station", "navigation", - "doppler-velocity-log", - "water-tracking", - "current-profiling" + "joystick", + "mission-planning" ], "extra_links": {}, - "tag": "1.2.0", + "tag": "v1.2.1", "docs": null, - "readme": "

BlueOS extension

\n

This is a Nucleus extension for the BlueOS software running on BlueROV2.

\n

It works by wrapping the Nucleus Driver in a docker image, with a script that feeds velocity data from the Nucleus device into the ArduSub control system through mavlink commands.

\n

This allows the user to utilize the \"position hold\" functionality in the ROV

\n

Nortek Nucleus integration

\n

To mount the Nucleus unto the BlueROV2 and connect it to its network, refer Nortek's Nucleus integration guide.

\n

setup

\n

BlueOS

\n

BlueOS needs to be of version 1.1.0-beta18 or newer in order to support the adding of third party extensions.

\n

ArduSub

\n

ArduSub needs to be of version 4.1.0 or newer for it to support the VISUAL_POSITION_DELTA packets used to send velocity data to the ROV.

\n

Nucleus

\n

This extension assumes that the Nucleus is connected to the network of the ROV through an ethernet connection. It is therefore necessary to set a static IP in the Nucleus.

\n

The network prefix of the BlueROV2 is 192.168.2.0, with a netmask of 255.255.255.0. The Nucleus' static IP must therefore be set to a fitting value, i.e. 192.168.2.201.

\n

In the GUI that comes with the extension the user must specify this IP address to establish a connection with the Nucleus device. The user is therefore not limited to using this IP address, but is at the same time responsible of selecting an IP address that is not already in use on the network.

\n

Adding extension to BlueROV2

\n

The extension can be added to the BlueROV2 either through the BlueOS software, or by creating the docker image on the onboard computer and running the docker container directly.

\n

It is recommended to add the extension through BlueOS as it is both easier and the intended way for this extension to be added. The two different approaches are covered in the following subsections.

\n

BlueOS

\n

Installation

\n

The extension can be added through BlueOS' extensions menu.

\n

Navigate to Extensions > Extensions Manager.

\n

\"blueos_menu\"

\n

Locate Nortek Nucleus under the tab \"STORE\" and open it.

\n

\"nortek_nucleus_store\"

\n

When the Nortek Nucleus extension is opened the user will be presented with this README, as well as information about the extensions creator, a link to this github repository, the settings in the docker image of the extension and the option of installing the extension.

\n

To install the extension, select the newest available version in the drop down menu (the newest version should be the default) and push install. BlueOS will the pull the nucleus extension docker image and install it in its extensions.

\n

\"nortek_nucleus_install\"

\n

Usage

\n

After the installation has been completed. The extension can be located in Extensions > Extensions Manager, under the tab \"INSTALLED\".

\n

\"nortek_nucleus_installed\"

\n

Here the user have the option to edit sittings, uninstall, disable and restart the extension. It is also possible to view the output logs from the docker container that runs the extension which can serve as a good debugging tool.

\n

The extension itself can be opened in the menu by navigating to Extensions > Nucleus: Position hold.

\n

\"blueos_menu_nucleus\"

\n

Opening this will present the user with the GUI for the Nucleus extension which is covered in Using the extension

\n

Docker

\n

To set this extension up manually, ssh into the Raspberry Pi on the BlueROV2 (or access via red-pill in BlueOS terminal).

\n

N.B. The docker image available on dockerhub is set to use port 80 for its user interface which allows BlueOS to handle which port this user interface should be available at. For the manual approach it is therefore necessary to build the docker image with a different port if you wish to have access to the user interface.

\n

N.B. In the current version of the extension it is necessary to have access to the GUI as it is required for establishing the connection to the Nucleus.

\n

On the onboard computer, clone this repo in your preferred path with the following command:

\n

git clone git@github.com:nortekgroup/nucleus_driver.git

\n

Navigate to the blueos_extension folder (the folder containing the Dockerfile) and build the docker image with the following command:

\n

docker build . -t nucleus_driver

\n

The GUI of the extension is by default on port 5000.

\n

If another port is preferred for the GUI the image can be build with the preferred port as an argument with the following command

\n

docker build . -t nucleus_driver --build-arg PORT=5000

\n

with the value following \"PORT=\" being your preferred port.

\n

The docker container can be executed with the following command

\n

docker run --net=host --add-host=host.docker.internal:host-gateway -v /root/.config/blueos:/root/.config --name=nucleus_driver --restart=unless-stopped nucleus_driver

\n

--net=host allows the container to share the network of the ROV which is necessary for it to communicate with the ROV and make the GUI available

\n

-v /root/.config/blueos:/root/.config maps the volume \"/root/.config/blueos\" from the Raspberry Pi into \"/root/.config\" in the container. This allows the container the store configuration data in-between runs.

\n

--name=Nucleus-Driver is the preferred name of the container.

\n

--restart=unless-stopped allows the extension to automatically start when the ROV is powered up

\n

With the docker container running, the GUI can be accessed in a browser by navigating to blueos.local:<port> (or 192.168.2.2:<port>), where <port> is the specified port from the image creation. See Using the extension to learn about how to use the GUI.

\n

Using the extension

\n

N.B. In order for the extension to work it is necessary to change certain controller parameters. Refer to \"Controller parameters\" section for more info

\n

N.B. In order for the \"position hold\" algorithm to perform well it might be necessary to change the ROV's PID parameters. Refer to \"PID parameters\" section for more info

\n

With the extension added, its user interface (GUI) can be found by navigating to Extensions -> Nucleus: Position hold in the BlueOS menu.

\n

In the case of a manual installation through docker, the GUI can be found y navigating to blueos.local:<port> where <port> is he port specified when the docker image was created.

\n

The GUI presents the user with a home page and two pages for parametrization. These pages can be navigated in-between using the navigation banner at the top of the GUI

\n

Home

\n

The home screen presents the user with a status field which displays the results of various checks performed during the startup of the ROV. It is necessary for all of these checks to pass in order for extension to work. Some easy troubleshooting is presented in the home screen in case any of these checks were to fail

\n

The Nucleus hostname field is used to set the IP address used to connect to the Nucleus device. This IP address should be the same as the static IP configured on the Nucleus device.

\n

It is also a field which allows the user to decide whether the driver is enabled. The driver must be enabled for it to feed velocity data to the ROV. If it is not enabled the driver is still running and extracting data from the Nucleus, but the velocity is not sent to the ROV.

\n

The packet counter field displays how many velocity data packets has been handled by the extension. Sent packages refers to packages that has been sent to the ROV, Failed packets refers to packets that for some reason failed to be sent, and Skipped packets are packets that were in good condition and ready to be sent, but weren't due to the driver not being enabled.

\n

PID parameters

\n

N.B. Adjusting any of these parameters WILL change the behavior of the ROV

\n

N.B. Neither the extension nor the ROV will remember the original values of these parameters in case they are changed. It is therefore the users responsibility to remember the original values in case they wish to revert back to the original parameterization.

\n

The PID parameters page gives the user opportunity to modify selected PID parameters in the controller. Good parameterization is necessary for a good performance of the ROV. The correct parameters varies from vehicle to vehicle as the physical attributes of the ROV has an impact on its behavior. However, recommended parameters for a standard BlueROV2 with only the Nucleus being the third party installation is presented on this page.

\n

Controller parameters

\n

N.B. Adjusting any of these parameters may change the behavior of the ROV

\n

N.B. Neither the extension nor the ROV will remember the original values of these parameters in case they are changed. It is therefore the users responsibility to remember the original values in case they wish to revert back to the original parameterization.

\n

In order for the controller to accept and utilize the velocity packets sent from the Nucleus, certain parameters has to be changed. The parameters and their required values are presented on this page.

\n

After these parameters has been changed it is necessary to power cycle the vehicle for these parameters to take effect

", - "support": "https://support.nortekgroup.com/", + "readme": "
\n
\n
\n


\n

\n
\n
\n
\n


\n

An intuitive and customizable cross-platform ground control station for remote vehicles of all types. Click here for a demo!

\n

\"Test,\n\"Downloads\"

\n

\"Latest\n\"Date\"

\n

\"Docker\"\n\"Pulls\"\n\"Size\"

\n

Standard Usage

\n

See our documentation \ud83d\udcd6

\n

Development

\n

Installing Cockpit

\n

Cockpit is typically installed as an Electron application or BlueOS Extension, but for development purposes it is valuable to run it locally.

\n

To start, clone the repository and its submodules. The submodules are required components for Cockpit to be able to run:

\n

git clone --recurse-submodules git@github.com:bluerobotics/cockpit.git

\n

Next, install bun. Following their documented instructions is strongly recommended - we have received reports that installing bun from alternatives like Snap did not work properly.

\n

With bun installed, you can enter the repository folder and follow the steps below:

\n

bun install

\n

and then run the server locally with:

\n

bun run dev --host

\n

Then you should see a prompt with the local IP and port that can be accessed through a browser, such as localhost:5173.

\n

Installing backend providers

\n

Cockpit is currently a frontend-only application. That means it relies on data offered by other backend solutions, which are not built-in.

\n

If you have a BlueOS instance running, there's no need to install any backend, as BlueOS already provides everything.

\n

If that's not your case and you want to install the necessary backends, follow the instructions below:

\n
    \n
  1. Install a MAVLink router. We recommend mavp2p or MAVLink Router.
  2. \n
  3. Run the MAVLink router, connecting it to your vehicle or SITL instance.
  4. \n
  5. Install mavlink2rest.
  6. \n
  7. Run mavlink2rest, pointing it to the endpoint provided by the MAVLink router. Remember to serve the API over the 6040 port by running it with --server 0.0.0.0:6040.
  8. \n
  9. [Optional] If you want to work with video streaming, install Mavlink Camera Manager.
  10. \n
\n

Connecting to your vehicle

\n

Follow the instructions provided here to connect Cockpit to your vehicle.

\n

If you're running a BlueOS instance, just put the IP address of it in \"Global vehicle address\" and click the \"apply\" button.

\n

If you're serving mavlink2rest in the same machine as Cockpit, activate the checkmark for \"Mavlink2Rest connection\" and use ws://127.0.0.1:6040/v1/ws/mavlink there (if you're running a mavlink2rest version before 0.11.15, omit the /v1 in the URL).

\n

If you're serving mavlink-camera-manager in the same machine as Cockpit, activate the checkmark for \"WebRTC connection\" and use ws://127.0.0.1:6020 there.

\n

Simulating a vehicle

\n

Cockpit provides a simulation environments in a docker compose file. There is an environment provided for ArduSub, ArduCopter, ArduRover and ArduPlane. The compose file uses docker compose profiles to allow you to choose which vehicle you want to simulate. The available profiles are ardusub, arducopter, ardurover and arduplane. You can run a simulation environment by running the following command:

\n

docker-compose -f sim.yml --profile ardusub up

\n

Assuming you have run the bun run dev --host command, you can access the simulation environment by opening the browser and accessing localhost:5173.

", + "support": "https://discuss.bluerobotics.com/c/bluerobotics-software", "requirements": null, "company": { "about": "", - "name": "Nortek", - "email": "" + "name": "Blue Robotics", + "email": "support@bluerobotics.com" }, "permissions": { "ExposedPorts": { - "80/tcp": {} + "8000/tcp": {} }, "HostConfig": { - "Binds": [ - "/root/.config:/root/.config" - ], - "ExtraHosts": [ - "host.docker.internal:host-gateway" - ], "PortBindings": { - "80/tcp": [ + "8000/tcp": [ { "HostPort": "" } @@ -8640,58 +9176,61 @@ } } }, - "1.1.0": { - "identifier": "1311ade4-1008-5502-84b3-c592f1aeb0fc", - "type": "device-integration", - "website": "https://github.com/nortekgroup/nucleus_driver/tree/main/blueos_extension", + "v1.2.0": { + "identifier": "b5122630-45e2-5ba6-bb9c-dc861d873d8f", + "type": "other", + "website": null, "images": [ { - "expanded_size": 67100057, + "expanded_size": 18414256, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:e0dedf493f9749aa953b59d4941e1fdf254c4a6949ecee933079e1d203e71773" + "digest": "sha256:ec8570f9161c9893b610b170320becf31aed843ef13677dc28b57585d0af5d72" } ], "authors": [ { - "name": "Martin Bergene Johansen", - "email": "martin.johansen@nortekgroup.com" + "name": "Rafael Araujo Lehmkuhl", + "email": "rafael@bluerobotics.com" + }, + { + "name": "Patrick Jos\u00e9 Pereira", + "email": "patrick@bluerobotics.com" + }, + { + "name": "Arturo Manzoli", + "email": "arturo@bluerobotics.com" } ], "filter_tags": [ - "positioning", + "vehicle-control", + "control-station", + "ground-station", "navigation", - "doppler-velocity-log", - "water-tracking", - "current-profiling" + "joystick", + "mission-planning" ], "extra_links": {}, - "tag": "1.1.0", + "tag": "v1.2.0", "docs": null, - "readme": "

BlueOS extension

\n

This is a Nucleus extension for the BlueOS software running on BlueROV2.

\n

It works by wrapping the Nucleus Driver in a docker image, with a script that feeds velocity data from the Nucleus device into the ArduSub control system through mavlink commands.

\n

This allows the user to utilize the \"position hold\" functionality in the ROV

\n

Nortek Nucleus integration

\n

To mount the Nucleus unto the BlueROV2 and connect it to its network, refer Nortek's Nucleus integration guide.

\n

setup

\n

BlueOS

\n

BlueOS needs to be of version 1.1.0-beta18 or newer in order to support the adding of third party extensions.

\n

ArduSub

\n

ArduSub needs to be of version 4.1.0 or newer for it to support the VISUAL_POSITION_DELTA packets used to send velocity data to the ROV.

\n

Nucleus

\n

This extension assumes that the Nucleus is connected to the network of the ROV through an ethernet connection. It is therefore necessary to set a static IP in the Nucleus.

\n

The network prefix of the BlueROV2 is 192.168.2.0, with a netmask of 255.255.255.0. The Nucleus' static IP must therefore be set to a fitting value, i.e. 192.168.2.201.

\n

In the GUI that comes with the extension the user must specify this IP address to establish a connection with the Nucleus device. The user is therefore not limited to using this IP address, but is at the same time responsible of selecting an IP address that is not already in use on the network.

\n

Adding extension to BlueROV2

\n

The extension can be added to the BlueROV2 either through the BlueOS software, or by creating the docker image on the onboard computer and running the docker container directly.

\n

It is recommended to add the extension through BlueOS as it is both easier and the intended way for this extension to be added. The two different approaches are covered in the following subsections.

\n

BlueOS

\n

Installation

\n

The extension can be added through BlueOS' extensions menu.

\n

Navigate to Extensions > Extensions Manager.

\n

\"blueos_menu\"

\n

Locate Nortek Nucleus under the tab \"STORE\" and open it.

\n

\"nortek_nucleus_store\"

\n

When the Nortek Nucleus extension is opened the user will be presented with this README, as well as information about the extensions creator, a link to this github repository, the settings in the docker image of the extension and the option of installing the extension.

\n

To install the extension, select the newest available version in the drop down menu (the newest version should be the default) and push install. BlueOS will the pull the nucleus extension docker image and install it in its extensions.

\n

\"nortek_nucleus_install\"

\n

Usage

\n

After the installation has been completed. The extension can be located in Extensions > Extensions Manager, under the tab \"INSTALLED\".

\n

\"nortek_nucleus_installed\"

\n

Here the user have the option to edit sittings, uninstall, disable and restart the extension. It is also possible to view the output logs from the docker container that runs the extension which can serve as a good debugging tool.

\n

The extension itself can be opened in the menu by navigating to Extensions > Nucleus: Position hold.

\n

\"blueos_menu_nucleus\"

\n

Opening this will present the user with the GUI for the Nucleus extension which is covered in Using the extension

\n

Docker

\n

To set this extension up manually, ssh into the Raspberry Pi on the BlueROV2 (or access via red-pill in BlueOS terminal).

\n

N.B. The docker image available on dockerhub is set to use port 80 for its user interface which allows BlueOS to handle which port this user interface should be available at. For the manual approach it is therefore necessary to build the docker image with a different port if you wish to have access to the user interface.

\n

N.B. In the current version of the extension it is necessary to have access to the GUI as it is required for establishing the connection to the Nucleus.

\n

On the onboard computer, clone this repo in your preferred path with the following command:

\n

git clone git@github.com:nortekgroup/nucleus_driver.git

\n

Navigate to the blueos_extension folder (the folder containing the Dockerfile) and build the docker image with the following command:

\n

docker build . -t nucleus_driver

\n

The GUI of the extension is by default on port 5000.

\n

If another port is preferred for the GUI the image can be build with the preferred port as an argument with the following command

\n

docker build . -t nucleus_driver --build-arg PORT=5000

\n

with the value following \"PORT=\" being your preferred port.

\n

The docker container can be executed with the following command

\n

docker run --net=host --add-host=host.docker.internal:host-gateway -v /root/.config/blueos:/root/.config --name=nucleus_driver --restart=unless-stopped nucleus_driver

\n

--net=host allows the container to share the network of the ROV which is necessary for it to communicate with the ROV and make the GUI available

\n

-v /root/.config/blueos:/root/.config maps the volume \"/root/.config/blueos\" from the Raspberry Pi into \"/root/.config\" in the container. This allows the container the store configuration data in-between runs.

\n

--name=Nucleus-Driver is the preferred name of the container.

\n

--restart=unless-stopped allows the extension to automatically start when the ROV is powered up

\n

With the docker container running, the GUI can be accessed in a browser by navigating to blueos.local:<port> (or 192.168.2.2:<port>), where <port> is the specified port from the image creation. See Using the extension to learn about how to use the GUI.

\n

Using the extension

\n

N.B. In order for the extension to work it is necessary to change certain controller parameters. Refer to \"Controller parameters\" section for more info

\n

N.B. In order for the \"position hold\" algorithm to perform well it might be necessary to change the ROV's PID parameters. Refer to \"PID parameters\" section for more info

\n

With the extension added, its user interface (GUI) can be found by navigating to Extensions -> Nucleus: Position hold in the BlueOS menu.

\n

In the case of a manual installation through docker, the GUI can be found y navigating to blueos.local:<port> where <port> is he port specified when the docker image was created.

\n

The GUI presents the user with a home page and two pages for parametrization. These pages can be navigated in-between using the navigation banner at the top of the GUI

\n

Home

\n

The home screen presents the user with a status field which displays the results of various checks performed during the startup of the ROV. It is necessary for all of these checks to pass in order for extension to work. Some easy troubleshooting is presented in the home screen in case any of these checks were to fail

\n

The Nucleus hostname field is used to set the IP address used to connect to the Nucleus device. This IP address should be the same as the static IP configured on the Nucleus device.

\n

It is also a field which allows the user to decide whether the driver is enabled. The driver must be enabled for it to feed velocity data to the ROV. If it is not enabled the driver is still running and extracting data from the Nucleus, but the velocity is not sent to the ROV.

\n

The packet counter field displays how many velocity data packets has been handled by the extension. Sent packages refers to packages that has been sent to the ROV, Failed packets refers to packets that for some reason failed to be sent, and Skipped packets are packets that were in good condition and ready to be sent, but weren't due to the driver not being enabled.

\n

PID parameters

\n

N.B. Adjusting any of these parameters WILL change the behavior of the ROV

\n

N.B. Neither the extension nor the ROV will remember the original values of these parameters in case they are changed. It is therefore the users responsibility to remember the original values in case they wish to revert back to the original parameterization.

\n

The PID parameters page gives the user opportunity to modify selected PID parameters in the controller. Good parameterization is necessary for a good performance of the ROV. The correct parameters varies from vehicle to vehicle as the physical attributes of the ROV has an impact on its behavior. However, recommended parameters for a standard BlueROV2 with only the Nucleus being the third party installation is presented on this page.

\n

Controller parameters

\n

N.B. Adjusting any of these parameters may change the behavior of the ROV

\n

N.B. Neither the extension nor the ROV will remember the original values of these parameters in case they are changed. It is therefore the users responsibility to remember the original values in case they wish to revert back to the original parameterization.

\n

In order for the controller to accept and utilize the velocity packets sent from the Nucleus, certain parameters has to be changed. The parameters and their required values are presented on this page.

\n

After these parameters has been changed it is necessary to power cycle the vehicle for these parameters to take effect

", - "support": "https://support.nortekgroup.com/", + "readme": "
\n
\n
\n


\n

\n
\n
\n
\n


\n

An intuitive and customizable cross-platform ground control station for remote vehicles of all types. Click here for a demo!

\n

\"Test,\n\"Downloads\"

\n

\"Latest\n\"Date\"

\n

\"Docker\"\n\"Pulls\"\n\"Size\"

\n

Standard Usage

\n

See our documentation \ud83d\udcd6

\n

Development

\n

Installing Cockpit

\n

Cockpit is typically installed as an Electron application or BlueOS Extension, but for development purposes it is valuable to run it locally.

\n

To start, clone the repository and its submodules. The submodules are required components for Cockpit to be able to run:

\n

git clone --recurse-submodules git@github.com:bluerobotics/cockpit.git

\n

Next, install bun. Following their documented instructions is strongly recommended - we have received reports that installing bun from alternatives like Snap did not work properly.

\n

With bun installed, you can enter the repository folder and follow the steps below:

\n

bun install

\n

and then run the server locally with:

\n

bun run dev --host

\n

Then you should see a prompt with the local IP and port that can be accessed through a browser, such as localhost:5173.

\n

Installing backend providers

\n

Cockpit is currently a frontend-only application. That means it relies on data offered by other backend solutions, which are not built-in.

\n

If you have a BlueOS instance running, there's no need to install any backend, as BlueOS already provides everything.

\n

If that's not your case and you want to install the necessary backends, follow the instructions below:

\n
    \n
  1. Install a MAVLink router. We recommend mavp2p or MAVLink Router.
  2. \n
  3. Run the MAVLink router, connecting it to your vehicle or SITL instance.
  4. \n
  5. Install mavlink2rest.
  6. \n
  7. Run mavlink2rest, pointing it to the endpoint provided by the MAVLink router. Remember to serve the API over the 6040 port by running it with --server 0.0.0.0:6040.
  8. \n
  9. [Optional] If you want to work with video streaming, install Mavlink Camera Manager.
  10. \n
\n

Connecting to your vehicle

\n

Follow the instructions provided here to connect Cockpit to your vehicle.

\n

If you're running a BlueOS instance, just put the IP address of it in \"Global vehicle address\" and click the \"apply\" button.

\n

If you're serving mavlink2rest in the same machine as Cockpit, activate the checkmark for \"Mavlink2Rest connection\" and use ws://127.0.0.1:6040/v1/ws/mavlink there (if you're running a mavlink2rest version before 0.11.15, omit the /v1 in the URL).

\n

If you're serving mavlink-camera-manager in the same machine as Cockpit, activate the checkmark for \"WebRTC connection\" and use ws://127.0.0.1:6020 there.

\n

Simulating a vehicle

\n

Cockpit provides a simulation environments in a docker compose file. There is an environment provided for ArduSub, ArduCopter, ArduRover and ArduPlane. The compose file uses docker compose profiles to allow you to choose which vehicle you want to simulate. The available profiles are ardusub, arducopter, ardurover and arduplane. You can run a simulation environment by running the following command:

\n

docker-compose -f sim.yml --profile ardusub up

\n

Assuming you have run the bun run dev --host command, you can access the simulation environment by opening the browser and accessing localhost:5173.

", + "support": "https://discuss.bluerobotics.com/c/bluerobotics-software", "requirements": null, "company": { "about": "", - "name": "Nortek", - "email": "" + "name": "Blue Robotics", + "email": "support@bluerobotics.com" }, "permissions": { "ExposedPorts": { - "80/tcp": {} + "8000/tcp": {} }, "HostConfig": { - "Binds": [ - "/root/.config:/root/.config" - ], - "ExtraHosts": [ - "host.docker.internal:host-gateway" - ], "PortBindings": { - "80/tcp": [ + "8000/tcp": [ { "HostPort": "" } @@ -8700,58 +9239,61 @@ } } }, - "1.0.4": { - "identifier": "d80dda53-9e55-5730-8db0-5fb11b255c4d", - "type": "device-integration", - "website": "https://github.com/nortekgroup/nucleus_driver/tree/main/blueos_extension", + "v1.1.1": { + "identifier": "0ad50b1a-8966-5f07-bc33-222e7bdeb912", + "type": "other", + "website": null, "images": [ { - "expanded_size": 67188902, + "expanded_size": 18406196, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:737d0121074d2009aec5e835884197efa32d063779f1417d981c41e3c351cbec" + "digest": "sha256:d62ca8c2759074e0ed8128f8b2e9dcc5eeb6ea4dbee0118db856cfb9d2295005" } ], "authors": [ { - "name": "Martin Bergene Johansen", - "email": "martin.johansen@nortekgroup.com" + "name": "Rafael Araujo Lehmkuhl", + "email": "rafael@bluerobotics.com" + }, + { + "name": "Patrick Jos\u00e9 Pereira", + "email": "patrick@bluerobotics.com" + }, + { + "name": "Arturo Manzoli", + "email": "arturo@bluerobotics.com" } ], "filter_tags": [ - "positioning", + "vehicle-control", + "control-station", + "ground-station", "navigation", - "doppler-velocity-log", - "water-tracking", - "current-profiling" + "joystick", + "mission-planning" ], "extra_links": {}, - "tag": "1.0.4", + "tag": "v1.1.1", "docs": null, - "readme": "

BlueOS extension

\n

This is a Nucleus extension for the BlueOS software running on BlueROV2.

\n

It works by wrapping the Nucleus Driver in a docker image, with a script that feeds velocity data from the Nucleus device into the ArduSub control system through mavlink commands.

\n

This allows the user to utilize the \"position hold\" functionality in the ROV

\n

Nortek Nucleus integration

\n

To mount the Nucleus unto the BlueROV2 and connect it to its network, refer Nortek's Nucleus integration guide.

\n

setup

\n

BlueOS

\n

BlueOS needs to be of version 1.1.0-beta18 or newer in order to support the adding of third party extensions.

\n

ArduSub

\n

ArduSub needs to be of version 4.1.0 or newer for it to support the VISUAL_POSITION_DELTA packets used to send velocity data to the ROV.

\n

Nucleus

\n

This extension assumes that the Nucleus is connected to the network of the ROV through an ethernet connection. It is therefore necessary to set a static IP in the Nucleus.

\n

The network prefix of the BlueROV2 is 192.168.2.0, with a netmask of 255.255.255.0. The Nucleus' static IP must therefore be set to a fitting value, i.e. 192.168.2.201.

\n

In the GUI that comes with the extension the user must specify this IP address to establish a connection with the Nucleus device. The user is therefore not limited to using this IP address, but is at the same time responsible of selecting an IP address that is not already in use on the network.

\n

Adding extension to BlueROV2

\n

The extension can be added to the BlueROV2 either through the BlueOS software, or by creating the docker image on the onboard computer and running the docker container directly.

\n

It is recommended to add the extension through BlueOS as it is both easier and the intended way for this extension to be added. The two different approaches are covered in the following subsections.

\n

BlueOS

\n

Installation

\n

The extension can be added through BlueOS' extensions menu.

\n

Navigate to Extensions > Extensions Manager.

\n

\"blueos_menu\"

\n

Locate Nortek Nucleus under the tab \"STORE\" and open it.

\n

\"nortek_nucleus_store\"

\n

When the Nortek Nucleus extension is opened the user will be presented with this README, as well as information about the extensions creator, a link to this github repository, the settings in the docker image of the extension and the option of installing the extension.

\n

To install the extension, select the newest available version in the drop down menu (the newest version should be the default) and push install. BlueOS will the pull the nucleus extension docker image and install it in its extensions.

\n

\"nortek_nucleus_install\"

\n

Usage

\n

After the installation has been completed. The extension can be located in Extensions > Extensions Manager, under the tab \"INSTALLED\".

\n

\"nortek_nucleus_installed\"

\n

Here the user have the option to edit sittings, uninstall, disable and restart the extension. It is also possible to view the output logs from the docker container that runs the extension which can serve as a good debugging tool.

\n

The extension itself can be opened in the menu by navigating to Extensions > Nucleus: Position hold.

\n

\"blueos_menu_nucleus\"

\n

Opening this will present the user with the GUI for the Nucleus extension which is covered in Using the extension

\n

Docker

\n

To set this extension up manually, ssh into the Raspberry Pi on the BlueROV2 (or access via red-pill in BlueOS terminal).

\n

N.B. The docker image available on dockerhub is set to use port 80 for its user interface which allows BlueOS to handle which port this user interface should be available at. For the manual approach it is therefore necessary to build the docker image with a different port if you wish to have access to the user interface.

\n

N.B. In the current version of the extension it is necessary to have access to the GUI as it is required for establishing the connection to the Nucleus.

\n

On the onboard computer, clone this repo in your preferred path with the following command:

\n

git clone git@github.com:nortekgroup/nucleus_driver.git

\n

Navigate to the blueos_extension folder (the folder containing the Dockerfile) and build the docker image with the following command:

\n

docker build . -t nucleus_driver

\n

The GUI of the extension is by default on port 5000.

\n

If another port is preferred for the GUI the image can be build with the preferred port as an argument with the following command

\n

docker build . -t nucleus_driver --build-arg PORT=5000

\n

with the value following \"PORT=\" being your preferred port.

\n

The docker container can be executed with the following command

\n

docker run --net=host --add-host=host.docker.internal:host-gateway -v /root/.config/blueos:/root/.config --name=nucleus_driver --restart=unless-stopped nucleus_driver

\n

--net=host allows the container to share the network of the ROV which is necessary for it to communicate with the ROV and make the GUI available

\n

-v /root/.config/blueos:/root/.config maps the volume \"/root/.config/blueos\" from the Raspberry Pi into \"/root/.config\" in the container. This allows the container the store configuration data in-between runs.

\n

--name=Nucleus-Driver is the preferred name of the container.

\n

--restart=unless-stopped allows the extension to automatically start when the ROV is powered up

\n

With the docker container running, the GUI can be accessed in a browser by navigating to blueos.local:<port> (or 192.168.2.2:<port>), where <port> is the specified port from the image creation. See Using the extension to learn about how to use the GUI.

\n

Using the extension

\n

N.B. In order for the extension to work it is necessary to change certain controller parameters. Refer to \"Controller parameters\" section for more info

\n

N.B. In order for the \"position hold\" algorithm to perform well it might be necessary to change the ROV's PID parameters. Refer to \"PID parameters\" section for more info

\n

With the extension added, its user interface (GUI) can be found by navigating to Extensions -> Nucleus: Position hold in the BlueOS menu.

\n

In the case of a manual installation through docker, the GUI can be found y navigating to blueos.local:<port> where <port> is he port specified when the docker image was created.

\n

The GUI presents the user with a home page and two pages for parametrization. These pages can be navigated in-between using the navigation banner at the top of the GUI

\n

Home

\n

The home screen presents the user with a status field which displays the results of various checks performed during the startup of the ROV. It is necessary for all of these checks to pass in order for extension to work. Some easy troubleshooting is presented in the home screen in case any of these checks were to fail

\n

The Nucleus hostname field is used to set the IP address used to connect to the Nucleus device. This IP address should be the same as the static IP configured on the Nucleus device.

\n

It is also a field which allows the user to decide whether the driver is enabled. The driver must be enabled for it to feed velocity data to the ROV. If it is not enabled the driver is still running and extracting data from the Nucleus, but the velocity is not sent to the ROV.

\n

The packet counter field displays how many velocity data packets has been handled by the extension. Sent packages refers to packages that has been sent to the ROV, Failed packets refers to packets that for some reason failed to be sent, and Skipped packets are packets that were in good condition and ready to be sent, but weren't due to the driver not being enabled.

\n

PID parameters

\n

N.B. Adjusting any of these parameters WILL change the behavior of the ROV

\n

N.B. Neither the extension nor the ROV will remember the original values of these parameters in case they are changed. It is therefore the users responsibility to remember the original values in case they wish to revert back to the original parameterization.

\n

The PID parameters page gives the user opportunity to modify selected PID parameters in the controller. Good parameterization is necessary for a good performance of the ROV. The correct parameters varies from vehicle to vehicle as the physical attributes of the ROV has an impact on its behavior. However, recommended parameters for a standard BlueROV2 with only the Nucleus being the third party installation is presented on this page.

\n

Controller parameters

\n

N.B. Adjusting any of these parameters may change the behavior of the ROV

\n

N.B. Neither the extension nor the ROV will remember the original values of these parameters in case they are changed. It is therefore the users responsibility to remember the original values in case they wish to revert back to the original parameterization.

\n

In order for the controller to accept and utilize the velocity packets sent from the Nucleus, certain parameters has to be changed. The parameters and their required values are presented on this page.

\n

After these parameters has been changed it is necessary to power cycle the vehicle for these parameters to take effect

", - "support": "https://support.nortekgroup.com/", + "readme": "
\n
\n
\n


\n

\n
\n
\n
\n


\n

An intuitive and customizable cross-platform ground control station for remote vehicles of all types. Click here for a demo!

\n

\"Test,\n\"Downloads\"

\n

\"Latest\n\"Date\"

\n

\"Docker\"\n\"Pulls\"\n\"Size\"

\n

Standard Usage

\n

See our documentation \ud83d\udcd6

\n

Development

\n

Installing Cockpit

\n

Cockpit is typically installed as an Electron application or BlueOS Extension, but for development purposes it is valuable to run it locally.

\n

To start, clone the repository and its submodules. The submodules are required components for Cockpit to be able to run:

\n

git clone --recurse-submodules git@github.com:bluerobotics/cockpit.git

\n

Next, install bun. Following their documented instructions is strongly recommended - we have received reports that installing bun from alternatives like Snap did not work properly.

\n

With bun installed, you can enter the repository folder and follow the steps below:

\n

bun install

\n

and then run the server locally with:

\n

bun run dev --host

\n

Then you should see a prompt with the local IP and port that can be accessed through a browser, such as localhost:5173.

\n

Installing backend providers

\n

Cockpit is currently a frontend-only application. That means it relies on data offered by other backend solutions, which are not built-in.

\n

If you have a BlueOS instance running, there's no need to install any backend, as BlueOS already provides everything.

\n

If that's not your case and you want to install the necessary backends, follow the instructions below:

\n
    \n
  1. Install a MAVLink router. We recommend mavp2p or MAVLink Router.
  2. \n
  3. Run the MAVLink router, connecting it to your vehicle or SITL instance.
  4. \n
  5. Install mavlink2rest.
  6. \n
  7. Run mavlink2rest, pointing it to the endpoint provided by the MAVLink router. Remember to serve the API over the 6040 port by running it with --server 0.0.0.0:6040.
  8. \n
  9. [Optional] If you want to work with video streaming, install Mavlink Camera Manager.
  10. \n
\n

Connecting to your vehicle

\n

Follow the instructions provided here to connect Cockpit to your vehicle.

\n

If you're running a BlueOS instance, just put the IP address of it in \"Global vehicle address\" and click the \"apply\" button.

\n

If you're serving mavlink2rest in the same machine as Cockpit, activate the checkmark for \"Mavlink2Rest connection\" and use ws://127.0.0.1:6040/v1/ws/mavlink there (if you're running a mavlink2rest version before 0.11.15, omit the /v1 in the URL).

\n

If you're serving mavlink-camera-manager in the same machine as Cockpit, activate the checkmark for \"WebRTC connection\" and use ws://127.0.0.1:6020 there.

\n

Simulating a vehicle

\n

Cockpit provides a simulation environments in a docker compose file. There is an environment provided for ArduSub, ArduCopter, ArduRover and ArduPlane. The compose file uses docker compose profiles to allow you to choose which vehicle you want to simulate. The available profiles are ardusub, arducopter, ardurover and arduplane. You can run a simulation environment by running the following command:

\n

docker-compose -f sim.yml --profile ardusub up

\n

Assuming you have run the bun run dev --host command, you can access the simulation environment by opening the browser and accessing localhost:5173.

", + "support": "https://discuss.bluerobotics.com/c/bluerobotics-software", "requirements": null, "company": { "about": "", - "name": "Nortek", - "email": "" + "name": "Blue Robotics", + "email": "support@bluerobotics.com" }, "permissions": { "ExposedPorts": { - "80/tcp": {} + "8000/tcp": {} }, "HostConfig": { - "Binds": [ - "/root/.config:/root/.config" - ], - "ExtraHosts": [ - "host.docker.internal:host-gateway" - ], "PortBindings": { - "80/tcp": [ + "8000/tcp": [ { "HostPort": "" } @@ -8760,58 +9302,61 @@ } } }, - "1.0.2": { - "identifier": "db710a2e-7da6-51a6-b5a7-b89187e26d9d", - "type": "device-integration", - "website": "https://github.com/nortekgroup/nucleus_driver/tree/main/blueos_extension", + "v1.1.0": { + "identifier": "fa202203-37af-554a-9aa6-8d673c3360de", + "type": "other", + "website": null, "images": [ { - "expanded_size": 67163850, + "expanded_size": 18406233, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:8d96a946443c05c829d07953772cd0c53ee88120455449768796ee133c38f679" + "digest": "sha256:d8b78ce222083ec103546075462c1cdfd9a5b2e87ec2a8668329d5925bf718ed" } ], "authors": [ { - "name": "Martin Bergene Johansen", - "email": "martin.johansen@nortekgroup.com" + "name": "Rafael Araujo Lehmkuhl", + "email": "rafael@bluerobotics.com" + }, + { + "name": "Patrick Jos\u00e9 Pereira", + "email": "patrick@bluerobotics.com" + }, + { + "name": "Arturo Manzoli", + "email": "arturo@bluerobotics.com" } ], "filter_tags": [ - "positioning", + "vehicle-control", + "control-station", + "ground-station", "navigation", - "doppler-velocity-log", - "water-tracking", - "current-profiling" + "joystick", + "mission-planning" ], "extra_links": {}, - "tag": "1.0.2", + "tag": "v1.1.0", "docs": null, - "readme": "

BlueOS extension

\n

This is a Nucleus extension for the BlueOS software running on BlueROV2.

\n

It works by wrapping the Nucleus Driver in a docker image, with a script that feeds velocity data from the Nucleus device into the ArduSub control system through mavlink commands.

\n

This allows the user to utilize the \"position hold\" functionality in the ROV

\n

Nortek Nucleus integration

\n

To mount the Nucleus unto the BlueROV2 and connect it to its network, refer Nortek's Nucleus integration guide.

\n

setup

\n

BlueOS

\n

BlueOS needs to be of version 1.1.0-beta18 or newer in order to support the adding of third party extensions.

\n

ArduSub

\n

ArduSub needs to be of version 4.1.0 or newer for it to support the VISUAL_POSITION_DELTA packets used to send velocity data to the ROV.

\n

Nucleus

\n

This extension assumes that the Nucleus is connected to the network of the ROV through an ethernet connection. It is therefore necessary to set a static IP in the Nucleus.

\n

The network prefix of the BlueROV2 is 192.168.2.0, with a netmask of 255.255.255.0. The Nucleus' static IP must therefore be set to a fitting value, i.e. 192.168.2.201.

\n

In the GUI that comes with the extension the user must specify this IP address to establish a connection with the Nucleus device. The user is therefore not limited to using this IP address, but is at the same time responsible of selecting an IP address that is not already in use on the network.

\n

Adding extension to BlueROV2

\n

The extension can be added to the BlueROV2 either through the BlueOS software, or by creating the docker image on the onboard computer and running the docker container directly.

\n

It is recommended to add the extension through BlueOS as it is both easier and the intended way for this extension to be added. The two different approaches are covered in the following subsections.

\n

BlueOS

\n

Installation

\n

The extension can be added through BlueOS' extensions menu.

\n

Navigate to Extensions > Extensions Manager.

\n

\"blueos_menu\"

\n

Locate Nortek Nucleus under the tab \"STORE\" and open it.

\n

\"nortek_nucleus_store\"

\n

When the Nortek Nucleus extension is opened the user will be presented with this README, as well as information about the extensions creator, a link to this github repository, the settings in the docker image of the extension and the option of installing the extension.

\n

To install the extension, select the newest available version in the drop down menu (the newest version should be the default) and push install. BlueOS will the pull the nucleus extension docker image and install it in its extensions.

\n

\"nortek_nucleus_install\"

\n

Usage

\n

After the installation has been completed. The extension can be located in Extensions > Extensions Manager, under the tab \"INSTALLED\".

\n

\"nortek_nucleus_installed\"

\n

Here the user have the option to edit sittings, uninstall, disable and restart the extension. It is also possible to view the output logs from the docker container that runs the extension which can serve as a good debugging tool.

\n

The extension itself can be opened in the menu by navigating to Extensions > Nucleus: Position hold.

\n

\"blueos_menu_nucleus\"

\n

Opening this will present the user with the GUI for the Nucleus extension which is covered in Using the extension

\n

Docker

\n

To set this extension up manually, ssh into the Raspberry Pi on the BlueROV2 (or access via red-pill in BlueOS terminal).

\n

N.B. The docker image available on dockerhub is set to use port 80 for its user interface which allows BlueOS to handle which port this user interface should be available at. For the manual approach it is therefore necessary to build the docker image with a different port if you wish to have access to the user interface.

\n

N.B. In the current version of the extension it is necessary to have access to the GUI as it is required for establishing the connection to the Nucleus.

\n

On the onboard computer, clone this repo in your preferred path with the following command:

\n

git clone git@github.com:nortekgroup/nucleus_driver.git

\n

Navigate to the blueos_extension folder (the folder containing the Dockerfile) and build the docker image with the following command:

\n

docker build . -t nucleus_driver

\n

The GUI of the extension is by default on port 5000.

\n

If another port is preferred for the GUI the image can be build with the preferred port as an argument with the following command

\n

docker build . -t nucleus_driver --build-arg PORT=5000

\n

with the value following \"PORT=\" being your preferred port.

\n

The docker container can be executed with the following command

\n

docker run --net=host --add-host=host.docker.internal:host-gateway -v /root/.config/blueos:/root/.config --name=nucleus_driver --restart=unless-stopped nucleus_driver

\n

--net=host allows the container to share the network of the ROV which is necessary for it to communicate with the ROV and make the GUI available

\n

-v /root/.config/blueos:/root/.config maps the volume \"/root/.config/blueos\" from the Raspberry Pi into \"/root/.config\" in the container. This allows the container the store configuration data in-between runs.

\n

--name=Nucleus-Driver is the preferred name of the container.

\n

--restart=unless-stopped allows the extension to automatically start when the ROV is powered up

\n

With the docker container running, the GUI can be accessed in a browser by navigating to blueos.local:<port> (or 192.168.2.2:<port>), where <port> is the specified port from the image creation. See Using the extension to learn about how to use the GUI.

\n

Using the extension

\n

N.B. In order for the extension to work it is necessary to change certain controller parameters. Refer to \"Controller parameters\" section for more info

\n

N.B. In order for the \"position hold\" algorithm to perform well it might be necessary to change the ROV's PID parameters. Refer to \"PID parameters\" section for more info

\n

With the extension added, its user interface (GUI) can be found by navigating to Extensions -> Nucleus: Position hold in the BlueOS menu.

\n

In the case of a manual installation through docker, the GUI can be found y navigating to blueos.local:<port> where <port> is he port specified when the docker image was created.

\n

The GUI presents the user with a home page and two pages for parametrization. These pages can be navigated in-between using the navigation banner at the top of the GUI

\n

Home

\n

The home screen presents the user with a status field which displays the results of various checks performed during the startup of the ROV. It is necessary for all of these checks to pass in order for extension to work. Some easy troubleshooting is presented in the home screen in case any of these checks were to fail

\n

The Nucleus hostname field is used to set the IP address used to connect to the Nucleus device. This IP address should be the same as the static IP configured on the Nucleus device.

\n

It is also a field which allows the user to decide whether the driver is enabled. The driver must be enabled for it to feed velocity data to the ROV. If it is not enabled the driver is still running and extracting data from the Nucleus, but the velocity is not sent to the ROV.

\n

The packet counter field displays how many velocity data packets has been handled by the extension. Sent packages refers to packages that has been sent to the ROV, Failed packets refers to packets that for some reason failed to be sent, and Skipped packets are packets that were in good condition and ready to be sent, but weren't due to the driver not being enabled.

\n

PID parameters

\n

N.B. Adjusting any of these parameters WILL change the behavior of the ROV

\n

N.B. Neither the extension nor the ROV will remember the original values of these parameters in case they are changed. It is therefore the users responsibility to remember the original values in case they wish to revert back to the original parameterization.

\n

The PID parameters page gives the user opportunity to modify selected PID parameters in the controller. Good parameterization is necessary for a good performance of the ROV. The correct parameters varies from vehicle to vehicle as the physical attributes of the ROV has an impact on its behavior. However, recommended parameters for a standard BlueROV2 with only the Nucleus being the third party installation is presented on this page.

\n

Controller parameters

\n

N.B. Adjusting any of these parameters may change the behavior of the ROV

\n

N.B. Neither the extension nor the ROV will remember the original values of these parameters in case they are changed. It is therefore the users responsibility to remember the original values in case they wish to revert back to the original parameterization.

\n

In order for the controller to accept and utilize the velocity packets sent from the Nucleus, certain parameters has to be changed. The parameters and their required values are presented on this page.

\n

After these parameters has been changed it is necessary to power cycle the vehicle for these parameters to take effect

", - "support": "https://support.nortekgroup.com/", + "readme": "
\n
\n
\n


\n

\n
\n
\n
\n


\n

An intuitive and customizable cross-platform ground control station for remote vehicles of all types. Click here for a demo!

\n

\"Test,\n\"Downloads\"

\n

\"Latest\n\"Date\"

\n

\"Docker\"\n\"Pulls\"\n\"Size\"

\n

Standard Usage

\n

See our documentation \ud83d\udcd6

\n

Development

\n

Installing Cockpit

\n

Cockpit is typically installed as an Electron application or BlueOS Extension, but for development purposes it is valuable to run it locally.

\n

To start, clone the repository and its submodules. The submodules are required components for Cockpit to be able to run:

\n

git clone --recurse-submodules git@github.com:bluerobotics/cockpit.git

\n

Next, install bun. Following their documented instructions is strongly recommended - we have received reports that installing bun from alternatives like Snap did not work properly.

\n

With bun installed, you can enter the repository folder and follow the steps below:

\n

bun install

\n

and then run the server locally with:

\n

bun run dev --host

\n

Then you should see a prompt with the local IP and port that can be accessed through a browser, such as localhost:5173.

\n

Installing backend providers

\n

Cockpit is currently a frontend-only application. That means it relies on data offered by other backend solutions, which are not built-in.

\n

If you have a BlueOS instance running, there's no need to install any backend, as BlueOS already provides everything.

\n

If that's not your case and you want to install the necessary backends, follow the instructions below:

\n
    \n
  1. Install a MAVLink router. We recommend mavp2p or MAVLink Router.
  2. \n
  3. Run the MAVLink router, connecting it to your vehicle or SITL instance.
  4. \n
  5. Install mavlink2rest.
  6. \n
  7. Run mavlink2rest, pointing it to the endpoint provided by the MAVLink router. Remember to serve the API over the 6040 port by running it with --server 0.0.0.0:6040.
  8. \n
  9. [Optional] If you want to work with video streaming, install Mavlink Camera Manager.
  10. \n
\n

Connecting to your vehicle

\n

Follow the instructions provided here to connect Cockpit to your vehicle.

\n

If you're running a BlueOS instance, just put the IP address of it in \"Global vehicle address\" and click the \"apply\" button.

\n

If you're serving mavlink2rest in the same machine as Cockpit, activate the checkmark for \"Mavlink2Rest connection\" and use ws://127.0.0.1:6040/v1/ws/mavlink there (if you're running a mavlink2rest version before 0.11.15, omit the /v1 in the URL).

\n

If you're serving mavlink-camera-manager in the same machine as Cockpit, activate the checkmark for \"WebRTC connection\" and use ws://127.0.0.1:6020 there.

\n

Simulating a vehicle

\n

Cockpit provides a simulation environments in a docker compose file. There is an environment provided for ArduSub, ArduCopter, ArduRover and ArduPlane. The compose file uses docker compose profiles to allow you to choose which vehicle you want to simulate. The available profiles are ardusub, arducopter, ardurover and arduplane. You can run a simulation environment by running the following command:

\n

docker-compose -f sim.yml --profile ardusub up

\n

Assuming you have run the bun run dev --host command, you can access the simulation environment by opening the browser and accessing localhost:5173.

", + "support": "https://discuss.bluerobotics.com/c/bluerobotics-software", "requirements": null, "company": { "about": "", - "name": "Nortek", - "email": "" + "name": "Blue Robotics", + "email": "support@bluerobotics.com" }, "permissions": { "ExposedPorts": { - "80/tcp": {} + "8000/tcp": {} }, "HostConfig": { - "Binds": [ - "/root/.config:/root/.config" - ], - "ExtraHosts": [ - "host.docker.internal:host-gateway" - ], "PortBindings": { - "80/tcp": [ + "8000/tcp": [ { "HostPort": "" } @@ -8820,58 +9365,61 @@ } } }, - "1.0.1": { - "identifier": "45bcca1a-93dc-5556-885e-70cf737f4c66", - "type": "device-integration", - "website": "https://github.com/nortekgroup/nucleus_driver/tree/main/blueos_extension", + "v1.0.2": { + "identifier": "6693b57e-6957-50d7-a9ee-8cfc96d38e57", + "type": "other", + "website": null, "images": [ { - "expanded_size": 67134167, + "expanded_size": 17453223, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:6ca7ff490e0537ea5b733e17f2cde35ab9df44ce623873e7524424d83f8c3bbc" + "digest": "sha256:b2c4c48b43f3ce386dba9e85359f3f79621d03a9edd1d5307915e752f6461be5" } ], "authors": [ { - "name": "Martin Bergene Johansen", - "email": "martin.johansen@nortekgroup.com" + "name": "Rafael Araujo Lehmkuhl", + "email": "rafael@bluerobotics.com" + }, + { + "name": "Patrick Jos\u00e9 Pereira", + "email": "patrick@bluerobotics.com" + }, + { + "name": "Arturo Manzoli", + "email": "arturo@bluerobotics.com" } ], "filter_tags": [ - "positioning", + "vehicle-control", + "control-station", + "ground-station", "navigation", - "doppler-velocity-log", - "water-tracking", - "current-profiling" + "joystick", + "mission-planning" ], "extra_links": {}, - "tag": "1.0.1", + "tag": "v1.0.2", "docs": null, - "readme": "

BlueOS extension

\n

This is a Nucleus extension for the BlueOS software running on BlueROV2.

\n

It works by wrapping the Nucleus Driver in a docker image, with a script that feeds velocity data from the Nucleus device into the ArduSub control system through mavlink commands.

\n

This allows the user to utilize the \"position hold\" functionality in the ROV

\n

Nortek Nucleus integration

\n

To mount the Nucleus unto the BlueROV2 and connect it to its network, refer Nortek's Nucleus integration guide.

\n

setup

\n

BlueOS

\n

BlueOS needs to be of version 1.1.0-beta18 or newer in order to support the adding of third party extensions.

\n

ArduSub

\n

ArduSub needs to be of version 4.1.0 or newer for it to support the VISUAL_POSITION_DELTA packets used to send velocity data to the ROV.

\n

Nucleus

\n

This extension assumes that the Nucleus is connected to the network of the ROV through an ethernet connection. It is therefore necessary to set a static IP in the Nucleus.

\n

The network prefix of the BlueROV2 is 192.168.2.0, with a netmask of 255.255.255.0. The Nucleus' static IP must therefore be set to a fitting value, i.e. 192.168.2.201.

\n

In the GUI that comes with the extension the user must specify this IP address to establish a connection with the Nucleus device. The user is therefore not limited to using this IP address, but is at the same time responsible of selecting an IP address that is not already in use on the network.

\n

Adding extension to BlueROV2

\n

The extension can be added to the BlueROV2 either through the BlueOS software, or by creating the docker image on the onboard computer and running the docker container directly.

\n

It is recommended to add the extension through BlueOS as it is both easier and the intended way for this extension to be added. The two different approaches are covered in the following subsections.

\n

BlueOS

\n

Installation

\n

The extension can be added through BlueOS' extensions menu.

\n

Navigate to Extensions > Extensions Manager.

\n

\"blueos_menu\"

\n

Locate Nortek Nucleus under the tab \"STORE\" and open it.

\n

\"nortek_nucleus_store\"

\n

When the Nortek Nucleus extension is opened the user will be presented with this README, as well as information about the extensions creator, a link to this github repository, the settings in the docker image of the extension and the option of installing the extension.

\n

To install the extension, select the newest available version in the drop down menu (the newest version should be the default) and push install. BlueOS will the pull the nucleus extension docker image and install it in its extensions.

\n

\"nortek_nucleus_install\"

\n

Usage

\n

After the installation has been completed. The extension can be located in Extensions > Extensions Manager, under the tab \"INSTALLED\".

\n

\"nortek_nucleus_installed\"

\n

Here the user have the option to edit sittings, uninstall, disable and restart the extension. It is also possible to view the output logs from the docker container that runs the extension which can serve as a good debugging tool.

\n

The extension itself can be opened in the menu by navigating to Extensions > Nucleus: Position hold.

\n

\"blueos_menu_nucleus\"

\n

Opening this will present the user with the GUI for the Nucleus extension which is covered in Using the extension

\n

Docker

\n

To set this extension up manually, ssh into the Raspberry Pi on the BlueROV2 (or access via red-pill in BlueOS terminal).

\n

N.B. The docker image available on dockerhub is set to use port 80 for its user interface which allows BlueOS to handle which port this user interface should be available at. For the manual approach it is therefore necessary to build the docker image with a different port if you wish to have access to the user interface.

\n

N.B. In the current version of the extension it is necessary to have access to the GUI as it is required for establishing the connection to the Nucleus.

\n

On the onboard computer, clone this repo in your preferred path with the following command:

\n

git clone git@github.com:nortekgroup/nucleus_driver.git

\n

Navigate to the blueos_extension folder (the folder containing the Dockerfile) and build the docker image with the following command:

\n

docker build . -t nucleus_driver

\n

The GUI of the extension is by default on port 5000.

\n

If another port is preferred for the GUI the image can be build with the preferred port as an argument with the following command

\n

docker build . -t nucleus_driver --build-arg PORT=5000

\n

with the value following \"PORT=\" being your preferred port.

\n

The docker container can be executed with the following command

\n

docker run --net=host --add-host=host.docker.internal:host-gateway -v /root/.config/blueos:/root/.config --name=nucleus_driver --restart=unless-stopped nucleus_driver

\n

--net=host allows the container to share the network of the ROV which is necessary for it to communicate with the ROV and make the GUI available

\n

-v /root/.config/blueos:/root/.config maps the volume \"/root/.config/blueos\" from the Raspberry Pi into \"/root/.config\" in the container. This allows the container the store configuration data in-between runs.

\n

--name=Nucleus-Driver is the preferred name of the container.

\n

--restart=unless-stopped allows the extension to automatically start when the ROV is powered up

\n

With the docker container running, the GUI can be accessed in a browser by navigating to blueos.local:<port> (or 192.168.2.2:<port>), where <port> is the specified port from the image creation. See Using the extension to learn about how to use the GUI.

\n

Using the extension

\n

N.B. In order for the extension to work it is necessary to change certain controller parameters. Refer to \"Controller parameters\" section for more info

\n

N.B. In order for the \"position hold\" algorithm to perform well it might be necessary to change the ROV's PID parameters. Refer to \"PID parameters\" section for more info

\n

With the extension added, its user interface (GUI) can be found by navigating to Extensions -> Nucleus: Position hold in the BlueOS menu.

\n

In the case of a manual installation through docker, the GUI can be found y navigating to blueos.local:<port> where <port> is he port specified when the docker image was created.

\n

The GUI presents the user with a home page and two pages for parametrization. These pages can be navigated in-between using the navigation banner at the top of the GUI

\n

Home

\n

The home screen presents the user with a status field which displays the results of various checks performed during the startup of the ROV. It is necessary for all of these checks to pass in order for extension to work. Some easy troubleshooting is presented in the home screen in case any of these checks were to fail

\n

The Nucleus hostname field is used to set the IP address used to connect to the Nucleus device. This IP address should be the same as the static IP configured on the Nucleus device.

\n

It is also a field which allows the user to decide whether the driver is enabled. The driver must be enabled for it to feed velocity data to the ROV. If it is not enabled the driver is still running and extracting data from the Nucleus, but the velocity is not sent to the ROV.

\n

The packet counter field displays how many velocity data packets has been handled by the extension. Sent packages refers to packages that has been sent to the ROV, Failed packets refers to packets that for some reason failed to be sent, and Skipped packets are packets that were in good condition and ready to be sent, but weren't due to the driver not being enabled.

\n

PID parameters

\n

N.B. Adjusting any of these parameters WILL change the behavior of the ROV

\n

N.B. Neither the extension nor the ROV will remember the original values of these parameters in case they are changed. It is therefore the users responsibility to remember the original values in case they wish to revert back to the original parameterization.

\n

The PID parameters page gives the user opportunity to modify selected PID parameters in the controller. Good parameterization is necessary for a good performance of the ROV. The correct parameters varies from vehicle to vehicle as the physical attributes of the ROV has an impact on its behavior. However, recommended parameters for a standard BlueROV2 with only the Nucleus being the third party installation is presented on this page.

\n

Controller parameters

\n

N.B. Adjusting any of these parameters may change the behavior of the ROV

\n

N.B. Neither the extension nor the ROV will remember the original values of these parameters in case they are changed. It is therefore the users responsibility to remember the original values in case they wish to revert back to the original parameterization.

\n

In order for the controller to accept and utilize the velocity packets sent from the Nucleus, certain parameters has to be changed. The parameters and their required values are presented on this page.

\n

After these parameters has been changed it is necessary to power cycle the vehicle for these parameters to take effect

", - "support": "https://support.nortekgroup.com/", + "readme": "
\n
\n
\n


\n

\n
\n
\n
\n


\n

An intuitive and customizable cross-platform ground control station for remote vehicles of all types. Click here for a demo!

\n

\"Test,\n\"Downloads\"

\n

\"Latest\n\"Date\"

\n

\"Docker\"\n\"Pulls\"\n\"Size\"

\n

Standard Usage

\n

See our documentation \ud83d\udcd6

\n

Development

\n

Installing Cockpit

\n

Cockpit is typically installed as an Electron application or BlueOS Extension, but for development purposes it is valuable to run it locally.

\n

To start, clone the repository and its submodules. The submodules are required components for Cockpit to be able to run:

\n

git clone --recurse-submodules git@github.com:bluerobotics/cockpit.git

\n

Next, install bun. Following their documented instructions is strongly recommended - we have received reports that installing bun from alternatives like Snap did not work properly.

\n

With bun installed, you can enter the repository folder and follow the steps below:

\n

bun install

\n

and then run the server locally with:

\n

bun run dev --host

\n

Then you should see a prompt with the local IP and port that can be accessed through a browser, such as localhost:5173.

\n

Installing backend providers

\n

Cockpit is currently a frontend-only application. That means it relies on data offered by other backend solutions, which are not built-in.

\n

If you have a BlueOS instance running, there's no need to install any backend, as BlueOS already provides everything.

\n

If that's not your case and you want to install the necessary backends, follow the instructions below:

\n
    \n
  1. Install a MAVLink router. We recommend mavp2p or MAVLink Router.
  2. \n
  3. Run the MAVLink router, connecting it to your vehicle or SITL instance.
  4. \n
  5. Install mavlink2rest.
  6. \n
  7. Run mavlink2rest, pointing it to the endpoint provided by the MAVLink router. Remember to serve the API over the 6040 port by running it with --server 0.0.0.0:6040.
  8. \n
  9. [Optional] If you want to work with video streaming, install Mavlink Camera Manager.
  10. \n
\n

Connecting to your vehicle

\n

Follow the instructions provided here to connect Cockpit to your vehicle.

\n

If you're running a BlueOS instance, just put the IP address of it in \"Global vehicle address\" and click the \"apply\" button.

\n

If you're serving mavlink2rest in the same machine as Cockpit, activate the checkmark for \"Mavlink2Rest connection\" and use ws://127.0.0.1:6040/v1/ws/mavlink there (if you're running a mavlink2rest version before 0.11.15, omit the /v1 in the URL).

\n

If you're serving mavlink-camera-manager in the same machine as Cockpit, activate the checkmark for \"WebRTC connection\" and use ws://127.0.0.1:6020 there.

\n

Simulating a vehicle

\n

Cockpit provides a simulation environments in a docker compose file. There is an environment provided for ArduSub, ArduCopter, ArduRover and ArduPlane. The compose file uses docker compose profiles to allow you to choose which vehicle you want to simulate. The available profiles are ardusub, arducopter, ardurover and arduplane. You can run a simulation environment by running the following command:

\n

docker-compose -f sim.yml --profile ardusub up

\n

Assuming you have run the bun run dev --host command, you can access the simulation environment by opening the browser and accessing localhost:5173.

", + "support": "https://discuss.bluerobotics.com/c/bluerobotics-software", "requirements": null, "company": { "about": "", - "name": "Nortek", - "email": "" + "name": "Blue Robotics", + "email": "support@bluerobotics.com" }, "permissions": { "ExposedPorts": { - "80/tcp": {} + "8000/tcp": {} }, "HostConfig": { - "Binds": [ - "/root/.config:/root/.config" - ], - "ExtraHosts": [ - "host.docker.internal:host-gateway" - ], "PortBindings": { - "80/tcp": [ + "8000/tcp": [ { "HostPort": "" } @@ -8880,52 +9428,61 @@ } } }, - "1.0.0": { - "identifier": "36b22160-b9ae-5dd7-813c-af6e0654135a", + "v1.0.1": { + "identifier": "92b97ef2-dfc0-5899-b3c0-633e7e8e75b8", "type": "other", - "website": "https://github.com/nortekgroup/nucleus_driver/tree/main/blueos_extension", + "website": null, "images": [ { - "expanded_size": 67134035, + "expanded_size": 17453323, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:27ce7b6d54144a21ffc977980db8cab5449ea187d7a547730435ff33e81410ee" + "digest": "sha256:e97b0f36256879af42d722eb247a15b13c1fc09bdc9f842e2863b083d97e6746" } ], "authors": [ { - "name": "Martin Bergene Johansen", - "email": "martin.johansen@nortekgroup.com" + "name": "Rafael Araujo Lehmkuhl", + "email": "rafael@bluerobotics.com" + }, + { + "name": "Patrick Jos\u00e9 Pereira", + "email": "patrick@bluerobotics.com" + }, + { + "name": "Arturo Manzoli", + "email": "arturo@bluerobotics.com" } ], - "filter_tags": [], + "filter_tags": [ + "vehicle-control", + "control-station", + "ground-station", + "navigation", + "joystick", + "mission-planning" + ], "extra_links": {}, - "tag": "1.0.0", + "tag": "v1.0.1", "docs": null, - "readme": "

BlueOS extension

\n

This is a Nucleus extension for the BlueOS software running on BlueROV2.

\n

It works by wrapping the Nucleus Driver in a docker image, with a script that feeds velocity data from the Nucleus device into the ArduSub control system through mavlink commands.

\n

This allows the user to utilize the \"position hold\" functionality in the ROV

\n

Nortek Nucleus integration

\n

To mount the Nucleus unto the BlueROV2 and connect it to its network, refer Nortek's Nucleus integration guide.

\n

setup

\n

BlueOS

\n

BlueOS needs to be of version 1.1.0-beta18 or newer in order to support the adding of third party extensions.

\n

ArduSub

\n

ArduSub needs to be of version 4.1.0 or newer for it to support the VISUAL_POSITION_DELTA packets used to send velocity data to the ROV.

\n

Nucleus

\n

This extension assumes that the Nucleus is connected to the network of the ROV through an ethernet connection. It is therefore necessary to set a static IP in the Nucleus.

\n

The network prefix of the BlueROV2 is 192.168.2.0, with a netmask of 255.255.255.0. The Nucleus' static IP must therefore be set to a fitting value, i.e. 192.168.2.201.

\n

In the GUI that comes with the extension the user must specify this IP address to establish a connection with the Nucleus device. The user is therefore not limited to using this IP address, but is at the same time responsible of selecting an IP address that is not already in use on the network.

\n

Adding extension to BlueROV2

\n

The extension can be added to the BlueROV2 either through the BlueOS software, or by creating the docker image on the onboard computer and running the docker container directly.

\n

It is recommended to add the extension through BlueOS as it is both easier and the intended way for this extension to be added. The two different approaches are covered in the following subsections.

\n

BlueOS

\n

Installation

\n

The extension can be added through BlueOS' extensions menu.

\n

Navigate to Extensions > Extensions Manager.

\n

\"blueos_menu\"

\n

Locate Nortek Nucleus under the tab \"STORE\" and open it.

\n

\"nortek_nucleus_store\"

\n

When the Nortek Nucleus extension is opened the user will be presented with this README, as well as information about the extensions creator, a link to this github repository, the settings in the docker image of the extension and the option of installing the extension.

\n

To install the extension, select the newest available version in the drop down menu (the newest version should be the default) and push install. BlueOS will the pull the nucleus extension docker image and install it in its extensions.

\n

\"nortek_nucleus_install\"

\n

Usage

\n

After the installation has been completed. The extension can be located in Extensions > Extensions Manager, under the tab \"INSTALLED\".

\n

\"nortek_nucleus_installed\"

\n

Here the user have the option to edit sittings, uninstall, disable and restart the extension. It is also possible to view the output logs from the docker container that runs the extension which can serve as a good debugging tool.

\n

The extension itself can be opened in the menu by navigating to Extensions > Nucleus: Position hold.

\n

\"blueos_menu_nucleus\"

\n

Opening this will present the user with the GUI for the Nucleus extension which is covered in Using the extension

\n

Docker

\n

To set this extension up manually, ssh into the Raspberry Pi on the BlueROV2 (or access via red-pill in BlueOS terminal).

\n

N.B. The docker image available on dockerhub is set to use port 80 for its user interface which allows BlueOS to handle which port this user interface should be available at. For the manual approach it is therefore necessary to build the docker image with a different port if you wish to have access to the user interface.

\n

N.B. In the current version of the extension it is necessary to have access to the GUI as it is required for establishing the connection to the Nucleus.

\n

On the onboard computer, clone this repo in your preferred path with the following command:

\n

git clone git@github.com:nortekgroup/nucleus_driver.git

\n

Navigate to the blueos_extension folder (the folder containing the Dockerfile) and build the docker image with the following command:

\n

docker build . -t nucleus_driver

\n

The GUI of the extension is by default on port 5000.

\n

If another port is preferred for the GUI the image can be build with the preferred port as an argument with the following command

\n

docker build . -t nucleus_driver --build-arg PORT=5000

\n

with the value following \"PORT=\" being your preferred port.

\n

The docker container can be executed with the following command

\n

docker run --net=host --add-host=host.docker.internal:host-gateway -v /root/.config/blueos:/root/.config --name=nucleus_driver --restart=unless-stopped nucleus_driver

\n

--net=host allows the container to share the network of the ROV which is necessary for it to communicate with the ROV and make the GUI available

\n

-v /root/.config/blueos:/root/.config maps the volume \"/root/.config/blueos\" from the Raspberry Pi into \"/root/.config\" in the container. This allows the container the store configuration data in-between runs.

\n

--name=Nucleus-Driver is the preferred name of the container.

\n

--restart=unless-stopped allows the extension to automatically start when the ROV is powered up

\n

With the docker container running, the GUI can be accessed in a browser by navigating to blueos.local:<port> (or 192.168.2.2:<port>), where <port> is the specified port from the image creation. See Using the extension to learn about how to use the GUI.

\n

Using the extension

\n

N.B. In order for the extension to work it is necessary to change certain controller parameters. Refer to \"Controller parameters\" section for more info

\n

N.B. In order for the \"position hold\" algorithm to perform well it might be necessary to change the ROV's PID parameters. Refer to \"PID parameters\" section for more info

\n

With the extension added, its user interface (GUI) can be found by navigating to Extensions -> Nucleus: Position hold in the BlueOS menu.

\n

In the case of a manual installation through docker, the GUI can be found y navigating to blueos.local:<port> where <port> is he port specified when the docker image was created.

\n

The GUI presents the user with a home page and two pages for parametrization. These pages can be navigated in-between using the navigation banner at the top of the GUI

\n

Home

\n

The home screen presents the user with a status field which displays the results of various checks performed during the startup of the ROV. It is necessary for all of these checks to pass in order for extension to work. Some easy troubleshooting is presented in the home screen in case any of these checks were to fail

\n

The Nucleus hostname field is used to set the IP address used to connect to the Nucleus device. This IP address should be the same as the static IP configured on the Nucleus device.

\n

It is also a field which allows the user to decide whether the driver is enabled. The driver must be enabled for it to feed velocity data to the ROV. If it is not enabled the driver is still running and extracting data from the Nucleus, but the velocity is not sent to the ROV.

\n

The packet counter field displays how many velocity data packets has been handled by the extension. Sent packages refers to packages that has been sent to the ROV, Failed packets refers to packets that for some reason failed to be sent, and Skipped packets are packets that were in good condition and ready to be sent, but weren't due to the driver not being enabled.

\n

PID parameters

\n

N.B. Adjusting any of these parameters WILL change the behavior of the ROV

\n

N.B. Neither the extension nor the ROV will remember the original values of these parameters in case they are changed. It is therefore the users responsibility to remember the original values in case they wish to revert back to the original parameterization.

\n

The PID parameters page gives the user opportunity to modify selected PID parameters in the controller. Good parameterization is necessary for a good performance of the ROV. The correct parameters varies from vehicle to vehicle as the physical attributes of the ROV has an impact on its behavior. However, recommended parameters for a standard BlueROV2 with only the Nucleus being the third party installation is presented on this page.

\n

Controller parameters

\n

N.B. Adjusting any of these parameters may change the behavior of the ROV

\n

N.B. Neither the extension nor the ROV will remember the original values of these parameters in case they are changed. It is therefore the users responsibility to remember the original values in case they wish to revert back to the original parameterization.

\n

In order for the controller to accept and utilize the velocity packets sent from the Nucleus, certain parameters has to be changed. The parameters and their required values are presented on this page.

\n

After these parameters has been changed it is necessary to power cycle the vehicle for these parameters to take effect

", - "support": "https://support.nortekgroup.com/", + "readme": "
\n
\n
\n


\n

\n
\n
\n
\n


\n

An intuitive and customizable cross-platform ground control station for remote vehicles of all types. Click here for a demo!

\n

\"Test,\n\"Downloads\"

\n

\"Latest\n\"Date\"

\n

\"Docker\"\n\"Pulls\"\n\"Size\"

\n

Standard Usage

\n

See our documentation \ud83d\udcd6

\n

Development

\n

Installing Cockpit

\n

Cockpit is typically installed as an Electron application or BlueOS Extension, but for development purposes it is valuable to run it locally.

\n

To start, clone the repository and its submodules. The submodules are required components for Cockpit to be able to run:

\n

git clone --recurse-submodules git@github.com:bluerobotics/cockpit.git

\n

Next, install bun. Following their documented instructions is strongly recommended - we have received reports that installing bun from alternatives like Snap did not work properly.

\n

With bun installed, you can enter the repository folder and follow the steps below:

\n

bun install

\n

and then run the server locally with:

\n

bun run dev --host

\n

Then you should see a prompt with the local IP and port that can be accessed through a browser, such as localhost:5173.

\n

Installing backend providers

\n

Cockpit is currently a frontend-only application. That means it relies on data offered by other backend solutions, which are not built-in.

\n

If you have a BlueOS instance running, there's no need to install any backend, as BlueOS already provides everything.

\n

If that's not your case and you want to install the necessary backends, follow the instructions below:

\n
    \n
  1. Install a MAVLink router. We recommend mavp2p or MAVLink Router.
  2. \n
  3. Run the MAVLink router, connecting it to your vehicle or SITL instance.
  4. \n
  5. Install mavlink2rest.
  6. \n
  7. Run mavlink2rest, pointing it to the endpoint provided by the MAVLink router. Remember to serve the API over the 6040 port by running it with --server 0.0.0.0:6040.
  8. \n
  9. [Optional] If you want to work with video streaming, install Mavlink Camera Manager.
  10. \n
\n

Connecting to your vehicle

\n

Follow the instructions provided here to connect Cockpit to your vehicle.

\n

If you're running a BlueOS instance, just put the IP address of it in \"Global vehicle address\" and click the \"apply\" button.

\n

If you're serving mavlink2rest in the same machine as Cockpit, activate the checkmark for \"Mavlink2Rest connection\" and use ws://127.0.0.1:6040/v1/ws/mavlink there (if you're running a mavlink2rest version before 0.11.15, omit the /v1 in the URL).

\n

If you're serving mavlink-camera-manager in the same machine as Cockpit, activate the checkmark for \"WebRTC connection\" and use ws://127.0.0.1:6020 there.

\n

Simulating a vehicle

\n

Cockpit provides a simulation environments in a docker compose file. There is an environment provided for ArduSub, ArduCopter, ArduRover and ArduPlane. The compose file uses docker compose profiles to allow you to choose which vehicle you want to simulate. The available profiles are ardusub, arducopter, ardurover and arduplane. You can run a simulation environment by running the following command:

\n

docker-compose -f sim.yml --profile ardusub up

\n

Assuming you have run the bun run dev --host command, you can access the simulation environment by opening the browser and accessing localhost:5173.

", + "support": "https://discuss.bluerobotics.com/c/bluerobotics-software", "requirements": null, "company": { "about": "", - "name": "Nortek", - "email": "" + "name": "Blue Robotics", + "email": "support@bluerobotics.com" }, "permissions": { "ExposedPorts": { - "80/tcp": {} + "8000/tcp": {} }, "HostConfig": { - "Binds": [ - "/root/.config:/root/.config" - ], - "ExtraHosts": [ - "host.docker.internal:host-gateway" - ], "PortBindings": { - "80/tcp": [ + "8000/tcp": [ { "HostPort": "" } @@ -8934,52 +9491,61 @@ } } }, - "0.0.8": { - "identifier": "c6069a89-a287-5ab5-a68e-4a8b83d48d04", + "v1.0.0": { + "identifier": "a790f37b-ad09-5aa7-b852-9afc5d60b466", "type": "other", - "website": "https://github.com/nortekgroup/nucleus_driver/tree/main/blueos_extension", + "website": null, "images": [ { - "expanded_size": 67134028, + "expanded_size": 17420845, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:f435a931ca002a48fac05f49210a5fde5f4149230f0cc28eaa6620d07c783d02" + "digest": "sha256:619e8d6540b4f5f64c68b1b9f120a3b79db4f40d3c1b6436e24f5dd8ff864e60" } ], "authors": [ { - "name": "Martin Bergene Johansen", - "email": "martin.johansen@nortekgroup.com" + "name": "Rafael Araujo Lehmkuhl", + "email": "rafael@bluerobotics.com" + }, + { + "name": "Patrick Jos\u00e9 Pereira", + "email": "patrick@bluerobotics.com" + }, + { + "name": "Arturo Manzoli", + "email": "arturo@bluerobotics.com" } ], - "filter_tags": [], + "filter_tags": [ + "vehicle-control", + "control-station", + "ground-station", + "navigation", + "joystick", + "mission-planning" + ], "extra_links": {}, - "tag": "0.0.8", + "tag": "v1.0.0", "docs": null, - "readme": "

BlueOS extension

\n

This is a Nucleus extension for the BlueOS software running on BlueROV2.

\n

It works by wrapping the Nucleus Driver in a docker image, with a script that feeds velocity data from the Nucleus device into the ArduSub control system through mavlink commands.

\n

This allows the user to utilize the \"position hold\" functionality in the ROV

\n

Nortek Nucleus integration

\n

To mount the Nucleus unto the BlueROV2 and connect it to its network, refer Nortek's Nucleus integration guide.

\n

setup

\n

BlueOS

\n

BlueOS needs to be of version 1.1.0-beta18 or newer in order to support the adding of third party extensions.

\n

ArduSub

\n

ArduSub needs to be of version 4.1.0 or newer for it to support the VISUAL_POSITION_DELTA packets used to send velocity data to the ROV.

\n

Nucleus

\n

This extension assumes that the Nucleus is connected to the network of the ROV through an ethernet connection. It is therefore necessary to set a static IP in the Nucleus.

\n

The network prefix of the BlueROV2 is 192.168.2.0, with a netmask of 255.255.255.0. The Nucleus' static IP must therefore be set to a fitting value, i.e. 192.168.2.201.

\n

In the GUI that comes with the extension the user must specify this IP address to establish a connection with the Nucleus device. The user is therefore not limited to using this IP address, but is at the same time responsible of selecting an IP address that is not already in use on the network.

\n

Adding extension to BlueROV2

\n

The extension can be added to the BlueROV2 either through the BlueOS software, or by creating the docker image on the onboard computer and running the docker container directly.

\n

It is recommended to add the extension through BlueOS as it is both easier and the intended way for this extension to be added. The two different approaches are covered in the following subsections.

\n

BlueOS

\n

Installation

\n

The extension can be added through BlueOS' extensions menu.

\n

Navigate to Extensions > Extensions Manager.

\n

\"blueos_menu\"

\n

Locate Nortek Nucleus under the tab \"STORE\" and open it.

\n

\"nortek_nucleus_store\"

\n

When the Nortek Nucleus extension is opened the user will be presented with this README, as well as information about the extensions creator, a link to this github repository, the settings in the docker image of the extension and the option of installing the extension.

\n

To install the extension, select the newest available version in the drop down menu (the newest version should be the default) and push install. BlueOS will the pull the nucleus extension docker image and install it in its extensions.

\n

\"nortek_nucleus_install\"

\n

Usage

\n

After the installation has been completed. The extension can be located in Extensions > Extensions Manager, under the tab \"INSTALLED\".

\n

\"nortek_nucleus_installed\"

\n

Here the user have the option to edit sittings, uninstall, disable and restart the extension. It is also possible to view the output logs from the docker container that runs the extension which can serve as a good debugging tool.

\n

The extension itself can be opened in the menu by navigating to Extensions > Nucleus: Position hold.

\n

\"blueos_menu_nucleus\"

\n

Opening this will present the user with the GUI for the Nucleus extension which is covered in Using the extension

\n

Docker

\n

To set this extension up manually, ssh into the Raspberry Pi on the BlueROV2 (or access via red-pill in BlueOS terminal).

\n

N.B. The docker image available on dockerhub is set to use port 80 for its user interface which allows BlueOS to handle which port this user interface should be available at. For the manual approach it is therefore necessary to build the docker image with a different port if you wish to have access to the user interface.

\n

N.B. In the current version of the extension it is necessary to have access to the GUI as it is required for establishing the connection to the Nucleus.

\n

On the onboard computer, clone this repo in your preferred path with the following command:

\n

git clone git@github.com:nortekgroup/nucleus_driver.git

\n

Navigate to the blueos_extension folder (the folder containing the Dockerfile) and build the docker image with the following command:

\n

docker build . -t nucleus_driver

\n

The GUI of the extension is by default on port 5000.

\n

If another port is preferred for the GUI the image can be build with the preferred port as an argument with the following command

\n

docker build . -t nucleus_driver --build-arg PORT=5000

\n

with the value following \"PORT=\" being your preferred port.

\n

The docker container can be executed with the following command

\n

docker run --net=host --add-host=host.docker.internal:host-gateway -v /root/.config/blueos:/root/.config --name=nucleus_driver --restart=unless-stopped nucleus_driver

\n

--net=host allows the container to share the network of the ROV which is necessary for it to communicate with the ROV and make the GUI available

\n

-v /root/.config/blueos:/root/.config maps the volume \"/root/.config/blueos\" from the Raspberry Pi into \"/root/.config\" in the container. This allows the container the store configuration data in-between runs.

\n

--name=Nucleus-Driver is the preferred name of the container.

\n

--restart=unless-stopped allows the extension to automatically start when the ROV is powered up

\n

With the docker container running, the GUI can be accessed in a browser by navigating to blueos.local:<port> (or 192.168.2.2:<port>), where <port> is the specified port from the image creation. See Using the extension to learn about how to use the GUI.

\n

Using the extension

\n

N.B. In order for the extension to work it is necessary to change certain controller parameters. Refer to \"Controller parameters\" section for more info

\n

N.B. In order for the \"position hold\" algorithm to perform well it might be necessary to change the ROV's PID parameters. Refer to \"PID parameters\" section for more info

\n

With the extension added, its user interface (GUI) can be found by navigating to Extensions -> Nucleus: Position hold in the BlueOS menu.

\n

In the case of a manual installation through docker, the GUI can be found y navigating to blueos.local:<port> where <port> is he port specified when the docker image was created.

\n

The GUI presents the user with a home page and two pages for parametrization. These pages can be navigated in-between using the navigation banner at the top of the GUI

\n

Home

\n

The home screen presents the user with a status field which displays the results of various checks performed during the startup of the ROV. It is necessary for all of these checks to pass in order for extension to work. Some easy troubleshooting is presented in the home screen in case any of these checks were to fail

\n

The Nucleus hostname field is used to set the IP address used to connect to the Nucleus device. This IP address should be the same as the static IP configured on the Nucleus device.

\n

It is also a field which allows the user to decide whether the driver is enabled. The driver must be enabled for it to feed velocity data to the ROV. If it is not enabled the driver is still running and extracting data from the Nucleus, but the velocity is not sent to the ROV.

\n

The packet counter field displays how many velocity data packets has been handled by the extension. Sent packages refers to packages that has been sent to the ROV, Failed packets refers to packets that for some reason failed to be sent, and Skipped packets are packets that were in good condition and ready to be sent, but weren't due to the driver not being enabled.

\n

PID parameters

\n

N.B. Adjusting any of these parameters WILL change the behavior of the ROV

\n

N.B. Neither the extension nor the ROV will remember the original values of these parameters in case they are changed. It is therefore the users responsibility to remember the original values in case they wish to revert back to the original parameterization.

\n

The PID parameters page gives the user opportunity to modify selected PID parameters in the controller. Good parameterization is necessary for a good performance of the ROV. The correct parameters varies from vehicle to vehicle as the physical attributes of the ROV has an impact on its behavior. However, recommended parameters for a standard BlueROV2 with only the Nucleus being the third party installation is presented on this page.

\n

Controller parameters

\n

N.B. Adjusting any of these parameters may change the behavior of the ROV

\n

N.B. Neither the extension nor the ROV will remember the original values of these parameters in case they are changed. It is therefore the users responsibility to remember the original values in case they wish to revert back to the original parameterization.

\n

In order for the controller to accept and utilize the velocity packets sent from the Nucleus, certain parameters has to be changed. The parameters and their required values are presented on this page.

\n

After these parameters has been changed it is necessary to power cycle the vehicle for these parameters to take effect

", - "support": "https://support.nortekgroup.com/", + "readme": "
\n
\n
\n


\n

\n
\n
\n
\n


\n

An intuitive and customizable cross-platform ground control station for remote vehicles of all types. Click here for a demo!

\n

\"Test,\n\"Downloads\"

\n

\"Latest\n\"Date\"

\n

\"Docker\"\n\"Pulls\"\n\"Size\"

\n

Standard Usage

\n

See our documentation \ud83d\udcd6

\n

Development

\n

Installing Cockpit

\n

Cockpit is typically installed as an Electron application or BlueOS Extension, but for development purposes it is valuable to run it locally.

\n

To start, clone the repository and its submodules. The submodules are required components for Cockpit to be able to run:

\n

git clone --recurse-submodules git@github.com:bluerobotics/cockpit.git

\n

Next, install bun. Following their documented instructions is strongly recommended - we have received reports that installing bun from alternatives like Snap did not work properly.

\n

With bun installed, you can enter the repository folder and follow the steps below:

\n

bun install

\n

and then run the server locally with:

\n

bun run dev --host

\n

Then you should see a prompt with the local IP and port that can be accessed through a browser, such as localhost:5173.

\n

Installing backend providers

\n

Cockpit is currently a frontend-only application. That means it relies on data offered by other backend solutions, which are not built-in.

\n

If you have a BlueOS instance running, there's no need to install any backend, as BlueOS already provides everything.

\n

If that's not your case and you want to install the necessary backends, follow the instructions below:

\n
    \n
  1. Install a MAVLink router. We recommend mavp2p or MAVLink Router.
  2. \n
  3. Run the MAVLink router, connecting it to your vehicle or SITL instance.
  4. \n
  5. Install mavlink2rest.
  6. \n
  7. Run mavlink2rest, pointing it to the endpoint provided by the MAVLink router. Remember to serve the API over the 6040 port by running it with --server 0.0.0.0:6040.
  8. \n
  9. [Optional] If you want to work with video streaming, install Mavlink Camera Manager.
  10. \n
\n

Connecting to your vehicle

\n

Follow the instructions provided here to connect Cockpit to your vehicle.

\n

If you're running a BlueOS instance, just put the IP address of it in \"Global vehicle address\" and click the \"apply\" button.

\n

If you're serving mavlink2rest in the same machine as Cockpit, activate the checkmark for \"Mavlink2Rest connection\" and use ws://127.0.0.1:6040/v1/ws/mavlink there (if you're running a mavlink2rest version before 0.11.15, omit the /v1 in the URL).

\n

If you're serving mavlink-camera-manager in the same machine as Cockpit, activate the checkmark for \"WebRTC connection\" and use ws://127.0.0.1:6020 there.

\n

Simulating a vehicle

\n

Cockpit provides a simulation environments in a docker compose file. There is an environment provided for ArduSub, ArduCopter, ArduRover and ArduPlane. The compose file uses docker compose profiles to allow you to choose which vehicle you want to simulate. The available profiles are ardusub, arducopter, ardurover and arduplane. You can run a simulation environment by running the following command:

\n

docker-compose -f sim.yml --profile ardusub up

\n

Assuming you have run the bun run dev --host command, you can access the simulation environment by opening the browser and accessing localhost:5173.

", + "support": "https://discuss.bluerobotics.com/c/bluerobotics-software", "requirements": null, "company": { "about": "", - "name": "Nortek", - "email": "" + "name": "Blue Robotics", + "email": "support@bluerobotics.com" }, "permissions": { "ExposedPorts": { - "80/tcp": {} + "8000/tcp": {} }, "HostConfig": { - "Binds": [ - "/root/.config:/root/.config" - ], - "ExtraHosts": [ - "host.docker.internal:host-gateway" - ], "PortBindings": { - "80/tcp": [ + "8000/tcp": [ { "HostPort": "" } @@ -8988,52 +9554,70 @@ } } }, - "0.0.7": { - "identifier": "a2f79df4-7b59-549a-8d5e-7bcf276d92f1", + "v1.0.0-beta.30": { + "identifier": "6d5cd7a9-a771-5aa0-83a6-27e65d1823dd", "type": "other", - "website": "https://github.com/nortekgroup/nucleus_driver/tree/main/blueos_extension", + "website": null, "images": [ { - "expanded_size": 67134007, + "expanded_size": 17420852, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:3c2863d40a1fb24a52bee3a121066c066ce4dea188bcf34f57d703604b4ef67d" + "digest": "sha256:ac23649c8d5b50320562b709af252530e63f8a57a6975592655e7ac85e602943" + }, + { + "expanded_size": 17635460, + "platform": { + "architecture": "arm64", + "variant": null, + "os": "linux" + }, + "digest": "sha256:07bd3bebfc90b28761442d04c114b8615a1c2231f186caf720f254a341039311" } ], "authors": [ { - "name": "Martin Bergene Johansen", - "email": "martin.johansen@nortekgroup.com" + "name": "Rafael Araujo Lehmkuhl", + "email": "rafael@bluerobotics.com" + }, + { + "name": "Patrick Jos\u00e9 Pereira", + "email": "patrick@bluerobotics.com" + }, + { + "name": "Arturo Manzoli", + "email": "arturo@bluerobotics.com" } ], - "filter_tags": [], + "filter_tags": [ + "vehicle-control", + "control-station", + "ground-station", + "navigation", + "joystick", + "mission-planning" + ], "extra_links": {}, - "tag": "0.0.7", + "tag": "v1.0.0-beta.30", "docs": null, - "readme": "

BlueOS extension

\n

This is a Nucleus extension for the BlueOS software running on BlueROV2.

\n

It works by wrapping the Nucleus Driver in a docker image, with a script that feeds velocity data from the Nucleus device into the ArduSub control system through mavlink commands.

\n

This allows the user to utilize the \"position hold\" functionality in the ROV

\n

Nortek Nucleus integration

\n

To mount the Nucleus unto the BlueROV2 and connect it to its network, refer Nortek's Nucleus integration guide.

\n

setup

\n

BlueOS

\n

BlueOS needs to be of version 1.1.0-beta18 or newer in order to support the adding of third party extensions.

\n

ArduSub

\n

ArduSub needs to be of version 4.1.0 or newer for it to support the VISUAL_POSITION_DELTA packets used to send velocity data to the ROV.

\n

Nucleus

\n

This extension assumes that the Nucleus is connected to the network of the ROV through an ethernet connection. It is therefore necessary to set a static IP in the Nucleus.

\n

The network prefix of the BlueROV2 is 192.168.2.0, with a netmask of 255.255.255.0. The Nucleus' static IP must therefore be set to a fitting value, i.e. 192.168.2.201.

\n

In the GUI that comes with the extension the user must specify this IP address to establish a connection with the Nucleus device. The user is therefore not limited to using this IP address, but is at the same time responsible of selecting an IP address that is not already in use on the network.

\n

Adding extension to BlueROV2

\n

The extension can be added to the BlueROV2 either through the BlueOS software, or by creating the docker image on the onboard computer and running the docker container directly.

\n

It is recommended to add the extension through BlueOS as it is both easier and the intended way for this extension to be added. The two different approaches are covered in the following subsections.

\n

BlueOS

\n

Installation

\n

The extension can be added through BlueOS' extensions menu.

\n

Navigate to Extensions > Extensions Manager.

\n

\"blueos_menu\"

\n

Locate Nortek Nucleus under the tab \"STORE\" and open it.

\n

\"nortek_nucleus_store\"

\n

When the Nortek Nucleus extension is opened the user will be presented with this README, as well as information about the extensions creator, a link to this github repository, the settings in the docker image of the extension and the option of installing the extension.

\n

To install the extension, select the newest available version in the drop down menu (the newest version should be the default) and push install. BlueOS will the pull the nucleus extension docker image and install it in its extensions.

\n

\"nortek_nucleus_install\"

\n

Usage

\n

After the installation has been completed. The extension can be located in Extensions > Extensions Manager, under the tab \"INSTALLED\".

\n

\"nortek_nucleus_installed\"

\n

Here the user have the option to edit sittings, uninstall, disable and restart the extension. It is also possible to view the output logs from the docker container that runs the extension which can serve as a good debugging tool.

\n

The extension itself can be opened in the menu by navigating to Extensions > Nucleus: Position hold.

\n

\"blueos_menu_nucleus\"

\n

Opening this will present the user with the GUI for the Nucleus extension which is covered in Using the extension

\n

Docker

\n

To set this extension up manually, ssh into the Raspberry Pi on the BlueROV2 (or access via red-pill in BlueOS terminal).

\n

N.B. The docker image available on dockerhub is set to use port 80 for its user interface which allows BlueOS to handle which port this user interface should be available at. For the manual approach it is therefore necessary to build the docker image with a different port if you wish to have access to the user interface.

\n

N.B. In the current version of the extension it is necessary to have access to the GUI as it is required for establishing the connection to the Nucleus.

\n

On the onboard computer, clone this repo in your preferred path with the following command:

\n

git clone git@github.com:nortekgroup/nucleus_driver.git

\n

Navigate to the blueos_extension folder (the folder containing the Dockerfile) and build the docker image with the following command:

\n

docker build . -t nucleus_driver

\n

The GUI of the extension is by default on port 5000.

\n

If another port is preferred for the GUI the image can be build with the preferred port as an argument with the following command

\n

docker build . -t nucleus_driver --build-arg PORT=5000

\n

with the value following \"PORT=\" being your preferred port.

\n

The docker container can be executed with the following command

\n

docker run --net=host --add-host=host.docker.internal:host-gateway -v /root/.config/blueos:/root/.config --name=nucleus_driver --restart=unless-stopped nucleus_driver

\n

--net=host allows the container to share the network of the ROV which is necessary for it to communicate with the ROV and make the GUI available

\n

-v /root/.config/blueos:/root/.config maps the volume \"/root/.config/blueos\" from the Raspberry Pi into \"/root/.config\" in the container. This allows the container the store configuration data in-between runs.

\n

--name=Nucleus-Driver is the preferred name of the container.

\n

--restart=unless-stopped allows the extension to automatically start when the ROV is powered up

\n

With the docker container running, the GUI can be accessed in a browser by navigating to blueos.local:<port> (or 192.168.2.2:<port>), where <port> is the specified port from the image creation. See Using the extension to learn about how to use the GUI.

\n

Using the extension

\n

N.B. In order for the extension to work it is necessary to change certain controller parameters. Refer to \"Controller parameters\" section for more info

\n

N.B. In order for the \"position hold\" algorithm to perform well it might be necessary to change the ROV's PID parameters. Refer to \"PID parameters\" section for more info

\n

With the extension added, its user interface (GUI) can be found by navigating to Extensions -> Nucleus: Position hold in the BlueOS menu.

\n

In the case of a manual installation through docker, the GUI can be found y navigating to blueos.local:<port> where <port> is he port specified when the docker image was created.

\n

The GUI presents the user with a home page and two pages for parametrization. These pages can be navigated in-between using the navigation banner at the top of the GUI

\n

Home

\n

The home screen presents the user with a status field which displays the results of various checks performed during the startup of the ROV. It is necessary for all of these checks to pass in order for extension to work. Some easy troubleshooting is presented in the home screen in case any of these checks were to fail

\n

The Nucleus hostname field is used to set the IP address used to connect to the Nucleus device. This IP address should be the same as the static IP configured on the Nucleus device.

\n

It is also a field which allows the user to decide whether the driver is enabled. The driver must be enabled for it to feed velocity data to the ROV. If it is not enabled the driver is still running and extracting data from the Nucleus, but the velocity is not sent to the ROV.

\n

The packet counter field displays how many velocity data packets has been handled by the extension. Sent packages refers to packages that has been sent to the ROV, Failed packets refers to packets that for some reason failed to be sent, and Skipped packets are packets that were in good condition and ready to be sent, but weren't due to the driver not being enabled.

\n

PID parameters

\n

N.B. Adjusting any of these parameters WILL change the behavior of the ROV

\n

N.B. Neither the extension nor the ROV will remember the original values of these parameters in case they are changed. It is therefore the users responsibility to remember the original values in case they wish to revert back to the original parameterization.

\n

The PID parameters page gives the user opportunity to modify selected PID parameters in the controller. Good parameterization is necessary for a good performance of the ROV. The correct parameters varies from vehicle to vehicle as the physical attributes of the ROV has an impact on its behavior. However, recommended parameters for a standard BlueROV2 with only the Nucleus being the third party installation is presented on this page.

\n

Controller parameters

\n

N.B. Adjusting any of these parameters may change the behavior of the ROV

\n

N.B. Neither the extension nor the ROV will remember the original values of these parameters in case they are changed. It is therefore the users responsibility to remember the original values in case they wish to revert back to the original parameterization.

\n

In order for the controller to accept and utilize the velocity packets sent from the Nucleus, certain parameters has to be changed. The parameters and their required values are presented on this page.

\n

After these parameters has been changed it is necessary to power cycle the vehicle for these parameters to take effect

", - "support": "https://support.nortekgroup.com/", + "readme": "
\n
\n
\n


\n

\n
\n
\n
\n


\n

An intuitive and customizable cross-platform ground control station for remote vehicles of all types. Click here for a demo!

\n

\"Test,\n\"Downloads\"

\n

\"Latest\n\"Date\"

\n

\"Docker\"\n\"Pulls\"\n\"Size\"

\n

Standard Usage

\n

See our documentation \ud83d\udcd6

\n

Development

\n

Installing Cockpit

\n

Cockpit is typically installed as an Electron application or BlueOS Extension, but for development purposes it is valuable to run it locally.

\n

To start, clone the repository and its submodules. The submodules are required components for Cockpit to be able to run:

\n

git clone --recurse-submodules git@github.com:bluerobotics/cockpit.git

\n

Next, install bun. Following their documented instructions is strongly recommended - we have received reports that installing bun from alternatives like Snap did not work properly.

\n

With bun installed, you can enter the repository folder and follow the steps below:

\n

bun install

\n

and then run the server locally with:

\n

bun run dev --host

\n

Then you should see a prompt with the local IP and port that can be accessed through a browser, such as localhost:5173.

\n

Installing backend providers

\n

Cockpit is currently a frontend-only application. That means it relies on data offered by other backend solutions, which are not built-in.

\n

If you have a BlueOS instance running, there's no need to install any backend, as BlueOS already provides everything.

\n

If that's not your case and you want to install the necessary backends, follow the instructions below:

\n
    \n
  1. Install a MAVLink router. We recommend mavp2p or MAVLink Router.
  2. \n
  3. Run the MAVLink router, connecting it to your vehicle or SITL instance.
  4. \n
  5. Install mavlink2rest.
  6. \n
  7. Run mavlink2rest, pointing it to the endpoint provided by the MAVLink router. Remember to serve the API over the 6040 port by running it with --server 0.0.0.0:6040.
  8. \n
  9. [Optional] If you want to work with video streaming, install Mavlink Camera Manager.
  10. \n
\n

Connecting to your vehicle

\n

Follow the instructions provided here to connect Cockpit to your vehicle.

\n

If you're running a BlueOS instance, just put the IP address of it in \"Global vehicle address\" and click the \"apply\" button.

\n

If you're serving mavlink2rest in the same machine as Cockpit, activate the checkmark for \"Mavlink2Rest connection\" and use ws://127.0.0.1:6040/v1/ws/mavlink there (if you're running a mavlink2rest version before 0.11.15, omit the /v1 in the URL).

\n

If you're serving mavlink-camera-manager in the same machine as Cockpit, activate the checkmark for \"WebRTC connection\" and use ws://127.0.0.1:6020 there.

\n

Simulating a vehicle

\n

Cockpit provides a simulation environments in a docker compose file. There is an environment provided for ArduSub, ArduCopter, ArduRover and ArduPlane. The compose file uses docker compose profiles to allow you to choose which vehicle you want to simulate. The available profiles are ardusub, arducopter, ardurover and arduplane. You can run a simulation environment by running the following command:

\n

docker-compose -f sim.yml --profile ardusub up

\n

Assuming you have run the bun run dev --host command, you can access the simulation environment by opening the browser and accessing localhost:5173.

", + "support": "https://discuss.bluerobotics.com/c/bluerobotics-software", "requirements": null, "company": { "about": "", - "name": "Nortek", - "email": "" + "name": "Blue Robotics", + "email": "support@bluerobotics.com" }, "permissions": { "ExposedPorts": { - "80/tcp": {} + "8000/tcp": {} }, "HostConfig": { - "Binds": [ - "/root/.config:/root/.config" - ], - "ExtraHosts": [ - "host.docker.internal:host-gateway" - ], "PortBindings": { - "80/tcp": [ + "8000/tcp": [ { "HostPort": "" } @@ -9042,52 +9626,61 @@ } } }, - "0.0.6": { - "identifier": "27443a12-b946-5860-a163-1747f31fc434", + "v1.0.0-beta.29": { + "identifier": "83cbf324-bb81-5744-b7cd-462ae664004f", "type": "other", - "website": "https://github.com/nortekgroup/nucleus_driver/tree/main/blueos_extension", + "website": null, "images": [ { - "expanded_size": 66433573, + "expanded_size": 17411151, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:ea7125f465fbb327c4b7d20debe40491de00e448c9750b31497388bac2c776b4" + "digest": "sha256:d4b6c7c679381983d466a7a747b8dd62b54e70c58e57ef038ba22aad4253ecc2" } ], "authors": [ { - "name": "Martin Bergene Johansen", - "email": "martin.johansen@nortekgroup.com" + "name": "Rafael Araujo Lehmkuhl", + "email": "rafael@bluerobotics.com" + }, + { + "name": "Patrick Jos\u00e9 Pereira", + "email": "patrick@bluerobotics.com" + }, + { + "name": "Arturo Manzoli", + "email": "arturo@bluerobotics.com" } ], - "filter_tags": [], + "filter_tags": [ + "vehicle-control", + "control-station", + "ground-station", + "navigation", + "joystick", + "mission-planning" + ], "extra_links": {}, - "tag": "0.0.6", + "tag": "v1.0.0-beta.29", "docs": null, - "readme": "

BlueOS extension

\n

This is a Nucleus extension for the BlueOS software running on BlueROV2.

\n

It works by wrapping the Nucleus Driver in a docker image, with a script that feeds velocity data from the Nucleus device into the ArduSub control system through mavlink commands.

\n

This allows the user to utilize the \"position hold\" functionality in the ROV

\n

Nortek Nucleus integration

\n

To mount the Nucleus unto the BlueROV2 and connect it to its network, refer Nortek's Nucleus integration guide.

\n

setup

\n

BlueOS

\n

BlueOS needs to be of version 1.1.0-beta18 or newer in order to support the adding of third party extensions.

\n

ArduSub

\n

ArduSub needs to be of version 4.1.0 or newer for it to support the VISUAL_POSITION_DELTA packets used to send velocity data to the ROV.

\n

Nucleus

\n

This extension assumes that the Nucleus is connected to the network of the ROV through an ethernet connection. It is therefore necessary to set a static IP in the Nucleus.

\n

The network prefix of the BlueROV2 is 192.168.2.0, with a netmask of 255.255.255.0. The Nucleus' static IP must therefore be set to a fitting value, i.e. 192.168.2.201.

\n

In the GUI that comes with the extension the user must specify this IP address to establish a connection with the Nucleus device. The user is therefore not limited to using this IP address, but is at the same time responsible of selecting an IP address that is not already in use on the network.

\n

Adding extension to BlueROV2

\n

The extension can be added to the BlueROV2 either through the BlueOS software, or by creating the docker image on the onboard computer and running the docker container directly.

\n

It is recommended to add the extension through BlueOS as it is both easier and the intended way for this extension to be added. The two different approaches are covered in the following subsections.

\n

BlueOS

\n

Installation

\n

The extension can be added through BlueOS' extensions menu.

\n

Navigate to Extensions > Extensions Manager.

\n

\"blueos_menu\"

\n

Locate Nortek Nucleus under the tab \"STORE\" and open it.

\n

\"nortek_nucleus_store\"

\n

When the Nortek Nucleus extension is opened the user will be presented with this README, as well as information about the extensions creator, a link to this github repository, the settings in the docker image of the extension and the option of installing the extension.

\n

To install the extension, select the newest available version in the drop down menu (the newest version should be the default) and push install. BlueOS will the pull the nucleus extension docker image and install it in its extensions.

\n

\"nortek_nucleus_install\"

\n

Usage

\n

After the installation has been completed. The extension can be located in Extensions > Extensions Manager, under the tab \"INSTALLED\".

\n

\"nortek_nucleus_installed\"

\n

Here the user have the option to edit sittings, uninstall, disable and restart the extension. It is also possible to view the output logs from the docker container that runs the extension which can serve as a good debugging tool.

\n

The extension itself can be opened in the menu by navigating to Extensions > Nucleus: Position hold.

\n

\"blueos_menu_nucleus\"

\n

Opening this will present the user with the GUI for the Nucleus extension which is covered in Using the extension

\n

Docker

\n

To set this extension up manually, ssh into the Raspberry Pi on the BlueROV2 (or access via red-pill in BlueOS terminal).

\n

N.B. The docker image available on dockerhub is set to use port 80 for its user interface which allows BlueOS to handle which port this user interface should be available at. For the manual approach it is therefore necessary to build the docker image with a different port if you wish to have access to the user interface.

\n

N.B. In the current version of the extension it is necessary to have access to the GUI as it is required for establishing the connection to the Nucleus.

\n

On the onboard computer, clone this repo in your preferred path with the following command:

\n

git clone git@github.com:nortekgroup/nucleus_driver.git

\n

Navigate to the blueos_extension folder (the folder containing the Dockerfile) and build the docker image with the following command:

\n

docker build . -t nucleus_driver

\n

The GUI of the extension is by default on port 5000.

\n

If another port is preferred for the GUI the image can be build with the preferred port as an argument with the following command

\n

docker build . -t nucleus_driver --build-arg PORT=5000

\n

with the value following \"PORT=\" being your preferred port.

\n

The docker container can be executed with the following command

\n

docker run --net=host --add-host=host.docker.internal:host-gateway -v /root/.config/blueos:/root/.config --name=nucleus_driver --restart=unless-stopped nucleus_driver

\n

--net=host allows the container to share the network of the ROV which is necessary for it to communicate with the ROV and make the GUI available

\n

-v /root/.config/blueos:/root/.config maps the volume \"/root/.config/blueos\" from the Raspberry Pi into \"/root/.config\" in the container. This allows the container the store configuration data in-between runs.

\n

--name=Nucleus-Driver is the preferred name of the container.

\n

--restart=unless-stopped allows the extension to automatically start when the ROV is powered up

\n

With the docker container running, the GUI can be accessed in a browser by navigating to blueos.local:<port> (or 192.168.2.2:<port>), where <port> is the specified port from the image creation. See Using the extension to learn about how to use the GUI.

\n

Using the extension

\n

N.B. In order for the extension to work it is necessary to change certain controller parameters. Refer to \"Controller parameters\" section for more info

\n

N.B. In order for the \"position hold\" algorithm to perform well it might be necessary to change the ROV's PID parameters. Refer to \"PID parameters\" section for more info

\n

With the extension added, its user interface (GUI) can be found by navigating to Extensions -> Nucleus: Position hold in the BlueOS menu.

\n

In the case of a manual installation through docker, the GUI can be found y navigating to blueos.local:<port> where <port> is he port specified when the docker image was created.

\n

The GUI presents the user with a home page and two pages for parametrization. These pages can be navigated in-between using the navigation banner at the top of the GUI

\n

Home

\n

The home screen presents the user with a status field which displays the results of various checks performed during the startup of the ROV. It is necessary for all of these checks to pass in order for extension to work. Some easy troubleshooting is presented in the home screen in case any of these checks were to fail

\n

The Nucleus hostname field is used to set the IP address used to connect to the Nucleus device. This IP address should be the same as the static IP configured on the Nucleus device.

\n

It is also a field which allows the user to decide whether the driver is enabled. The driver must be enabled for it to feed velocity data to the ROV. If it is not enabled the driver is still running and extracting data from the Nucleus, but the velocity is not sent to the ROV.

\n

The packet counter field displays how many velocity data packets has been handled by the extension. Sent packages refers to packages that has been sent to the ROV, Failed packets refers to packets that for some reason failed to be sent, and Skipped packets are packets that were in good condition and ready to be sent, but weren't due to the driver not being enabled.

\n

PID parameters

\n

N.B. Adjusting any of these parameters WILL change the behavior of the ROV

\n

N.B. Neither the extension nor the ROV will remember the original values of these parameters in case they are changed. It is therefore the users responsibility to remember the original values in case they wish to revert back to the original parameterization.

\n

The PID parameters page gives the user opportunity to modify selected PID parameters in the controller. Good parameterization is necessary for a good performance of the ROV. The correct parameters varies from vehicle to vehicle as the physical attributes of the ROV has an impact on its behavior. However, recommended parameters for a standard BlueROV2 with only the Nucleus being the third party installation is presented on this page.

\n

Controller parameters

\n

N.B. Adjusting any of these parameters may change the behavior of the ROV

\n

N.B. Neither the extension nor the ROV will remember the original values of these parameters in case they are changed. It is therefore the users responsibility to remember the original values in case they wish to revert back to the original parameterization.

\n

In order for the controller to accept and utilize the velocity packets sent from the Nucleus, certain parameters has to be changed. The parameters and their required values are presented on this page.

\n

After these parameters has been changed it is necessary to power cycle the vehicle for these parameters to take effect

", - "support": "https://support.nortekgroup.com/", + "readme": "
\n
\n
\n


\n

\n
\n
\n
\n


\n

An intuitive and customizable cross-platform ground control station for remote vehicles of all types. Click here for a demo!

\n

\"Test,\n\"Downloads\"

\n

\"Latest\n\"Date\"

\n

\"Docker\"\n\"Pulls\"\n\"Size\"

\n

Standard Usage

\n

See our documentation \ud83d\udcd6

\n

Development

\n

Installing Cockpit

\n

Cockpit is typically installed as an Electron application or BlueOS Extension, but for development purposes it is valuable to run it locally.

\n

To start, clone the repository and its submodules. The submodules are required components for Cockpit to be able to run:

\n

git clone --recurse-submodules git@github.com:bluerobotics/cockpit.git

\n

Next, install bun. Following their documented instructions is strongly recommended - we have received reports that installing bun from alternatives like Snap did not work properly.

\n

With bun installed, you can enter the repository folder and follow the steps below:

\n

bun install

\n

and then run the server locally with:

\n

bun run dev --host

\n

Then you should see a prompt with the local IP and port that can be accessed through a browser, such as localhost:5173.

\n

Installing backend providers

\n

Cockpit is currently a frontend-only application. That means it relies on data offered by other backend solutions, which are not built-in.

\n

If you have a BlueOS instance running, there's no need to install any backend, as BlueOS already provides everything.

\n

If that's not your case and you want to install the necessary backends, follow the instructions below:

\n
    \n
  1. Install a MAVLink router. We recommend mavp2p or MAVLink Router.
  2. \n
  3. Run the MAVLink router, connecting it to your vehicle or SITL instance.
  4. \n
  5. Install mavlink2rest.
  6. \n
  7. Run mavlink2rest, pointing it to the endpoint provided by the MAVLink router. Remember to serve the API over the 6040 port by running it with --server 0.0.0.0:6040.
  8. \n
  9. [Optional] If you want to work with video streaming, install Mavlink Camera Manager.
  10. \n
\n

Connecting to your vehicle

\n

Follow the instructions provided here to connect Cockpit to your vehicle.

\n

If you're running a BlueOS instance, just put the IP address of it in \"Global vehicle address\" and click the \"apply\" button.

\n

If you're serving mavlink2rest in the same machine as Cockpit, activate the checkmark for \"Mavlink2Rest connection\" and use ws://127.0.0.1:6040/v1/ws/mavlink there (if you're running a mavlink2rest version before 0.11.15, omit the /v1 in the URL).

\n

If you're serving mavlink-camera-manager in the same machine as Cockpit, activate the checkmark for \"WebRTC connection\" and use ws://127.0.0.1:6020 there.

\n

Simulating a vehicle

\n

Cockpit provides a simulation environments in a docker compose file. There is an environment provided for ArduSub, ArduCopter, ArduRover and ArduPlane. The compose file uses docker compose profiles to allow you to choose which vehicle you want to simulate. The available profiles are ardusub, arducopter, ardurover and arduplane. You can run a simulation environment by running the following command:

\n

docker-compose -f sim.yml --profile ardusub up

\n

Assuming you have run the bun run dev --host command, you can access the simulation environment by opening the browser and accessing localhost:5173.

", + "support": "https://discuss.bluerobotics.com/c/bluerobotics-software", "requirements": null, "company": { "about": "", - "name": "Nortek", - "email": "" + "name": "Blue Robotics", + "email": "support@bluerobotics.com" }, "permissions": { "ExposedPorts": { - "80/tcp": {} + "8000/tcp": {} }, "HostConfig": { - "Binds": [ - "/root/.config:/root/.config" - ], - "ExtraHosts": [ - "host.docker.internal:host-gateway" - ], "PortBindings": { - "80/tcp": [ + "8000/tcp": [ { "HostPort": "" } @@ -9095,1454 +9688,1212 @@ } } } - } - }, - "repo_info": { - "downloads": 19928, - "last_updated": "2023-07-31T13:20:08.25399Z", - "date_registered": "2023-03-23T10:28:07.423732Z" - } - }, - { - "identifier": "jmrobotics.jm-connect", - "name": "JM Connect", - "website": "https://www.jmrobotics.no", - "docker": "maphstra/jm-connect-blueos", - "description": "JM Connect Extension for BlueOS", - "extension_logo": "https://raw.githubusercontent.com/bluerobotics/BlueOS-Extensions-Repository/master/repos/jmrobotics/jm-connect/extension_logo.png", - "company_logo": "https://raw.githubusercontent.com/bluerobotics/BlueOS-Extensions-Repository/master/repos/jmrobotics/company_logo.png", - "versions": { - "0.1.9": { - "identifier": "70f8b6be-ca32-5fa2-ae42-ca914a319ae4", + }, + "v1.0.0-beta.28": { + "identifier": "c8bc7d7b-4d50-5d8f-8d23-35c6f84de056", "type": "other", - "website": "https://www.jmrobotics.no", + "website": null, "images": [ { - "expanded_size": 139907509, + "expanded_size": 17408918, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:667290b9eac12e465c68d027cb368b690ebbba7687006c61661744c5d2174a3d" + "digest": "sha256:651514362785addcc9a7d7c93c38198dcfc6a77e6b8f3c5c27cdfe1cdb4b71b4" } ], "authors": [ { - "name": "Mads Peter Hammer Strand", - "email": "mads@jmrobotics.no" + "name": "Rafael Araujo Lehmkuhl", + "email": "rafael@bluerobotics.com" + }, + { + "name": "Patrick Jos\u00e9 Pereira", + "email": "patrick@bluerobotics.com" + }, + { + "name": "Arturo Manzoli", + "email": "arturo@bluerobotics.com" } ], - "filter_tags": [], + "filter_tags": [ + "vehicle-control", + "control-station", + "ground-station", + "navigation", + "joystick", + "mission-planning" + ], "extra_links": {}, - "tag": "0.1.9", + "tag": "v1.0.0-beta.28", "docs": null, - "readme": "No README available", - "support": "https://www.jmrobotics.no", - "requirements": "core >= 1", + "readme": "
\n
\n
\n


\n

\n
\n
\n
\n


\n

An intuitive and customizable cross-platform ground control station for remote vehicles of all types. Click here for a demo!

\n

\"Test,\n\"Downloads\"

\n

\"Latest\n\"Date\"

\n

\"Docker\"\n\"Pulls\"\n\"Size\"

\n

Standard Usage

\n

See our documentation \ud83d\udcd6

\n

Development

\n

Installing Cockpit

\n

Cockpit is typically installed as an Electron application or BlueOS Extension, but for development purposes it is valuable to run it locally.

\n

To start, clone the repository and its submodules. The submodules are required components for Cockpit to be able to run:

\n

git clone --recurse-submodules git@github.com:bluerobotics/cockpit.git

\n

Next, install bun. Following their documented instructions is strongly recommended - we have received reports that installing bun from alternatives like Snap did not work properly.

\n

With bun installed, you can enter the repository folder and follow the steps below:

\n

bun install

\n

and then run the server locally with:

\n

bun run dev --host

\n

Then you should see a prompt with the local IP and port that can be accessed through a browser, such as localhost:5173.

\n

Installing backend providers

\n

Cockpit is currently a frontend-only application. That means it relies on data offered by other backend solutions, which are not built-in.

\n

If you have a BlueOS instance running, there's no need to install any backend, as BlueOS already provides everything.

\n

If that's not your case and you want to install the necessary backends, follow the instructions below:

\n
    \n
  1. Install a MAVLink router. We recommend mavp2p or MAVLink Router.
  2. \n
  3. Run the MAVLink router, connecting it to your vehicle or SITL instance.
  4. \n
  5. Install mavlink2rest.
  6. \n
  7. Run mavlink2rest, pointing it to the endpoint provided by the MAVLink router. Remember to serve the API over the 6040 port by running it with --server 0.0.0.0:6040.
  8. \n
  9. [Optional] If you want to work with video streaming, install Mavlink Camera Manager.
  10. \n
\n

Connecting to your vehicle

\n

Follow the instructions provided here to connect Cockpit to your vehicle.

\n

If you're running a BlueOS instance, just put the IP address of it in \"Global vehicle address\" and click the \"apply\" button.

\n

If you're serving mavlink2rest in the same machine as Cockpit, activate the checkmark for \"Mavlink2Rest connection\" and use ws://127.0.0.1:6040/v1/ws/mavlink there (if you're running a mavlink2rest version before 0.11.15, omit the /v1 in the URL).

\n

If you're serving mavlink-camera-manager in the same machine as Cockpit, activate the checkmark for \"WebRTC connection\" and use ws://127.0.0.1:6020 there.

\n

Simulating a vehicle

\n

Cockpit provides a simulation environments in a docker compose file. There is an environment provided for ArduSub, ArduCopter, ArduRover and ArduPlane. The compose file uses docker compose profiles to allow you to choose which vehicle you want to simulate. The available profiles are ardusub, arducopter, ardurover and arduplane. You can run a simulation environment by running the following command:

\n

docker-compose -f sim.yml --profile ardusub up

\n

Assuming you have run the bun run dev --host command, you can access the simulation environment by opening the browser and accessing localhost:5173.

", + "support": "https://discuss.bluerobotics.com/c/bluerobotics-software", + "requirements": null, "company": { "about": "", - "name": "JM Robotics", - "email": "support@jmrobotics.no" + "name": "Blue Robotics", + "email": "support@bluerobotics.com" }, "permissions": { - "Env": [ - "SERVER_URL=https://software.jmrobotics.no/server/", - "I2CBUS=6", - "ROV_ID=" - ], "ExposedPorts": { - "1337/tcp": {}, - "8137/tcp": {}, - "1338/tcp": {} + "8000/tcp": {} }, - "NetworkMode": "host", "HostConfig": { - "Privileged": true, - "Binds": [ - "/root/.config/jm:/root/.config", - "/var/run/docker.sock:/var/run/docker.sock" - ], - "ExtraHosts": [ - "host.docker.internal:host-gateway" - ], "PortBindings": { - "1337/tcp": [ - { - "HostPort": "1337" - } - ], - "8137/tcp": [ - { - "HostPort": "8137" - } - ], - "1338/tcp": [ + "8000/tcp": [ { - "HostPort": "1338" + "HostPort": "" } ] } } } }, - "0.1.8": { - "identifier": "bacd090a-56a3-5ff5-80cc-9a1ecc66c2e6", + "v1.0.0-beta.27": { + "identifier": "96d0cd8a-734a-5041-9914-6e897be4123a", "type": "other", - "website": "https://www.jmrobotics.no", + "website": null, "images": [ { - "expanded_size": 139907444, + "expanded_size": 17343567, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:5fddf3cd759e6b3578ceb7b386da9ef2d760dcb3f8ea9d9877268b29fd96a51e" + "digest": "sha256:b572fc4dffa8757ce4f4c2d391c7ea2c944a4ac7e44ad4db074f48aa1249046d" } ], "authors": [ { - "name": "Mads Peter Hammer Strand", - "email": "mads@jmrobotics.no" + "name": "Rafael Araujo Lehmkuhl", + "email": "rafael@bluerobotics.com" + }, + { + "name": "Patrick Jos\u00e9 Pereira", + "email": "patrick@bluerobotics.com" + }, + { + "name": "Arturo Manzoli", + "email": "arturo@bluerobotics.com" } ], - "filter_tags": [], + "filter_tags": [ + "vehicle-control", + "control-station", + "ground-station", + "navigation", + "joystick", + "mission-planning" + ], "extra_links": {}, - "tag": "0.1.8", + "tag": "v1.0.0-beta.27", "docs": null, - "readme": "No README available", - "support": "https://www.jmrobotics.no", - "requirements": "core >= 1", + "readme": "
\n
\n
\n


\n

\n
\n
\n
\n


\n

An intuitive and customizable cross-platform ground control station for remote vehicles of all types. Click here for a demo!

\n

\"Test,\n\"Downloads\"

\n

\"Latest\n\"Date\"

\n

\"Docker\"\n\"Pulls\"\n\"Size\"

\n

Standard Usage

\n

See our documentation \ud83d\udcd6

\n

Development

\n

Installing Cockpit

\n

Cockpit is typically installed as an Electron application or BlueOS Extension, but for development purposes it is valuable to run it locally.

\n

To start, clone the repository and its submodules. The submodules are required components for Cockpit to be able to run:

\n

git clone --recurse-submodules git@github.com:bluerobotics/cockpit.git

\n

Next, install bun. Following their documented instructions is strongly recommended - we have received reports that installing bun from alternatives like Snap did not work properly.

\n

With bun installed, you can enter the repository folder and follow the steps below:

\n

bun install

\n

and then run the server locally with:

\n

bun run dev --host

\n

Then you should see a prompt with the local IP and port that can be accessed through a browser, such as localhost:5173.

\n

Installing backend providers

\n

Cockpit is currently a frontend-only application. That means it relies on data offered by other backend solutions, which are not built-in.

\n

If you have a BlueOS instance running, there's no need to install any backend, as BlueOS already provides everything.

\n

If that's not your case and you want to install the necessary backends, follow the instructions below:

\n
    \n
  1. Install a MAVLink router. We recommend mavp2p or MAVLink Router.
  2. \n
  3. Run the MAVLink router, connecting it to your vehicle or SITL instance.
  4. \n
  5. Install mavlink2rest.
  6. \n
  7. Run mavlink2rest, pointing it to the endpoint provided by the MAVLink router. Remember to serve the API over the 6040 port by running it with --server 0.0.0.0:6040.
  8. \n
  9. [Optional] If you want to work with video streaming, install Mavlink Camera Manager.
  10. \n
\n

Connecting to your vehicle

\n

Follow the instructions provided here to connect Cockpit to your vehicle.

\n

If you're running a BlueOS instance, just put the IP address of it in \"Global vehicle address\" and click the \"apply\" button.

\n

If you're serving mavlink2rest in the same machine as Cockpit, activate the checkmark for \"Mavlink2Rest connection\" and use ws://127.0.0.1:6040/v1/ws/mavlink there (if you're running a mavlink2rest version before 0.11.15, omit the /v1 in the URL).

\n

If you're serving mavlink-camera-manager in the same machine as Cockpit, activate the checkmark for \"WebRTC connection\" and use ws://127.0.0.1:6020 there.

\n

Simulating a vehicle

\n

Cockpit provides a simulation environments in a docker compose file. There is an environment provided for ArduSub, ArduCopter, ArduRover and ArduPlane. The compose file uses docker compose profiles to allow you to choose which vehicle you want to simulate. The available profiles are ardusub, arducopter, ardurover and arduplane. You can run a simulation environment by running the following command:

\n

docker-compose -f sim.yml --profile ardusub up

\n

Assuming you have run the bun run dev --host command, you can access the simulation environment by opening the browser and accessing localhost:5173.

", + "support": "https://discuss.bluerobotics.com/c/bluerobotics-software", + "requirements": null, "company": { "about": "", - "name": "JM Robotics", - "email": "support@jmrobotics.no" + "name": "Blue Robotics", + "email": "support@bluerobotics.com" }, "permissions": { - "Env": [ - "SERVER_URL=https://software.jmrobotics.no/server/", - "I2CBUS=6", - "ROV_ID=" - ], "ExposedPorts": { - "1337/tcp": {}, - "8137/tcp": {}, - "1338/tcp": {} + "8000/tcp": {} }, - "NetworkMode": "host", "HostConfig": { - "Privileged": true, - "Binds": [ - "/root/.config/jm:/root/.config", - "/var/run/docker.sock:/var/run/docker.sock" - ], - "ExtraHosts": [ - "host.docker.internal:host-gateway" - ], "PortBindings": { - "1337/tcp": [ - { - "HostPort": "1337" - } - ], - "8137/tcp": [ - { - "HostPort": "8137" - } - ], - "1338/tcp": [ + "8000/tcp": [ { - "HostPort": "1338" + "HostPort": "" } ] } } } - }, - "0.1.7": { - "identifier": "08ebdb20-d1ee-5013-8b14-aebd673adef5", - "type": "other", - "website": "https://www.jmrobotics.no", + } + }, + "repo_info": { + "downloads": 64317, + "last_updated": "2025-01-22T15:26:46.047828Z", + "date_registered": "2023-01-30T01:40:41.340441Z" + } + }, + { + "identifier": "bluerobotics.power-switch-calibration", + "name": "PowerSwitch Calibration", + "website": "https://github.com/rjehangir/BlueOS-PS-Calibration/", + "docker": "rjehangir/blueos-ps-calibration", + "description": "Calibrate offset on BlueBoat for improved measurements", + "extension_logo": "https://raw.githubusercontent.com/bluerobotics/BlueOS-Extensions-Repository/master/repos/bluerobotics/power-switch-calibration/extension_logo.png", + "company_logo": "https://raw.githubusercontent.com/bluerobotics/BlueOS-Extensions-Repository/master/repos/bluerobotics/company_logo.png", + "versions": { + "v1.0.0": { + "identifier": "bcc4553d-e923-5310-93d0-4a775fe22322", + "type": "device-integration", + "website": null, "images": [ { - "expanded_size": 138667765, + "expanded_size": 7915983, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:b5523947d1f8edbf6cb655969e2d53d78767007686d08dd60198acd4f1158219" + "digest": "sha256:e542fdb888f196961b5cb710cbada54be76cfff90b16eb8e73a434f34abf672f" } ], "authors": [ { - "name": "Mads Peter Hammer Strand", - "email": "mads@jmrobotics.no" + "name": "Rustom Jehangir", + "email": "rusty@bluerobotics.com" } ], "filter_tags": [], "extra_links": {}, - "tag": "0.1.7", + "tag": "v1.0.0", "docs": null, - "readme": "No README available", - "support": "https://www.jmrobotics.no", - "requirements": "core >= 1", + "readme": "

BlueOS Power Switch Calibration Extension

\n

This extension provides a simple routine to calibrate the offset of the \"Power Switch\" used in the BlueBoat to provide a more accurate current and power measurement.

\n

Build

\n

Execute the following command to build your extension:

\n

shell\n docker buildx build --platform linux/arm/v7 . -t my_docker_user/blueos-ps-calibration:latest --output type=registry

", + "support": null, + "requirements": null, "company": { "about": "", - "name": "JM Robotics", - "email": "support@jmrobotics.no" + "name": "Blue Robotics", + "email": "support@bluerobotics.com" }, "permissions": { - "Env": [ - "SERVER_URL=https://software.jmrobotics.no/server/", - "I2CBUS=6", - "ROV_ID=" - ], "ExposedPorts": { - "1337/tcp": {}, - "8137/tcp": {}, - "1338/tcp": {} + "80/tcp": {} }, - "NetworkMode": "host", "HostConfig": { - "Privileged": true, - "Binds": [ - "/root/.config/jm:/root/.config", - "/var/run/docker.sock:/var/run/docker.sock" - ], - "ExtraHosts": [ - "host.docker.internal:host-gateway" - ], "PortBindings": { - "1337/tcp": [ - { - "HostPort": "1337" - } - ], - "8137/tcp": [ - { - "HostPort": "8137" - } - ], - "1338/tcp": [ + "80/tcp": [ { - "HostPort": "1338" + "HostPort": "" } ] } } } - }, - "0.1.6": { - "identifier": "a4b4f76c-05cc-5d2e-a10e-0f0c4f83ac56", + } + }, + "repo_info": { + "downloads": 1105, + "last_updated": "2023-11-07T01:34:15.374584Z", + "date_registered": "2023-11-05T01:19:48.269227Z" + } + }, + { + "identifier": "bluerobotics.ros", + "name": "ROS", + "website": "https://github.com/patrickelectric/blueos-ros", + "docker": "patrickelectric/blueos-ros", + "description": "Robot Operating System (ROS) extension for BlueOS", + "extension_logo": "https://raw.githubusercontent.com/bluerobotics/BlueOS-Extensions-Repository/master/repos/bluerobotics/ros/extension_logo.png", + "company_logo": "https://raw.githubusercontent.com/bluerobotics/BlueOS-Extensions-Repository/master/repos/bluerobotics/company_logo.png", + "versions": { + "0.0.2": { + "identifier": "73dc76ed-2f14-5fae-a087-aee4886d5fbd", "type": "other", - "website": "https://www.jmrobotics.no", + "website": null, "images": [ { - "expanded_size": 138671180, + "expanded_size": 370009641, + "platform": { + "architecture": "arm64", + "variant": null, + "os": "linux" + }, + "digest": "sha256:75a2bf8947eba791595c30713506e8f94231a656c48f99119c53d17eb09ec72e" + }, + { + "expanded_size": 370009669, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:6bf09bdef42b75b4b336aa8477b79f1ee68f2b538b59553f26635f30e2d3d9e7" + "digest": "sha256:a9a2112b8cc7df5fefab629d79aa50c7cf68f6f205afe5f7fa44ed343072517a" } ], "authors": [ { - "name": "Mads Peter Hammer Strand", - "email": "mads@jmrobotics.no" + "name": "Patrick Jos\u00e9 Pereira", + "email": "patrickelectric@gmail.com" } ], - "filter_tags": [], + "filter_tags": [ + "ros", + "robot" + ], "extra_links": {}, - "tag": "0.1.6", + "tag": "0.0.2", "docs": null, - "readme": "No README available", - "support": "https://www.jmrobotics.no", - "requirements": "core >= 1", + "readme": "

BlueOS ROS extension

\n

This extension makes possible to communicate with the vehicle via ROS

\n

To connect, you just need to run the following commands:\n```sh\nexport ROS_MASTER_URI=http://blueos.local:11311

\n

or export ROS_MASTER_URI=http://:11311

\n

rostopic list # Done, you already have access to it!\n```

\n

You can also access the data via roslibjs.

\n

```html

\n\n\n\n\n\n\n\n\n\n

Simple ROS User Interface

\n

Connection status:

\n

Last /mavros/vfr_hud received:

\n\n\n

```

\n

Use a different ROS master origin

\n

It's possible to change ROS master for the extension using BlueOS on pirate mode and configuring ROS environments variables under the extension configuration menu.

\n

A valid configurtion wouyld look like this:

\n

json5\n{\n \"NetworkMode\": \"host\",\n \"HostConfig\": {\n \"Binds\": [\n \"/dev:/dev:rw\"\n ],\n \"Privileged\": true,\n \"NetworkMode\": \"host\"\n },\n \"Env\": [\n \"ROS_HOSTNAME=192.168.2.2\",\n \"ROS_MASTER_URI=http://192.168.2.3:11311\",\n \"ROS_IP=192.168.2.2\"\n ]\n}

\n

For more information about it, check BlueOS documentation.

", + "support": null, + "requirements": null, "company": { "about": "", - "name": "JM Robotics", - "email": "support@jmrobotics.no" + "name": "Blue Robotics", + "email": "support@bluerobotics.com" }, "permissions": { - "Env": [ - "SERVER_URL=https://software.jmrobotics.no/server/", - "I2CBUS=6", - "ROV_ID=" - ], - "ExposedPorts": { - "1337/tcp": {}, - "8137/tcp": {}, - "1338/tcp": {} - }, "NetworkMode": "host", "HostConfig": { - "Privileged": true, "Binds": [ - "/root/.config/jm:/root/.config", - "/var/run/docker.sock:/var/run/docker.sock" - ], - "ExtraHosts": [ - "host.docker.internal:host-gateway" + "/dev:/dev:rw" ], - "PortBindings": { - "1337/tcp": [ - { - "HostPort": "1337" - } - ], - "8137/tcp": [ - { - "HostPort": "8137" - } - ], - "1338/tcp": [ - { - "HostPort": "1338" - } - ] - } + "Privileged": true, + "NetworkMode": "host" } } }, - "0.1.5": { - "identifier": "daf1d7e7-6dc5-5812-b6fe-67232ff1b411", + "0.0.1": { + "identifier": "e5208a5f-f0e7-5baf-a9b3-d193cc19f3f0", "type": "other", - "website": "https://www.jmrobotics.no", + "website": null, "images": [ { - "expanded_size": 136304617, + "expanded_size": 369666474, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:002194270ed9fbbe8cac68fa8c7d66e65e96bf5f0ca882afc1c739c4bedba43c" + "digest": "sha256:9b159ab65e4d0b1d541460865aab4cabf9173de7163221d229522cb47a4ae381" } ], "authors": [ { - "name": "Mads Peter Hammer Strand", - "email": "mads@jmrobotics.no" + "name": "Patrick Jos\u00e9 Pereira", + "email": "patrickelectric@gmail.com" } ], - "filter_tags": [], + "filter_tags": [ + "ros", + "robot" + ], "extra_links": {}, - "tag": "0.1.5", + "tag": "0.0.1", "docs": null, - "readme": "No README available", - "support": "https://www.jmrobotics.no", - "requirements": "core >= 1", + "readme": "

BlueOS ROS extension

\n

This extension makes possible to communicate with the vehicle via ROS

\n

To connect, you just need to run the following commands:\n```sh\nexport ROS_MASTER_URI=http://blueos.local:11311

\n

or export ROS_MASTER_URI=http://:11311

\n

rostopic list # Done, you already have access to it!\n```

\n

You can also access the data via roslibjs.

\n

```html

\n\n\n\n\n\n\n\n\n\n

Simple ROS User Interface

\n

Connection status:

\n

Last /mavros/vfr_hud received:

\n\n\n

```

\n

Use a different ROS master origin

\n

It's possible to change ROS master for the extension using BlueOS on pirate mode and configuring ROS environments variables under the extension configuration menu.

\n

A valid configurtion wouyld look like this:

\n

json5\n{\n \"NetworkMode\": \"host\",\n \"HostConfig\": {\n \"Binds\": [\n \"/dev:/dev:rw\"\n ],\n \"Privileged\": true,\n \"NetworkMode\": \"host\"\n },\n \"Env\": [\n \"ROS_HOSTNAME=192.168.2.2\",\n \"ROS_MASTER_URI=http://192.168.2.3:11311\",\n \"ROS_IP=192.168.2.2\"\n ]\n}

\n

For more information about it, check BlueOS documentation.

", + "support": null, + "requirements": null, "company": { "about": "", - "name": "JM Robotics", - "email": "support@jmrobotics.no" + "name": "Blue Robotics", + "email": "support@bluerobotics.com" }, "permissions": { - "Env": [ - "SERVER_URL=https://software.jmrobotics.no/server/", - "I2CBUS=6", - "ROV_ID=" - ], - "ExposedPorts": { - "1337/tcp": {}, - "8137/tcp": {}, - "1338/tcp": {} - }, "NetworkMode": "host", "HostConfig": { - "Privileged": true, "Binds": [ - "/root/.config/jm:/root/.config", - "/var/run/docker.sock:/var/run/docker.sock" - ], - "ExtraHosts": [ - "host.docker.internal:host-gateway" + "/dev:/dev:rw" ], - "PortBindings": { - "1337/tcp": [ - { - "HostPort": "1337" - } - ], - "8137/tcp": [ - { - "HostPort": "8137" - } - ], - "1338/tcp": [ - { - "HostPort": "1338" - } - ] - } + "Privileged": true, + "NetworkMode": "host" } } - }, - "0.1.4": { - "identifier": "9e541814-e629-5f4a-8694-cbbc0cf59a34", + } + }, + "repo_info": { + "downloads": 2981, + "last_updated": "2024-02-05T11:45:01.761497Z", + "date_registered": "2023-09-13T06:14:36.827307Z" + } + }, + { + "identifier": "bluerobotics.jupyter", + "name": "Jupyter", + "website": "https://github.com/patrickelectric/blueos-jupyter", + "docker": "patrickelectric/blueos-jupyter", + "description": "Code in Python directly in BlueOS", + "extension_logo": "https://raw.githubusercontent.com/bluerobotics/BlueOS-Extensions-Repository/master/repos/bluerobotics/jupyter/extension_logo.png", + "company_logo": "https://raw.githubusercontent.com/bluerobotics/BlueOS-Extensions-Repository/master/repos/bluerobotics/company_logo.png", + "versions": { + "0.2.0": { + "identifier": "b1da3c8a-0fc4-5070-bb26-9d15bed8056c", "type": "other", - "website": "https://www.jmrobotics.no", + "website": null, "images": [ { - "expanded_size": 136206402, + "expanded_size": 1178493617, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:4461f49763ed0adb0881470d76cc821acf0a7ededd41c97806bf1430a2e8cad6" + "digest": "sha256:f578a510f7a7dfaa8acf4cb331b9db23640e57ad6a1e4df15fc8da4db7d54d25" } ], "authors": [ { - "name": "Mads Peter Hammer Strand", - "email": "mads@jmrobotics.no" + "name": "Patrick Jos\u00e9 Pereira", + "email": "patrickelectric@gmail.com" + }, + { + "name": "Raul Victor Trombin", + "email": "raulvtrombin@gmail.com" } ], - "filter_tags": [], + "filter_tags": [ + "python", + "ide", + "development" + ], "extra_links": {}, - "tag": "0.1.4", + "tag": "0.2.0", "docs": null, - "readme": "No README available", - "support": "https://www.jmrobotics.no", - "requirements": "core >= 1", + "readme": "

blueos-jupyter

\n

Extension to start coding with python examples and create projects.

\n

To install your own libraries, use: pip install --user.

\n

Home directory (/root/) will be persistent besides pip local holder for user libraries.

\n

Libraries installed:\n- bluerobotics-ping\n- bluerobotics-navigator\n- plotly\n- pymavlink

", + "support": null, + "requirements": null, "company": { "about": "", - "name": "JM Robotics", - "email": "support@jmrobotics.no" + "name": "Blue Robotics", + "email": "support@bluerobotics.com" }, "permissions": { - "Env": [ - "SERVER_URL=https://software.jmrobotics.no/server/", - "I2CBUS=6", - "ROV_ID=" - ], - "ExposedPorts": { - "1337/tcp": {}, - "8137/tcp": {}, - "1338/tcp": {} - }, "NetworkMode": "host", "HostConfig": { "Privileged": true, "Binds": [ - "/root/.config/jm:/root/.config", - "/var/run/docker.sock:/var/run/docker.sock" - ], - "ExtraHosts": [ - "host.docker.internal:host-gateway" + "/usr/blueos/extensions/jupyter/root:/root:rw", + "/dev:/dev:rw" ], - "PortBindings": { - "1337/tcp": [ - { - "HostPort": "1337" - } - ], - "8137/tcp": [ - { - "HostPort": "8137" - } - ], - "1338/tcp": [ - { - "HostPort": "1338" - } - ] - } + "NetworkMode": "host" } } }, - "0.1.3": { - "identifier": "fbc14f43-9f80-5186-9066-a2c52764f83d", + "0.1.0": { + "identifier": "0fe22234-421f-5549-86e1-44515ecc0c37", "type": "other", - "website": "https://www.jmrobotics.no", + "website": null, "images": [ { - "expanded_size": 136206392, + "expanded_size": 946708030, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:198a4b4657e5c37caf15757ce6670877cc040f498d9704b79fde54711b50f4de" + "digest": "sha256:7fbecadd64e1b484f67a6cafda92c3f4b9630e277d83a4288196ebbf01af336f" } ], "authors": [ { - "name": "Mads Peter Hammer Strand", - "email": "mads@jmrobotics.no" + "name": "Patrick Jos\u00e9 Pereira", + "email": "patrickelectric@gmail.com" + }, + { + "name": "Raul Victor Trombin", + "email": "raulvtrombin@gmail.com" } ], - "filter_tags": [], + "filter_tags": [ + "python", + "ide", + "development" + ], "extra_links": {}, - "tag": "0.1.3", + "tag": "0.1.0", "docs": null, - "readme": "No README available", - "support": "https://www.jmrobotics.no", - "requirements": "core >= 1", + "readme": "

blueos-jupyter

\n

Extension to start coding with python examples and create projects.

\n

To install your own libraries, use: pip install --user.

\n

Home directory (/root/) will be persistent besides pip local holder for user libraries.

\n

Libraries installed:\n- bluerobotics-ping\n- bluerobotics-navigator\n- plotly\n- pymavlink

", + "support": null, + "requirements": null, "company": { "about": "", - "name": "JM Robotics", - "email": "support@jmrobotics.no" + "name": "Blue Robotics", + "email": "support@bluerobotics.com" }, "permissions": { - "Env": [ - "SERVER_URL=https://software.jmrobotics.no/server/", - "I2CBUS=6", - "ROV_ID=" - ], - "ExposedPorts": { - "1337/tcp": {}, - "8137/tcp": {}, - "1338/tcp": {} - }, "NetworkMode": "host", "HostConfig": { "Privileged": true, "Binds": [ - "/root/.config/jm:/root/.config", - "/var/run/docker.sock:/var/run/docker.sock" - ], - "ExtraHosts": [ - "host.docker.internal:host-gateway" + "/usr/blueos/extensions/jupyter/root:/root:rw", + "/dev:/dev:rw" ], - "PortBindings": { - "1337/tcp": [ - { - "HostPort": "1337" - } - ], - "8137/tcp": [ - { - "HostPort": "8137" - } - ], - "1338/tcp": [ - { - "HostPort": "1338" - } - ] - } + "NetworkMode": "host" } } }, - "0.1.2": { - "identifier": "2104939c-c7c6-52a3-82b0-0c7834424a34", + "0.0.0": { + "identifier": "513dcee7-8d8e-5e4c-bcb6-71b7e15c44fd", "type": "other", - "website": "https://www.jmrobotics.no", + "website": null, "images": [ { - "expanded_size": 136201023, + "expanded_size": 471140182, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:2249b4f0a6f10851cd51ce43b9323afe9cfe3c9ff759d9c035815a861d14aea0" + "digest": "sha256:80fbf5feb15c6e9f08544727addaabdd28968cec1ea44ef70553026ed49b09d1" } ], "authors": [ { - "name": "Mads Peter Hammer Strand", - "email": "mads@jmrobotics.no" + "name": "Patrick Jos\u00e9 Pereira", + "email": "patrickelectric@gmail.com" + }, + { + "name": "Raul Trombin", + "email": "raulvtormbin@gmail.com" } ], - "filter_tags": [], + "filter_tags": [ + "python", + "ide", + "development" + ], "extra_links": {}, - "tag": "0.1.2", + "tag": "0.0.0", "docs": null, - "readme": "No README available", - "support": "https://www.jmrobotics.no", - "requirements": "core >= 1", + "readme": "

blueos-jupyter

\n

Extension to start coding with python examples and create projects.

\n

To install your own libraries, use: pip install --user.

\n

Home directory (/root/) will be persistent besides pip local holder for user libraries.

\n

Libraries installed:\n- bluerobotics-ping\n- bluerobotics-navigator\n- plotly\n- pymavlink

", + "support": null, + "requirements": null, "company": { "about": "", - "name": "JM Robotics", - "email": "support@jmrobotics.no" + "name": "Blue Robotics", + "email": "support@bluerobotics.com" }, "permissions": { - "Env": [ - "SERVER_URL=https://software.jmrobotics.no/server/", - "I2CBUS=6", - "ROV_ID=" - ], - "ExposedPorts": { - "1337/tcp": {}, - "8137/tcp": {}, - "1338/tcp": {} - }, "NetworkMode": "host", "HostConfig": { "Privileged": true, "Binds": [ - "/root/.config/jm:/root/.config", - "/var/run/docker.sock:/var/run/docker.sock" - ], - "ExtraHosts": [ - "host.docker.internal:host-gateway" + "/usr/blueos/userdata/jupyter/root:/root:rw", + "/dev:/dev:rw" ], - "PortBindings": { - "1337/tcp": [ - { - "HostPort": "1337" - } - ], - "8137/tcp": [ - { - "HostPort": "8137" - } - ], - "1338/tcp": [ - { - "HostPort": "1338" - } - ] - } + "NetworkMode": "host" } } - }, - "0.1.1": { - "identifier": "42117cfd-19c3-5487-8c86-0c64ac5904a8", - "type": "other", - "website": "https://www.jmrobotics.no", + } + }, + "repo_info": { + "downloads": 3237, + "last_updated": "2024-11-02T19:51:27.122486Z", + "date_registered": "2023-09-20T20:30:01.66808Z" + } + }, + { + "identifier": "bluerobotics.yacht", + "name": "Yacht", + "website": "https://github.com/patrickelectric/blueos-yacht", + "docker": "patrickelectric/blueos-yacht", + "description": "Easy to use container management utility", + "extension_logo": "https://raw.githubusercontent.com/bluerobotics/BlueOS-Extensions-Repository/master/repos/bluerobotics/yacht/extension_logo.png", + "company_logo": "https://raw.githubusercontent.com/bluerobotics/BlueOS-Extensions-Repository/master/repos/bluerobotics/company_logo.png", + "versions": { + "1.0.0": { + "identifier": "b8ab51f5-90f5-5552-b9fb-43485f0c944d", + "type": "tool", + "website": null, "images": [ { - "expanded_size": 97327764, + "expanded_size": 75237108, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:93eae4b370102f9b40f1df916e30e29f62ece3a6bfd0d9f30a229f00c65f1fe3" + "digest": "sha256:3cbb5d3ccef873e9d2c2f2887d1e833ab1cf74a37dbce0127eecdd93332d33cd" } ], "authors": [ { - "name": "Mads Peter Hammer Strand", - "email": "mads@jmrobotics.no" + "name": "Patrick Jos\u00e9 Pereira", + "email": "patrickelectric@gmail.com" } ], - "filter_tags": [], + "filter_tags": [ + "docker", + "container", + "dashboard", + "manager" + ], "extra_links": {}, - "tag": "0.1.1", + "tag": "1.0.0", "docs": null, - "readme": "No README available", - "support": "https://www.jmrobotics.no", - "requirements": "core >= 1", + "readme": "

BlueOS yacht

\n

Yacht is a container management UI with a focus on templates and 1-click deployments.

", + "support": null, + "requirements": null, "company": { "about": "", - "name": "JM Robotics", - "email": "support@jmrobotics.no" + "name": "Blue Robotics", + "email": "support@bluerobotics.com" }, "permissions": { - "Env": [ - "SERVER_URL=https://software.jmrobotics.no/server/", - "I2CBUS=6", - "ROV_ID=" - ], "ExposedPorts": { - "1337/tcp": {}, - "8137/tcp": {}, - "1338/tcp": {} + "8000/tcp": {} }, - "NetworkMode": "host", "HostConfig": { "Privileged": true, "Binds": [ - "/root/.config/jm:/root/.config" - ], - "ExtraHosts": [ - "host.docker.internal:host-gateway" + "/var/run/docker.sock:/var/run/docker.sock:rw" ], "PortBindings": { - "1337/tcp": [ - { - "HostPort": "1337" - } - ], - "8137/tcp": [ - { - "HostPort": "8137" - } - ], - "1338/tcp": [ + "8000/tcp": [ { - "HostPort": "1338" + "HostPort": "" } ] } } } - }, - "0.1.0": { - "identifier": "eaeca9bf-4fdd-5338-b35c-df1cc1255a46", - "type": "other", - "website": "https://www.jmrobotics.no", + } + }, + "repo_info": { + "downloads": 1777, + "last_updated": "2023-09-01T21:07:26.318216Z", + "date_registered": "2023-09-01T20:11:40.559943Z" + } + }, + { + "identifier": "clydemcqueen.wl_ugps_external", + "name": "WL UGPS External", + "website": "https://github.com/clydemcqueen/wl_ugps_external_extension", + "docker": "clydemcqueen/wl_ugps_external_extension", + "description": "Send GNSS compass data to WL UGPS", + "extension_logo": "https://raw.githubusercontent.com/bluerobotics/BlueOS-Extensions-Repository/master/repos/clydemcqueen/wl_ugps_external/extension_logo.png", + "company_logo": "https://raw.githubusercontent.com/bluerobotics/BlueOS-Extensions-Repository/master/repos/clydemcqueen/company_logo.png", + "versions": { + "v1.1.0-beta.1": { + "identifier": "37d18a9b-b24e-5389-914c-13f4e04a48d4", + "type": "device-integration", + "website": "https://github.com/clydemcqueen/wl_ugps_external_extension", "images": [ { - "expanded_size": 96709262, + "expanded_size": 53131138, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:541ec3d6cdba151cdb6498ef8f1af4af800d9ecccc8563eedd96d539a1c29157" + "digest": "sha256:cd6803b56aeea2f0db28c744b3ca92a5325c7f27d367d3d348ec585926bfd3f1" } ], "authors": [ { - "name": "Mads Peter Hammer Strand", - "email": "mads@jmrobotics.no" + "name": "Clyde McQueen", + "email": "clyde@mcqueen.net" } ], - "filter_tags": [], + "filter_tags": [ + "positioning", + "navigation", + "short-baseline" + ], "extra_links": {}, - "tag": "0.1.0", + "tag": "v1.1.0-beta.1", "docs": null, - "readme": "No README available", - "support": "https://www.jmrobotics.no", - "requirements": "core >= 1", + "readme": "

WL UGPS External

\n

Send NMEA position information (GGA and HDT) to the Water Linked UGPS API.

\n

Typical Configuration

\n

Add a satellite compass to the topside vessel and connect it to the ROV Ethernet network.

\n
    \n
  • It should have a static IP address on the 192.168.2.X subnet
  • \n
  • It should send GGA and HDT messages via UDP to BlueOS at 192.168.2.2:6200
  • \n
\n

Install this extension in BlueOS:

\n
    \n
  • Select Extensions in the sidebar
  • \n
  • Click on WL UGPS External
  • \n
  • Click Install
  • \n
\n

After a few moments you should see the WL UGPS External entry in the sidebar.\nClick on it to see a very simple UI.

\n

Arguments

\n
    \n
  • Set UGPS_HOST to the IP address of the WL UGPS G2 box. The default is http://192.168.2.94.
  • \n
  • Set SEND_RATE to the rate to send position information to the G2 box. The default is 2Hz.
  • \n
  • Set POLL_RATE to the rate to poll the G2 box for acoustic and pose information. The default is 0 (no polling).
  • \n
  • If LOG_NMEA is --log_nmea, then NMEA messages will be logged. The default is blank (no logging).
  • \n
\n

You can provide custom arguments in BlueOS. For example, you can enable logging using these arguments:\n~~~\n{\n \"Env\": [\n \"UGPS_HOST=http://192.168.2.94\",\n \"SEND_RATE=2.0\",\n \"POLL_RATE=5.0\",\n \"LOG_NMEA=--log_nmea\"\n ]\n}\n~~~

\n

Logs can be found in BlueOS:

\n
    \n
  • Select File Browser in the sidebar
  • \n
  • Click on extensions
  • \n
  • Click on wl_ugps_external
  • \n
\n

Caveats

\n
    \n
  • The G2 box still needs a GPS fix to synchronize its clock.
  • \n
\n

Releases

\n

v1.1.0-beta.1

\n
    \n
  • Optional: Log GGA, HDT and PASHR messages
  • \n
  • Optional: Poll the G2 box for additional information (pose, acoustic solution) and log the results
  • \n
\n

v1.0.3

\n
    \n
  • Shorten company name
  • \n
  • No user-visible changes
  • \n
\n

v1.0.2

\n
    \n
  • Update requirements.txt, setup.py
  • \n
  • No user-visible changes
  • \n
\n

v1.0.1

\n
    \n
  • Simplify README
  • \n
\n

v1.0.0

\n
    \n
  • Initial release
  • \n
\n

Developer notes

\n

See wl_ugps_external for testing tools.

", + "support": "https://github.com/clydemcqueen/wl_ugps_external_extension/issues", + "requirements": "core >= 1.1", "company": { "about": "", - "name": "JM Robotics", - "email": "support@jmrobotics.no" + "name": "Discovery Bay", + "email": "clyde@mcqueen.net" }, "permissions": { - "Env": [ - "SERVER_URL=https://software.jmrobotics.no/server/", - "I2CBUS=6", - "ROV_ID=" - ], "ExposedPorts": { - "1337/tcp": {}, - "8137/tcp": {}, - "1338/tcp": {} + "8080/tcp": {}, + "6200:6200/udp": {} }, - "NetworkMode": "host", "HostConfig": { - "Privileged": true, "Binds": [ - "/root/.config/jm:/root/.config" - ], - "ExtraHosts": [ - "host.docker.internal:host-gateway" + "/usr/blueos/extensions/wl_ugps_external:/data:rw" ], "PortBindings": { - "1337/tcp": [ - { - "HostPort": "1337" - } - ], - "8137/tcp": [ + "6200/udp": [ { - "HostPort": "8137" + "HostPort": "6200" } ], - "1338/tcp": [ + "8080/tcp": [ { - "HostPort": "1338" + "HostPort": "" } ] } - } + }, + "Env": [ + "UGPS_HOST=http://192.168.2.94", + "SEND_RATE=2.0", + "POLL_RATE=0.0", + "LOG_NMEA=" + ] } }, - "0.0.9": { - "identifier": "79a9df48-e803-535b-8859-5b0d7c4ac99b", - "type": "other", - "website": "https://www.jmrobotics.no", + "v1.0.3": { + "identifier": "f62c3d5a-716d-5f9d-89f4-1f44cb29fcd2", + "type": "device-integration", + "website": "https://github.com/clydemcqueen/wl_ugps_external_extension", "images": [ { - "expanded_size": 96709149, + "expanded_size": 45696701, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:fe37249ef731d10570ae5364036104c7ec2ce3ae84acfed3f9e8ae8d4b2c0215" + "digest": "sha256:2adff8e939478262b0cc0b35ee93d79f6a6d876902a10350e3ce93d7c7403dfe" } ], "authors": [ { - "name": "Mads Peter Hammer Strand", - "email": "mads@jmrobotics.no" + "name": "Clyde McQueen", + "email": "clyde@mcqueen.net" } ], - "filter_tags": [], + "filter_tags": [ + "positioning", + "navigation", + "short-baseline" + ], "extra_links": {}, - "tag": "0.0.9", + "tag": "v1.0.3", "docs": null, - "readme": "No README available", - "support": "https://www.jmrobotics.no", - "requirements": "core >= 1", + "readme": "

WL UGPS External

\n

Send NMEA position information (GGA and HDT) to the Water Linked UGPS API.

\n

Typical Configuration

\n

Add a satellite compass to the topside vessel and connect it to the ROV Ethernet network.\n* It should have a static IP address on the 192.168.2.X subnet\n* It should send GGA and HDT messages via UDP to BlueOS at 192.168.2.2:6200

\n

Install this extension in BlueOS:\n* Select Extensions in the sidebar\n* Click on WL UGPS External\n* Click Install

\n

After a few moments you should see the WL UGPS External entry in the sidebar.\nClick on it to see a very simple UI.

\n

Arguments

\n
    \n
  • UGPS_HOST is the IP address of the WL UGPS G2 box, the default is http://192.168.2.94
  • \n
  • SEND_RATE is the rate to send position information to the G2 box, the default is 2Hz
  • \n
\n

Caveats

\n
    \n
  • The G2 box still needs a GPS fix to synchronize its clock.
  • \n
\n

Releases

\n

v1.0.3

\n
    \n
  • Shorten company name
  • \n
  • No user-visible changes
  • \n
\n

v1.0.2

\n
    \n
  • Update requirements.txt, setup.py
  • \n
  • No user-visible changes
  • \n
\n

v1.0.1

\n
    \n
  • Simplify README
  • \n
\n

v1.0.0

\n
    \n
  • Initial release
  • \n
\n

Developer notes

\n

See https://github.com/clydemcqueen/wl_ugps_external for testing tools.

", + "support": "https://github.com/clydemcqueen/wl_ugps_external_extension/issues", + "requirements": "core >= 1.1", "company": { "about": "", - "name": "JM Robotics", - "email": "support@jmrobotics.no" + "name": "Discovery Bay", + "email": "clyde@mcqueen.net" }, "permissions": { - "Env": [ - "SERVER_URL=https://software.jmrobotics.no/server/", - "I2CBUS=6", - "ROV_ID=" - ], "ExposedPorts": { - "1337/tcp": {}, - "8137/tcp": {}, - "1338/tcp": {} + "8080/tcp": {}, + "6200:6200/udp": {} }, - "NetworkMode": "host", "HostConfig": { - "Privileged": true, - "Binds": [ - "/root/.config/jm:/root/.config" - ], - "ExtraHosts": [ - "host.docker.internal:host-gateway" - ], "PortBindings": { - "1337/tcp": [ - { - "HostPort": "1337" - } - ], - "8137/tcp": [ + "6200/udp": [ { - "HostPort": "8137" + "HostPort": "6200" } ], - "1338/tcp": [ + "8080/tcp": [ { - "HostPort": "1338" + "HostPort": "" } ] } - } + }, + "Env": [ + "UGPS_HOST=http://192.168.2.94", + "SEND_RATE=2.0" + ] } }, - "0.0.8": { - "identifier": "8ea1115d-e017-5e93-b643-31269c341f4d", - "type": "other", - "website": "https://www.jmrobotics.no", + "v1.0.2": { + "identifier": "feba0cfb-e968-5301-b11e-90b6071bd828", + "type": "device-integration", + "website": "https://github.com/clydemcqueen/wl_ugps_external_extension", "images": [ { - "expanded_size": 97114085, + "expanded_size": 45696653, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:f4ca957ef8684090eb19561193c745a318565bac884edc9b7c936464867dcb3b" + "digest": "sha256:54e2275c5e9ea7aef7df80d3ace428f9ef287e9cd249ca6a70c22108a0ebfe9f" } ], "authors": [ { - "name": "Mads Peter Hammer Strand", - "email": "mads@jmrobotics.no" + "name": "Clyde McQueen", + "email": "clyde@mcqueen.net" } ], - "filter_tags": [], + "filter_tags": [ + "positioning", + "navigation", + "short-baseline" + ], "extra_links": {}, - "tag": "0.0.8", + "tag": "v1.0.2", "docs": null, - "readme": "No README available", - "support": "https://www.jmrobotics.no", - "requirements": "core >= 1", + "readme": "

WL UGPS External

\n

Send NMEA position information (GGA and HDT) to the Water Linked UGPS API.

\n

Typical Configuration

\n

Add a satellite compass to the topside vessel and connect it to the ROV Ethernet network.\n* It should have a static IP address on the 192.168.2.X subnet\n* It should send GGA and HDT messages via UDP to BlueOS at 192.168.2.2:6200

\n

Install this extension in BlueOS:\n* Select Extensions in the sidebar\n* Click on WL UGPS External\n* Click Install

\n

After a few moments you should see the WL UGPS External entry in the sidebar.\nClick on it to see a very simple UI.

\n

Arguments

\n
    \n
  • UGPS_HOST is the IP address of the WL UGPS G2 box, the default is http://192.168.2.94
  • \n
  • SEND_RATE is the rate to send position information to the G2 box, the default is 2Hz
  • \n
\n

Caveats

\n
    \n
  • The G2 box still needs a GPS fix to synchronize its clock.
  • \n
\n

Releases

\n

v1.0.2

\n
    \n
  • Update requirements.txt, setup.py
  • \n
  • No user-visible changes
  • \n
\n

v1.0.1

\n
    \n
  • Simplified README
  • \n
\n

v1.0.0

\n
    \n
  • Initial release
  • \n
\n

Developer notes

\n

See https://github.com/clydemcqueen/wl_ugps_external for testing tools.

", + "support": "https://github.com/clydemcqueen/wl_ugps_external_extension/issues", + "requirements": "core >= 1.1", "company": { "about": "", - "name": "JM Robotics", - "email": "support@jmrobotics.no" + "name": "Discovery Bay Robotics", + "email": "clyde@mcqueen.net" }, "permissions": { - "Env": [ - "SERVER_URL=https://software.jmrobotics.no/server/", - "I2CBUS=6", - "ROV_ID=" - ], "ExposedPorts": { - "1337/tcp": {}, - "8137/tcp": {}, - "1338/tcp": {} + "8080/tcp": {}, + "6200:6200/udp": {} }, - "NetworkMode": "host", "HostConfig": { - "Privileged": true, - "Binds": [ - "/root/.config/jm:/root/.config" - ], - "ExtraHosts": [ - "host.docker.internal:host-gateway" - ], "PortBindings": { - "1337/tcp": [ - { - "HostPort": "1337" - } - ], - "8137/tcp": [ + "6200/udp": [ { - "HostPort": "8137" + "HostPort": "6200" } ], - "1338/tcp": [ + "8080/tcp": [ { - "HostPort": "1338" + "HostPort": "" } ] } - } + }, + "Env": [ + "UGPS_HOST=http://192.168.2.94", + "SEND_RATE=2.0" + ] } }, - "0.0.7": { - "identifier": "e2484dd2-e2ba-5ac4-9d91-7d717f618332", - "type": "other", - "website": "https://www.jmrobotics.no", + "v1.0.1": { + "identifier": "32a5efd4-9364-5021-a677-9c6371f90e29", + "type": "device-integration", + "website": "https://github.com/clydemcqueen/wl_ugps_external_extension", "images": [ { - "expanded_size": 96633870, + "expanded_size": 44578751, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:29567855a636348f71a638082d335c6229f095d74548b4b4d42ce5752a1a77fe" + "digest": "sha256:e0fab510697080cd9c972e1eeb987371fc49f11d64384574a1c80fd72da5c3a6" } ], "authors": [ { - "name": "Mads Peter Hammer Strand", - "email": "mads@jmrobotics.no" + "name": "Clyde McQueen", + "email": "clyde@mcqueen.net" } ], - "filter_tags": [], + "filter_tags": [ + "positioning", + "navigation", + "short-baseline" + ], "extra_links": {}, - "tag": "0.0.7", + "tag": "v1.0.1", "docs": null, - "readme": "No README available", - "support": "https://www.jmrobotics.no", - "requirements": "core >= 1", + "readme": "

WL UGPS External

\n

Send NMEA position information (GGA and HDT) to the Water Linked UGPS API.

\n

Typical Configuration

\n

Add a satellite compass to the topside vessel and connect it to the ROV Ethernet network.\n* It should have a static IP address on the 192.168.2.X subnet\n* It should send GGA and HDT messages via UDP to BlueOS at 192.168.2.2:6200

\n

Install this extension in BlueOS:\n* Select Extensions in the sidebar\n* Click on WL UGPS External\n* Click Install

\n

After a few moments you should see the WL UGPS External entry in the sidebar.\nClick on it to see a very simple UI.

\n

Arguments

\n
    \n
  • UGPS_HOST is the IP address of the WL UGPS G2 box, the default is http://192.168.2.94
  • \n
  • SEND_RATE is the rate to send position information to the G2 box, the default is 2Hz
  • \n
\n

Caveats

\n
    \n
  • The G2 box still needs a GPS fix to synchronize its clock.
  • \n
\n

Releases

\n

v1.0.1

\n
    \n
  • Simplified README
  • \n
\n

v1.0.0

\n
    \n
  • Initial release
  • \n
", + "support": "https://github.com/clydemcqueen/wl_ugps_external_extension/issues", + "requirements": "core >= 1.1", "company": { "about": "", - "name": "JM Robotics", - "email": "support@jmrobotics.no" + "name": "Discovery Bay Robotics", + "email": "clyde@mcqueen.net" }, "permissions": { - "Env": [ - "SERVER_URL=https://software.jmrobotics.no/server/", - "I2CBUS=6", - "ROV_ID=" - ], "ExposedPorts": { - "1337/tcp": {}, - "8137/tcp": {}, - "1338/tcp": {} + "8080/tcp": {}, + "6200:6200/udp": {} }, - "NetworkMode": "host", "HostConfig": { - "Privileged": true, - "Binds": [ - "/root/.config/jm:/root/.config" - ], - "ExtraHosts": [ - "host.docker.internal:host-gateway" - ], "PortBindings": { - "1337/tcp": [ - { - "HostPort": "1337" - } - ], - "8137/tcp": [ + "6200/udp": [ { - "HostPort": "8137" + "HostPort": "6200" } ], - "1338/tcp": [ + "8080/tcp": [ { - "HostPort": "1338" + "HostPort": "" } ] } - } + }, + "Env": [ + "UGPS_HOST=http://192.168.2.94", + "SEND_RATE=2.0" + ] } - }, - "0.0.6": { - "identifier": "d859a0f3-6010-5e77-bf71-73b51788130e", - "type": "other", - "website": "https://www.jmrobotics.no", + } + }, + "repo_info": { + "downloads": 5129, + "last_updated": "2024-11-26T18:07:23.087771Z", + "date_registered": "2023-09-06T15:06:24.58823Z" + } + }, + { + "identifier": "clydemcqueen.surftrak_fixit", + "name": "Surftrak Fixit", + "website": "https://github.com/clydemcqueen/surftrak_fixit", + "docker": "clydemcqueen/surftrak_fixit", + "description": "Find and fix common Surftrak problems", + "extension_logo": "https://raw.githubusercontent.com/bluerobotics/BlueOS-Extensions-Repository/master/repos/clydemcqueen/surftrak_fixit/extension_logo.png", + "company_logo": "https://raw.githubusercontent.com/bluerobotics/BlueOS-Extensions-Repository/master/repos/clydemcqueen/company_logo.png", + "versions": { + "v1.0.0-beta.2": { + "identifier": "4ecee07e-b90d-5881-b8a1-2e8c8cb188ce", + "type": "tool", + "website": "https://github.com/clydemcqueen/surftrak_fixit", "images": [ { - "expanded_size": 94349911, + "expanded_size": 331368598, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:2d7302f32d74adfdebe98b99b9c2f9b596ab356be2deaa163185bae96d922002" + "digest": "sha256:7974dbabcfbe92c237617c431b666fc24732cf9fd3c5423f069ec752c20aa827" } ], "authors": [ { - "name": "Mads Peter Hammer Strand", - "email": "mads@jmrobotics.no" + "name": "Clyde McQueen", + "email": "clyde@mcqueen.net" } ], - "filter_tags": [], + "filter_tags": [ + "surftrak" + ], "extra_links": {}, - "tag": "0.0.6", + "tag": "v1.0.0-beta.2", "docs": null, - "readme": "No README available", - "support": "https://www.jmrobotics.no", - "requirements": "core >= 1", + "readme": "

Surftrak Fixit

\n

Surftrak is a new flight mode in ArduSub 4.5.

\n

Surftrak Fixit is a BlueOS extension that can diagnose and fix Surftrak problems.

\n

Install

\n
    \n
  • Select Extensions in the sidebar
  • \n
  • Click on Surftrak Fixit
  • \n
  • Click Install
  • \n
\n

Releases

\n

v1.0.0-beta.2

\n
    \n
  • Display DISTANCE_SENSOR messages from well-known sources
  • \n
  • Check for bad RNGFND1_TYPE
  • \n
  • Add FIX IT buttons for some problems
  • \n
  • UI improvements, works in dark mode
  • \n
\n

v1.0.0-beta.1

\n
    \n
  • First version
  • \n
\n

Developer Notes

\n

Install a custom version

\n
    \n
  • Select Extensions in the sidebar, then the Installed tab
  • \n
  • Click on the + icon in the lower right
  • \n
  • Enter the following information, modifying as necessary
  • \n
  • Click Create
  • \n
\n

Extension Identifier\n~~~\nclydemcqueen.surftrak_fixit\n~~~

\n

Extension Name\n~~~\nsurftrak_fixit\n~~~

\n

Docker image\n~~~\nclydemcqueen/surftrak_fixit\n~~~

\n

Docker tag\n~~~\nv1.0.0-beta.2\n~~~

\n

Custom settings\n~~~\n{\n \"ExposedPorts\": {\n \"8080/tcp\": {}\n },\n \"HostConfig\": {\n \"ExtraHosts\": [\"host.docker.internal:host-gateway\"],\n \"PortBindings\": {\n \"8080/tcp\": [\n {\n \"HostPort\": \"\"\n }\n ]\n }\n },\n \"Env\": [\"MAVLINK2REST_URL=http://host.docker.internal/mavlink2rest/v1\"]\n}\n~~~

\n

Testing with ArduSub SITL

\n

Surftrak Fixit looks only at MAVLink messages, so it can be tested against ArduSub SITL and\nmavlink2rest.

\n

See these instructions to set up ArduSub SITL.

\n

Terminal 1: run SITL\n~~~\ncd $ARDUPILOT_HOME\nmkdir run_sim\ncd run_sim\nnice ../Tools/autotest/sim_vehicle.py -G -D -l 47.6302,-122.3982391,-0.1,270 -v Sub -f vectored --out \"127.0.0.1:14551\"\n~~~

\n

Terminal 2: run mavlink2rest in a docker container\n~~~\ndocker build --build-arg TARGET_ARCH=x86_64-unknown-linux-musl -t mavlink/mavlink2rest .\ndocker run --rm --init -p 8088:8088 -p 14550:14550/udp --name mavlink2rest mavlink/mavlink2rest\n~~~

\n

Terminal 3: run Surftrak Fixit\n~~~\n./main.py --mavlink2rest_url http://localhost:8088/v1\n~~~

\n

Terminal 4: emulate a MAVLink rangefinder\n~~~\n./fake_rf.py --ping\n~~~

\n

You can see the extension UI at http://localhost:8080/

", + "support": "https://github.com/clydemcqueen/surftrak_fixit/issues", + "requirements": "core >= 1.1", "company": { "about": "", - "name": "JM Robotics", - "email": "support@jmrobotics.no" + "name": "Discovery Bay", + "email": "clyde@mcqueen.net" }, "permissions": { - "Env": [ - "SERVER_URL=https://software.jmrobotics.no/server/", - "I2CBUS=6", - "ROV_ID=" - ], "ExposedPorts": { - "1337/tcp": {}, - "8137/tcp": {}, - "1338/tcp": {} + "8080/tcp": {} }, - "NetworkMode": "host", "HostConfig": { - "Privileged": true, - "Binds": [ - "/root/.config/jm:/root/.config" - ], "ExtraHosts": [ "host.docker.internal:host-gateway" ], "PortBindings": { - "1337/tcp": [ - { - "HostPort": "1337" - } - ], - "8137/tcp": [ - { - "HostPort": "8137" - } - ], - "1338/tcp": [ + "8080/tcp": [ { - "HostPort": "1338" + "HostPort": "" } ] } - } + }, + "Env": [ + "MAVLINK2REST_URL=http://host.docker.internal/mavlink2rest/v1" + ] } }, - "0.0.5": { - "identifier": "5567cfc0-0947-559b-b69c-3a0eb7ebba12", - "type": "other", - "website": "https://www.jmrobotics.no", + "v1.0.0-beta.1": { + "identifier": "284c6155-4ffc-50aa-98dd-c7eae198eac5", + "type": "tool", + "website": "https://github.com/clydemcqueen/surftrak_fixit", "images": [ { - "expanded_size": 94350096, + "expanded_size": 313220600, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:df13934cdb1e4d0bd6b3dd5f1d94856866de13e5e1e246a817243510eab945b7" + "digest": "sha256:9cf0c02c92ef84c1964878116dd349fb923c0e220abb7a0a86583e6672213b73" } ], "authors": [ { - "name": "Mads Peter Hammer Strand", - "email": "mads@jmrobotics.no" + "name": "Clyde McQueen", + "email": "clyde@mcqueen.net" } ], - "filter_tags": [], + "filter_tags": [ + "surftrak" + ], "extra_links": {}, - "tag": "0.0.5", + "tag": "v1.0.0-beta.1", "docs": null, - "readme": "No README available", - "support": "https://www.jmrobotics.no", - "requirements": "core >= 1", + "readme": "

Surftrak Fixit

\n

Surftrak is a new flight mode in ArduSub 4.5.

\n

Surftrak Fixit is a BlueOS\nextension that can diagnose and suggest fixes for some common Surftrak problems.

\n

Install

\n

To install this extension in BlueOS:\n* Select Extensions in the sidebar, then the Installed tab\n* Click on the + icon in the lower right\n* Enter the following information, then click Create

\n

Extension Identifier\n~~~\nclydemcqueen.surftrak_fixit\n~~~

\n

Extension Name\n~~~\nsurftrak_fixit\n~~~

\n

Docker image\n~~~\nclydemcqueen/surftrak_fixit\n~~~

\n

Docker tag\n~~~\nv1.0.0-beta.1\n~~~

\n

Custom settings\n~~~\n{\n \"ExposedPorts\": {\n \"8080/tcp\": {}\n },\n \"HostConfig\": {\n \"ExtraHosts\": [\"host.docker.internal:host-gateway\"],\n \"PortBindings\": {\n \"8080/tcp\": [\n {\n \"HostPort\": \"\"\n }\n ]\n }\n },\n \"Env\": [\"MAVLINK2REST_URL=http://host.docker.internal/mavlink2rest/v1\"]\n}\n~~~

", + "support": "https://github.com/clydemcqueen/surftrak_fixit/issues", + "requirements": "core >= 1.1", "company": { "about": "", - "name": "JM Robotics", - "email": "support@jmrobotics.no" + "name": "Discovery Bay", + "email": "clyde@mcqueen.net" }, "permissions": { - "Env": [ - "SERVER_URL=https://software.jmrobotics.no/server/", - "I2CBUS=6", - "ROV_ID=" - ], "ExposedPorts": { - "1337/tcp": {}, - "8137/tcp": {}, - "1338/tcp": {} + "8080/tcp": {} }, - "NetworkMode": "host", "HostConfig": { - "Privileged": true, - "Binds": [ - "/root/.config/jm:/root/.config" - ], "ExtraHosts": [ "host.docker.internal:host-gateway" ], "PortBindings": { - "1337/tcp": [ - { - "HostPort": "1337" - } - ], - "8137/tcp": [ - { - "HostPort": "8137" - } - ], - "1338/tcp": [ + "8080/tcp": [ { - "HostPort": "1338" + "HostPort": "" } ] } - } + }, + "Env": [ + "MAVLINK2REST_URL=http://host.docker.internal/mavlink2rest/v1" + ] } - }, - "0.0.4": { - "identifier": "fbde77c2-558e-5654-9fba-00720ba5ca46", - "type": "other", - "website": "https://www.jmrobotics.no", + } + }, + "repo_info": { + "downloads": 1339, + "last_updated": "2024-06-23T16:01:49.148109Z", + "date_registered": "2024-06-08T17:31:16.936347Z" + } + }, + { + "identifier": "waterlinked.ugps", + "name": "Water Linked UGPS", + "website": "https://github.com/waterlinked/blueos-ugps-extension", + "docker": "waterlinked/blueos-ugps-extension", + "description": "Provides location with GPS and SBL acoustic positioning", + "extension_logo": "https://raw.githubusercontent.com/bluerobotics/BlueOS-Extensions-Repository/master/repos/waterlinked/ugps/extension_logo.png", + "company_logo": "https://raw.githubusercontent.com/bluerobotics/BlueOS-Extensions-Repository/master/repos/waterlinked/company_logo.png", + "versions": { + "v1.0.7": { + "identifier": "0c5721ac-c2ba-5fbd-ad3e-e2c0fe1ef646", + "type": "device-integration", + "website": "https://github.com/waterlinked/blueos-ugps-extension", "images": [ { - "expanded_size": 98481422, + "expanded_size": 42737259, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:a383b8e2f0888f718c52bc92f99d4180bce41e3d9d44ef6886b642e6ae2d1719" + "digest": "sha256:c6cdac88c362326fcceb817befaf78f9b687c16f64d73299e6e3614757c36ca0" } ], "authors": [ { - "name": "Mads Peter Hammer Strand", - "email": "mads@jmrobotics.no" + "name": "Water Linked", + "email": "support@waterlinked.com" } ], - "filter_tags": [], + "filter_tags": [ + "positioning", + "navigation", + "short-baseline" + ], "extra_links": {}, - "tag": "0.0.4", + "tag": "v1.0.7", "docs": null, - "readme": "No README available", - "support": "https://www.jmrobotics.no", - "requirements": "core >= 1", + "readme": "

BlueOS Extension for Water Linked Underwater GPS

\n

State

\n

This extension has no UI page (so it creates no listing in the sidebar of BlueOS).

\n

Functionality

\n

Assuming the UGPS is detected and working, this service\n* forwards MAVLink data from Mavlink2Rest like depth to the UGPS Topside (to enable it to function)\n* forwards locator position from UGPS Topside to MAVLink (message GPS_INPUT)\n * the autopilot should send corresponding GPS_RAW_INT messages to the topside computer (QGroundControl)\n * the autopilot sends regular GLOBAL_POSITION_INT messages to the topside computer with its filtered position estimates\n* forwards topside position from UGPS Topside to UDP port 14401 with NMEA to be received by QGroundControl.\n * This feature is experimental and does not work reliably with all versions of QGroundControl.

\n

Information flow triggered by this extension:\n\"Information

\n

If you do not have access to a UGPS system, you can use UGPS_HOST=https://demo.waterlinked.com , which simulates a UGPS system with its API.

\n

Hardware documentation can be found at https://waterlinked.github.io/underwater-gps/integration/bluerov-integration/

\n

How to install

\n

There are 2 options

\n

Preferred: Use the extensions manager in BlueOS > 1.1.0

\n
    \n
  • Click Extensions > Extensions Manager
  • \n
  • Install this extension
  • \n
\n

Configuration is usually not required, but can be done by editing the extension in the \"Installed\" tab of the Extensions Manager.

\n

Editing requires Pirate Mode\nto be enabled, after which the \"Edit\" button can be used. Copy the Original Settings contents\ninto the Custom settings box, and (if necessary) change the IPs/Host addresses, e.g. to use the demo server:\n{\n \"NetworkMode\": \"host\",\n \"Env\": [\n \"UGPS_HOST=https://demo.waterlinked.com\",\n \"MAVLINK_HOST=http://192.168.2.2:6040\",\n \"QGC_IP=192.168.2.1\",\n \"EXTRA_ARGS=\"\n ]\n}

\n

Use the \"View Logs\" button to check the status.

\n

For developers: Build docker image yourself and start it

\n

To set this up, ssh into the Raspberry Pi (or access via red-pill in BlueOS Terminal)

\n

install git, clone this repository and run\n```

\n

build the docker image

\n

docker build -t waterlinked/blueos-ugps-extension:latest .

\n

see all images

\n

docker images

\n

running the plugin

\n

either: run detached

\n

with standard command

\n

docker run -d --net=host waterlinked/blueos-ugps-extension:latest python app/main.py --ugps_host http://192.168.2.94 --mavlink_host http://192.168.2.2:6040 --qgc_ip 192.168.2.1

\n

or with demo server

\n

docker run -d --net=host waterlinked/blueos-ugps-extension:latest python app/main.py --ugps_host https://demo.waterlinked.com --mavlink_host http://192.168.2.2:6040 --qgc_ip 192.168.2.1

\n

or: in interactive shell to get debug output

\n

docker run -it waterlinked/blueos-ugps-extension:latest /bin/bash

\n

with standard command

\n

cd app && python main.py --ugps_host http://192.168.2.94 --mavlink_host http://192.168.2.2:6040 --qgc_ip 192.168.2.1

\n

or with demo server

\n

cd app && python main.py --ugps_host https://demo.waterlinked.com --mavlink_host http://192.168.2.2:6040 --qgc_ip 192.168.2.1

\n

end interactive session

\n

exit

\n

then stop/start/look at log with

\n

docker stop [container-id]\ndocker start [container-id]\ndocker log [container-id] # if run detached

\n

if you are a developer, upload the docker image to registry with (replace \"latest\" with desired tag)

\n

docker login -u waterlinked\ndocker push waterlinked/blueos-ugps-extension:latest\n```

", + "support": "https://github.com/waterlinked/blueos-ugps-extension/issues", + "requirements": "core >= 1.1", "company": { "about": "", - "name": "JM Robotics", - "email": "support@jmrobotics.no" + "name": "Water Linked", + "email": "support@waterlinked.com" }, "permissions": { - "Env": [ - "SERVER_URL=https://software.jmrobotics.no/server/", - "I2CBUS=6", - "ROV_ID=" - ], - "ExposedPorts": { - "1337/tcp": {}, - "8137/tcp": {}, - "1338/tcp": {} - }, "NetworkMode": "host", - "HostConfig": { - "Privileged": true, - "Binds": [ - "/root/.config/jm:/root/.config" - ], - "ExtraHosts": [ - "host.docker.internal:host-gateway" - ], - "PortBindings": { - "1337/tcp": [ - { - "HostPort": "1337" - } - ], - "8137/tcp": [ - { - "HostPort": "8137" - } - ], - "1338/tcp": [ - { - "HostPort": "1338" - } - ] - } - } + "Env": [ + "UGPS_HOST=http://192.168.2.94", + "MAVLINK_HOST=http://192.168.2.2:6040", + "QGC_IP=192.168.2.1", + "EXTRA_ARGS=" + ] } }, - "0.0.3": { - "identifier": "04354e64-e2b2-59ba-b0d7-61cbe54a3820", - "type": "other", - "website": "https://www.jmrobotics.no", + "v1.0.7-beta.5": { + "identifier": "ec530e8b-3edb-5204-8ec3-7ab95a2548aa", + "type": "device-integration", + "website": "https://github.com/waterlinked/blueos-ugps-extension", "images": [ { - "expanded_size": 98481100, + "expanded_size": 45409796, "platform": { "architecture": "arm", - "variant": "v7", + "variant": "v5", "os": "linux" }, - "digest": "sha256:c58fd0b5d2f68f9df5924ff54f444849aa1c413e40a2725bc01cf6a3b6ca3645" + "digest": "sha256:a3e5dd741d7c259f42e53ae660aaba0a4c4ea809bac829a8bf7ddf9f08488027" } ], "authors": [ { - "name": "Mads Peter Hammer Strand", - "email": "mads@jmrobotics.no" + "name": "Willian Galvani", + "email": "willian@bluerobotics.com" } ], - "filter_tags": [], + "filter_tags": [ + "positioning", + "navigation", + "short-baseline" + ], "extra_links": {}, - "tag": "0.0.3", + "tag": "v1.0.7-beta.5", "docs": null, "readme": "No README available", - "support": "https://www.jmrobotics.no", - "requirements": "core >= 1", + "support": "https://github.com/waterlinked/blueos-ugps-extension/issues", + "requirements": "core >= 1.1", "company": { "about": "", - "name": "JM Robotics", - "email": "support@jmrobotics.no" + "name": "Water Linked", + "email": "support@waterlinked.com" }, "permissions": { - "Env": [ - "SERVER_URL=https://software.jmrobotics.no/server/", - "ROV_ID=" - ], - "ExposedPorts": { - "1337/tcp": {}, - "8137/tcp": {}, - "1338/tcp": {} - }, "NetworkMode": "host", - "HostConfig": { - "Privileged": true, - "Binds": [ - "/root/.config/jm:/root/.config" - ], - "ExtraHosts": [ - "host.docker.internal:host-gateway" - ], - "PortBindings": { - "1337/tcp": [ - { - "HostPort": "1337" - } - ], - "8137/tcp": [ - { - "HostPort": "8137" - } - ], - "1338/tcp": [ - { - "HostPort": "1338" - } - ] - } - } + "Env": [ + "UGPS_HOST=http://192.168.2.94", + "MAVLINK_HOST=http://192.168.2.2:6040", + "QGC_IP=192.168.2.1", + "EXTRA_ARGS=" + ] } }, - "0.0.2": { - "identifier": "a102f7fd-cb95-5bb6-99ed-3b0b1ae0b1cc", - "type": "other", - "website": "https://www.jmrobotics.no", + "v1.0.7-beta.2": { + "identifier": "01960110-d3b4-5ec9-b831-fc6ed5504c76", + "type": "device-integration", + "website": "https://github.com/waterlinked/blueos-ugps-extension", "images": [ { - "expanded_size": 55223354, + "expanded_size": 42996077, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:50251ec8c463a50ab3013bdcdd6bfb1f913c34ffe579f326c12d539b5bd14248" + "digest": "sha256:827ca6180221c282ced1a2c58e02388c1cf1b4eb87cca1604355a90bf0b81293" } ], "authors": [ { - "name": "Mads Peter Hammer Strand", - "email": "mads@jmrobotics.no" + "name": "Willian Galvani", + "email": "willian@bluerobotics.com" } ], - "filter_tags": [], + "filter_tags": [ + "positioning", + "navigation", + "short-baseline" + ], "extra_links": {}, - "tag": "0.0.2", + "tag": "v1.0.7-beta.2", "docs": null, - "readme": "No README available", - "support": "https://www.jmrobotics.no", - "requirements": "core >= 1", + "readme": "

BlueOS Extension for Water Linked Underwater GPS

\n

State

\n

This extension has no UI page (so it creates no listing in the sidebar of BlueOS).

\n

Functionality

\n

Assuming the UGPS is detected and working, this service\n* forwards MAVLink data from Mavlink2Rest like depth to the UGPS Topside (to enable it to function)\n* forwards locator position from UGPS Topside to MAVLink (message GPS_INPUT)\n * the autopilot should send corresponding GPS_RAW_INT messages to the topside computer (QGroundControl)\n * the autopilot sends regular GLOBAL_POSITION_INT messages to the topside computer with its filtered position estimates\n* forwards topside position from UGPS Topside to UDP port 14401 with NMEA to be received by QGroundControl.\n * This feature is experimental and does not work reliably with all version of QGroundControl.

\n

If you do not have access to a UGPS system, you can use UGPS_HOST=https://demo.waterlinked.com , which simulates a UGPS system with its API.

\n

Hardware documentation can be found at https://waterlinked.github.io/underwater-gps/integration/bluerov-integration/

\n

How to install

\n

There are 2 options

\n

Preferred: Use the extensions manager in BlueOS > 1.1.0

\n
    \n
  • Click Extensions > Extensions Manager
  • \n
  • Install this extension
  • \n
\n

Configuration is usually not required, but can be done by editing the extension in the \"Installed\" tab of the Extensions Manager.

\n

Editing requires Pirate Mode\nto be enabled, after which the \"Edit\" button can be used. Copy the Original Settings contents\ninto the Custom settings box, and (if necessary) change the IPs/Host addresses, e.g. to use the demo server:\n{\n \"NetworkMode\": \"host\",\n \"Env\": [\n \"UGPS_HOST=https://demo.waterlinked.com\",\n \"MAVLINK_HOST=http://192.168.2.2:6040\",\n \"QGC_IP=192.168.2.1\",\n \"EXTRA_ARGS=\"\n ]\n}

\n

Use the \"View Logs\" button to check the status.

\n

For developers: Build docker image yourself and start it

\n

To set this up, ssh into the Raspberry Pi (or access via red-pill in BlueOS Terminal)

\n

install git, clone this repository and run\n```

\n

build the docker image

\n

docker build -t waterlinked/blueos-ugps-extension:latest .

\n

see all images

\n

docker images

\n

running the plugin

\n

either: run detached

\n

with standard command

\n

docker run -d --net=host waterlinked/blueos-ugps-extension:latest python app/main.py --ugps_host http://192.168.2.94 --mavlink_host http://192.168.2.2:6040 --qgc_ip 192.168.2.1

\n

or with demo server

\n

docker run -d --net=host waterlinked/blueos-ugps-extension:latest python app/main.py --ugps_host https://demo.waterlinked.com --mavlink_host http://192.168.2.2:6040 --qgc_ip 192.168.2.1

\n

or: in interactive shell to get debug output

\n

docker run -it waterlinked/blueos-ugps-extension:latest /bin/bash

\n

with standard command

\n

cd app && python main.py --ugps_host http://192.168.2.94 --mavlink_host http://192.168.2.2:6040 --qgc_ip 192.168.2.1

\n

or with demo server

\n

cd app && python main.py --ugps_host https://demo.waterlinked.com --mavlink_host http://192.168.2.2:6040 --qgc_ip 192.168.2.1

\n

end interactive session

\n

exit

\n

then stop/start/look at log with

\n

docker stop [container-id]\ndocker start [container-id]\ndocker log [container-id] # if run detached

\n

if you are a developer, upload the docker image to registry with (replace \"latest\" with desired tag)

\n

docker login -u waterlinked\ndocker push waterlinked/blueos-ugps-extension:latest\n```

", + "support": "https://github.com/waterlinked/blueos-ugps-extension/issues", + "requirements": "core >= 1.1", "company": { "about": "", - "name": "JM Robotics", - "email": "support@jmrobotics.no" + "name": "Water Linked", + "email": "support@waterlinked.com" }, "permissions": { - "Env": [ - "SERVER_URL=https://software.jmrobotics.no/server/", - "ROV_ID=" - ], - "ExposedPorts": { - "1337/tcp": {}, - "1338/tcp": {} - }, "NetworkMode": "host", - "HostConfig": { - "Privileged": true, - "Binds": [ - "/root/.config/jm:/root/.config" - ], - "ExtraHosts": [ - "host.docker.internal:host-gateway" - ], - "PortBindings": { - "1337/tcp": [ - { - "HostPort": "1337" - } - ], - "1338/tcp": [ - { - "HostPort": "1338" - } - ] - } - } + "Env": [ + "UGPS_HOST=http://192.168.2.94", + "MAVLINK_HOST=http://192.168.2.2:6040", + "QGC_IP=192.168.2.1", + "EXTRA_ARGS=" + ] } }, - "0.0.1": { - "identifier": "b7af0fda-ea84-5b6a-82fa-e72932971ebd", - "type": "other", - "website": "https://www.jmrobotics.no", + "v1.0.6": { + "identifier": "a16ae9c5-eeb8-5263-8b1c-0401b0a1e2da", + "type": "device-integration", + "website": "https://github.com/waterlinked/blueos-ugps-extension", "images": [ { - "expanded_size": 43060080, + "expanded_size": 44982471, "platform": { "architecture": "arm", "variant": "v7", "os": "linux" }, - "digest": "sha256:6697aeaebf7b1ffe2847c7434e8a3dd2d42872efb359d0f978ba6152140313fa" + "digest": "sha256:d1c746dac6246d215f00966754129fb78375c1e98bba95d9a0f3a165a2522805" } ], "authors": [ { - "name": "Mads Peter Hammer Strand", - "email": "mads@jmrobotics.no" + "name": "Willian Galvani", + "email": "willian@bluerobotics.com" } ], - "filter_tags": [], + "filter_tags": [ + "positioning", + "navigation", + "short-baseline" + ], "extra_links": {}, - "tag": "0.0.1", + "tag": "v1.0.6", "docs": null, - "readme": "No README available", - "support": "https://www.jmrobotics.no", - "requirements": "core >= 1", + "readme": "

BlueOS Extension for Water Linked Underwater GPS

\n

State

\n

This extension is currently in development. It has no UI page (so creates no listing in the sidebar of BlueOS).

\n

Functionality

\n

Assuming the UGPS is detected and working this service\n* forwards MAVLink data from Mavlink2Rest like depth to the UGPS Topside (to enable it to function)\n* forwards locator position from UGPS Topside to MAVLink (message GPS_INPUT)\n * the autopilot should send corresponding GPS_RAW_INT messages to the topside computer (QGroundControl)\n * the autopilot sends regular GLOBAL_POSITION_INT messages to the topside computer with its filtered position estimates\n* forwards topside position from UGPS Topside to UDP port 14401 with NMEA to be received by QGroundControl.

\n

If you do not have access to a UGPS system, you can use UGPS_HOST=https://demo.waterlinked.com , which simulates a UGPS system with its API.

\n

Hardware documentation can be found at https://waterlinked.github.io/underwater-gps/integration/bluerov-integration/

\n

How to install

\n

There are 2 options

\n

Use the extensions manager in BlueOS 1.1.0

\n
    \n
  • Click Extensions > Extensions Manager
  • \n
  • Install this extension
  • \n
\n

Configuration is usually not required, but can be done by editing the extension in the \"Installed\" tab of the Extensions Manager.

\n

Editing requires Pirate Mode\nto be enabled, after which the \"Edit\" button can be used. Copy the Original Settings contents\ninto the Custom settings box, and (if necessary) change the IPs/Host addresses, e.g. to use the demo server:\n{\n \"NetworkMode\": \"host\",\n \"Env\": [\n \"UGPS_HOST=https://demo.waterlinked.com\",\n \"MAVLINK_HOST=http://192.168.2.2:6040\",\n \"QGC_IP=192.168.2.1\",\n \"EXTRA_ARGS=\"\n ]\n}

\n

Use the \"View Logs\" button to check the status.

\n

Build docker image yourself and start it

\n

To set this up, ssh into the Raspberry Pi (or access via red-pill in BlueOS Terminal)

\n

install git, clone this repository and run\n```

\n

build the docker image

\n

docker build -t waterlinked/blueos-ugps-extension:latest .

\n

see all images

\n

docker images

\n

running the plugin

\n

either: run detached

\n

with standard command

\n

docker run -d --net=host waterlinked/blueos-ugps-extension:latest python app/main.py --ugps_host http://192.168.2.94 --mavlink_host http://192.168.2.2:6040 --qgc_ip 192.168.2.1

\n

or with demo server

\n

docker run -d --net=host waterlinked/blueos-ugps-extension:latest python app/main.py --ugps_host https://demo.waterlinked.com --mavlink_host http://192.168.2.2:6040 --qgc_ip 192.168.2.1

\n

or: in interactive shell to get debug output

\n

docker run -it waterlinked/blueos-ugps-extension:latest /bin/bash

\n

with standard command

\n

cd app && python main.py --ugps_host http://192.168.2.94 --mavlink_host http://192.168.2.2:6040 --qgc_ip 192.168.2.1

\n

or with demo server

\n

cd app && python main.py --ugps_host https://demo.waterlinked.com --mavlink_host http://192.168.2.2:6040 --qgc_ip 192.168.2.1

\n

end interactive session

\n

exit

\n

then stop/start/look at log with

\n

docker stop [container-id]\ndocker start [container-id]\ndocker log [container-id] # if run detached

\n

if you are a developer, upload to registry with (replace latest with desired tag)

\n

docker login -u waterlinked\ndocker push waterlinked/blueos-ugps-extension:latest\n```

", + "support": "https://github.com/waterlinked/blueos-ugps-extension/issues", + "requirements": "core >= 1.1", "company": { "about": "", - "name": "JM Robotics", - "email": "support@jmrobotics.no" + "name": "Water Linked", + "email": "support@waterlinked.com" }, "permissions": { - "Env": [ - "SERVER_URL=https://software.jmrobotics.no/server/", - "ROV_ID=" - ], "NetworkMode": "host", - "HostConfig": { - "Binds": [ - "/root/.config/jm:/root/.config" - ], - "ExtraHosts": [ - "host.docker.internal:host-gateway" - ] - } + "Env": [ + "UGPS_HOST=http://192.168.2.94", + "MAVLINK_HOST=http://192.168.2.2:6040", + "QGC_IP=192.168.2.1", + "EXTRA_ARGS=" + ] } - } - }, - "repo_info": { - "downloads": 15074, - "last_updated": "2024-09-16T12:54:32.088839Z", - "date_registered": "2023-05-02T08:49:43.621656Z" - } - }, - { - "identifier": "itskalvik.ros2", - "name": "ROS2", - "website": "https://github.com/itskalvik/blueos-ros2", - "docker": "itskalvik/blueos-ros2", - "description": "Robot Operating System 2 (ROS2) extension for BlueOS", - "extension_logo": "https://raw.githubusercontent.com/bluerobotics/BlueOS-Extensions-Repository/master/repos/itskalvik/ros2/extension_logo.png", - "company_logo": "https://raw.githubusercontent.com/bluerobotics/BlueOS-Extensions-Repository/master/repos/itskalvik/company_logo.png", - "versions": { - "0.0.1": { - "identifier": "c1d98179-2821-5887-8139-9d454a33d024", + }, + "v1.0.4": { + "identifier": "07593b5f-33d9-512b-92e7-bde2b70e0c1a", "type": "other", - "website": null, + "website": "https://github.com/waterlinked/blueos-ugps-extension", "images": [ { - "expanded_size": 299133958, + "expanded_size": 43100109, "platform": { - "architecture": "arm64", - "variant": null, + "architecture": "arm", + "variant": "v7", "os": "linux" }, - "digest": "sha256:98851140b60814f9a02ff80ce4f269f69a19f76dcc08e64eb5445d2ad06e2af7" + "digest": "sha256:55811587b48ae3f980fa069e27d74c11a98567bd141eb2cb29cd3a0a43c39526" } ], "authors": [ { - "name": "Kalvik Jakkala", - "email": "itskalvik@gmail.com" + "name": "Willian Galvani", + "email": "willian@bluerobotics.com" } ], - "filter_tags": [ - "ros2", - "robot" - ], + "filter_tags": [], "extra_links": {}, - "tag": "0.0.1", + "tag": "v1.0.4", "docs": null, - "readme": "

BlueOS ROS2 Extension

\n

This extension makes it possible to communicate with the vehicle via ROS2 and MAVROS

", - "support": null, - "requirements": null, + "readme": "

BlueOS Extension for Water Linked Underwater GPS

\n

State

\n

This extension is currently in development. It has no UI page (so creates no listing in the sidebar of BlueOS).

\n

Functionality

\n

Assuming the UGPS is detected and working this service\n* forwards MAVLink data from Mavlink2Rest like depth to the UGPS Topside (to enable it to function)\n* forwards locator position from UGPS Topside to MAVLink (message GPS_INPUT)\n * the autopilot should send corresponding GPS_RAW_INT messages to the topside computer (QGroundControl)\n * the autopilot sends regular GLOBAL_POSITION_INT messages to the topside computer with its filtered position estimates\n* forwards topside position from UGPS Topside to UDP port 14401 with NMEA to be received by QGroundControl (implemented, but currently not tested)

\n

If you do not have access to a UGPS system, you can use UGPS_HOST=https://demo.waterlinked.com , which simulates a UGPS system with its API.

\n

Hardware documentation can be found at https://waterlinked.github.io/underwater-gps/integration/bluerov-integration/

\n

How to install

\n

There are 2 options

\n

Use the extensions manager in BlueOS 1.1.0

\n
    \n
  • Click Extensions > Extensions Manager
  • \n
  • Install this extension
  • \n
\n

Configuration is usually not required, but can be done by editing the extension in the \"Installed\" tab of the Extensions Manager.

\n

Editing requires Pirate Mode\nto be enabled, after which the \"Edit\" button can be used. Copy the Original Settings contents\ninto the Custom settings box, and (if necessary) change the IPs/Host addresses:\n\"UGPS_HOST=http://192.168.2.94\",\n \"MAVLINK_HOST=http://192.168.2.2:6040\",\n \"QGC_IP=192.168.2.1\"

\n

Use the \"View Logs\" button to check the status.

\n

Build docker image yourself and start it

\n

To set this up, ssh into the Raspberry Pi (or access via red-pill in BlueOS Terminal)

\n

install git, clone this repository and run\n```

\n

build the docker image

\n

docker build -t waterlinked/blueos-ugps-extension:latest .

\n

see all images

\n

docker images

\n

running the plugin

\n

either: run detached

\n

with standard command

\n

docker run -d --net=host waterlinked/blueos-ugps-extension:latest python app/main.py --ugps_host http://192.168.2.94 --mavlink_host http://192.168.2.2:6040 --qgc_ip 192.168.2.1

\n

or with demo server

\n

docker run -d --net=host waterlinked/blueos-ugps-extension:latest python app/main.py --ugps_host https://demo.waterlinked.com --mavlink_host http://192.168.2.2:6040 --qgc_ip 192.168.2.1

\n

or: in interactive shell to get debug output

\n

docker run -it waterlinked/blueos-ugps-extension:latest /bin/bash

\n

with standard command

\n

cd app && python main.py --ugps_host http://192.168.2.94 --mavlink_host http://192.168.2.2:6040 --qgc_ip 192.168.2.1

\n

or with demo server

\n

cd app && python main.py --ugps_host https://demo.waterlinked.com --mavlink_host http://192.168.2.2:6040 --qgc_ip 192.168.2.1

\n

end interactive session

\n

exit

\n

then stop/start/look at log with

\n

docker stop [container-id]\ndocker start [container-id]\ndocker log [container-id] # if run detached

\n

if you are a developer, upload to registry with (replace latest with desired tag)

\n

docker login -u waterlinked\ndocker push waterlinked/blueos-ugps-extension:latest\n```

", + "support": "https://github.com/waterlinked/blueos-ugps-extension", + "requirements": "core >= 1", "company": { "about": "", - "name": "ItsKalvik", - "email": "itskalvik@gmail.com" + "name": "Blue Robotics / Water Linked", + "email": "support@bluerobotics.com / support@waterlinked.com" }, "permissions": { "NetworkMode": "host", - "HostConfig": { - "Binds": [ - "/dev:/dev:rw" - ], - "Privileged": true, - "NetworkMode": "host" - } + "Env": [ + "UGPS_HOST=http://192.168.2.94", + "MAVLINK_HOST=http://192.168.2.2:6040", + "QGC_IP=192.168.2.1" + ] } } }, "repo_info": { - "downloads": 194, - "last_updated": "2024-11-18T15:06:56.257201Z", - "date_registered": "2024-11-10T22:07:32.150637Z" + "downloads": 4865, + "last_updated": "2024-10-16T08:28:28.588962Z", + "date_registered": "2023-04-18T13:14:56.444696Z" } } ] \ No newline at end of file diff --git a/manifest.json.gz b/manifest.json.gz index 31bf189..c337eb7 100644 Binary files a/manifest.json.gz and b/manifest.json.gz differ diff --git a/manifest.log b/manifest.log index 7a3a0da..2ff1e8a 100644 --- a/manifest.log +++ b/manifest.log @@ -44,11 +44,11 @@ "status": "WARNING" }, { - "message": "Generated version entry 0.1.0 for extension bluerobotics.cellphone-modem-manager", + "message": "Generated version entry 0.2.0 for extension bluerobotics.cellphone-modem-manager", "status": "INFO" }, { - "message": "Generated version entry 0.2.0 for extension bluerobotics.cellphone-modem-manager", + "message": "Generated version entry 0.1.0 for extension bluerobotics.cellphone-modem-manager", "status": "INFO" } ], @@ -162,43 +162,43 @@ "status": "WARNING" }, { - "message": "Failed to generate version v1.4.0 for extension bluerobotics.cockpit, error: Cannot write to closing transport", - "status": "ERROR" + "message": "Generated version entry v1.9.0 for extension bluerobotics.cockpit", + "status": "INFO" }, { - "message": "Failed to generate version v1.1.0 for extension bluerobotics.cockpit, error: Cannot write to closing transport", - "status": "ERROR" + "message": "Generated version entry v1.0.0-beta.28 for extension bluerobotics.cockpit", + "status": "INFO" }, { - "message": "Failed to generate version v1.0.0-beta.29 for extension bluerobotics.cockpit, error: Cannot write to closing transport", - "status": "ERROR" + "message": "Generated version entry v1.2.1 for extension bluerobotics.cockpit", + "status": "INFO" }, { - "message": "Failed to generate version v1.6.0 for extension bluerobotics.cockpit, error: Cannot write to closing transport", - "status": "ERROR" + "message": "Generated version entry v1.3.2 for extension bluerobotics.cockpit", + "status": "INFO" }, { - "message": "Failed to generate version v1.9.0 for extension bluerobotics.cockpit, error: Cannot write to closing transport", - "status": "ERROR" + "message": "Generated version entry v1.1.0 for extension bluerobotics.cockpit", + "status": "INFO" }, { - "message": "Generated version entry 1.7.0 for extension bluerobotics.cockpit", + "message": "Generated version entry v1.0.2 for extension bluerobotics.cockpit", "status": "INFO" }, { - "message": "Generated version entry v1.2.2 for extension bluerobotics.cockpit", + "message": "Generated version entry v1.1.1 for extension bluerobotics.cockpit", "status": "INFO" }, { - "message": "Generated version entry v1.7.1 for extension bluerobotics.cockpit", + "message": "Generated version entry 1.7.0 for extension bluerobotics.cockpit", "status": "INFO" }, { - "message": "Generated version entry v1.2.1 for extension bluerobotics.cockpit", + "message": "Generated version entry v1.6.0 for extension bluerobotics.cockpit", "status": "INFO" }, { - "message": "Generated version entry v1.2.0 for extension bluerobotics.cockpit", + "message": "Generated version entry v1.0.1 for extension bluerobotics.cockpit", "status": "INFO" }, { @@ -206,51 +206,51 @@ "status": "INFO" }, { - "message": "Generated version entry v1.3.1 for extension bluerobotics.cockpit", + "message": "Generated version entry v1.0.0-beta.30 for extension bluerobotics.cockpit", "status": "INFO" }, { - "message": "Generated version entry v1.1.1 for extension bluerobotics.cockpit", + "message": "Generated version entry v1.0.0 for extension bluerobotics.cockpit", "status": "INFO" }, { - "message": "Generated version entry v1.0.2 for extension bluerobotics.cockpit", + "message": "Generated version entry v1.2.2 for extension bluerobotics.cockpit", "status": "INFO" }, { - "message": "Generated version entry v1.3.0 for extension bluerobotics.cockpit", + "message": "Generated version entry v1.4.0 for extension bluerobotics.cockpit", "status": "INFO" }, { - "message": "Generated version entry v1.0.0 for extension bluerobotics.cockpit", + "message": "Generated version entry v1.4.1 for extension bluerobotics.cockpit", "status": "INFO" }, { - "message": "Generated version entry v1.5.0 for extension bluerobotics.cockpit", + "message": "Generated version entry v1.2.0 for extension bluerobotics.cockpit", "status": "INFO" }, { - "message": "Generated version entry v1.3.2 for extension bluerobotics.cockpit", + "message": "Generated version entry v1.0.0-beta.29 for extension bluerobotics.cockpit", "status": "INFO" }, { - "message": "Generated version entry v1.0.0-beta.28 for extension bluerobotics.cockpit", + "message": "Generated version entry v1.5.0 for extension bluerobotics.cockpit", "status": "INFO" }, { - "message": "Generated version entry v1.0.1 for extension bluerobotics.cockpit", + "message": "Generated version entry v1.3.1 for extension bluerobotics.cockpit", "status": "INFO" }, { - "message": "Generated version entry v1.0.0-beta.30 for extension bluerobotics.cockpit", + "message": "Generated version entry v1.3.0 for extension bluerobotics.cockpit", "status": "INFO" }, { - "message": "Generated version entry v1.8.0 for extension bluerobotics.cockpit", + "message": "Generated version entry v1.7.1 for extension bluerobotics.cockpit", "status": "INFO" }, { - "message": "Generated version entry v1.4.1 for extension bluerobotics.cockpit", + "message": "Generated version entry v1.8.0 for extension bluerobotics.cockpit", "status": "INFO" } ], @@ -324,19 +324,19 @@ "status": "INFO" }, { - "message": "Generated version entry 1.0.0 for extension bluerobotics.node-red", + "message": "Generated version entry 1.0.1 for extension bluerobotics.node-red", "status": "INFO" }, { - "message": "Generated version entry 1.0.1 for extension bluerobotics.node-red", + "message": "Generated version entry 1.0.3 for extension bluerobotics.node-red", "status": "INFO" }, { - "message": "Generated version entry 1.0.2 for extension bluerobotics.node-red", + "message": "Generated version entry 1.0.0 for extension bluerobotics.node-red", "status": "INFO" }, { - "message": "Generated version entry 1.0.3 for extension bluerobotics.node-red", + "message": "Generated version entry 1.0.2 for extension bluerobotics.node-red", "status": "INFO" } ], @@ -354,47 +354,47 @@ "status": "ERROR" }, { - "message": "Generated version entry 1.0.4 for extension bluerobotics.openvscode", + "message": "Generated version entry 1.0.0 for extension bluerobotics.openvscode", "status": "INFO" }, { - "message": "Generated version entry 1.1.0 for extension bluerobotics.openvscode", + "message": "Generated version entry 1.0.6 for extension bluerobotics.openvscode", "status": "INFO" }, { - "message": "Generated version entry 1.1.1 for extension bluerobotics.openvscode", + "message": "Generated version entry 1.1.0 for extension bluerobotics.openvscode", "status": "INFO" }, { - "message": "Generated version entry 1.0.2 for extension bluerobotics.openvscode", + "message": "Generated version entry 1.0.1 for extension bluerobotics.openvscode", "status": "INFO" }, { - "message": "Generated version entry 1.0.1 for extension bluerobotics.openvscode", + "message": "Generated version entry 1.0.7 for extension bluerobotics.openvscode", "status": "INFO" }, { - "message": "Generated version entry 1.0.3 for extension bluerobotics.openvscode", + "message": "Generated version entry 1.0.5 for extension bluerobotics.openvscode", "status": "INFO" }, { - "message": "Generated version entry 1.0.5 for extension bluerobotics.openvscode", + "message": "Generated version entry 1.1.1 for extension bluerobotics.openvscode", "status": "INFO" }, { - "message": "Generated version entry 1.0.6 for extension bluerobotics.openvscode", + "message": "Generated version entry 1.0.2 for extension bluerobotics.openvscode", "status": "INFO" }, { - "message": "Generated version entry 1.0.7 for extension bluerobotics.openvscode", + "message": "Generated version entry 1.0.3 for extension bluerobotics.openvscode", "status": "INFO" }, { - "message": "Generated version entry 1.1.2 for extension bluerobotics.openvscode", + "message": "Generated version entry 1.0.4 for extension bluerobotics.openvscode", "status": "INFO" }, { - "message": "Generated version entry 1.0.0 for extension bluerobotics.openvscode", + "message": "Generated version entry 1.1.2 for extension bluerobotics.openvscode", "status": "INFO" } ], @@ -484,27 +484,27 @@ "status": "WARNING" }, { - "message": "Generated version entry v1.0.3 for extension bluerobotics.water-linked-dvl", + "message": "Generated version entry v1.0.5 for extension bluerobotics.water-linked-dvl", "status": "INFO" }, { - "message": "Generated version entry v1.0.7 for extension bluerobotics.water-linked-dvl", + "message": "Generated version entry v1.0.0 for extension bluerobotics.water-linked-dvl", "status": "INFO" }, { - "message": "Generated version entry v1.0.0 for extension bluerobotics.water-linked-dvl", + "message": "Generated version entry v1.0.7 for extension bluerobotics.water-linked-dvl", "status": "INFO" }, { - "message": "Generated version entry v1.0.1 for extension bluerobotics.water-linked-dvl", + "message": "Generated version entry v1.0.3 for extension bluerobotics.water-linked-dvl", "status": "INFO" }, { - "message": "Generated version entry v1.0.4 for extension bluerobotics.water-linked-dvl", + "message": "Generated version entry v1.0.2 for extension bluerobotics.water-linked-dvl", "status": "INFO" }, { - "message": "Generated version entry v1.0.2 for extension bluerobotics.water-linked-dvl", + "message": "Generated version entry v1.0.1 for extension bluerobotics.water-linked-dvl", "status": "INFO" }, { @@ -512,7 +512,7 @@ "status": "INFO" }, { - "message": "Generated version entry v1.0.5 for extension bluerobotics.water-linked-dvl", + "message": "Generated version entry v1.0.4 for extension bluerobotics.water-linked-dvl", "status": "INFO" } ], @@ -548,11 +548,11 @@ "status": "ERROR" }, { - "message": "Generated version entry v1.1.0 for extension ceruleansonar.cerulean-docs", + "message": "Generated version entry v1.0.0 for extension ceruleansonar.cerulean-docs", "status": "INFO" }, { - "message": "Generated version entry v1.0.0 for extension ceruleansonar.cerulean-docs", + "message": "Generated version entry v1.1.0 for extension ceruleansonar.cerulean-docs", "status": "INFO" } ], @@ -574,31 +574,31 @@ "status": "ERROR" }, { - "message": "Generated version entry v1.0.8 for extension ceruleansonar.cerulean-dvl", + "message": "Generated version entry v1.0.7 for extension ceruleansonar.cerulean-dvl", "status": "INFO" }, { - "message": "Generated version entry v1.0.4 for extension ceruleansonar.cerulean-dvl", + "message": "Generated version entry v1.0.8 for extension ceruleansonar.cerulean-dvl", "status": "INFO" }, { - "message": "Generated version entry v1.0.6 for extension ceruleansonar.cerulean-dvl", + "message": "Generated version entry v1.0.4 for extension ceruleansonar.cerulean-dvl", "status": "INFO" }, { - "message": "Generated version entry v1.0.5 for extension ceruleansonar.cerulean-dvl", + "message": "Generated version entry v1.0.2 for extension ceruleansonar.cerulean-dvl", "status": "INFO" }, { - "message": "Generated version entry v1.0.7 for extension ceruleansonar.cerulean-dvl", + "message": "Generated version entry v1.0.1 for extension ceruleansonar.cerulean-dvl", "status": "INFO" }, { - "message": "Generated version entry v1.0.2 for extension ceruleansonar.cerulean-dvl", + "message": "Generated version entry v1.0.6 for extension ceruleansonar.cerulean-dvl", "status": "INFO" }, { - "message": "Generated version entry v1.0.1 for extension ceruleansonar.cerulean-dvl", + "message": "Generated version entry v1.0.5 for extension ceruleansonar.cerulean-dvl", "status": "INFO" } ], @@ -696,15 +696,15 @@ "status": "WARNING" }, { - "message": "Generated version entry 1.10.2-beta.3 for extension ceruleansonar.sonarview", + "message": "Generated version entry 1.9.12-beta.7 for extension ceruleansonar.sonarview", "status": "INFO" }, { - "message": "Generated version entry 1.9.10-beta for extension ceruleansonar.sonarview", + "message": "Generated version entry 1.10.0-beta.11 for extension ceruleansonar.sonarview", "status": "INFO" }, { - "message": "Generated version entry 1.10.0 for extension ceruleansonar.sonarview", + "message": "Generated version entry 1.11.3 for extension ceruleansonar.sonarview", "status": "INFO" }, { @@ -712,7 +712,7 @@ "status": "INFO" }, { - "message": "Generated version entry 1.10.0-beta.4 for extension ceruleansonar.sonarview", + "message": "Generated version entry 1.11.6 for extension ceruleansonar.sonarview", "status": "INFO" }, { @@ -720,75 +720,75 @@ "status": "INFO" }, { - "message": "Generated version entry 1.13.1-beta for extension ceruleansonar.sonarview", + "message": "Generated version entry 1.8.9 for extension ceruleansonar.sonarview", "status": "INFO" }, { - "message": "Generated version entry 1.9.12-beta.9 for extension ceruleansonar.sonarview", + "message": "Generated version entry 1.9.7 for extension ceruleansonar.sonarview", "status": "INFO" }, { - "message": "Generated version entry 1.9.4-beta for extension ceruleansonar.sonarview", + "message": "Generated version entry 1.13.1-beta for extension ceruleansonar.sonarview", "status": "INFO" }, { - "message": "Generated version entry 1.11.6 for extension ceruleansonar.sonarview", + "message": "Generated version entry 1.9.10-beta for extension ceruleansonar.sonarview", "status": "INFO" }, { - "message": "Generated version entry 1.10.0-beta.12 for extension ceruleansonar.sonarview", + "message": "Generated version entry 1.10.0-beta.5 for extension ceruleansonar.sonarview", "status": "INFO" }, { - "message": "Generated version entry 1.9.12 for extension ceruleansonar.sonarview", + "message": "Generated version entry 1.9.8 for extension ceruleansonar.sonarview", "status": "INFO" }, { - "message": "Generated version entry 1.11.4 for extension ceruleansonar.sonarview", + "message": "Generated version entry 1.10.0-beta.12 for extension ceruleansonar.sonarview", "status": "INFO" }, { - "message": "Generated version entry 1.9.8 for extension ceruleansonar.sonarview", + "message": "Generated version entry 1.10.0-beta.1 for extension ceruleansonar.sonarview", "status": "INFO" }, { - "message": "Generated version entry 1.9.5-beta for extension ceruleansonar.sonarview", + "message": "Generated version entry 1.10.0-beta.4 for extension ceruleansonar.sonarview", "status": "INFO" }, { - "message": "Generated version entry 1.9.12-beta.8 for extension ceruleansonar.sonarview", + "message": "Generated version entry 1.9.5-beta for extension ceruleansonar.sonarview", "status": "INFO" }, { - "message": "Generated version entry 1.10.0-beta.11 for extension ceruleansonar.sonarview", + "message": "Generated version entry 1.9.12-beta.9 for extension ceruleansonar.sonarview", "status": "INFO" }, { - "message": "Generated version entry 1.10.0-beta.1 for extension ceruleansonar.sonarview", + "message": "Generated version entry 1.10.0 for extension ceruleansonar.sonarview", "status": "INFO" }, { - "message": "Generated version entry 1.10.2-beta for extension ceruleansonar.sonarview", + "message": "Generated version entry 1.9.12 for extension ceruleansonar.sonarview", "status": "INFO" }, { - "message": "Generated version entry 1.8.9 for extension ceruleansonar.sonarview", + "message": "Generated version entry 1.11.4 for extension ceruleansonar.sonarview", "status": "INFO" }, { - "message": "Generated version entry 1.11.3 for extension ceruleansonar.sonarview", + "message": "Generated version entry 1.9.12-beta.8 for extension ceruleansonar.sonarview", "status": "INFO" }, { - "message": "Generated version entry 1.9.12-beta.7 for extension ceruleansonar.sonarview", + "message": "Generated version entry 1.10.2-beta.3 for extension ceruleansonar.sonarview", "status": "INFO" }, { - "message": "Generated version entry 1.9.7 for extension ceruleansonar.sonarview", + "message": "Generated version entry 1.9.4-beta for extension ceruleansonar.sonarview", "status": "INFO" }, { - "message": "Generated version entry 1.10.0-beta.5 for extension ceruleansonar.sonarview", + "message": "Generated version entry 1.10.2-beta for extension ceruleansonar.sonarview", "status": "INFO" } ], @@ -820,19 +820,19 @@ "status": "INFO" }, { - "message": "Generated version entry v1.1.0-beta.1 for extension clydemcqueen.wl_ugps_external", + "message": "Generated version entry v1.0.1 for extension clydemcqueen.wl_ugps_external", "status": "INFO" }, { - "message": "Generated version entry v1.0.1 for extension clydemcqueen.wl_ugps_external", + "message": "Generated version entry v1.0.3 for extension clydemcqueen.wl_ugps_external", "status": "INFO" }, { - "message": "Generated version entry v1.0.2 for extension clydemcqueen.wl_ugps_external", + "message": "Generated version entry v1.1.0-beta.1 for extension clydemcqueen.wl_ugps_external", "status": "INFO" }, { - "message": "Generated version entry v1.0.3 for extension clydemcqueen.wl_ugps_external", + "message": "Generated version entry v1.0.2 for extension clydemcqueen.wl_ugps_external", "status": "INFO" } ], @@ -868,7 +868,7 @@ "status": "WARNING" }, { - "message": "Generated version entry 0.1.6 for extension jmrobotics.jm-connect", + "message": "Generated version entry 0.1.3 for extension jmrobotics.jm-connect", "status": "INFO" }, { @@ -876,23 +876,23 @@ "status": "WARNING" }, { - "message": "Generated version entry 0.1.7 for extension jmrobotics.jm-connect", + "message": "Generated version entry 0.1.1 for extension jmrobotics.jm-connect", "status": "INFO" }, { - "message": "Could not get readme, expected type to be text/plain but got text/html", + "message": "Could not get readme, expected type to be text/plain but got application/octet-stream", "status": "WARNING" }, { - "message": "Generated version entry 0.0.7 for extension jmrobotics.jm-connect", + "message": "Generated version entry 0.1.8 for extension jmrobotics.jm-connect", "status": "INFO" }, { - "message": "Could not get readme, expected type to be text/plain but got text/html", + "message": "Could not get readme, expected type to be text/plain but got application/octet-stream", "status": "WARNING" }, { - "message": "Generated version entry 0.0.6 for extension jmrobotics.jm-connect", + "message": "Generated version entry 0.1.0 for extension jmrobotics.jm-connect", "status": "INFO" }, { @@ -900,7 +900,7 @@ "status": "WARNING" }, { - "message": "Generated version entry 0.1.0 for extension jmrobotics.jm-connect", + "message": "Generated version entry 0.1.4 for extension jmrobotics.jm-connect", "status": "INFO" }, { @@ -908,15 +908,15 @@ "status": "WARNING" }, { - "message": "Generated version entry 0.1.5 for extension jmrobotics.jm-connect", + "message": "Generated version entry 0.0.9 for extension jmrobotics.jm-connect", "status": "INFO" }, { - "message": "Could not get readme, expected type to be text/plain but got application/octet-stream", + "message": "Could not get readme, expected type to be text/plain but got text/html", "status": "WARNING" }, { - "message": "Generated version entry 0.0.9 for extension jmrobotics.jm-connect", + "message": "Generated version entry 0.0.3 for extension jmrobotics.jm-connect", "status": "INFO" }, { @@ -924,7 +924,7 @@ "status": "WARNING" }, { - "message": "Generated version entry 0.1.8 for extension jmrobotics.jm-connect", + "message": "Generated version entry 0.1.6 for extension jmrobotics.jm-connect", "status": "INFO" }, { @@ -936,27 +936,27 @@ "status": "INFO" }, { - "message": "Could not get readme, expected type to be text/plain but got application/octet-stream", + "message": "Could not get readme, expected type to be text/plain but got text/html", "status": "WARNING" }, { - "message": "Generated version entry 0.1.1 for extension jmrobotics.jm-connect", + "message": "Generated version entry 0.0.5 for extension jmrobotics.jm-connect", "status": "INFO" }, { - "message": "Could not get readme, expected type to be text/plain but got application/octet-stream", + "message": "Could not get readme, expected type to be text/plain but got text/html", "status": "WARNING" }, { - "message": "Generated version entry 0.1.2 for extension jmrobotics.jm-connect", + "message": "Generated version entry 0.0.4 for extension jmrobotics.jm-connect", "status": "INFO" }, { - "message": "Could not get readme, expected type to be text/plain but got application/octet-stream", + "message": "Could not get readme, expected type to be text/plain but got text/html", "status": "WARNING" }, { - "message": "Generated version entry 0.1.4 for extension jmrobotics.jm-connect", + "message": "Generated version entry 0.0.7 for extension jmrobotics.jm-connect", "status": "INFO" }, { @@ -964,7 +964,7 @@ "status": "WARNING" }, { - "message": "Generated version entry 0.0.4 for extension jmrobotics.jm-connect", + "message": "Generated version entry 0.0.1 for extension jmrobotics.jm-connect", "status": "INFO" }, { @@ -972,23 +972,23 @@ "status": "WARNING" }, { - "message": "Generated version entry 0.0.1 for extension jmrobotics.jm-connect", + "message": "Generated version entry 0.0.2 for extension jmrobotics.jm-connect", "status": "INFO" }, { - "message": "Could not get readme, expected type to be text/plain but got text/html", + "message": "Could not get readme, expected type to be text/plain but got application/octet-stream", "status": "WARNING" }, { - "message": "Generated version entry 0.0.5 for extension jmrobotics.jm-connect", + "message": "Generated version entry 0.1.5 for extension jmrobotics.jm-connect", "status": "INFO" }, { - "message": "Could not get readme, expected type to be text/plain but got text/html", + "message": "Could not get readme, expected type to be text/plain but got application/octet-stream", "status": "WARNING" }, { - "message": "Generated version entry 0.0.2 for extension jmrobotics.jm-connect", + "message": "Generated version entry 0.0.8 for extension jmrobotics.jm-connect", "status": "INFO" }, { @@ -996,7 +996,7 @@ "status": "WARNING" }, { - "message": "Generated version entry 0.0.8 for extension jmrobotics.jm-connect", + "message": "Generated version entry 0.1.2 for extension jmrobotics.jm-connect", "status": "INFO" }, { @@ -1004,7 +1004,7 @@ "status": "WARNING" }, { - "message": "Generated version entry 0.1.3 for extension jmrobotics.jm-connect", + "message": "Generated version entry 0.1.7 for extension jmrobotics.jm-connect", "status": "INFO" }, { @@ -1012,7 +1012,7 @@ "status": "WARNING" }, { - "message": "Generated version entry 0.0.3 for extension jmrobotics.jm-connect", + "message": "Generated version entry 0.0.6 for extension jmrobotics.jm-connect", "status": "INFO" } ], @@ -1034,19 +1034,19 @@ "status": "ERROR" }, { - "message": "Generated version entry 1.0.0 for extension nortekgroup.nucleus", + "message": "Generated version entry 0.0.6 for extension nortekgroup.nucleus", "status": "INFO" }, { - "message": "Generated version entry 1.0.4 for extension nortekgroup.nucleus", + "message": "Generated version entry 0.0.7 for extension nortekgroup.nucleus", "status": "INFO" }, { - "message": "Generated version entry 0.0.8 for extension nortekgroup.nucleus", + "message": "Generated version entry 1.0.0 for extension nortekgroup.nucleus", "status": "INFO" }, { - "message": "Generated version entry 0.0.7 for extension nortekgroup.nucleus", + "message": "Generated version entry 1.0.1 for extension nortekgroup.nucleus", "status": "INFO" }, { @@ -1054,19 +1054,19 @@ "status": "INFO" }, { - "message": "Generated version entry 1.2.0 for extension nortekgroup.nucleus", + "message": "Generated version entry 1.1.0 for extension nortekgroup.nucleus", "status": "INFO" }, { - "message": "Generated version entry 0.0.6 for extension nortekgroup.nucleus", + "message": "Generated version entry 1.2.0 for extension nortekgroup.nucleus", "status": "INFO" }, { - "message": "Generated version entry 1.0.1 for extension nortekgroup.nucleus", + "message": "Generated version entry 1.0.4 for extension nortekgroup.nucleus", "status": "INFO" }, { - "message": "Generated version entry 1.1.0 for extension nortekgroup.nucleus", + "message": "Generated version entry 0.0.8 for extension nortekgroup.nucleus", "status": "INFO" } ], @@ -1088,7 +1088,11 @@ "status": "ERROR" }, { - "message": "Generated version entry 1.0.4 for extension patrickelectric.starlink-position", + "message": "Generated version entry 1.0.2 for extension patrickelectric.starlink-position", + "status": "INFO" + }, + { + "message": "Generated version entry 1.0.1 for extension patrickelectric.starlink-position", "status": "INFO" }, { @@ -1096,7 +1100,7 @@ "status": "INFO" }, { - "message": "Generated version entry 1.0.1 for extension patrickelectric.starlink-position", + "message": "Generated version entry 1.0.4 for extension patrickelectric.starlink-position", "status": "INFO" }, { @@ -1106,10 +1110,6 @@ { "message": "Generated version entry 1.0.0 for extension patrickelectric.starlink-position", "status": "INFO" - }, - { - "message": "Generated version entry 1.0.2 for extension patrickelectric.starlink-position", - "status": "INFO" } ], "sonardyne.navsync_pro": [ @@ -1158,23 +1158,19 @@ "status": "WARNING" }, { - "message": "Generated version entry v1.0.7 for extension sonardyne.navsync_pro", - "status": "INFO" - }, - { - "message": "Generated version entry v1.0.3 for extension sonardyne.navsync_pro", + "message": "Generated version entry v1.0.5 for extension sonardyne.navsync_pro", "status": "INFO" }, { - "message": "Generated version entry v1.0.4 for extension sonardyne.navsync_pro", + "message": "Generated version entry v1.0.6 for extension sonardyne.navsync_pro", "status": "INFO" }, { - "message": "Generated version entry v1.0.6 for extension sonardyne.navsync_pro", + "message": "Generated version entry v1.0.7 for extension sonardyne.navsync_pro", "status": "INFO" }, { - "message": "Generated version entry v1.0.5 for extension sonardyne.navsync_pro", + "message": "Generated version entry v1.0.4 for extension sonardyne.navsync_pro", "status": "INFO" }, { @@ -1193,6 +1189,10 @@ "message": "Generated version entry v1.0.1 for extension sonardyne.navsync_pro", "status": "INFO" }, + { + "message": "Generated version entry v1.0.3 for extension sonardyne.navsync_pro", + "status": "INFO" + }, { "message": "Could not get readme, expected type to be text/plain but got text/html", "status": "WARNING" @@ -1246,11 +1246,7 @@ "status": "ERROR" }, { - "message": "Generated version entry v1.0.4 for extension waterlinked.ugps", - "status": "INFO" - }, - { - "message": "Generated version entry v1.0.6 for extension waterlinked.ugps", + "message": "Generated version entry v1.0.7-beta.2 for extension waterlinked.ugps", "status": "INFO" }, { @@ -1262,11 +1258,15 @@ "status": "INFO" }, { - "message": "Generated version entry v1.0.7 for extension waterlinked.ugps", + "message": "Generated version entry v1.0.6 for extension waterlinked.ugps", "status": "INFO" }, { - "message": "Generated version entry v1.0.7-beta.2 for extension waterlinked.ugps", + "message": "Generated version entry v1.0.4 for extension waterlinked.ugps", + "status": "INFO" + }, + { + "message": "Generated version entry v1.0.7 for extension waterlinked.ugps", "status": "INFO" } ], @@ -1311,12 +1311,16 @@ "message": "Expected one valid manifest for target embedded arch but found: 2", "status": "WARNING" }, + { + "message": "Generated version entry v1.0.0 for extension williangalvani.blueos-proxy", + "status": "INFO" + }, { "message": "Generated version entry v1.0.4 for extension williangalvani.blueos-proxy", "status": "INFO" }, { - "message": "Generated version entry v1.0.0 for extension williangalvani.blueos-proxy", + "message": "Generated version entry v1.0.1 for extension williangalvani.blueos-proxy", "status": "INFO" }, { @@ -1331,10 +1335,6 @@ "message": "Generated version entry v0.0.1 for extension williangalvani.blueos-proxy", "status": "INFO" }, - { - "message": "Generated version entry v1.0.1 for extension williangalvani.blueos-proxy", - "status": "INFO" - }, { "message": "Generated version entry v1.0.3 for extension williangalvani.blueos-proxy", "status": "INFO" @@ -1350,11 +1350,11 @@ "status": "INFO" }, { - "message": "Generated version entry v1.0.0 for extension williangalvani.example1", + "message": "Generated version entry v1.0.1 for extension williangalvani.example1", "status": "INFO" }, { - "message": "Generated version entry v1.0.1 for extension williangalvani.example1", + "message": "Generated version entry v1.0.0 for extension williangalvani.example1", "status": "INFO" } ], @@ -1404,11 +1404,11 @@ "status": "INFO" }, { - "message": "Generated version entry v1.0.1 for extension williangalvani.example4", + "message": "Generated version entry v1.0.0 for extension williangalvani.example4", "status": "INFO" }, { - "message": "Generated version entry v1.0.0 for extension williangalvani.example4", + "message": "Generated version entry v1.0.1 for extension williangalvani.example4", "status": "INFO" } ], @@ -1468,23 +1468,23 @@ "status": "WARNING" }, { - "message": "Generated version entry 1.0.3 for extension williangalvani.network-scanner", + "message": "Generated version entry v1.0.1 for extension williangalvani.network-scanner", "status": "INFO" }, { - "message": "Generated version entry v1.0.1 for extension williangalvani.network-scanner", + "message": "Generated version entry v1.0.0 for extension williangalvani.network-scanner", "status": "INFO" }, { - "message": "Generated version entry v1.0.2 for extension williangalvani.network-scanner", + "message": "Generated version entry 1.0.2 for extension williangalvani.network-scanner", "status": "INFO" }, { - "message": "Generated version entry 1.0.2 for extension williangalvani.network-scanner", + "message": "Generated version entry v1.0.2 for extension williangalvani.network-scanner", "status": "INFO" }, { - "message": "Generated version entry v1.0.0 for extension williangalvani.network-scanner", + "message": "Generated version entry 1.0.3 for extension williangalvani.network-scanner", "status": "INFO" } ], @@ -1505,10 +1505,6 @@ "message": "Generated version entry v1.0.1 for extension williangalvani.oakd", "status": "INFO" }, - { - "message": "Generated version entry v1.0.0 for extension williangalvani.oakd", - "status": "INFO" - }, { "message": "Could not get readme https://raw.githubusercontent.com/Williangalvani/Oakd-extension/v1.0.1-heta.1/Readme.md: status: 404: 404: Not Found", "status": "WARNING" @@ -1516,6 +1512,10 @@ { "message": "Generated version entry v1.0.1-heta.1 for extension williangalvani.oakd", "status": "INFO" + }, + { + "message": "Generated version entry v1.0.0 for extension williangalvani.oakd", + "status": "INFO" } ], "williangalvani.plc-diagnostics": [ @@ -1552,43 +1552,43 @@ "status": "WARNING" }, { - "message": "Could not get readme https://raw.githubusercontent.com/williangalvani/plc-extension/0.0.5/README.md: status: 404: 404: Not Found", + "message": "Could not get readme https://raw.githubusercontent.com/$OWNER/$REPO/1.0.0/README.md: status: 404: 404: Not Found", "status": "WARNING" }, { - "message": "Generated version entry 0.0.5 for extension williangalvani.plc-diagnostics", + "message": "Generated version entry 1.0.0 for extension williangalvani.plc-diagnostics", "status": "INFO" }, { - "message": "Generated version entry v1.0.3 for extension williangalvani.plc-diagnostics", - "status": "INFO" + "message": "Could not get readme https://raw.githubusercontent.com/$OWNER/$REPO/v1.0.0/README.md: status: 404: 404: Not Found", + "status": "WARNING" }, { - "message": "Generated version entry v1.0.2 for extension williangalvani.plc-diagnostics", + "message": "Generated version entry v1.0.0 for extension williangalvani.plc-diagnostics", "status": "INFO" }, { - "message": "Could not get readme https://raw.githubusercontent.com/$OWNER/$REPO/v1.0.0/README.md: status: 404: 404: Not Found", + "message": "Could not get readme https://raw.githubusercontent.com/$OWNER/$REPO/1.0.1/README.md: status: 404: 404: Not Found", "status": "WARNING" }, { - "message": "Generated version entry v1.0.0 for extension williangalvani.plc-diagnostics", + "message": "Generated version entry 1.0.1 for extension williangalvani.plc-diagnostics", "status": "INFO" }, { - "message": "Could not get readme https://raw.githubusercontent.com/$OWNER/$REPO/1.0.0/README.md: status: 404: 404: Not Found", + "message": "Could not get readme https://raw.githubusercontent.com/williangalvani/plc-extension/0.0.5/README.md: status: 404: 404: Not Found", "status": "WARNING" }, { - "message": "Generated version entry 1.0.0 for extension williangalvani.plc-diagnostics", + "message": "Generated version entry 0.0.5 for extension williangalvani.plc-diagnostics", "status": "INFO" }, { - "message": "Could not get readme https://raw.githubusercontent.com/$OWNER/$REPO/1.0.1/README.md: status: 404: 404: Not Found", - "status": "WARNING" + "message": "Generated version entry v1.0.3 for extension williangalvani.plc-diagnostics", + "status": "INFO" }, { - "message": "Generated version entry 1.0.1 for extension williangalvani.plc-diagnostics", + "message": "Generated version entry v1.0.2 for extension williangalvani.plc-diagnostics", "status": "INFO" } ], @@ -1636,19 +1636,19 @@ "status": "ERROR" }, { - "message": "Generated version entry v1.0.2 for extension williangalvani.virtualhere", + "message": "Generated version entry v1.0.4 for extension williangalvani.virtualhere", "status": "INFO" }, { - "message": "Generated version entry v1.0.4 for extension williangalvani.virtualhere", + "message": "Generated version entry v1.0.3 for extension williangalvani.virtualhere", "status": "INFO" }, { - "message": "Generated version entry v1.0.0 for extension williangalvani.virtualhere", + "message": "Generated version entry v1.0.2 for extension williangalvani.virtualhere", "status": "INFO" }, { - "message": "Generated version entry v1.0.3 for extension williangalvani.virtualhere", + "message": "Generated version entry v1.0.0 for extension williangalvani.virtualhere", "status": "INFO" } ], @@ -1682,27 +1682,27 @@ "status": "WARNING" }, { - "message": "Generated version entry v1.0.1 for extension williangalvani.zerotier", + "message": "Generated version entry v1.12.1 for extension williangalvani.zerotier", "status": "INFO" }, { - "message": "Generated version entry v1.12.3 for extension williangalvani.zerotier", + "message": "Generated version entry v1.0.0 for extension williangalvani.zerotier", "status": "INFO" }, { - "message": "Generated version entry v1.0.0 for extension williangalvani.zerotier", + "message": "Generated version entry v1.0.1 for extension williangalvani.zerotier", "status": "INFO" }, { - "message": "Generated version entry v1.12.1 for extension williangalvani.zerotier", + "message": "Generated version entry v1.12.3 for extension williangalvani.zerotier", "status": "INFO" }, { - "message": "Generated version entry v1.14.0 for extension williangalvani.zerotier", + "message": "Generated version entry v1.14.2 for extension williangalvani.zerotier", "status": "INFO" }, { - "message": "Generated version entry v1.14.2 for extension williangalvani.zerotier", + "message": "Generated version entry v1.14.0 for extension williangalvani.zerotier", "status": "INFO" } ]