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": "
Send NMEA position information (GGA and HDT) to the Water Linked UGPS API.
\nAdd a satellite compass to the topside vessel and connect it to the ROV Ethernet network.
\nInstall this extension in BlueOS:
\nAfter a few moments you should see the WL UGPS External entry in the sidebar.\nClick on it to see a very simple UI.
\nUGPS_HOST
to the IP address of the WL UGPS G2 box. The default is http://192.168.2.94
.SEND_RATE
to the rate to send position information to the G2 box. The default is 2Hz.POLL_RATE
to the rate to poll the G2 box for acoustic and pose information. The default is 0 (no polling).LOG_NMEA
is --log_nmea
, then NMEA messages will be logged. The default is blank (no logging). 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~~~
\nLogs can be found in BlueOS:
\nSee wl_ugps_external for testing tools.
", - "support": "https://github.com/clydemcqueen/wl_ugps_external_extension/issues", + "readme": "This uses python to serve a static HTML page using Vue and Vuetify controlling a gpio using a python backend\nto build:
\nEnable qemu static support with a docker
\ndocker buildx create --name multiarch --driver docker-container --use\ndocker run --rm --privileged multiarch/qemu-user-static --reset -p yes
Then build it:
\ndocker buildx build --platform linux/amd64,linux/arm/v7 . -t YOURDOCKERHUBUSER/YOURDOCKERHUBREPO:latest --output type=registry
Then pull it in blueos:
\nred-pill\nsudo docker run -d --net=host --name=blueos-example4 --restart=unless-stopped YOURDOCKERHUBUSER/YOURDOCKERHUBREPO:latest
Send NMEA position information (GGA and HDT) to the Water Linked UGPS API.
\nAdd 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
\nInstall this extension in BlueOS:\n* Select Extensions in the sidebar\n* Click on WL UGPS External\n* Click Install
\nAfter a few moments you should see the WL UGPS External entry in the sidebar.\nClick on it to see a very simple UI.
\nUGPS_HOST
is the IP address of the WL UGPS G2 box, the default is http://192.168.2.94
SEND_RATE
is the rate to send position information to the G2 box, the default is 2HzSee 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": "This uses python to serve a static HTML page using Vue and Vuetify controlling a gpio using a python backend\nto build:
\nEnable qemu static support with a docker
\ndocker buildx create --name multiarch --driver docker-container --use\ndocker run --rm --privileged multiarch/qemu-user-static --reset -p yes
Then build it:
\ndocker buildx build --platform linux/amd64,linux/arm/v7 . -t YOURDOCKERHUBUSER/YOURDOCKERHUBREPO:latest --output type=registry
Then pull it in blueos:
\nred-pill\nsudo docker run -d --net=host --name=blueos-example4 --restart=unless-stopped YOURDOCKERHUBUSER/YOURDOCKERHUBREPO:latest
This exposes usb devices via IP, which can be used in another client device
\n```
\nsudo modprobe usbip-core\nsudo modprobe vhci-hcd
\nsudo usbip list --remote blueos.local
\nsudo usbip attach --remote blueos.local --busid 1-1.3
\n```
\nDownload 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.
\nSend NMEA position information (GGA and HDT) to the Water Linked UGPS API.
\nAdd 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
\nInstall this extension in BlueOS:\n* Select Extensions in the sidebar\n* Click on WL UGPS External\n* Click Install
\nAfter a few moments you should see the WL UGPS External entry in the sidebar.\nClick on it to see a very simple UI.
\nUGPS_HOST
is the IP address of the WL UGPS G2 box, the default is http://192.168.2.94
SEND_RATE
is the rate to send position information to the G2 box, the default is 2HzSee https://github.com/clydemcqueen/wl_ugps_external for testing tools.
", - "support": "https://github.com/clydemcqueen/wl_ugps_external_extension/issues", + "readme": "This exposes usb devices via IP, which can be used in another client device
\n```
\nsudo modprobe usbip-core\nsudo modprobe vhci-hcd
\nsudo usbip list --remote blueos.local
\nsudo usbip attach --remote blueos.local --busid 1-1.3
\n```
\nDownload 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.
\nSend NMEA position information (GGA and HDT) to the Water Linked UGPS API.
\nAdd 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
\nInstall this extension in BlueOS:\n* Select Extensions in the sidebar\n* Click on WL UGPS External\n* Click Install
\nAfter a few moments you should see the WL UGPS External entry in the sidebar.\nClick on it to see a very simple UI.
\nUGPS_HOST
is the IP address of the WL UGPS G2 box, the default is http://192.168.2.94
SEND_RATE
is the rate to send position information to the G2 box, the default is 2HzThis exposes usb devices via IP, which can be used in another client device
\nTo use, first pull it in blueos:
\nred-pill\nsudo docker run -d --net=host --name=blueos-example1 --restart=unless-stopped williangalvani/blueos-extension-usbip:latest
```
\nsudo modprobe usbip-core\nsudo modprobe vhci-hcd
\nsudo usbip list --remote blueos.local
\nsudo usbip attach --remote blueos.local --busid 1-1.3
\n```
\nDownload 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": "This exposes usb devices via IP, which can be used in another client device
\n```
\nsudo modprobe usbip-core\nsudo modprobe vhci-hcd
\nsudo usbip list --remote blueos.local
\nsudo usbip attach --remote blueos.local --busid 1-1.3
\n```
\nDownload 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 is a new flight mode in ArduSub 4.5.
\nSurftrak Fixit is a BlueOS extension that can diagnose and fix Surftrak problems.
\nExtension Identifier\n~~~\nclydemcqueen.surftrak_fixit\n~~~
\nExtension Name\n~~~\nsurftrak_fixit\n~~~
\nDocker image\n~~~\nclydemcqueen/surftrak_fixit\n~~~
\nDocker tag\n~~~\nv1.0.0-beta.2\n~~~
\nCustom 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~~~
\nSurftrak Fixit looks only at MAVLink messages, so it can be tested against ArduSub SITL and\nmavlink2rest.
\nSee these instructions to set up ArduSub SITL.
\nTerminal 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~~~
\nTerminal 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~~~
\nTerminal 3: run Surftrak Fixit\n~~~\n./main.py --mavlink2rest_url http://localhost:8088/v1\n~~~
\nTerminal 4: emulate a MAVLink rangefinder\n~~~\n./fake_rf.py --ping\n~~~
\nYou can see the extension UI at http://localhost:8080/
", - "support": "https://github.com/clydemcqueen/surftrak_fixit/issues", + "readme": "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 is a new flight mode in ArduSub 4.5.
\nSurftrak Fixit is a BlueOS\nextension that can diagnose and suggest fixes for some common Surftrak problems.
\nTo 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
\nExtension Identifier\n~~~\nclydemcqueen.surftrak_fixit\n~~~
\nExtension Name\n~~~\nsurftrak_fixit\n~~~
\nDocker image\n~~~\nclydemcqueen/surftrak_fixit\n~~~
\nDocker tag\n~~~\nv1.0.0-beta.1\n~~~
\nCustom 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": "A quick-start repository for building and uploading a Python-focused BlueOS Extension.
\nThis 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)
\nForking 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.
\nIt 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", + "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": "", - "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": "", - "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": "", - "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": "", - "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": "", - "support": "https://www.sonardyne.com/support-centre/", - "requirements": null, + "readme": "\ud83d\udca1Note: If you are forking this repository as a starting point for creating your own BlueOS Extension, it is recommended to enable
\nIssues
in your fork (via theSettings
tab at the top), so that users and co-developers of your Extension can raise problems and make suggestions.
This uses python to serve a basic static HTML page as an extension. This example includes MAVLink2Rest communication via http
\nto build:
\nEnable qemu static support with a docker
\ndocker buildx create --name multiarch --driver docker-container --use\ndocker run --rm --privileged multiarch/qemu-user-static --reset -p yes
Then build it:
\ndocker buildx build --platform linux/amd64,linux/arm/v7 . -t YOURDOCKERHUBUSER/YOURDOCKERHUBREPO:latest --output type=registry
This uses python to serve a basic static HTML page as an extension. This example includes MAVLink2Rest communication via http
\nto build:
\nEnable qemu static support with a docker
\ndocker buildx create --name multiarch --driver docker-container --use\ndocker run --rm --privileged multiarch/qemu-user-static --reset -p yes
Then build it:
\ndocker buildx build --platform linux/amd64,linux/arm/v7 . -t YOURDOCKERHUBUSER/YOURDOCKERHUBREPO:latest --output type=registry
This uses python to serve a static HTML page using Vue and Vuetify as an extension.
\nto build:
\nEnable qemu static support with a docker
\ndocker buildx create --name multiarch --driver docker-container --use\ndocker run --rm --privileged multiarch/qemu-user-static --reset -p yes
Then build it:
\ndocker buildx build --platform linux/amd64,linux/arm/v7 . -t YOURDOCKERHUBUSER/YOURDOCKERHUBREPO:latest --output type=registry
This uses python to serve a static HTML page using Vue and Vuetify as an extension.
\nto build:
\nEnable qemu static support with a docker
\ndocker buildx create --name multiarch --driver docker-container --use\ndocker run --rm --privileged multiarch/qemu-user-static --reset -p yes
Then build it:
\ndocker buildx build --platform linux/amd64,linux/arm/v7 . -t YOURDOCKERHUBUSER/YOURDOCKERHUBREPO:latest --output type=registry
A simple extension that publishes MAVLink data based on starlink position information
", - "support": null, + "readme": "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.
\nto build:
\nEnable qemu static support with a docker
\ndocker buildx create --name multiarch --driver docker-container --use\ndocker run --rm --privileged multiarch/qemu-user-static --reset -p yes
Then build it:
\ndocker buildx build --platform linux/amd64,linux/arm/v7 . -t YOURDOCKERHUBUSER/YOURDOCKERHUBREPO:latest --output type=registry
A simple extension that publishes MAVLink data based on starlink position information
", - "support": null, - "requirements": "core >= 1.1", + "readme": "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.
\nto build:
\nEnable qemu static support with a docker
\ndocker buildx create --name multiarch --driver docker-container --use\ndocker run --rm --privileged multiarch/qemu-user-static --reset -p yes
Then build it:
\ndocker buildx build --platform linux/amd64,linux/arm/v7 . -t YOURDOCKERHUBUSER/YOURDOCKERHUBREPO:latest --output type=registry
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": "A simple extension that publishes MAVLink data based on starlink position information
", - "support": null, + "readme": "This uses python to serve a basic static HTML page as an extension.
\nto build:
\nEnable qemu static support with a docker
\ndocker buildx create --name multiarch --driver docker-container --use\ndocker run --rm --privileged multiarch/qemu-user-static --reset -p yes
Then build it:
\ndocker buildx build --platform linux/amd64,linux/arm/v7 . -t YOURDOCKERHUBUSER/YOURDOCKERHUBREPO:latest --output type=registry
This uses python to serve a basic static HTML page as an extension.
\nto build:
\nEnable qemu static support with a docker
\ndocker buildx create --name multiarch --driver docker-container --use\ndocker run --rm --privileged multiarch/qemu-user-static --reset -p yes
Then build it:
\ndocker buildx build --platform linux/amd64,linux/arm/v7 . -t YOURDOCKERHUBUSER/YOURDOCKERHUBREPO:latest --output type=registry
This extension has no UI page (so it creates no listing in the sidebar of BlueOS).
\nAssuming 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.
Information flow triggered by this extension:\n
\nIf 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.
\nHardware documentation can be found at https://waterlinked.github.io/underwater-gps/integration/bluerov-integration/
\nThere are 2 options
\nConfiguration is usually not required, but can be done by editing the extension in the \"Installed\" tab of the Extensions Manager.
\nEditing 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}
Use the \"View Logs\" button to check the status.
\nTo set this up, ssh into the Raspberry Pi (or access via red-pill
in BlueOS Terminal)
install git, clone this repository and run\n```
\ndocker build -t waterlinked/blueos-ugps-extension:latest .
\ndocker images
\ndocker 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
\ndocker 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
\ndocker run -it waterlinked/blueos-ugps-extension:latest /bin/bash
\ncd 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
\ncd app && python main.py --ugps_host https://demo.waterlinked.com --mavlink_host http://192.168.2.2:6040 --qgc_ip 192.168.2.1
\nexit
\ndocker stop [container-id]\ndocker start [container-id]\ndocker log [container-id] # if run detached
\ndocker 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": "This extension has no UI page (so it creates no listing in the sidebar of BlueOS).
\nAssuming 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.
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.
\nHardware documentation can be found at https://waterlinked.github.io/underwater-gps/integration/bluerov-integration/
\nThere are 2 options
\nConfiguration is usually not required, but can be done by editing the extension in the \"Installed\" tab of the Extensions Manager.
\nEditing 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}
Use the \"View Logs\" button to check the status.
\nTo set this up, ssh into the Raspberry Pi (or access via red-pill
in BlueOS Terminal)
install git, clone this repository and run\n```
\ndocker build -t waterlinked/blueos-ugps-extension:latest .
\ndocker images
\ndocker 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
\ndocker 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
\ndocker run -it waterlinked/blueos-ugps-extension:latest /bin/bash
\ncd 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
\ncd app && python main.py --ugps_host https://demo.waterlinked.com --mavlink_host http://192.168.2.2:6040 --qgc_ip 192.168.2.1
\nexit
\ndocker stop [container-id]\ndocker start [container-id]\ndocker log [container-id] # if run detached
\ndocker 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": "This extension is currently in development. It has no UI page (so creates no listing in the sidebar of BlueOS).
\nAssuming 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.
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.
\nHardware documentation can be found at https://waterlinked.github.io/underwater-gps/integration/bluerov-integration/
\nThere are 2 options
\nConfiguration is usually not required, but can be done by editing the extension in the \"Installed\" tab of the Extensions Manager.
\nEditing 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}
Use the \"View Logs\" button to check the status.
\nTo set this up, ssh into the Raspberry Pi (or access via red-pill
in BlueOS Terminal)
install git, clone this repository and run\n```
\ndocker build -t waterlinked/blueos-ugps-extension:latest .
\ndocker images
\ndocker 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
\ndocker 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
\ndocker run -it waterlinked/blueos-ugps-extension:latest /bin/bash
\ncd 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
\ncd app && python main.py --ugps_host https://demo.waterlinked.com --mavlink_host http://192.168.2.2:6040 --qgc_ip 192.168.2.1
\nexit
\ndocker stop [container-id]\ndocker start [container-id]\ndocker log [container-id] # if run detached
\ndocker 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": "This extension is currently in development. It has no UI page (so creates no listing in the sidebar of BlueOS).
\nAssuming 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)
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.
\nHardware documentation can be found at https://waterlinked.github.io/underwater-gps/integration/bluerov-integration/
\nThere are 2 options
\nConfiguration is usually not required, but can be done by editing the extension in the \"Installed\" tab of the Extensions Manager.
\nEditing 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\"
Use the \"View Logs\" button to check the status.
\nTo set this up, ssh into the Raspberry Pi (or access via red-pill
in BlueOS Terminal)
install git, clone this repository and run\n```
\ndocker build -t waterlinked/blueos-ugps-extension:latest .
\ndocker images
\ndocker 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
\ndocker 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
\ndocker run -it waterlinked/blueos-ugps-extension:latest /bin/bash
\ncd 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
\ncd app && python main.py --ugps_host https://demo.waterlinked.com --mavlink_host http://192.168.2.2:6040 --qgc_ip 192.168.2.1
\nexit
\ndocker stop [container-id]\ndocker start [container-id]\ndocker log [container-id] # if run detached
\ndocker login -u waterlinked\ndocker push waterlinked/blueos-ugps-extension:latest\n```
", - "support": "https://github.com/waterlinked/blueos-ugps-extension", - "requirements": "core >= 1", + "readme": "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": "This allows scanning each individual logical interface in the vehicle to find connected devices
\nv1.0.1:
\nThis 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": "This allows scanning each individual logical interface in the vehicle to find connected devices
\nv1.0.1:
\nThis 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": "This allows scanning each individual logical interface in the vehicle to find connected devices
\nv1.0.1:
\nThis 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": "This allows scanning each individual logical interface in the vehicle to find connected devices
\nv1.0.1:
\nThis 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": "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": "This allows scanning each individual logical interface in the vehicle to find connected devices
\nv1.0.1:
\nThis allows scanning each individual logical interface in the vehicle to find connected devices
\nv1.0.1:
\nThis allows scanning each individual logical interface in the vehicle to find connected devices
\nv1.0.1:
\nThis allows scanning each individual logical interface in the vehicle to find connected devices
\nv1.0.1:
\nThis 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": "This uses python to serve a basic static HTML page as an extension. This example includes MAVLink2Rest communication via http
\nto build:
\nEnable qemu static support with a docker
\ndocker buildx create --name multiarch --driver docker-container --use\ndocker run --rm --privileged multiarch/qemu-user-static --reset -p yes
Then build it:
\ndocker buildx build --platform linux/amd64,linux/arm/v7 . -t YOURDOCKERHUBUSER/YOURDOCKERHUBREPO:latest --output type=registry
\n\nNOTE: 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
blueos.local
) or the vehicle's IP address, and leave the port as 14550
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.
\nIf 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.
\nACCESS_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 networkThis uses python to serve a basic static HTML page as an extension. This example includes MAVLink2Rest communication via http
\nto build:
\nEnable qemu static support with a docker
\ndocker buildx create --name multiarch --driver docker-container --use\ndocker run --rm --privileged multiarch/qemu-user-static --reset -p yes
Then build it:
\ndocker buildx build --platform linux/amd64,linux/arm/v7 . -t YOURDOCKERHUBUSER/YOURDOCKERHUBREPO:latest --output type=registry
\n\nNOTE: 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
blueos.local
) or the vehicle's IP address, and leave the port as 14550
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.
\nIf 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.
\nACCESS_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 networkHaving thether issues? This extension will help you better understand your link's bandwidth and connection quality
", - "support": null, + "readme": "\n\nNOTE: 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
blueos.local
) or the vehicle's IP address, and leave the port as 14550
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.
\nIf 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.
\nACCESS_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 networkA quick-start repository for building and uploading a Python-focused BlueOS Extension.
\nThis 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)
\nForking 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.
\nIt 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", - "support": null, + "readme": "\ud83d\udca1Note: If you are forking this repository as a starting point for creating your own BlueOS Extension, it is recommended to enable
\nIssues
in your fork (via theSettings
tab at the top), so that users and co-developers of your Extension can raise problems and make suggestions.
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": "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": "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": "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": "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.
\nto build:
\nEnable qemu static support with a docker
\ndocker buildx create --name multiarch --driver docker-container --use\ndocker run --rm --privileged multiarch/qemu-user-static --reset -p yes
Then build it:
\ndocker buildx build --platform linux/amd64,linux/arm/v7 . -t YOURDOCKERHUBUSER/YOURDOCKERHUBREPO:latest --output type=registry
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": "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.
\nto build:
\nEnable qemu static support with a docker
\ndocker buildx create --name multiarch --driver docker-container --use\ndocker run --rm --privileged multiarch/qemu-user-static --reset -p yes
Then build it:
\ndocker buildx build --platform linux/amd64,linux/arm/v7 . -t YOURDOCKERHUBUSER/YOURDOCKERHUBREPO:latest --output type=registry
Read more about this extension here
\nThis 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": "This exposes usb devices via IP, which can be used in another client device
\n```
\nsudo modprobe usbip-core\nsudo modprobe vhci-hcd
\nsudo usbip list --remote blueos.local
\nsudo usbip attach --remote blueos.local --busid 1-1.3
\n```
\nDownload 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.
\nThis exposes usb devices via IP, which can be used in another client device
\n```
\nsudo modprobe usbip-core\nsudo modprobe vhci-hcd
\nsudo usbip list --remote blueos.local
\nsudo usbip attach --remote blueos.local --busid 1-1.3
\n```
\nDownload 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.
\nThis exposes usb devices via IP, which can be used in another client device
\nTo use, first pull it in blueos:
\nred-pill\nsudo docker run -d --net=host --name=blueos-example1 --restart=unless-stopped williangalvani/blueos-extension-usbip:latest
```
\nsudo modprobe usbip-core\nsudo modprobe vhci-hcd
\nsudo usbip list --remote blueos.local
\nsudo usbip attach --remote blueos.local --busid 1-1.3
\n```
\nDownload 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": "", + "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": "This exposes usb devices via IP, which can be used in another client device
\n```
\nsudo modprobe usbip-core\nsudo modprobe vhci-hcd
\nsudo usbip list --remote blueos.local
\nsudo usbip attach --remote blueos.local --busid 1-1.3
\n```
\nDownload 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": "", + "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": "This uses python to serve a static HTML page using Vue and Vuetify controlling a gpio using a python backend\nto build:
\nEnable qemu static support with a docker
\ndocker buildx create --name multiarch --driver docker-container --use\ndocker run --rm --privileged multiarch/qemu-user-static --reset -p yes
Then build it:
\ndocker buildx build --platform linux/amd64,linux/arm/v7 . -t YOURDOCKERHUBUSER/YOURDOCKERHUBREPO:latest --output type=registry
Then pull it in blueos:
\nred-pill\nsudo docker run -d --net=host --name=blueos-example4 --restart=unless-stopped YOURDOCKERHUBUSER/YOURDOCKERHUBREPO:latest
This uses python to serve a static HTML page using Vue and Vuetify controlling a gpio using a python backend\nto build:
\nEnable qemu static support with a docker
\ndocker buildx create --name multiarch --driver docker-container --use\ndocker run --rm --privileged multiarch/qemu-user-static --reset -p yes
Then build it:
\ndocker buildx build --platform linux/amd64,linux/arm/v7 . -t YOURDOCKERHUBUSER/YOURDOCKERHUBREPO:latest --output type=registry
Then pull it in blueos:
\nred-pill\nsudo docker run -d --net=host --name=blueos-example4 --restart=unless-stopped YOURDOCKERHUBUSER/YOURDOCKERHUBREPO:latest
This uses python to serve a static HTML page using Vue and Vuetify as an extension.
\nto build:
\nEnable qemu static support with a docker
\ndocker buildx create --name multiarch --driver docker-container --use\ndocker run --rm --privileged multiarch/qemu-user-static --reset -p yes
Then build it:
\ndocker buildx build --platform linux/amd64,linux/arm/v7 . -t YOURDOCKERHUBUSER/YOURDOCKERHUBREPO:latest --output type=registry
This uses python to serve a static HTML page using Vue and Vuetify as an extension.
\nto build:
\nEnable qemu static support with a docker
\ndocker buildx create --name multiarch --driver docker-container --use\ndocker run --rm --privileged multiarch/qemu-user-static --reset -p yes
Then build it:
\ndocker buildx build --platform linux/amd64,linux/arm/v7 . -t YOURDOCKERHUBUSER/YOURDOCKERHUBREPO:latest --output type=registry
This uses python to serve a basic static HTML page as an extension.
\nto build:
\nEnable qemu static support with a docker
\ndocker buildx create --name multiarch --driver docker-container --use\ndocker run --rm --privileged multiarch/qemu-user-static --reset -p yes
Then build it:
\ndocker buildx build --platform linux/amd64,linux/arm/v7 . -t YOURDOCKERHUBUSER/YOURDOCKERHUBREPO:latest --output type=registry
This uses python to serve a basic static HTML page as an extension.
\nto build:
\nEnable qemu static support with a docker
\ndocker buildx create --name multiarch --driver docker-container --use\ndocker run --rm --privileged multiarch/qemu-user-static --reset -p yes
Then build it:
\ndocker buildx build --platform linux/amd64,linux/arm/v7 . -t YOURDOCKERHUBUSER/YOURDOCKERHUBREPO:latest --output type=registry
\n\nNOTE: 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
blueos.local
) or the vehicle's IP address, and leave the port as 14550
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.
\nIf 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.
\nACCESS_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\nNOTE: 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
blueos.local
) or the vehicle's IP address, and leave the port as 14550
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.
\nIf 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.
\nACCESS_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\nNOTE: 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
blueos.local
) or the vehicle's IP address, and leave the port as 14550
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.
\nIf 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.
\nACCESS_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 networkThis 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=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=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=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=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=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=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=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=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.
\nAccess the extensions manager and install with the following parameters:
\nExtensions Manager:\nblueos.local/tools/extensions-manager
\nParameters:
```\nraulelektron.blueos_navigator_webassistant
\nNavigator Assistant
\nlatest
\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```
\nYou can also run Navigator Assistant locally or on other extensions. Please check navigator-web-assistant.
\nYou 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=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=Extension to start coding with python examples and create projects.
\nTo install your own libraries, use: pip install --user
.
Home directory (/root/
) will be persistent besides pip local holder for user libraries.
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=Extension to start coding with python examples and create projects.
\nTo install your own libraries, use: pip install --user
.
Home directory (/root/
) will be persistent besides pip local holder for user libraries.
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=Extension to start coding with python examples and create projects.
\nTo install your own libraries, use: pip install --user
.
Home directory (/root/
) will be persistent besides pip local holder for user libraries.
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=This is a Nucleus extension for the BlueOS software running on BlueROV2.
\nIt 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.
\nThis allows the user to utilize the \"position hold\" functionality in the ROV
\nTo mount the Nucleus unto the BlueROV2 and connect it to its network, refer Nortek's Nucleus integration guide.
\nBlueOS needs to be of version 1.1.0-beta18 or newer in order to support the adding of third party extensions.
\nArduSub 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.
\nThis 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.
\nThe 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.
\nIn 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.
\nThe 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.
\nIt 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.
\nThe extension can be added through BlueOS' extensions menu.
\nNavigate to Extensions > Extensions Manager.
\n\nLocate Nortek Nucleus under the tab \"STORE\" and open it.
\n\nWhen 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.
\nTo 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\nAfter the installation has been completed. The extension can be located in Extensions > Extensions Manager, under the tab \"INSTALLED\".
\n\nHere 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.
\nThe extension itself can be opened in the menu by navigating to Extensions > Nucleus: Position hold.
\n\nOpening this will present the user with the GUI for the Nucleus extension which is covered in Using the extension
\nTo set this extension up manually, ssh into the Raspberry Pi on the BlueROV2 (or access via red-pill in BlueOS terminal).
\nN.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.
\nN.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.
\nOn the onboard computer, clone this repo in your preferred path with the following command:
\ngit clone git@github.com:nortekgroup/nucleus_driver.git
Navigate to the blueos_extension folder (the folder containing the Dockerfile) and build the docker image with the following command:
\ndocker build . -t nucleus_driver
The GUI of the extension is by default on port 5000.
\nIf another port is preferred for the GUI the image can be build with the preferred port as an argument with the following command
\ndocker build . -t nucleus_driver --build-arg PORT=5000
with the value following \"PORT=
\" being your preferred port.
The docker container can be executed with the following command
\ndocker run --net=host --add-host=host.docker.internal:host-gateway -v /root/.config/blueos:/root/.config --name=nucleus_driver --restart=unless-stopped nucleus_driver
--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
-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.
--name=Nucleus-Driver
is the preferred name of the container.
--restart=unless-stopped
allows the extension to automatically start when the ROV is powered up
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.B. In order for the extension to work it is necessary to change certain controller parameters. Refer to \"Controller parameters\" section for more info
\nN.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
\nWith the extension added, its user interface (GUI) can be found by navigating to Extensions -> Nucleus: Position hold in the BlueOS menu.
\nIn 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.
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
\nThe 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
\nThe 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.
\nIt 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.
\nThe 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.
\nN.B. Adjusting any of these parameters WILL change the behavior of the ROV
\nN.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.
\nThe 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.
\nN.B. Adjusting any of these parameters may change the behavior of the ROV
\nN.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.
\nIn 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.
\nAfter 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": "This is a Nucleus extension for the BlueOS software running on BlueROV2.
\nIt 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.
\nThis allows the user to utilize the \"position hold\" functionality in the ROV
\nTo mount the Nucleus unto the BlueROV2 and connect it to its network, refer Nortek's Nucleus integration guide.
\nBlueOS needs to be of version 1.1.0-beta18 or newer in order to support the adding of third party extensions.
\nArduSub 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.
\nThis 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.
\nThe 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.
\nIn 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.
\nThe 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.
\nIt 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.
\nThe extension can be added through BlueOS' extensions menu.
\nNavigate to Extensions > Extensions Manager.
\n\nLocate Nortek Nucleus under the tab \"STORE\" and open it.
\n\nWhen 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.
\nTo 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\nAfter the installation has been completed. The extension can be located in Extensions > Extensions Manager, under the tab \"INSTALLED\".
\n\nHere 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.
\nThe extension itself can be opened in the menu by navigating to Extensions > Nucleus: Position hold.
\n\nOpening this will present the user with the GUI for the Nucleus extension which is covered in Using the extension
\nTo set this extension up manually, ssh into the Raspberry Pi on the BlueROV2 (or access via red-pill in BlueOS terminal).
\nN.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.
\nN.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.
\nOn the onboard computer, clone this repo in your preferred path with the following command:
\ngit clone git@github.com:nortekgroup/nucleus_driver.git
Navigate to the blueos_extension folder (the folder containing the Dockerfile) and build the docker image with the following command:
\ndocker build . -t nucleus_driver
The GUI of the extension is by default on port 5000.
\nIf another port is preferred for the GUI the image can be build with the preferred port as an argument with the following command
\ndocker build . -t nucleus_driver --build-arg PORT=5000
with the value following \"PORT=
\" being your preferred port.
The docker container can be executed with the following command
\ndocker run --net=host --add-host=host.docker.internal:host-gateway -v /root/.config/blueos:/root/.config --name=nucleus_driver --restart=unless-stopped nucleus_driver
--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
-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.
--name=Nucleus-Driver
is the preferred name of the container.
--restart=unless-stopped
allows the extension to automatically start when the ROV is powered up
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.B. In order for the extension to work it is necessary to change certain controller parameters. Refer to \"Controller parameters\" section for more info
\nN.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
\nWith the extension added, its user interface (GUI) can be found by navigating to Extensions -> Nucleus: Position hold in the BlueOS menu.
\nIn 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.
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
\nThe 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
\nThe 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.
\nIt 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.
\nThe 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.
\nN.B. Adjusting any of these parameters WILL change the behavior of the ROV
\nN.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.
\nThe 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.
\nN.B. Adjusting any of these parameters may change the behavior of the ROV
\nN.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.
\nIn 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.
\nAfter 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": "This extension makes possible to communicate with the vehicle via ROS
\nTo connect, you just need to run the following commands:\n```sh\nexport ROS_MASTER_URI=http://blueos.local:11311
\nrostopic list # Done, you already have access to it!\n```
\nYou can also access the data via roslibjs.
\n```html
\n\n\n\n\n\n\n\n\n\nConnection status:
\nLast /mavros/vfr_hud received:
\n\n\n```
\nIt's possible to change ROS master for the extension using BlueOS on pirate mode and configuring ROS environments variables under the extension configuration menu.
\nA valid configurtion wouyld look like this:
\njson5\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}
For more information about it, check BlueOS documentation.
", - "support": null, + "readme": "This is a Nucleus extension for the BlueOS software running on BlueROV2.
\nIt 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.
\nThis allows the user to utilize the \"position hold\" functionality in the ROV
\nTo mount the Nucleus unto the BlueROV2 and connect it to its network, refer Nortek's Nucleus integration guide.
\nBlueOS needs to be of version 1.1.0-beta18 or newer in order to support the adding of third party extensions.
\nArduSub 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.
\nThis 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.
\nThe 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.
\nIn 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.
\nThe 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.
\nIt 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.
\nThe extension can be added through BlueOS' extensions menu.
\nNavigate to Extensions > Extensions Manager.
\n\nLocate Nortek Nucleus under the tab \"STORE\" and open it.
\n\nWhen 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.
\nTo 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\nAfter the installation has been completed. The extension can be located in Extensions > Extensions Manager, under the tab \"INSTALLED\".
\n\nHere 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.
\nThe extension itself can be opened in the menu by navigating to Extensions > Nucleus: Position hold.
\n\nOpening this will present the user with the GUI for the Nucleus extension which is covered in Using the extension
\nTo set this extension up manually, ssh into the Raspberry Pi on the BlueROV2 (or access via red-pill in BlueOS terminal).
\nN.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.
\nN.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.
\nOn the onboard computer, clone this repo in your preferred path with the following command:
\ngit clone git@github.com:nortekgroup/nucleus_driver.git
Navigate to the blueos_extension folder (the folder containing the Dockerfile) and build the docker image with the following command:
\ndocker build . -t nucleus_driver
The GUI of the extension is by default on port 5000.
\nIf another port is preferred for the GUI the image can be build with the preferred port as an argument with the following command
\ndocker build . -t nucleus_driver --build-arg PORT=5000
with the value following \"PORT=
\" being your preferred port.
The docker container can be executed with the following command
\ndocker run --net=host --add-host=host.docker.internal:host-gateway -v /root/.config/blueos:/root/.config --name=nucleus_driver --restart=unless-stopped nucleus_driver
--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
-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.
--name=Nucleus-Driver
is the preferred name of the container.
--restart=unless-stopped
allows the extension to automatically start when the ROV is powered up
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.B. In order for the extension to work it is necessary to change certain controller parameters. Refer to \"Controller parameters\" section for more info
\nN.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
\nWith the extension added, its user interface (GUI) can be found by navigating to Extensions -> Nucleus: Position hold in the BlueOS menu.
\nIn 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.
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
\nThe 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
\nThe 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.
\nIt 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.
\nThe 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.
\nN.B. Adjusting any of these parameters WILL change the behavior of the ROV
\nN.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.
\nThe 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.
\nN.B. Adjusting any of these parameters may change the behavior of the ROV
\nN.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.
\nIn 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.
\nAfter 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": "This extension makes possible to communicate with the vehicle via ROS
\nTo connect, you just need to run the following commands:\n```sh\nexport ROS_MASTER_URI=http://blueos.local:11311
\nrostopic list # Done, you already have access to it!\n```
\nYou can also access the data via roslibjs.
\n```html
\n\n\n\n\n\n\n\n\n\nConnection status:
\nLast /mavros/vfr_hud received:
\n\n\n```
\nIt's possible to change ROS master for the extension using BlueOS on pirate mode and configuring ROS environments variables under the extension configuration menu.
\nA valid configurtion wouyld look like this:
\njson5\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}
For more information about it, check BlueOS documentation.
", - "support": null, + "readme": "This is a Nucleus extension for the BlueOS software running on BlueROV2.
\nIt 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.
\nThis allows the user to utilize the \"position hold\" functionality in the ROV
\nTo mount the Nucleus unto the BlueROV2 and connect it to its network, refer Nortek's Nucleus integration guide.
\nBlueOS needs to be of version 1.1.0-beta18 or newer in order to support the adding of third party extensions.
\nArduSub 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.
\nThis 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.
\nThe 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.
\nIn 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.
\nThe 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.
\nIt 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.
\nThe extension can be added through BlueOS' extensions menu.
\nNavigate to Extensions > Extensions Manager.
\n\nLocate Nortek Nucleus under the tab \"STORE\" and open it.
\n\nWhen 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.
\nTo 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\nAfter the installation has been completed. The extension can be located in Extensions > Extensions Manager, under the tab \"INSTALLED\".
\n\nHere 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.
\nThe extension itself can be opened in the menu by navigating to Extensions > Nucleus: Position hold.
\n\nOpening this will present the user with the GUI for the Nucleus extension which is covered in Using the extension
\nTo set this extension up manually, ssh into the Raspberry Pi on the BlueROV2 (or access via red-pill in BlueOS terminal).
\nN.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.
\nN.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.
\nOn the onboard computer, clone this repo in your preferred path with the following command:
\ngit clone git@github.com:nortekgroup/nucleus_driver.git
Navigate to the blueos_extension folder (the folder containing the Dockerfile) and build the docker image with the following command:
\ndocker build . -t nucleus_driver
The GUI of the extension is by default on port 5000.
\nIf another port is preferred for the GUI the image can be build with the preferred port as an argument with the following command
\ndocker build . -t nucleus_driver --build-arg PORT=5000
with the value following \"PORT=
\" being your preferred port.
The docker container can be executed with the following command
\ndocker run --net=host --add-host=host.docker.internal:host-gateway -v /root/.config/blueos:/root/.config --name=nucleus_driver --restart=unless-stopped nucleus_driver
--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
-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.
--name=Nucleus-Driver
is the preferred name of the container.
--restart=unless-stopped
allows the extension to automatically start when the ROV is powered up
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.B. In order for the extension to work it is necessary to change certain controller parameters. Refer to \"Controller parameters\" section for more info
\nN.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
\nWith the extension added, its user interface (GUI) can be found by navigating to Extensions -> Nucleus: Position hold in the BlueOS menu.
\nIn 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.
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
\nThe 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
\nThe 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.
\nIt 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.
\nThe 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.
\nN.B. Adjusting any of these parameters WILL change the behavior of the ROV
\nN.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.
\nThe 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.
\nN.B. Adjusting any of these parameters may change the behavior of the ROV
\nN.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.
\nIn 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.
\nAfter 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
An intuitive and customizable cross-platform ground control station for remote vehicles of all types. Click here for a demo!
\n\n\n\nSee our documentation \ud83d\udcd6
\nCockpit is typically installed as an Electron application or BlueOS Extension, but for development purposes it is valuable to run it locally.
\nTo start, clone the repository and its submodules. The submodules are required components for Cockpit to be able to run:
\ngit clone --recurse-submodules git@github.com:bluerobotics/cockpit.git
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.
With bun
installed, you can enter the repository folder and follow the steps below:
bun install
and then run the server locally with:
\nbun run dev --host
Then you should see a prompt with the local IP and port that can be accessed through a browser, such as localhost:5173
.
Cockpit is currently a frontend-only application. That means it relies on data offered by other backend solutions, which are not built-in.
\nIf you have a BlueOS instance running, there's no need to install any backend, as BlueOS already provides everything.
\nIf that's not your case and you want to install the necessary backends, follow the instructions below:
\nmavlink2rest
, 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
.Follow the instructions provided here to connect Cockpit to your vehicle.
\nIf you're running a BlueOS instance, just put the IP address of it in \"Global vehicle address\" and click the \"apply\" button.
\nIf 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).
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.
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:
docker-compose -f sim.yml --profile ardusub up
Assuming you have run the bun run dev --host
command, you can access the simulation environment by opening the browser and accessing localhost:5173
.
This is a Nucleus extension for the BlueOS software running on BlueROV2.
\nIt 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.
\nThis allows the user to utilize the \"position hold\" functionality in the ROV
\nTo mount the Nucleus unto the BlueROV2 and connect it to its network, refer Nortek's Nucleus integration guide.
\nBlueOS needs to be of version 1.1.0-beta18 or newer in order to support the adding of third party extensions.
\nArduSub 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.
\nThis 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.
\nThe 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.
\nIn 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.
\nThe 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.
\nIt 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.
\nThe extension can be added through BlueOS' extensions menu.
\nNavigate to Extensions > Extensions Manager.
\n\nLocate Nortek Nucleus under the tab \"STORE\" and open it.
\n\nWhen 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.
\nTo 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\nAfter the installation has been completed. The extension can be located in Extensions > Extensions Manager, under the tab \"INSTALLED\".
\n\nHere 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.
\nThe extension itself can be opened in the menu by navigating to Extensions > Nucleus: Position hold.
\n\nOpening this will present the user with the GUI for the Nucleus extension which is covered in Using the extension
\nTo set this extension up manually, ssh into the Raspberry Pi on the BlueROV2 (or access via red-pill in BlueOS terminal).
\nN.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.
\nN.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.
\nOn the onboard computer, clone this repo in your preferred path with the following command:
\ngit clone git@github.com:nortekgroup/nucleus_driver.git
Navigate to the blueos_extension folder (the folder containing the Dockerfile) and build the docker image with the following command:
\ndocker build . -t nucleus_driver
The GUI of the extension is by default on port 5000.
\nIf another port is preferred for the GUI the image can be build with the preferred port as an argument with the following command
\ndocker build . -t nucleus_driver --build-arg PORT=5000
with the value following \"PORT=
\" being your preferred port.
The docker container can be executed with the following command
\ndocker run --net=host --add-host=host.docker.internal:host-gateway -v /root/.config/blueos:/root/.config --name=nucleus_driver --restart=unless-stopped nucleus_driver
--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
-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.
--name=Nucleus-Driver
is the preferred name of the container.
--restart=unless-stopped
allows the extension to automatically start when the ROV is powered up
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.B. In order for the extension to work it is necessary to change certain controller parameters. Refer to \"Controller parameters\" section for more info
\nN.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
\nWith the extension added, its user interface (GUI) can be found by navigating to Extensions -> Nucleus: Position hold in the BlueOS menu.
\nIn 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.
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
\nThe 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
\nThe 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.
\nIt 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.
\nThe 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.
\nN.B. Adjusting any of these parameters WILL change the behavior of the ROV
\nN.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.
\nThe 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.
\nN.B. Adjusting any of these parameters may change the behavior of the ROV
\nN.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.
\nIn 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.
\nAfter 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
An intuitive and customizable cross-platform ground control station for remote vehicles of all types. Click here for a demo!
\n\n\n\nSee our documentation \ud83d\udcd6
\nCockpit is typically installed as an Electron application or BlueOS Extension, but for development purposes it is valuable to run it locally.
\nTo start, clone the repository and its submodules. The submodules are required components for Cockpit to be able to run:
\ngit clone --recurse-submodules git@github.com:bluerobotics/cockpit.git
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.
With bun
installed, you can enter the repository folder and follow the steps below:
bun install
and then run the server locally with:
\nbun run dev --host
Then you should see a prompt with the local IP and port that can be accessed through a browser, such as localhost:5173
.
Cockpit is currently a frontend-only application. That means it relies on data offered by other backend solutions, which are not built-in.
\nIf you have a BlueOS instance running, there's no need to install any backend, as BlueOS already provides everything.
\nIf that's not your case and you want to install the necessary backends, follow the instructions below:
\nmavlink2rest
, 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
.Follow the instructions provided here to connect Cockpit to your vehicle.
\nIf you're running a BlueOS instance, just put the IP address of it in \"Global vehicle address\" and click the \"apply\" button.
\nIf 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).
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.
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:
docker-compose -f sim.yml --profile ardusub up
Assuming you have run the bun run dev --host
command, you can access the simulation environment by opening the browser and accessing localhost:5173
.
This is a Nucleus extension for the BlueOS software running on BlueROV2.
\nIt 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.
\nThis allows the user to utilize the \"position hold\" functionality in the ROV
\nTo mount the Nucleus unto the BlueROV2 and connect it to its network, refer Nortek's Nucleus integration guide.
\nBlueOS needs to be of version 1.1.0-beta18 or newer in order to support the adding of third party extensions.
\nArduSub 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.
\nThis 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.
\nThe 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.
\nIn 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.
\nThe 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.
\nIt 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.
\nThe extension can be added through BlueOS' extensions menu.
\nNavigate to Extensions > Extensions Manager.
\n\nLocate Nortek Nucleus under the tab \"STORE\" and open it.
\n\nWhen 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.
\nTo 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\nAfter the installation has been completed. The extension can be located in Extensions > Extensions Manager, under the tab \"INSTALLED\".
\n\nHere 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.
\nThe extension itself can be opened in the menu by navigating to Extensions > Nucleus: Position hold.
\n\nOpening this will present the user with the GUI for the Nucleus extension which is covered in Using the extension
\nTo set this extension up manually, ssh into the Raspberry Pi on the BlueROV2 (or access via red-pill in BlueOS terminal).
\nN.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.
\nN.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.
\nOn the onboard computer, clone this repo in your preferred path with the following command:
\ngit clone git@github.com:nortekgroup/nucleus_driver.git
Navigate to the blueos_extension folder (the folder containing the Dockerfile) and build the docker image with the following command:
\ndocker build . -t nucleus_driver
The GUI of the extension is by default on port 5000.
\nIf another port is preferred for the GUI the image can be build with the preferred port as an argument with the following command
\ndocker build . -t nucleus_driver --build-arg PORT=5000
with the value following \"PORT=
\" being your preferred port.
The docker container can be executed with the following command
\ndocker run --net=host --add-host=host.docker.internal:host-gateway -v /root/.config/blueos:/root/.config --name=nucleus_driver --restart=unless-stopped nucleus_driver
--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
-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.
--name=Nucleus-Driver
is the preferred name of the container.
--restart=unless-stopped
allows the extension to automatically start when the ROV is powered up
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.B. In order for the extension to work it is necessary to change certain controller parameters. Refer to \"Controller parameters\" section for more info
\nN.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
\nWith the extension added, its user interface (GUI) can be found by navigating to Extensions -> Nucleus: Position hold in the BlueOS menu.
\nIn 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.
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
\nThe 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
\nThe 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.
\nIt 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.
\nThe 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.
\nN.B. Adjusting any of these parameters WILL change the behavior of the ROV
\nN.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.
\nThe 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.
\nN.B. Adjusting any of these parameters may change the behavior of the ROV
\nN.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.
\nIn 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.
\nAfter 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
An intuitive and customizable cross-platform ground control station for remote vehicles of all types. Click here for a demo!
\n\n\n\nSee our documentation \ud83d\udcd6
\nCockpit is typically installed as an Electron application or BlueOS Extension, but for development purposes it is valuable to run it locally.
\nTo start, clone the repository and its submodules. The submodules are required components for Cockpit to be able to run:
\ngit clone --recurse-submodules git@github.com:bluerobotics/cockpit.git
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.
With bun
installed, you can enter the repository folder and follow the steps below:
bun install
and then run the server locally with:
\nbun run dev --host
Then you should see a prompt with the local IP and port that can be accessed through a browser, such as localhost:5173
.
Cockpit is currently a frontend-only application. That means it relies on data offered by other backend solutions, which are not built-in.
\nIf you have a BlueOS instance running, there's no need to install any backend, as BlueOS already provides everything.
\nIf that's not your case and you want to install the necessary backends, follow the instructions below:
\nmavlink2rest
, 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
.Follow the instructions provided here to connect Cockpit to your vehicle.
\nIf you're running a BlueOS instance, just put the IP address of it in \"Global vehicle address\" and click the \"apply\" button.
\nIf 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).
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.
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:
docker-compose -f sim.yml --profile ardusub up
Assuming you have run the bun run dev --host
command, you can access the simulation environment by opening the browser and accessing localhost:5173
.
This is a Nucleus extension for the BlueOS software running on BlueROV2.
\nIt 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.
\nThis allows the user to utilize the \"position hold\" functionality in the ROV
\nTo mount the Nucleus unto the BlueROV2 and connect it to its network, refer Nortek's Nucleus integration guide.
\nBlueOS needs to be of version 1.1.0-beta18 or newer in order to support the adding of third party extensions.
\nArduSub 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.
\nThis 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.
\nThe 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.
\nIn 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.
\nThe 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.
\nIt 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.
\nThe extension can be added through BlueOS' extensions menu.
\nNavigate to Extensions > Extensions Manager.
\n\nLocate Nortek Nucleus under the tab \"STORE\" and open it.
\n\nWhen 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.
\nTo 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\nAfter the installation has been completed. The extension can be located in Extensions > Extensions Manager, under the tab \"INSTALLED\".
\n\nHere 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.
\nThe extension itself can be opened in the menu by navigating to Extensions > Nucleus: Position hold.
\n\nOpening this will present the user with the GUI for the Nucleus extension which is covered in Using the extension
\nTo set this extension up manually, ssh into the Raspberry Pi on the BlueROV2 (or access via red-pill in BlueOS terminal).
\nN.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.
\nN.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.
\nOn the onboard computer, clone this repo in your preferred path with the following command:
\ngit clone git@github.com:nortekgroup/nucleus_driver.git
Navigate to the blueos_extension folder (the folder containing the Dockerfile) and build the docker image with the following command:
\ndocker build . -t nucleus_driver
The GUI of the extension is by default on port 5000.
\nIf another port is preferred for the GUI the image can be build with the preferred port as an argument with the following command
\ndocker build . -t nucleus_driver --build-arg PORT=5000
with the value following \"PORT=
\" being your preferred port.
The docker container can be executed with the following command
\ndocker run --net=host --add-host=host.docker.internal:host-gateway -v /root/.config/blueos:/root/.config --name=nucleus_driver --restart=unless-stopped nucleus_driver
--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
-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.
--name=Nucleus-Driver
is the preferred name of the container.
--restart=unless-stopped
allows the extension to automatically start when the ROV is powered up
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.B. In order for the extension to work it is necessary to change certain controller parameters. Refer to \"Controller parameters\" section for more info
\nN.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
\nWith the extension added, its user interface (GUI) can be found by navigating to Extensions -> Nucleus: Position hold in the BlueOS menu.
\nIn 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.
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
\nThe 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
\nThe 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.
\nIt 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.
\nThe 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.
\nN.B. Adjusting any of these parameters WILL change the behavior of the ROV
\nN.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.
\nThe 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.
\nN.B. Adjusting any of these parameters may change the behavior of the ROV
\nN.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.
\nIn 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.
\nAfter 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
An intuitive and customizable cross-platform ground control station for remote vehicles of all types. Click here for a demo!
\n\n\n\nSee our documentation \ud83d\udcd6
\nCockpit is typically installed as an Electron application or BlueOS Extension, but for development purposes it is valuable to run it locally.
\nTo start, clone the repository and its submodules. The submodules are required components for Cockpit to be able to run:
\ngit clone --recurse-submodules git@github.com:bluerobotics/cockpit.git
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.
With bun
installed, you can enter the repository folder and follow the steps below:
bun install
and then run the server locally with:
\nbun run dev --host
Then you should see a prompt with the local IP and port that can be accessed through a browser, such as localhost:5173
.
Cockpit is currently a frontend-only application. That means it relies on data offered by other backend solutions, which are not built-in.
\nIf you have a BlueOS instance running, there's no need to install any backend, as BlueOS already provides everything.
\nIf that's not your case and you want to install the necessary backends, follow the instructions below:
\nmavlink2rest
, 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
.Follow the instructions provided here to connect Cockpit to your vehicle.
\nIf you're running a BlueOS instance, just put the IP address of it in \"Global vehicle address\" and click the \"apply\" button.
\nIf 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).
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.
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:
docker-compose -f sim.yml --profile ardusub up
Assuming you have run the bun run dev --host
command, you can access the simulation environment by opening the browser and accessing localhost:5173
.
This is a Nucleus extension for the BlueOS software running on BlueROV2.
\nIt 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.
\nThis allows the user to utilize the \"position hold\" functionality in the ROV
\nTo mount the Nucleus unto the BlueROV2 and connect it to its network, refer Nortek's Nucleus integration guide.
\nBlueOS needs to be of version 1.1.0-beta18 or newer in order to support the adding of third party extensions.
\nArduSub 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.
\nThis 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.
\nThe 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.
\nIn 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.
\nThe 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.
\nIt 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.
\nThe extension can be added through BlueOS' extensions menu.
\nNavigate to Extensions > Extensions Manager.
\n\nLocate Nortek Nucleus under the tab \"STORE\" and open it.
\n\nWhen 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.
\nTo 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\nAfter the installation has been completed. The extension can be located in Extensions > Extensions Manager, under the tab \"INSTALLED\".
\n\nHere 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.
\nThe extension itself can be opened in the menu by navigating to Extensions > Nucleus: Position hold.
\n\nOpening this will present the user with the GUI for the Nucleus extension which is covered in Using the extension
\nTo set this extension up manually, ssh into the Raspberry Pi on the BlueROV2 (or access via red-pill in BlueOS terminal).
\nN.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.
\nN.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.
\nOn the onboard computer, clone this repo in your preferred path with the following command:
\ngit clone git@github.com:nortekgroup/nucleus_driver.git
Navigate to the blueos_extension folder (the folder containing the Dockerfile) and build the docker image with the following command:
\ndocker build . -t nucleus_driver
The GUI of the extension is by default on port 5000.
\nIf another port is preferred for the GUI the image can be build with the preferred port as an argument with the following command
\ndocker build . -t nucleus_driver --build-arg PORT=5000
with the value following \"PORT=
\" being your preferred port.
The docker container can be executed with the following command
\ndocker run --net=host --add-host=host.docker.internal:host-gateway -v /root/.config/blueos:/root/.config --name=nucleus_driver --restart=unless-stopped nucleus_driver
--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
-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.
--name=Nucleus-Driver
is the preferred name of the container.
--restart=unless-stopped
allows the extension to automatically start when the ROV is powered up
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.B. In order for the extension to work it is necessary to change certain controller parameters. Refer to \"Controller parameters\" section for more info
\nN.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
\nWith the extension added, its user interface (GUI) can be found by navigating to Extensions -> Nucleus: Position hold in the BlueOS menu.
\nIn 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.
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
\nThe 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
\nThe 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.
\nIt 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.
\nThe 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.
\nN.B. Adjusting any of these parameters WILL change the behavior of the ROV
\nN.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.
\nThe 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.
\nN.B. Adjusting any of these parameters may change the behavior of the ROV
\nN.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.
\nIn 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.
\nAfter 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
An intuitive and customizable cross-platform ground control station for remote vehicles of all types. Click here for a demo!
\n\n\n\nSee our documentation \ud83d\udcd6
\nCockpit is typically installed as an Electron application or BlueOS Extension, but for development purposes it is valuable to run it locally.
\nTo start, clone the repository and its submodules. The submodules are required components for Cockpit to be able to run:
\ngit clone --recurse-submodules git@github.com:bluerobotics/cockpit.git
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.
With bun
installed, you can enter the repository folder and follow the steps below:
bun install
and then run the server locally with:
\nbun run dev --host
Then you should see a prompt with the local IP and port that can be accessed through a browser, such as localhost:5173
.
Cockpit is currently a frontend-only application. That means it relies on data offered by other backend solutions, which are not built-in.
\nIf you have a BlueOS instance running, there's no need to install any backend, as BlueOS already provides everything.
\nIf that's not your case and you want to install the necessary backends, follow the instructions below:
\nmavlink2rest
, 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
.Follow the instructions provided here to connect Cockpit to your vehicle.
\nIf you're running a BlueOS instance, just put the IP address of it in \"Global vehicle address\" and click the \"apply\" button.
\nIf 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).
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.
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:
docker-compose -f sim.yml --profile ardusub up
Assuming you have run the bun run dev --host
command, you can access the simulation environment by opening the browser and accessing localhost:5173
.
This is a Nucleus extension for the BlueOS software running on BlueROV2.
\nIt 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.
\nThis allows the user to utilize the \"position hold\" functionality in the ROV
\nTo mount the Nucleus unto the BlueROV2 and connect it to its network, refer Nortek's Nucleus integration guide.
\nBlueOS needs to be of version 1.1.0-beta18 or newer in order to support the adding of third party extensions.
\nArduSub 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.
\nThis 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.
\nThe 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.
\nIn 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.
\nThe 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.
\nIt 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.
\nThe extension can be added through BlueOS' extensions menu.
\nNavigate to Extensions > Extensions Manager.
\n\nLocate Nortek Nucleus under the tab \"STORE\" and open it.
\n\nWhen 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.
\nTo 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\nAfter the installation has been completed. The extension can be located in Extensions > Extensions Manager, under the tab \"INSTALLED\".
\n\nHere 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.
\nThe extension itself can be opened in the menu by navigating to Extensions > Nucleus: Position hold.
\n\nOpening this will present the user with the GUI for the Nucleus extension which is covered in Using the extension
\nTo set this extension up manually, ssh into the Raspberry Pi on the BlueROV2 (or access via red-pill in BlueOS terminal).
\nN.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.
\nN.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.
\nOn the onboard computer, clone this repo in your preferred path with the following command:
\ngit clone git@github.com:nortekgroup/nucleus_driver.git
Navigate to the blueos_extension folder (the folder containing the Dockerfile) and build the docker image with the following command:
\ndocker build . -t nucleus_driver
The GUI of the extension is by default on port 5000.
\nIf another port is preferred for the GUI the image can be build with the preferred port as an argument with the following command
\ndocker build . -t nucleus_driver --build-arg PORT=5000
with the value following \"PORT=
\" being your preferred port.
The docker container can be executed with the following command
\ndocker run --net=host --add-host=host.docker.internal:host-gateway -v /root/.config/blueos:/root/.config --name=nucleus_driver --restart=unless-stopped nucleus_driver
--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
-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.
--name=Nucleus-Driver
is the preferred name of the container.
--restart=unless-stopped
allows the extension to automatically start when the ROV is powered up
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.B. In order for the extension to work it is necessary to change certain controller parameters. Refer to \"Controller parameters\" section for more info
\nN.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
\nWith the extension added, its user interface (GUI) can be found by navigating to Extensions -> Nucleus: Position hold in the BlueOS menu.
\nIn 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.
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
\nThe 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
\nThe 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.
\nIt 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.
\nThe 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.
\nN.B. Adjusting any of these parameters WILL change the behavior of the ROV
\nN.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.
\nThe 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.
\nN.B. Adjusting any of these parameters may change the behavior of the ROV
\nN.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.
\nIn 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.
\nAfter 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
An intuitive and customizable cross-platform ground control station for remote vehicles of all types. Click here for a demo!
\n\n\n\nSee our documentation \ud83d\udcd6
\nCockpit is typically installed as an Electron application or BlueOS Extension, but for development purposes it is valuable to run it locally.
\nTo start, clone the repository and its submodules. The submodules are required components for Cockpit to be able to run:
\ngit clone --recurse-submodules git@github.com:bluerobotics/cockpit.git
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.
With bun
installed, you can enter the repository folder and follow the steps below:
bun install
and then run the server locally with:
\nbun run dev --host
Then you should see a prompt with the local IP and port that can be accessed through a browser, such as localhost:5173
.
Cockpit is currently a frontend-only application. That means it relies on data offered by other backend solutions, which are not built-in.
\nIf you have a BlueOS instance running, there's no need to install any backend, as BlueOS already provides everything.
\nIf that's not your case and you want to install the necessary backends, follow the instructions below:
\nmavlink2rest
, 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
.Follow the instructions provided here to connect Cockpit to your vehicle.
\nIf you're running a BlueOS instance, just put the IP address of it in \"Global vehicle address\" and click the \"apply\" button.
\nIf 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).
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.
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:
docker-compose -f sim.yml --profile ardusub up
Assuming you have run the bun run dev --host
command, you can access the simulation environment by opening the browser and accessing localhost:5173
.
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
An intuitive and customizable cross-platform ground control station for remote vehicles of all types. Click here for a demo!
\n\n\n\nSee our documentation \ud83d\udcd6
\nCockpit is typically installed as an Electron application or BlueOS Extension, but for development purposes it is valuable to run it locally.
\nTo start, clone the repository and its submodules. The submodules are required components for Cockpit to be able to run:
\ngit clone --recurse-submodules git@github.com:bluerobotics/cockpit.git
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.
With bun
installed, you can enter the repository folder and follow the steps below:
bun install
and then run the server locally with:
\nbun run dev --host
Then you should see a prompt with the local IP and port that can be accessed through a browser, such as localhost:5173
.
Cockpit is currently a frontend-only application. That means it relies on data offered by other backend solutions, which are not built-in.
\nIf you have a BlueOS instance running, there's no need to install any backend, as BlueOS already provides everything.
\nIf that's not your case and you want to install the necessary backends, follow the instructions below:
\nmavlink2rest
, 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
.Follow the instructions provided here to connect Cockpit to your vehicle.
\nIf you're running a BlueOS instance, just put the IP address of it in \"Global vehicle address\" and click the \"apply\" button.
\nIf 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).
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.
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:
docker-compose -f sim.yml --profile ardusub up
Assuming you have run the bun run dev --host
command, you can access the simulation environment by opening the browser and accessing localhost:5173
.
SonarView is a cross-platform application for controlling and communicating with sonar devices.
\nThis repository hosts the build and release process for SonarView.
\n
\n
An intuitive and customizable cross-platform ground control station for remote vehicles of all types. Click here for a demo!
\n\n\n\nSee our documentation \ud83d\udcd6
\nCockpit is typically installed as an Electron application or BlueOS Extension, but for development purposes it is valuable to run it locally.
\nTo start, clone the repository and its submodules. The submodules are required components for Cockpit to be able to run:
\ngit clone --recurse-submodules git@github.com:bluerobotics/cockpit.git
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.
With bun
installed, you can enter the repository folder and follow the steps below:
bun install
and then run the server locally with:
\nbun run dev --host
Then you should see a prompt with the local IP and port that can be accessed through a browser, such as localhost:5173
.
Cockpit is currently a frontend-only application. That means it relies on data offered by other backend solutions, which are not built-in.
\nIf you have a BlueOS instance running, there's no need to install any backend, as BlueOS already provides everything.
\nIf that's not your case and you want to install the necessary backends, follow the instructions below:
\nmavlink2rest
, 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
.Follow the instructions provided here to connect Cockpit to your vehicle.
\nIf you're running a BlueOS instance, just put the IP address of it in \"Global vehicle address\" and click the \"apply\" button.
\nIf 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).
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.
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:
docker-compose -f sim.yml --profile ardusub up
Assuming you have run the bun run dev --host
command, you can access the simulation environment by opening the browser and accessing localhost:5173
.
SonarView is a cross-platform application for controlling and communicating with sonar devices.
\nThis repository hosts the build and release process for SonarView.
\n
\n
An intuitive and customizable cross-platform ground control station for remote vehicles of all types. Click here for a demo!
\n\n\n\nSee our documentation \ud83d\udcd6
\nCockpit is typically installed as an Electron application or BlueOS Extension, but for development purposes it is valuable to run it locally.
\nTo start, clone the repository and its submodules. The submodules are required components for Cockpit to be able to run:
\ngit clone --recurse-submodules git@github.com:bluerobotics/cockpit.git
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.
With bun
installed, you can enter the repository folder and follow the steps below:
bun install
and then run the server locally with:
\nbun run dev --host
Then you should see a prompt with the local IP and port that can be accessed through a browser, such as localhost:5173
.
Cockpit is currently a frontend-only application. That means it relies on data offered by other backend solutions, which are not built-in.
\nIf you have a BlueOS instance running, there's no need to install any backend, as BlueOS already provides everything.
\nIf that's not your case and you want to install the necessary backends, follow the instructions below:
\nmavlink2rest
, 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
.Follow the instructions provided here to connect Cockpit to your vehicle.
\nIf you're running a BlueOS instance, just put the IP address of it in \"Global vehicle address\" and click the \"apply\" button.
\nIf 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).
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.
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:
docker-compose -f sim.yml --profile ardusub up
Assuming you have run the bun run dev --host
command, you can access the simulation environment by opening the browser and accessing localhost:5173
.
SonarView is a cross-platform application for controlling and communicating with sonar devices.
\nThis repository hosts the build and release process for SonarView.
\n
\n
An intuitive and customizable cross-platform ground control station for remote vehicles of all types. Click here for a demo!
\n\n\n\nSee our documentation \ud83d\udcd6
\nCockpit is typically installed as an Electron application or BlueOS Extension, but for development purposes it is valuable to run it locally.
\nTo start, clone the repository and its submodules. The submodules are required components for Cockpit to be able to run:
\ngit clone --recurse-submodules git@github.com:bluerobotics/cockpit.git
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.
With bun
installed, you can enter the repository folder and follow the steps below:
bun install
and then run the server locally with:
\nbun run dev --host
Then you should see a prompt with the local IP and port that can be accessed through a browser, such as localhost:5173
.
Cockpit is currently a frontend-only application. That means it relies on data offered by other backend solutions, which are not built-in.
\nIf you have a BlueOS instance running, there's no need to install any backend, as BlueOS already provides everything.
\nIf that's not your case and you want to install the necessary backends, follow the instructions below:
\nmavlink2rest
, 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
.Follow the instructions provided here to connect Cockpit to your vehicle.
\nIf you're running a BlueOS instance, just put the IP address of it in \"Global vehicle address\" and click the \"apply\" button.
\nIf 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).
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.
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:
docker-compose -f sim.yml --profile ardusub up
Assuming you have run the bun run dev --host
command, you can access the simulation environment by opening the browser and accessing localhost:5173
.
SonarView is a cross-platform application for controlling and communicating with sonar devices.
\nThis repository hosts the build and release process for SonarView.
\n
\n
An intuitive and customizable cross-platform ground control station for remote vehicles of all types. Click here for a demo!
\n\n\n\nSee our documentation \ud83d\udcd6
\nCockpit is typically installed as an Electron application or BlueOS Extension, but for development purposes it is valuable to run it locally.
\nTo start, clone the repository and its submodules. The submodules are required components for Cockpit to be able to run:
\ngit clone --recurse-submodules git@github.com:bluerobotics/cockpit.git
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.
With bun
installed, you can enter the repository folder and follow the steps below:
bun install
and then run the server locally with:
\nbun run dev --host
Then you should see a prompt with the local IP and port that can be accessed through a browser, such as localhost:5173
.
Cockpit is currently a frontend-only application. That means it relies on data offered by other backend solutions, which are not built-in.
\nIf you have a BlueOS instance running, there's no need to install any backend, as BlueOS already provides everything.
\nIf that's not your case and you want to install the necessary backends, follow the instructions below:
\nmavlink2rest
, 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
.Follow the instructions provided here to connect Cockpit to your vehicle.
\nIf you're running a BlueOS instance, just put the IP address of it in \"Global vehicle address\" and click the \"apply\" button.
\nIf 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).
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.
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:
docker-compose -f sim.yml --profile ardusub up
Assuming you have run the bun run dev --host
command, you can access the simulation environment by opening the browser and accessing localhost:5173
.
SonarView is a cross-platform application for controlling and communicating with sonar devices.
\nThis repository hosts the build and release process for SonarView.
\n
\n
An intuitive and customizable cross-platform ground control station for remote vehicles of all types. Click here for a demo!
\n\n\n\nSee our documentation \ud83d\udcd6
\nCockpit is typically installed as an Electron application or BlueOS Extension, but for development purposes it is valuable to run it locally.
\nTo start, clone the repository and its submodules. The submodules are required components for Cockpit to be able to run:
\ngit clone --recurse-submodules git@github.com:bluerobotics/cockpit.git
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.
With bun
installed, you can enter the repository folder and follow the steps below:
bun install
and then run the server locally with:
\nbun run dev --host
Then you should see a prompt with the local IP and port that can be accessed through a browser, such as localhost:5173
.
Cockpit is currently a frontend-only application. That means it relies on data offered by other backend solutions, which are not built-in.
\nIf you have a BlueOS instance running, there's no need to install any backend, as BlueOS already provides everything.
\nIf that's not your case and you want to install the necessary backends, follow the instructions below:
\nmavlink2rest
, 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
.Follow the instructions provided here to connect Cockpit to your vehicle.
\nIf you're running a BlueOS instance, just put the IP address of it in \"Global vehicle address\" and click the \"apply\" button.
\nIf 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).
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.
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:
docker-compose -f sim.yml --profile ardusub up
Assuming you have run the bun run dev --host
command, you can access the simulation environment by opening the browser and accessing localhost:5173
.
SonarView is a cross-platform application for controlling and communicating with sonar devices.
\nThis repository hosts the build and release process for SonarView.
\n
\n
An intuitive and customizable cross-platform ground control station for remote vehicles of all types. Click here for a demo!
\n\n\n\nSee our documentation \ud83d\udcd6
\nCockpit is typically installed as an Electron application or BlueOS Extension, but for development purposes it is valuable to run it locally.
\nTo start, clone the repository and its submodules. The submodules are required components for Cockpit to be able to run:
\ngit clone --recurse-submodules git@github.com:bluerobotics/cockpit.git
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.
With bun
installed, you can enter the repository folder and follow the steps below:
bun install
and then run the server locally with:
\nbun run dev --host
Then you should see a prompt with the local IP and port that can be accessed through a browser, such as localhost:5173
.
Cockpit is currently a frontend-only application. That means it relies on data offered by other backend solutions, which are not built-in.
\nIf you have a BlueOS instance running, there's no need to install any backend, as BlueOS already provides everything.
\nIf that's not your case and you want to install the necessary backends, follow the instructions below:
\nmavlink2rest
, 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
.Follow the instructions provided here to connect Cockpit to your vehicle.
\nIf you're running a BlueOS instance, just put the IP address of it in \"Global vehicle address\" and click the \"apply\" button.
\nIf 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).
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.
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:
docker-compose -f sim.yml --profile ardusub up
Assuming you have run the bun run dev --host
command, you can access the simulation environment by opening the browser and accessing localhost:5173
.
SonarView is a cross-platform application for controlling and communicating with sonar devices.
\nThis repository hosts the build and release process for SonarView.
\n
\n
An intuitive and customizable cross-platform ground control station for remote vehicles of all types. Click here for a demo!
\n\n\n\nSee our documentation \ud83d\udcd6
\nCockpit is typically installed as an Electron application or BlueOS Extension, but for development purposes it is valuable to run it locally.
\nTo start, clone the repository and its submodules. The submodules are required components for Cockpit to be able to run:
\ngit clone --recurse-submodules git@github.com:bluerobotics/cockpit.git
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.
With bun
installed, you can enter the repository folder and follow the steps below:
bun install
and then run the server locally with:
\nbun run dev --host
Then you should see a prompt with the local IP and port that can be accessed through a browser, such as localhost:5173
.
Cockpit is currently a frontend-only application. That means it relies on data offered by other backend solutions, which are not built-in.
\nIf you have a BlueOS instance running, there's no need to install any backend, as BlueOS already provides everything.
\nIf that's not your case and you want to install the necessary backends, follow the instructions below:
\nmavlink2rest
, 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
.Follow the instructions provided here to connect Cockpit to your vehicle.
\nIf you're running a BlueOS instance, just put the IP address of it in \"Global vehicle address\" and click the \"apply\" button.
\nIf 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).
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.
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:
docker-compose -f sim.yml --profile ardusub up
Assuming you have run the bun run dev --host
command, you can access the simulation environment by opening the browser and accessing localhost:5173
.
SonarView is a cross-platform application for controlling and communicating with sonar devices.
\nThis repository hosts the build and release process for SonarView.
\n
\n
An intuitive and customizable cross-platform ground control station for remote vehicles of all types. Click here for a demo!
\n\n\n\nSee our documentation \ud83d\udcd6
\nCockpit is typically installed as an Electron application or BlueOS Extension, but for development purposes it is valuable to run it locally.
\nTo start, clone the repository and its submodules. The submodules are required components for Cockpit to be able to run:
\ngit clone --recurse-submodules git@github.com:bluerobotics/cockpit.git
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.
With bun
installed, you can enter the repository folder and follow the steps below:
bun install
and then run the server locally with:
\nbun run dev --host
Then you should see a prompt with the local IP and port that can be accessed through a browser, such as localhost:5173
.
Cockpit is currently a frontend-only application. That means it relies on data offered by other backend solutions, which are not built-in.
\nIf you have a BlueOS instance running, there's no need to install any backend, as BlueOS already provides everything.
\nIf that's not your case and you want to install the necessary backends, follow the instructions below:
\nmavlink2rest
, 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
.Follow the instructions provided here to connect Cockpit to your vehicle.
\nIf you're running a BlueOS instance, just put the IP address of it in \"Global vehicle address\" and click the \"apply\" button.
\nIf 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).
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.
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:
docker-compose -f sim.yml --profile ardusub up
Assuming you have run the bun run dev --host
command, you can access the simulation environment by opening the browser and accessing localhost:5173
.
SonarView is a cross-platform application for controlling and communicating with sonar devices.
\nThis repository hosts the build and release process for SonarView.
\n
\n
An intuitive and customizable cross-platform ground control station for remote vehicles of all types. Click here for a demo!
\n\n\n\nSee our documentation \ud83d\udcd6
\nCockpit is typically installed as an Electron application or BlueOS Extension, but for development purposes it is valuable to run it locally.
\nTo start, clone the repository and its submodules. The submodules are required components for Cockpit to be able to run:
\ngit clone --recurse-submodules git@github.com:bluerobotics/cockpit.git
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.
With bun
installed, you can enter the repository folder and follow the steps below:
bun install
and then run the server locally with:
\nbun run dev --host
Then you should see a prompt with the local IP and port that can be accessed through a browser, such as localhost:5173
.
Cockpit is currently a frontend-only application. That means it relies on data offered by other backend solutions, which are not built-in.
\nIf you have a BlueOS instance running, there's no need to install any backend, as BlueOS already provides everything.
\nIf that's not your case and you want to install the necessary backends, follow the instructions below:
\nmavlink2rest
, 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
.Follow the instructions provided here to connect Cockpit to your vehicle.
\nIf you're running a BlueOS instance, just put the IP address of it in \"Global vehicle address\" and click the \"apply\" button.
\nIf 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).
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.
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:
docker-compose -f sim.yml --profile ardusub up
Assuming you have run the bun run dev --host
command, you can access the simulation environment by opening the browser and accessing localhost:5173
.
SonarView is a cross-platform application for controlling and communicating with sonar devices.
\nThis repository hosts the build and release process for SonarView.
\n
\n
An intuitive and customizable cross-platform ground control station for remote vehicles of all types. Click here for a demo!
\n\n\n\nSee our documentation \ud83d\udcd6
\nCockpit is typically installed as an Electron application or BlueOS Extension, but for development purposes it is valuable to run it locally.
\nTo start, clone the repository and its submodules. The submodules are required components for Cockpit to be able to run:
\ngit clone --recurse-submodules git@github.com:bluerobotics/cockpit.git
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.
With bun
installed, you can enter the repository folder and follow the steps below:
bun install
and then run the server locally with:
\nbun run dev --host
Then you should see a prompt with the local IP and port that can be accessed through a browser, such as localhost:5173
.
Cockpit is currently a frontend-only application. That means it relies on data offered by other backend solutions, which are not built-in.
\nIf you have a BlueOS instance running, there's no need to install any backend, as BlueOS already provides everything.
\nIf that's not your case and you want to install the necessary backends, follow the instructions below:
\nmavlink2rest
, 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
.Follow the instructions provided here to connect Cockpit to your vehicle.
\nIf you're running a BlueOS instance, just put the IP address of it in \"Global vehicle address\" and click the \"apply\" button.
\nIf 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).
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.
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:
docker-compose -f sim.yml --profile ardusub up
Assuming you have run the bun run dev --host
command, you can access the simulation environment by opening the browser and accessing localhost:5173
.
SonarView is a cross-platform application for controlling and communicating with sonar devices.
\nThis repository hosts the build and release process for SonarView.
\n
\n
An intuitive and customizable cross-platform ground control station for remote vehicles of all types. Click here for a demo!
\n\n\n\nSee our documentation \ud83d\udcd6
\nCockpit is typically installed as an Electron application or BlueOS Extension, but for development purposes it is valuable to run it locally.
\nTo start, clone the repository and its submodules. The submodules are required components for Cockpit to be able to run:
\ngit clone --recurse-submodules git@github.com:bluerobotics/cockpit.git
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.
With bun
installed, you can enter the repository folder and follow the steps below:
bun install
and then run the server locally with:
\nbun run dev --host
Then you should see a prompt with the local IP and port that can be accessed through a browser, such as localhost:5173
.
Cockpit is currently a frontend-only application. That means it relies on data offered by other backend solutions, which are not built-in.
\nIf you have a BlueOS instance running, there's no need to install any backend, as BlueOS already provides everything.
\nIf that's not your case and you want to install the necessary backends, follow the instructions below:
\nmavlink2rest
, 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
.Follow the instructions provided here to connect Cockpit to your vehicle.
\nIf you're running a BlueOS instance, just put the IP address of it in \"Global vehicle address\" and click the \"apply\" button.
\nIf 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).
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.
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:
docker-compose -f sim.yml --profile ardusub up
Assuming you have run the bun run dev --host
command, you can access the simulation environment by opening the browser and accessing localhost:5173
.
SonarView is a cross-platform application for controlling and communicating with sonar devices.
\nThis repository hosts the build and release process for SonarView.
\nThis is a docker implementation of a Water Linked DVL A50 and A125 driver as a BlueOS Extension.
\nInstall it from BlueOS extensions tab.
\nThe 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 is a cross-platform application for controlling and communicating with sonar devices.
\nThis repository hosts the build and release process for SonarView.
\nThis is a docker implementation of a Water Linked DVL A50 and A125 driver as a BlueOS Extension.
\nInstall it from BlueOS extensions tab.
\nThe 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 is a cross-platform application for controlling and communicating with sonar devices.
\nThis repository hosts the build and release process for SonarView.
\nThis is a docker implementation of a Water Linked DVL A50 and A125 driver as a BlueOS Extension.
\nInstall it from BlueOS extensions tab.
\nThe 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 is a cross-platform application for controlling and communicating with sonar devices.
\nThis repository hosts the build and release process for SonarView.
\nThis is a docker implementation of a Waterlinked DVL A50 driver as a BlueOS Extension.
\nInstall it from BlueOS extensions tab.
\nThe 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 is a cross-platform application for controlling and communicating with sonar devices.
\nThis repository hosts the build and release process for SonarView.
\nThis is a docker implementation of a Waterlinked DVL A50 driver as a BlueOS Extension.
\nInstall it from BlueOS extensions tab.
\nThe 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 is a cross-platform application for controlling and communicating with sonar devices.
\nThis repository hosts the build and release process for SonarView.
\nThis is a docker implementation of a Waterlinked DVL A50 driver as a BlueOS Extension.
\nInstall it from BlueOS extensions tab.
\nThe 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 is a cross-platform application for controlling and communicating with sonar devices.
\nThis repository hosts the build and release process for SonarView.
\nThis is a docker implementation of a Waterlinked DVL-a50 driver for the new Blue Robotics BlueOS.
\nTo set this up, ssh into the Raspberry Pi (or access via red-pill
in BlueOS Terminal) and run
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
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 is a cross-platform application for controlling and communicating with sonar devices.
\nThis repository hosts the build and release process for SonarView.
\nThis is a docker implementation of a Waterlinked DVL-a50 driver for the new Blue Robotics BlueOS.
\nTo set this up, ssh into the Raspberry Pi (or access via red-pill
in BlueOS Terminal) and run
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
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 is a cross-platform application for controlling and communicating with sonar devices.
\nThis repository hosts the build and release process for SonarView.
\nNode-RED is a programming tool for wiring together hardware devices, APIs and online services in new and interesting ways.
\nIt 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 is a cross-platform application for controlling and communicating with sonar devices.
\nThis repository hosts the build and release process for SonarView.
\nNode-RED is a programming tool for wiring together hardware devices, APIs and online services in new and interesting ways.
\nIt 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 is a cross-platform application for controlling and communicating with sonar devices.
\nThis repository hosts the build and release process for SonarView.
\nNode-RED is a programming tool for wiring together hardware devices, APIs and online services in new and interesting ways.
\nIt 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 is a cross-platform application for controlling and communicating with sonar devices.
\nThis repository hosts the build and release process for SonarView.
\nNode-RED is a programming tool for wiring together hardware devices, APIs and online services in new and interesting ways.
\nIt 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 is a cross-platform application for controlling and communicating with sonar devices.
\nThis repository hosts the build and release process for SonarView.
\nNode-RED is a programming tool for wiring together hardware devices, APIs and online services in new and interesting ways.
\nIt 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": "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": "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.
\nExecute the following command to build your extension:
\nshell\n docker buildx build --platform linux/arm/v7 . -t my_docker_user/blueos-ps-calibration:latest --output type=registry
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 extension for OpenVSCode Server.
\nOpenVSCode 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": "Cerulean DVL driver, compatible with Blue Robotics BlueOS.
\nTo set this up, ssh into the Raspberry Pi (or access via red-pill
in BlueOS Terminal) and run
sudo docker run -d --net=host -v /root/.config/cerulean:/root/.config --name=BlueOS-Cerulean-DVL --restart=unless-stopped nicknothom/blueos-cerulean-dvl:latest
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 extension for OpenVSCode Server.
\nOpenVSCode 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": "Cerulean DVL driver, compatible with Blue Robotics BlueOS.
\nTo set this up, ssh into the Raspberry Pi (or access via red-pill
in BlueOS Terminal) and run
sudo docker run -d --net=host -v /root/.config/cerulean:/root/.config --name=BlueOS-Cerulean-DVL --restart=unless-stopped nicknothom/blueos-cerulean-dvl:latest
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 extension for OpenVSCode Server.
\nOpenVSCode 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": "Cerulean DVL driver, compatible with Blue Robotics BlueOS.
\nTo set this up, ssh into the Raspberry Pi (or access via red-pill
in BlueOS Terminal) and run
sudo docker run -d --net=host -v /root/.config/cerulean:/root/.config --name=BlueOS-Cerulean-DVL --restart=unless-stopped nicknothom/blueos-cerulean-dvl:latest
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 extension for OpenVSCode Server.
\nOpenVSCode 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": "Cerulean DVL driver, compatible with Blue Robotics BlueOS.
\nTo set this up, ssh into the Raspberry Pi (or access via red-pill
in BlueOS Terminal) and run
sudo docker run -d --net=host -v /root/.config/cerulean:/root/.config --name=BlueOS-Cerulean-DVL --restart=unless-stopped nicknothom/blueos-cerulean-dvl:latest
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 extension for OpenVSCode Server.
\nOpenVSCode 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": "Cerulean DVL driver, compatible with Blue Robotics BlueOS.
\nTo set this up, ssh into the Raspberry Pi (or access via red-pill
in BlueOS Terminal) and run
sudo docker run -d --net=host -v /root/.config/cerulean:/root/.config --name=BlueOS-Cerulean-DVL --restart=unless-stopped nicknothom/blueos-cerulean-dvl:latest
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 extension for OpenVSCode Server.
\nOpenVSCode 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": "Cerulean DVL driver, compatible with Blue Robotics BlueOS.
\nTo set this up, ssh into the Raspberry Pi (or access via red-pill
in BlueOS Terminal) and run
sudo docker run -d --net=host -v /root/.config/cerulean:/root/.config --name=BlueOS-Cerulean-DVL --restart=unless-stopped nicknothom/blueos-cerulean-dvl:latest
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 extension for OpenVSCode Server.
\nOpenVSCode 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": "Cerulean DVL driver, compatible with Blue Robotics BlueOS.
\nTo set this up, ssh into the Raspberry Pi (or access via red-pill
in BlueOS Terminal) and run
sudo docker run -d --net=host -v /root/.config/cerulean:/root/.config --name=BlueOS-Cerulean-DVL --restart=unless-stopped nicknothom/blueos-cerulean-dvl:latest
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": "This is a docker implementation of a Water Linked DVL A50 and A125 driver as a BlueOS Extension.
\nInstall it from BlueOS extensions tab.
\nThe 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 extension for OpenVSCode Server.
\nOpenVSCode 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": "This is a docker implementation of a Water Linked DVL A50 and A125 driver as a BlueOS Extension.
\nInstall it from BlueOS extensions tab.
\nThe 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 extension for OpenVSCode Server.
\nOpenVSCode 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": "This is a docker implementation of a Water Linked DVL A50 and A125 driver as a BlueOS Extension.
\nInstall it from BlueOS extensions tab.
\nThe 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 extension for OpenVSCode Server.
\nOpenVSCode 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": "This is a docker implementation of a Waterlinked DVL A50 driver as a BlueOS Extension.
\nInstall it from BlueOS extensions tab.
\nThe 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 extension for OpenVSCode Server.
\nOpenVSCode 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": "This is a docker implementation of a Waterlinked DVL A50 driver as a BlueOS Extension.
\nInstall it from BlueOS extensions tab.
\nThe 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": "Read more about this extension here
\nThis is a docker implementation of a Waterlinked DVL A50 driver as a BlueOS Extension.
\nInstall it from BlueOS extensions tab.
\nThe 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": "This is a docker implementation of a Waterlinked DVL-a50 driver for the new Blue Robotics BlueOS.
\nTo set this up, ssh into the Raspberry Pi (or access via red-pill
in BlueOS Terminal) and run
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
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": "Hosts a mirror of the Cerulean Docs on the ROV so they can be viewed offline.
", - "support": "https://forum.ceruleansonar.com/categories", + "readme": "This is a docker implementation of a Waterlinked DVL-a50 driver for the new Blue Robotics BlueOS.
\nTo set this up, ssh into the Raspberry Pi (or access via red-pill
in BlueOS Terminal) and run
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
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": "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": "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.
\nAccess the extensions manager and install with the following parameters:
\nExtensions Manager:\nblueos.local/tools/extensions-manager
\nParameters:
```\nraulelektron.blueos_navigator_webassistant
\nNavigator Assistant
\nlatest
\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```
\nYou can also run Navigator Assistant locally or on other extensions. Please check navigator-web-assistant.
\nYou 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 is a cross-platform application for controlling and communicating with sonar devices.
\nThis repository hosts the build and release process for SonarView.
\nNode-RED is a programming tool for wiring together hardware devices, APIs and online services in new and interesting ways.
\nIt 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 is a cross-platform application for controlling and communicating with sonar devices.
\nThis repository hosts the build and release process for SonarView.
\nNode-RED is a programming tool for wiring together hardware devices, APIs and online services in new and interesting ways.
\nIt 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 is a cross-platform application for controlling and communicating with sonar devices.
\nThis repository hosts the build and release process for SonarView.
\nNode-RED is a programming tool for wiring together hardware devices, APIs and online services in new and interesting ways.
\nIt 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 is a cross-platform application for controlling and communicating with sonar devices.
\nThis repository hosts the build and release process for SonarView.
\nNode-RED is a programming tool for wiring together hardware devices, APIs and online services in new and interesting ways.
\nIt 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 is a cross-platform application for controlling and communicating with sonar devices.
\nThis repository hosts the build and release process for SonarView.
\nNode-RED is a programming tool for wiring together hardware devices, APIs and online services in new and interesting ways.
\nIt 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 is a cross-platform application for controlling and communicating with sonar devices.
\nThis repository hosts the build and release process for SonarView.
\nSonarView is a cross-platform application for controlling and communicating with sonar devices.
\nThis repository hosts the build and release process for SonarView.
\nSonarView is a cross-platform application for controlling and communicating with sonar devices.
\nThis repository hosts the build and release process for SonarView.
\nSonarView is a cross-platform application for controlling and communicating with sonar devices.
\nThis repository hosts the build and release process for SonarView.
\nBlueOS extension for OpenVSCode Server.
\nOpenVSCode 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 is a cross-platform application for controlling and communicating with sonar devices.
\nThis repository hosts the build and release process for SonarView.
\nBlueOS extension for OpenVSCode Server.
\nOpenVSCode 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 is a cross-platform application for controlling and communicating with sonar devices.
\nThis repository hosts the build and release process for SonarView.
\nBlueOS extension for OpenVSCode Server.
\nOpenVSCode 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 is a cross-platform application for controlling and communicating with sonar devices.
\nThis repository hosts the build and release process for SonarView.
\nBlueOS extension for OpenVSCode Server.
\nOpenVSCode 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 is a cross-platform application for controlling and communicating with sonar devices.
\nThis repository hosts the build and release process for SonarView.
\nBlueOS extension for OpenVSCode Server.
\nOpenVSCode 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 is a cross-platform application for controlling and communicating with sonar devices.
\nThis repository hosts the build and release process for SonarView.
\nBlueOS extension for OpenVSCode Server.
\nOpenVSCode 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 is a cross-platform application for controlling and communicating with sonar devices.
\nThis repository hosts the build and release process for SonarView.
\nBlueOS extension for OpenVSCode Server.
\nOpenVSCode 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 is a cross-platform application for controlling and communicating with sonar devices.
\nThis repository hosts the build and release process for SonarView.
\nBlueOS extension for OpenVSCode Server.
\nOpenVSCode 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 is a cross-platform application for controlling and communicating with sonar devices.
\nThis repository hosts the build and release process for SonarView.
\nBlueOS extension for OpenVSCode Server.
\nOpenVSCode 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 is a cross-platform application for controlling and communicating with sonar devices.
\nThis repository hosts the build and release process for SonarView.
\nBlueOS extension for OpenVSCode Server.
\nOpenVSCode 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 is a cross-platform application for controlling and communicating with sonar devices.
\nThis repository hosts the build and release process for SonarView.
\nBlueOS extension for OpenVSCode Server.
\nOpenVSCode 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 is a cross-platform application for controlling and communicating with sonar devices.
\nThis repository hosts the build and release process for SonarView.
\n
\n
An intuitive and customizable cross-platform ground control station for remote vehicles of all types. Click here for a demo!
\n\n\n\nSee our documentation \ud83d\udcd6
\nCockpit is typically installed as an Electron application or BlueOS Extension, but for development purposes it is valuable to run it locally.
\nTo start, clone the repository and its submodules. The submodules are required components for Cockpit to be able to run:
\ngit clone --recurse-submodules git@github.com:bluerobotics/cockpit.git
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.
With bun
installed, you can enter the repository folder and follow the steps below:
bun install
and then run the server locally with:
\nbun run dev --host
Then you should see a prompt with the local IP and port that can be accessed through a browser, such as localhost:5173
.
Cockpit is currently a frontend-only application. That means it relies on data offered by other backend solutions, which are not built-in.
\nIf you have a BlueOS instance running, there's no need to install any backend, as BlueOS already provides everything.
\nIf that's not your case and you want to install the necessary backends, follow the instructions below:
\nmavlink2rest
, 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
.Follow the instructions provided here to connect Cockpit to your vehicle.
\nIf you're running a BlueOS instance, just put the IP address of it in \"Global vehicle address\" and click the \"apply\" button.
\nIf 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).
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.
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:
docker-compose -f sim.yml --profile ardusub up
Assuming you have run the bun run dev --host
command, you can access the simulation environment by opening the browser and accessing localhost:5173
.
SonarView is a cross-platform application for controlling and communicating with sonar devices.
\nThis repository hosts the build and release process for SonarView.
\n
\n
An intuitive and customizable cross-platform ground control station for remote vehicles of all types. Click here for a demo!
\n\n\n\nSee our documentation \ud83d\udcd6
\nCockpit is typically installed as an Electron application or BlueOS Extension, but for development purposes it is valuable to run it locally.
\nTo start, clone the repository and its submodules. The submodules are required components for Cockpit to be able to run:
\ngit clone --recurse-submodules git@github.com:bluerobotics/cockpit.git
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.
With bun
installed, you can enter the repository folder and follow the steps below:
bun install
and then run the server locally with:
\nbun run dev --host
Then you should see a prompt with the local IP and port that can be accessed through a browser, such as localhost:5173
.
Cockpit is currently a frontend-only application. That means it relies on data offered by other backend solutions, which are not built-in.
\nIf you have a BlueOS instance running, there's no need to install any backend, as BlueOS already provides everything.
\nIf that's not your case and you want to install the necessary backends, follow the instructions below:
\nmavlink2rest
, 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
.Follow the instructions provided here to connect Cockpit to your vehicle.
\nIf you're running a BlueOS instance, just put the IP address of it in \"Global vehicle address\" and click the \"apply\" button.
\nIf 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).
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.
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:
docker-compose -f sim.yml --profile ardusub up
Assuming you have run the bun run dev --host
command, you can access the simulation environment by opening the browser and accessing localhost:5173
.
SonarView is a cross-platform application for controlling and communicating with sonar devices.
\nThis repository hosts the build and release process for SonarView.
\n
\n
An intuitive and customizable cross-platform ground control station for remote vehicles of all types. Click here for a demo!
\n\n\n\nSee our documentation \ud83d\udcd6
\nCockpit is typically installed as an Electron application or BlueOS Extension, but for development purposes it is valuable to run it locally.
\nTo start, clone the repository and its submodules. The submodules are required components for Cockpit to be able to run:
\ngit clone --recurse-submodules git@github.com:bluerobotics/cockpit.git
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.
With bun
installed, you can enter the repository folder and follow the steps below:
bun install
and then run the server locally with:
\nbun run dev --host
Then you should see a prompt with the local IP and port that can be accessed through a browser, such as localhost:5173
.
Cockpit is currently a frontend-only application. That means it relies on data offered by other backend solutions, which are not built-in.
\nIf you have a BlueOS instance running, there's no need to install any backend, as BlueOS already provides everything.
\nIf that's not your case and you want to install the necessary backends, follow the instructions below:
\nmavlink2rest
, 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
.Follow the instructions provided here to connect Cockpit to your vehicle.
\nIf you're running a BlueOS instance, just put the IP address of it in \"Global vehicle address\" and click the \"apply\" button.
\nIf 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).
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.
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:
docker-compose -f sim.yml --profile ardusub up
Assuming you have run the bun run dev --host
command, you can access the simulation environment by opening the browser and accessing localhost:5173
.
SonarView is a cross-platform application for controlling and communicating with sonar devices.
\nThis repository hosts the build and release process for SonarView.
\n
\n
An intuitive and customizable cross-platform ground control station for remote vehicles of all types. Click here for a demo!
\n\n\n\nSee our documentation \ud83d\udcd6
\nCockpit is typically installed as an Electron application or BlueOS Extension, but for development purposes it is valuable to run it locally.
\nTo start, clone the repository and its submodules. The submodules are required components for Cockpit to be able to run:
\ngit clone --recurse-submodules git@github.com:bluerobotics/cockpit.git
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.
With bun
installed, you can enter the repository folder and follow the steps below:
bun install
and then run the server locally with:
\nbun run dev --host
Then you should see a prompt with the local IP and port that can be accessed through a browser, such as localhost:5173
.
Cockpit is currently a frontend-only application. That means it relies on data offered by other backend solutions, which are not built-in.
\nIf you have a BlueOS instance running, there's no need to install any backend, as BlueOS already provides everything.
\nIf that's not your case and you want to install the necessary backends, follow the instructions below:
\nmavlink2rest
, 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
.Follow the instructions provided here to connect Cockpit to your vehicle.
\nIf you're running a BlueOS instance, just put the IP address of it in \"Global vehicle address\" and click the \"apply\" button.
\nIf 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).
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.
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:
docker-compose -f sim.yml --profile ardusub up
Assuming you have run the bun run dev --host
command, you can access the simulation environment by opening the browser and accessing localhost:5173
.
SonarView is a cross-platform application for controlling and communicating with sonar devices.
\nThis repository hosts the build and release process for SonarView.
\n
\n
An intuitive and customizable cross-platform ground control station for remote vehicles of all types. Click here for a demo!
\n\n\n\nSee our documentation \ud83d\udcd6
\nCockpit is typically installed as an Electron application or BlueOS Extension, but for development purposes it is valuable to run it locally.
\nTo start, clone the repository and its submodules. The submodules are required components for Cockpit to be able to run:
\ngit clone --recurse-submodules git@github.com:bluerobotics/cockpit.git
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.
With bun
installed, you can enter the repository folder and follow the steps below:
bun install
and then run the server locally with:
\nbun run dev --host
Then you should see a prompt with the local IP and port that can be accessed through a browser, such as localhost:5173
.
Cockpit is currently a frontend-only application. That means it relies on data offered by other backend solutions, which are not built-in.
\nIf you have a BlueOS instance running, there's no need to install any backend, as BlueOS already provides everything.
\nIf that's not your case and you want to install the necessary backends, follow the instructions below:
\nmavlink2rest
, 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
.Follow the instructions provided here to connect Cockpit to your vehicle.
\nIf you're running a BlueOS instance, just put the IP address of it in \"Global vehicle address\" and click the \"apply\" button.
\nIf 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).
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.
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:
docker-compose -f sim.yml --profile ardusub up
Assuming you have run the bun run dev --host
command, you can access the simulation environment by opening the browser and accessing localhost:5173
.
Cerulean DVL driver, compatible with Blue Robotics BlueOS.
\nTo set this up, ssh into the Raspberry Pi (or access via red-pill
in BlueOS Terminal) and run
sudo docker run -d --net=host -v /root/.config/cerulean:/root/.config --name=BlueOS-Cerulean-DVL --restart=unless-stopped nicknothom/blueos-cerulean-dvl:latest
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
An intuitive and customizable cross-platform ground control station for remote vehicles of all types. Click here for a demo!
\n\n\n\nSee our documentation \ud83d\udcd6
\nCockpit is typically installed as an Electron application or BlueOS Extension, but for development purposes it is valuable to run it locally.
\nTo start, clone the repository and its submodules. The submodules are required components for Cockpit to be able to run:
\ngit clone --recurse-submodules git@github.com:bluerobotics/cockpit.git
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.
With bun
installed, you can enter the repository folder and follow the steps below:
bun install
and then run the server locally with:
\nbun run dev --host
Then you should see a prompt with the local IP and port that can be accessed through a browser, such as localhost:5173
.
Cockpit is currently a frontend-only application. That means it relies on data offered by other backend solutions, which are not built-in.
\nIf you have a BlueOS instance running, there's no need to install any backend, as BlueOS already provides everything.
\nIf that's not your case and you want to install the necessary backends, follow the instructions below:
\nmavlink2rest
, 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
.Follow the instructions provided here to connect Cockpit to your vehicle.
\nIf you're running a BlueOS instance, just put the IP address of it in \"Global vehicle address\" and click the \"apply\" button.
\nIf 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).
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.
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:
docker-compose -f sim.yml --profile ardusub up
Assuming you have run the bun run dev --host
command, you can access the simulation environment by opening the browser and accessing localhost:5173
.
Cerulean DVL driver, compatible with Blue Robotics BlueOS.
\nTo set this up, ssh into the Raspberry Pi (or access via red-pill
in BlueOS Terminal) and run
sudo docker run -d --net=host -v /root/.config/cerulean:/root/.config --name=BlueOS-Cerulean-DVL --restart=unless-stopped nicknothom/blueos-cerulean-dvl:latest
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
An intuitive and customizable cross-platform ground control station for remote vehicles of all types. Click here for a demo!
\n\n\n\nSee our documentation \ud83d\udcd6
\nCockpit is typically installed as an Electron application or BlueOS Extension, but for development purposes it is valuable to run it locally.
\nTo start, clone the repository and its submodules. The submodules are required components for Cockpit to be able to run:
\ngit clone --recurse-submodules git@github.com:bluerobotics/cockpit.git
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.
With bun
installed, you can enter the repository folder and follow the steps below:
bun install
and then run the server locally with:
\nbun run dev --host
Then you should see a prompt with the local IP and port that can be accessed through a browser, such as localhost:5173
.
Cockpit is currently a frontend-only application. That means it relies on data offered by other backend solutions, which are not built-in.
\nIf you have a BlueOS instance running, there's no need to install any backend, as BlueOS already provides everything.
\nIf that's not your case and you want to install the necessary backends, follow the instructions below:
\nmavlink2rest
, 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
.Follow the instructions provided here to connect Cockpit to your vehicle.
\nIf you're running a BlueOS instance, just put the IP address of it in \"Global vehicle address\" and click the \"apply\" button.
\nIf 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).
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.
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:
docker-compose -f sim.yml --profile ardusub up
Assuming you have run the bun run dev --host
command, you can access the simulation environment by opening the browser and accessing localhost:5173
.
Cerulean DVL driver, compatible with Blue Robotics BlueOS.
\nTo set this up, ssh into the Raspberry Pi (or access via red-pill
in BlueOS Terminal) and run
sudo docker run -d --net=host -v /root/.config/cerulean:/root/.config --name=BlueOS-Cerulean-DVL --restart=unless-stopped nicknothom/blueos-cerulean-dvl:latest
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
An intuitive and customizable cross-platform ground control station for remote vehicles of all types. Click here for a demo!
\n\n\n\nSee our documentation \ud83d\udcd6
\nCockpit is typically installed as an Electron application or BlueOS Extension, but for development purposes it is valuable to run it locally.
\nTo start, clone the repository and its submodules. The submodules are required components for Cockpit to be able to run:
\ngit clone --recurse-submodules git@github.com:bluerobotics/cockpit.git
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.
With bun
installed, you can enter the repository folder and follow the steps below:
bun install
and then run the server locally with:
\nbun run dev --host
Then you should see a prompt with the local IP and port that can be accessed through a browser, such as localhost:5173
.
Cockpit is currently a frontend-only application. That means it relies on data offered by other backend solutions, which are not built-in.
\nIf you have a BlueOS instance running, there's no need to install any backend, as BlueOS already provides everything.
\nIf that's not your case and you want to install the necessary backends, follow the instructions below:
\nmavlink2rest
, 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
.Follow the instructions provided here to connect Cockpit to your vehicle.
\nIf you're running a BlueOS instance, just put the IP address of it in \"Global vehicle address\" and click the \"apply\" button.
\nIf 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).
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.
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:
docker-compose -f sim.yml --profile ardusub up
Assuming you have run the bun run dev --host
command, you can access the simulation environment by opening the browser and accessing localhost:5173
.
Cerulean DVL driver, compatible with Blue Robotics BlueOS.
\nTo set this up, ssh into the Raspberry Pi (or access via red-pill
in BlueOS Terminal) and run
sudo docker run -d --net=host -v /root/.config/cerulean:/root/.config --name=BlueOS-Cerulean-DVL --restart=unless-stopped nicknothom/blueos-cerulean-dvl:latest
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
An intuitive and customizable cross-platform ground control station for remote vehicles of all types. Click here for a demo!
\n\n\n\nSee our documentation \ud83d\udcd6
\nCockpit is typically installed as an Electron application or BlueOS Extension, but for development purposes it is valuable to run it locally.
\nTo start, clone the repository and its submodules. The submodules are required components for Cockpit to be able to run:
\ngit clone --recurse-submodules git@github.com:bluerobotics/cockpit.git
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.
With bun
installed, you can enter the repository folder and follow the steps below:
bun install
and then run the server locally with:
\nbun run dev --host
Then you should see a prompt with the local IP and port that can be accessed through a browser, such as localhost:5173
.
Cockpit is currently a frontend-only application. That means it relies on data offered by other backend solutions, which are not built-in.
\nIf you have a BlueOS instance running, there's no need to install any backend, as BlueOS already provides everything.
\nIf that's not your case and you want to install the necessary backends, follow the instructions below:
\nmavlink2rest
, 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
.Follow the instructions provided here to connect Cockpit to your vehicle.
\nIf you're running a BlueOS instance, just put the IP address of it in \"Global vehicle address\" and click the \"apply\" button.
\nIf 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).
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.
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:
docker-compose -f sim.yml --profile ardusub up
Assuming you have run the bun run dev --host
command, you can access the simulation environment by opening the browser and accessing localhost:5173
.
Cerulean DVL driver, compatible with Blue Robotics BlueOS.
\nTo set this up, ssh into the Raspberry Pi (or access via red-pill
in BlueOS Terminal) and run
sudo docker run -d --net=host -v /root/.config/cerulean:/root/.config --name=BlueOS-Cerulean-DVL --restart=unless-stopped nicknothom/blueos-cerulean-dvl:latest
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
An intuitive and customizable cross-platform ground control station for remote vehicles of all types. Click here for a demo!
\n\n\n\nSee our documentation \ud83d\udcd6
\nCockpit is typically installed as an Electron application or BlueOS Extension, but for development purposes it is valuable to run it locally.
\nTo start, clone the repository and its submodules. The submodules are required components for Cockpit to be able to run:
\ngit clone --recurse-submodules git@github.com:bluerobotics/cockpit.git
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.
With bun
installed, you can enter the repository folder and follow the steps below:
bun install
and then run the server locally with:
\nbun run dev --host
Then you should see a prompt with the local IP and port that can be accessed through a browser, such as localhost:5173
.
Cockpit is currently a frontend-only application. That means it relies on data offered by other backend solutions, which are not built-in.
\nIf you have a BlueOS instance running, there's no need to install any backend, as BlueOS already provides everything.
\nIf that's not your case and you want to install the necessary backends, follow the instructions below:
\nmavlink2rest
, 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
.Follow the instructions provided here to connect Cockpit to your vehicle.
\nIf you're running a BlueOS instance, just put the IP address of it in \"Global vehicle address\" and click the \"apply\" button.
\nIf 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).
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.
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:
docker-compose -f sim.yml --profile ardusub up
Assuming you have run the bun run dev --host
command, you can access the simulation environment by opening the browser and accessing localhost:5173
.
Cerulean DVL driver, compatible with Blue Robotics BlueOS.
\nTo set this up, ssh into the Raspberry Pi (or access via red-pill
in BlueOS Terminal) and run
sudo docker run -d --net=host -v /root/.config/cerulean:/root/.config --name=BlueOS-Cerulean-DVL --restart=unless-stopped nicknothom/blueos-cerulean-dvl:latest
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
An intuitive and customizable cross-platform ground control station for remote vehicles of all types. Click here for a demo!
\n\n\n\nSee our documentation \ud83d\udcd6
\nCockpit is typically installed as an Electron application or BlueOS Extension, but for development purposes it is valuable to run it locally.
\nTo start, clone the repository and its submodules. The submodules are required components for Cockpit to be able to run:
\ngit clone --recurse-submodules git@github.com:bluerobotics/cockpit.git
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.
With bun
installed, you can enter the repository folder and follow the steps below:
bun install
and then run the server locally with:
\nbun run dev --host
Then you should see a prompt with the local IP and port that can be accessed through a browser, such as localhost:5173
.
Cockpit is currently a frontend-only application. That means it relies on data offered by other backend solutions, which are not built-in.
\nIf you have a BlueOS instance running, there's no need to install any backend, as BlueOS already provides everything.
\nIf that's not your case and you want to install the necessary backends, follow the instructions below:
\nmavlink2rest
, 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
.Follow the instructions provided here to connect Cockpit to your vehicle.
\nIf you're running a BlueOS instance, just put the IP address of it in \"Global vehicle address\" and click the \"apply\" button.
\nIf 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).
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.
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:
docker-compose -f sim.yml --profile ardusub up
Assuming you have run the bun run dev --host
command, you can access the simulation environment by opening the browser and accessing localhost:5173
.
Cerulean DVL driver, compatible with Blue Robotics BlueOS.
\nTo set this up, ssh into the Raspberry Pi (or access via red-pill
in BlueOS Terminal) and run
sudo docker run -d --net=host -v /root/.config/cerulean:/root/.config --name=BlueOS-Cerulean-DVL --restart=unless-stopped nicknothom/blueos-cerulean-dvl:latest
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
An intuitive and customizable cross-platform ground control station for remote vehicles of all types. Click here for a demo!
\n\n\n\nSee our documentation \ud83d\udcd6
\nCockpit is typically installed as an Electron application or BlueOS Extension, but for development purposes it is valuable to run it locally.
\nTo start, clone the repository and its submodules. The submodules are required components for Cockpit to be able to run:
\ngit clone --recurse-submodules git@github.com:bluerobotics/cockpit.git
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.
With bun
installed, you can enter the repository folder and follow the steps below:
bun install
and then run the server locally with:
\nbun run dev --host
Then you should see a prompt with the local IP and port that can be accessed through a browser, such as localhost:5173
.
Cockpit is currently a frontend-only application. That means it relies on data offered by other backend solutions, which are not built-in.
\nIf you have a BlueOS instance running, there's no need to install any backend, as BlueOS already provides everything.
\nIf that's not your case and you want to install the necessary backends, follow the instructions below:
\nmavlink2rest
, 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
.Follow the instructions provided here to connect Cockpit to your vehicle.
\nIf you're running a BlueOS instance, just put the IP address of it in \"Global vehicle address\" and click the \"apply\" button.
\nIf 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).
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.
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:
docker-compose -f sim.yml --profile ardusub up
Assuming you have run the bun run dev --host
command, you can access the simulation environment by opening the browser and accessing localhost:5173
.
This is a Nucleus extension for the BlueOS software running on BlueROV2.
\nIt 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.
\nThis allows the user to utilize the \"position hold\" functionality in the ROV
\nTo mount the Nucleus unto the BlueROV2 and connect it to its network, refer Nortek's Nucleus integration guide.
\nBlueOS needs to be of version 1.1.0-beta18 or newer in order to support the adding of third party extensions.
\nArduSub 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.
\nThis 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.
\nThe 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.
\nIn 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.
\nThe 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.
\nIt 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.
\nThe extension can be added through BlueOS' extensions menu.
\nNavigate to Extensions > Extensions Manager.
\n\nLocate Nortek Nucleus under the tab \"STORE\" and open it.
\n\nWhen 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.
\nTo 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\nAfter the installation has been completed. The extension can be located in Extensions > Extensions Manager, under the tab \"INSTALLED\".
\n\nHere 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.
\nThe extension itself can be opened in the menu by navigating to Extensions > Nucleus: Position hold.
\n\nOpening this will present the user with the GUI for the Nucleus extension which is covered in Using the extension
\nTo set this extension up manually, ssh into the Raspberry Pi on the BlueROV2 (or access via red-pill in BlueOS terminal).
\nN.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.
\nN.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.
\nOn the onboard computer, clone this repo in your preferred path with the following command:
\ngit clone git@github.com:nortekgroup/nucleus_driver.git
Navigate to the blueos_extension folder (the folder containing the Dockerfile) and build the docker image with the following command:
\ndocker build . -t nucleus_driver
The GUI of the extension is by default on port 5000.
\nIf another port is preferred for the GUI the image can be build with the preferred port as an argument with the following command
\ndocker build . -t nucleus_driver --build-arg PORT=5000
with the value following \"PORT=
\" being your preferred port.
The docker container can be executed with the following command
\ndocker run --net=host --add-host=host.docker.internal:host-gateway -v /root/.config/blueos:/root/.config --name=nucleus_driver --restart=unless-stopped nucleus_driver
--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
-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.
--name=Nucleus-Driver
is the preferred name of the container.
--restart=unless-stopped
allows the extension to automatically start when the ROV is powered up
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.B. In order for the extension to work it is necessary to change certain controller parameters. Refer to \"Controller parameters\" section for more info
\nN.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
\nWith the extension added, its user interface (GUI) can be found by navigating to Extensions -> Nucleus: Position hold in the BlueOS menu.
\nIn 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.
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
\nThe 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
\nThe 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.
\nIt 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.
\nThe 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.
\nN.B. Adjusting any of these parameters WILL change the behavior of the ROV
\nN.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.
\nThe 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.
\nN.B. Adjusting any of these parameters may change the behavior of the ROV
\nN.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.
\nIn 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.
\nAfter 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
An intuitive and customizable cross-platform ground control station for remote vehicles of all types. Click here for a demo!
\n\n\n\nSee our documentation \ud83d\udcd6
\nCockpit is typically installed as an Electron application or BlueOS Extension, but for development purposes it is valuable to run it locally.
\nTo start, clone the repository and its submodules. The submodules are required components for Cockpit to be able to run:
\ngit clone --recurse-submodules git@github.com:bluerobotics/cockpit.git
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.
With bun
installed, you can enter the repository folder and follow the steps below:
bun install
and then run the server locally with:
\nbun run dev --host
Then you should see a prompt with the local IP and port that can be accessed through a browser, such as localhost:5173
.
Cockpit is currently a frontend-only application. That means it relies on data offered by other backend solutions, which are not built-in.
\nIf you have a BlueOS instance running, there's no need to install any backend, as BlueOS already provides everything.
\nIf that's not your case and you want to install the necessary backends, follow the instructions below:
\nmavlink2rest
, 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
.Follow the instructions provided here to connect Cockpit to your vehicle.
\nIf you're running a BlueOS instance, just put the IP address of it in \"Global vehicle address\" and click the \"apply\" button.
\nIf 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).
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.
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:
docker-compose -f sim.yml --profile ardusub up
Assuming you have run the bun run dev --host
command, you can access the simulation environment by opening the browser and accessing localhost:5173
.
This is a Nucleus extension for the BlueOS software running on BlueROV2.
\nIt 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.
\nThis allows the user to utilize the \"position hold\" functionality in the ROV
\nTo mount the Nucleus unto the BlueROV2 and connect it to its network, refer Nortek's Nucleus integration guide.
\nBlueOS needs to be of version 1.1.0-beta18 or newer in order to support the adding of third party extensions.
\nArduSub 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.
\nThis 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.
\nThe 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.
\nIn 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.
\nThe 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.
\nIt 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.
\nThe extension can be added through BlueOS' extensions menu.
\nNavigate to Extensions > Extensions Manager.
\n\nLocate Nortek Nucleus under the tab \"STORE\" and open it.
\n\nWhen 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.
\nTo 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\nAfter the installation has been completed. The extension can be located in Extensions > Extensions Manager, under the tab \"INSTALLED\".
\n\nHere 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.
\nThe extension itself can be opened in the menu by navigating to Extensions > Nucleus: Position hold.
\n\nOpening this will present the user with the GUI for the Nucleus extension which is covered in Using the extension
\nTo set this extension up manually, ssh into the Raspberry Pi on the BlueROV2 (or access via red-pill in BlueOS terminal).
\nN.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.
\nN.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.
\nOn the onboard computer, clone this repo in your preferred path with the following command:
\ngit clone git@github.com:nortekgroup/nucleus_driver.git
Navigate to the blueos_extension folder (the folder containing the Dockerfile) and build the docker image with the following command:
\ndocker build . -t nucleus_driver
The GUI of the extension is by default on port 5000.
\nIf another port is preferred for the GUI the image can be build with the preferred port as an argument with the following command
\ndocker build . -t nucleus_driver --build-arg PORT=5000
with the value following \"PORT=
\" being your preferred port.
The docker container can be executed with the following command
\ndocker run --net=host --add-host=host.docker.internal:host-gateway -v /root/.config/blueos:/root/.config --name=nucleus_driver --restart=unless-stopped nucleus_driver
--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
-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.
--name=Nucleus-Driver
is the preferred name of the container.
--restart=unless-stopped
allows the extension to automatically start when the ROV is powered up
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.B. In order for the extension to work it is necessary to change certain controller parameters. Refer to \"Controller parameters\" section for more info
\nN.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
\nWith the extension added, its user interface (GUI) can be found by navigating to Extensions -> Nucleus: Position hold in the BlueOS menu.
\nIn 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.
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
\nThe 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
\nThe 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.
\nIt 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.
\nThe 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.
\nN.B. Adjusting any of these parameters WILL change the behavior of the ROV
\nN.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.
\nThe 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.
\nN.B. Adjusting any of these parameters may change the behavior of the ROV
\nN.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.
\nIn 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.
\nAfter 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
An intuitive and customizable cross-platform ground control station for remote vehicles of all types. Click here for a demo!
\n\n\n\nSee our documentation \ud83d\udcd6
\nCockpit is typically installed as an Electron application or BlueOS Extension, but for development purposes it is valuable to run it locally.
\nTo start, clone the repository and its submodules. The submodules are required components for Cockpit to be able to run:
\ngit clone --recurse-submodules git@github.com:bluerobotics/cockpit.git
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.
With bun
installed, you can enter the repository folder and follow the steps below:
bun install
and then run the server locally with:
\nbun run dev --host
Then you should see a prompt with the local IP and port that can be accessed through a browser, such as localhost:5173
.
Cockpit is currently a frontend-only application. That means it relies on data offered by other backend solutions, which are not built-in.
\nIf you have a BlueOS instance running, there's no need to install any backend, as BlueOS already provides everything.
\nIf that's not your case and you want to install the necessary backends, follow the instructions below:
\nmavlink2rest
, 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
.Follow the instructions provided here to connect Cockpit to your vehicle.
\nIf you're running a BlueOS instance, just put the IP address of it in \"Global vehicle address\" and click the \"apply\" button.
\nIf 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).
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.
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:
docker-compose -f sim.yml --profile ardusub up
Assuming you have run the bun run dev --host
command, you can access the simulation environment by opening the browser and accessing localhost:5173
.
This is a Nucleus extension for the BlueOS software running on BlueROV2.
\nIt 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.
\nThis allows the user to utilize the \"position hold\" functionality in the ROV
\nTo mount the Nucleus unto the BlueROV2 and connect it to its network, refer Nortek's Nucleus integration guide.
\nBlueOS needs to be of version 1.1.0-beta18 or newer in order to support the adding of third party extensions.
\nArduSub 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.
\nThis 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.
\nThe 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.
\nIn 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.
\nThe 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.
\nIt 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.
\nThe extension can be added through BlueOS' extensions menu.
\nNavigate to Extensions > Extensions Manager.
\n\nLocate Nortek Nucleus under the tab \"STORE\" and open it.
\n\nWhen 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.
\nTo 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\nAfter the installation has been completed. The extension can be located in Extensions > Extensions Manager, under the tab \"INSTALLED\".
\n\nHere 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.
\nThe extension itself can be opened in the menu by navigating to Extensions > Nucleus: Position hold.
\n\nOpening this will present the user with the GUI for the Nucleus extension which is covered in Using the extension
\nTo set this extension up manually, ssh into the Raspberry Pi on the BlueROV2 (or access via red-pill in BlueOS terminal).
\nN.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.
\nN.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.
\nOn the onboard computer, clone this repo in your preferred path with the following command:
\ngit clone git@github.com:nortekgroup/nucleus_driver.git
Navigate to the blueos_extension folder (the folder containing the Dockerfile) and build the docker image with the following command:
\ndocker build . -t nucleus_driver
The GUI of the extension is by default on port 5000.
\nIf another port is preferred for the GUI the image can be build with the preferred port as an argument with the following command
\ndocker build . -t nucleus_driver --build-arg PORT=5000
with the value following \"PORT=
\" being your preferred port.
The docker container can be executed with the following command
\ndocker run --net=host --add-host=host.docker.internal:host-gateway -v /root/.config/blueos:/root/.config --name=nucleus_driver --restart=unless-stopped nucleus_driver
--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
-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.
--name=Nucleus-Driver
is the preferred name of the container.
--restart=unless-stopped
allows the extension to automatically start when the ROV is powered up
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.B. In order for the extension to work it is necessary to change certain controller parameters. Refer to \"Controller parameters\" section for more info
\nN.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
\nWith the extension added, its user interface (GUI) can be found by navigating to Extensions -> Nucleus: Position hold in the BlueOS menu.
\nIn 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.
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
\nThe 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
\nThe 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.
\nIt 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.
\nThe 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.
\nN.B. Adjusting any of these parameters WILL change the behavior of the ROV
\nN.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.
\nThe 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.
\nN.B. Adjusting any of these parameters may change the behavior of the ROV
\nN.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.
\nIn 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.
\nAfter 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
An intuitive and customizable cross-platform ground control station for remote vehicles of all types. Click here for a demo!
\n\n\n\nSee our documentation \ud83d\udcd6
\nCockpit is typically installed as an Electron application or BlueOS Extension, but for development purposes it is valuable to run it locally.
\nTo start, clone the repository and its submodules. The submodules are required components for Cockpit to be able to run:
\ngit clone --recurse-submodules git@github.com:bluerobotics/cockpit.git
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.
With bun
installed, you can enter the repository folder and follow the steps below:
bun install
and then run the server locally with:
\nbun run dev --host
Then you should see a prompt with the local IP and port that can be accessed through a browser, such as localhost:5173
.
Cockpit is currently a frontend-only application. That means it relies on data offered by other backend solutions, which are not built-in.
\nIf you have a BlueOS instance running, there's no need to install any backend, as BlueOS already provides everything.
\nIf that's not your case and you want to install the necessary backends, follow the instructions below:
\nmavlink2rest
, 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
.Follow the instructions provided here to connect Cockpit to your vehicle.
\nIf you're running a BlueOS instance, just put the IP address of it in \"Global vehicle address\" and click the \"apply\" button.
\nIf 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).
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.
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:
docker-compose -f sim.yml --profile ardusub up
Assuming you have run the bun run dev --host
command, you can access the simulation environment by opening the browser and accessing localhost:5173
.
This is a Nucleus extension for the BlueOS software running on BlueROV2.
\nIt 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.
\nThis allows the user to utilize the \"position hold\" functionality in the ROV
\nTo mount the Nucleus unto the BlueROV2 and connect it to its network, refer Nortek's Nucleus integration guide.
\nBlueOS needs to be of version 1.1.0-beta18 or newer in order to support the adding of third party extensions.
\nArduSub 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.
\nThis 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.
\nThe 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.
\nIn 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.
\nThe 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.
\nIt 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.
\nThe extension can be added through BlueOS' extensions menu.
\nNavigate to Extensions > Extensions Manager.
\n\nLocate Nortek Nucleus under the tab \"STORE\" and open it.
\n\nWhen 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.
\nTo 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\nAfter the installation has been completed. The extension can be located in Extensions > Extensions Manager, under the tab \"INSTALLED\".
\n\nHere 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.
\nThe extension itself can be opened in the menu by navigating to Extensions > Nucleus: Position hold.
\n\nOpening this will present the user with the GUI for the Nucleus extension which is covered in Using the extension
\nTo set this extension up manually, ssh into the Raspberry Pi on the BlueROV2 (or access via red-pill in BlueOS terminal).
\nN.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.
\nN.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.
\nOn the onboard computer, clone this repo in your preferred path with the following command:
\ngit clone git@github.com:nortekgroup/nucleus_driver.git
Navigate to the blueos_extension folder (the folder containing the Dockerfile) and build the docker image with the following command:
\ndocker build . -t nucleus_driver
The GUI of the extension is by default on port 5000.
\nIf another port is preferred for the GUI the image can be build with the preferred port as an argument with the following command
\ndocker build . -t nucleus_driver --build-arg PORT=5000
with the value following \"PORT=
\" being your preferred port.
The docker container can be executed with the following command
\ndocker run --net=host --add-host=host.docker.internal:host-gateway -v /root/.config/blueos:/root/.config --name=nucleus_driver --restart=unless-stopped nucleus_driver
--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
-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.
--name=Nucleus-Driver
is the preferred name of the container.
--restart=unless-stopped
allows the extension to automatically start when the ROV is powered up
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.B. In order for the extension to work it is necessary to change certain controller parameters. Refer to \"Controller parameters\" section for more info
\nN.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
\nWith the extension added, its user interface (GUI) can be found by navigating to Extensions -> Nucleus: Position hold in the BlueOS menu.
\nIn 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.
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
\nThe 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
\nThe 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.
\nIt 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.
\nThe 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.
\nN.B. Adjusting any of these parameters WILL change the behavior of the ROV
\nN.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.
\nThe 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.
\nN.B. Adjusting any of these parameters may change the behavior of the ROV
\nN.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.
\nIn 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.
\nAfter 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
An intuitive and customizable cross-platform ground control station for remote vehicles of all types. Click here for a demo!
\n\n\n\nSee our documentation \ud83d\udcd6
\nCockpit is typically installed as an Electron application or BlueOS Extension, but for development purposes it is valuable to run it locally.
\nTo start, clone the repository and its submodules. The submodules are required components for Cockpit to be able to run:
\ngit clone --recurse-submodules git@github.com:bluerobotics/cockpit.git
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.
With bun
installed, you can enter the repository folder and follow the steps below:
bun install
and then run the server locally with:
\nbun run dev --host
Then you should see a prompt with the local IP and port that can be accessed through a browser, such as localhost:5173
.
Cockpit is currently a frontend-only application. That means it relies on data offered by other backend solutions, which are not built-in.
\nIf you have a BlueOS instance running, there's no need to install any backend, as BlueOS already provides everything.
\nIf that's not your case and you want to install the necessary backends, follow the instructions below:
\nmavlink2rest
, 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
.Follow the instructions provided here to connect Cockpit to your vehicle.
\nIf you're running a BlueOS instance, just put the IP address of it in \"Global vehicle address\" and click the \"apply\" button.
\nIf 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).
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.
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:
docker-compose -f sim.yml --profile ardusub up
Assuming you have run the bun run dev --host
command, you can access the simulation environment by opening the browser and accessing localhost:5173
.
This is a Nucleus extension for the BlueOS software running on BlueROV2.
\nIt 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.
\nThis allows the user to utilize the \"position hold\" functionality in the ROV
\nTo mount the Nucleus unto the BlueROV2 and connect it to its network, refer Nortek's Nucleus integration guide.
\nBlueOS needs to be of version 1.1.0-beta18 or newer in order to support the adding of third party extensions.
\nArduSub 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.
\nThis 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.
\nThe 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.
\nIn 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.
\nThe 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.
\nIt 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.
\nThe extension can be added through BlueOS' extensions menu.
\nNavigate to Extensions > Extensions Manager.
\n\nLocate Nortek Nucleus under the tab \"STORE\" and open it.
\n\nWhen 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.
\nTo 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\nAfter the installation has been completed. The extension can be located in Extensions > Extensions Manager, under the tab \"INSTALLED\".
\n\nHere 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.
\nThe extension itself can be opened in the menu by navigating to Extensions > Nucleus: Position hold.
\n\nOpening this will present the user with the GUI for the Nucleus extension which is covered in Using the extension
\nTo set this extension up manually, ssh into the Raspberry Pi on the BlueROV2 (or access via red-pill in BlueOS terminal).
\nN.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.
\nN.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.
\nOn the onboard computer, clone this repo in your preferred path with the following command:
\ngit clone git@github.com:nortekgroup/nucleus_driver.git
Navigate to the blueos_extension folder (the folder containing the Dockerfile) and build the docker image with the following command:
\ndocker build . -t nucleus_driver
The GUI of the extension is by default on port 5000.
\nIf another port is preferred for the GUI the image can be build with the preferred port as an argument with the following command
\ndocker build . -t nucleus_driver --build-arg PORT=5000
with the value following \"PORT=
\" being your preferred port.
The docker container can be executed with the following command
\ndocker run --net=host --add-host=host.docker.internal:host-gateway -v /root/.config/blueos:/root/.config --name=nucleus_driver --restart=unless-stopped nucleus_driver
--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
-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.
--name=Nucleus-Driver
is the preferred name of the container.
--restart=unless-stopped
allows the extension to automatically start when the ROV is powered up
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.B. In order for the extension to work it is necessary to change certain controller parameters. Refer to \"Controller parameters\" section for more info
\nN.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
\nWith the extension added, its user interface (GUI) can be found by navigating to Extensions -> Nucleus: Position hold in the BlueOS menu.
\nIn 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.
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
\nThe 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
\nThe 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.
\nIt 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.
\nThe 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.
\nN.B. Adjusting any of these parameters WILL change the behavior of the ROV
\nN.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.
\nThe 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.
\nN.B. Adjusting any of these parameters may change the behavior of the ROV
\nN.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.
\nIn 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.
\nAfter 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
An intuitive and customizable cross-platform ground control station for remote vehicles of all types. Click here for a demo!
\n\n\n\nSee our documentation \ud83d\udcd6
\nCockpit is typically installed as an Electron application or BlueOS Extension, but for development purposes it is valuable to run it locally.
\nTo start, clone the repository and its submodules. The submodules are required components for Cockpit to be able to run:
\ngit clone --recurse-submodules git@github.com:bluerobotics/cockpit.git
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.
With bun
installed, you can enter the repository folder and follow the steps below:
bun install
and then run the server locally with:
\nbun run dev --host
Then you should see a prompt with the local IP and port that can be accessed through a browser, such as localhost:5173
.
Cockpit is currently a frontend-only application. That means it relies on data offered by other backend solutions, which are not built-in.
\nIf you have a BlueOS instance running, there's no need to install any backend, as BlueOS already provides everything.
\nIf that's not your case and you want to install the necessary backends, follow the instructions below:
\nmavlink2rest
, 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
.Follow the instructions provided here to connect Cockpit to your vehicle.
\nIf you're running a BlueOS instance, just put the IP address of it in \"Global vehicle address\" and click the \"apply\" button.
\nIf 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).
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.
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:
docker-compose -f sim.yml --profile ardusub up
Assuming you have run the bun run dev --host
command, you can access the simulation environment by opening the browser and accessing localhost:5173
.
This is a Nucleus extension for the BlueOS software running on BlueROV2.
\nIt 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.
\nThis allows the user to utilize the \"position hold\" functionality in the ROV
\nTo mount the Nucleus unto the BlueROV2 and connect it to its network, refer Nortek's Nucleus integration guide.
\nBlueOS needs to be of version 1.1.0-beta18 or newer in order to support the adding of third party extensions.
\nArduSub 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.
\nThis 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.
\nThe 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.
\nIn 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.
\nThe 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.
\nIt 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.
\nThe extension can be added through BlueOS' extensions menu.
\nNavigate to Extensions > Extensions Manager.
\n\nLocate Nortek Nucleus under the tab \"STORE\" and open it.
\n\nWhen 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.
\nTo 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\nAfter the installation has been completed. The extension can be located in Extensions > Extensions Manager, under the tab \"INSTALLED\".
\n\nHere 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.
\nThe extension itself can be opened in the menu by navigating to Extensions > Nucleus: Position hold.
\n\nOpening this will present the user with the GUI for the Nucleus extension which is covered in Using the extension
\nTo set this extension up manually, ssh into the Raspberry Pi on the BlueROV2 (or access via red-pill in BlueOS terminal).
\nN.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.
\nN.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.
\nOn the onboard computer, clone this repo in your preferred path with the following command:
\ngit clone git@github.com:nortekgroup/nucleus_driver.git
Navigate to the blueos_extension folder (the folder containing the Dockerfile) and build the docker image with the following command:
\ndocker build . -t nucleus_driver
The GUI of the extension is by default on port 5000.
\nIf another port is preferred for the GUI the image can be build with the preferred port as an argument with the following command
\ndocker build . -t nucleus_driver --build-arg PORT=5000
with the value following \"PORT=
\" being your preferred port.
The docker container can be executed with the following command
\ndocker run --net=host --add-host=host.docker.internal:host-gateway -v /root/.config/blueos:/root/.config --name=nucleus_driver --restart=unless-stopped nucleus_driver
--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
-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.
--name=Nucleus-Driver
is the preferred name of the container.
--restart=unless-stopped
allows the extension to automatically start when the ROV is powered up
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.B. In order for the extension to work it is necessary to change certain controller parameters. Refer to \"Controller parameters\" section for more info
\nN.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
\nWith the extension added, its user interface (GUI) can be found by navigating to Extensions -> Nucleus: Position hold in the BlueOS menu.
\nIn 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.
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
\nThe 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
\nThe 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.
\nIt 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.
\nThe 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.
\nN.B. Adjusting any of these parameters WILL change the behavior of the ROV
\nN.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.
\nThe 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.
\nN.B. Adjusting any of these parameters may change the behavior of the ROV
\nN.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.
\nIn 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.
\nAfter 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
An intuitive and customizable cross-platform ground control station for remote vehicles of all types. Click here for a demo!
\n\n\n\nSee our documentation \ud83d\udcd6
\nCockpit is typically installed as an Electron application or BlueOS Extension, but for development purposes it is valuable to run it locally.
\nTo start, clone the repository and its submodules. The submodules are required components for Cockpit to be able to run:
\ngit clone --recurse-submodules git@github.com:bluerobotics/cockpit.git
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.
With bun
installed, you can enter the repository folder and follow the steps below:
bun install
and then run the server locally with:
\nbun run dev --host
Then you should see a prompt with the local IP and port that can be accessed through a browser, such as localhost:5173
.
Cockpit is currently a frontend-only application. That means it relies on data offered by other backend solutions, which are not built-in.
\nIf you have a BlueOS instance running, there's no need to install any backend, as BlueOS already provides everything.
\nIf that's not your case and you want to install the necessary backends, follow the instructions below:
\nmavlink2rest
, 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
.Follow the instructions provided here to connect Cockpit to your vehicle.
\nIf you're running a BlueOS instance, just put the IP address of it in \"Global vehicle address\" and click the \"apply\" button.
\nIf 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).
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.
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:
docker-compose -f sim.yml --profile ardusub up
Assuming you have run the bun run dev --host
command, you can access the simulation environment by opening the browser and accessing localhost:5173
.
This is a Nucleus extension for the BlueOS software running on BlueROV2.
\nIt 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.
\nThis allows the user to utilize the \"position hold\" functionality in the ROV
\nTo mount the Nucleus unto the BlueROV2 and connect it to its network, refer Nortek's Nucleus integration guide.
\nBlueOS needs to be of version 1.1.0-beta18 or newer in order to support the adding of third party extensions.
\nArduSub 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.
\nThis 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.
\nThe 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.
\nIn 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.
\nThe 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.
\nIt 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.
\nThe extension can be added through BlueOS' extensions menu.
\nNavigate to Extensions > Extensions Manager.
\n\nLocate Nortek Nucleus under the tab \"STORE\" and open it.
\n\nWhen 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.
\nTo 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\nAfter the installation has been completed. The extension can be located in Extensions > Extensions Manager, under the tab \"INSTALLED\".
\n\nHere 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.
\nThe extension itself can be opened in the menu by navigating to Extensions > Nucleus: Position hold.
\n\nOpening this will present the user with the GUI for the Nucleus extension which is covered in Using the extension
\nTo set this extension up manually, ssh into the Raspberry Pi on the BlueROV2 (or access via red-pill in BlueOS terminal).
\nN.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.
\nN.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.
\nOn the onboard computer, clone this repo in your preferred path with the following command:
\ngit clone git@github.com:nortekgroup/nucleus_driver.git
Navigate to the blueos_extension folder (the folder containing the Dockerfile) and build the docker image with the following command:
\ndocker build . -t nucleus_driver
The GUI of the extension is by default on port 5000.
\nIf another port is preferred for the GUI the image can be build with the preferred port as an argument with the following command
\ndocker build . -t nucleus_driver --build-arg PORT=5000
with the value following \"PORT=
\" being your preferred port.
The docker container can be executed with the following command
\ndocker run --net=host --add-host=host.docker.internal:host-gateway -v /root/.config/blueos:/root/.config --name=nucleus_driver --restart=unless-stopped nucleus_driver
--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
-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.
--name=Nucleus-Driver
is the preferred name of the container.
--restart=unless-stopped
allows the extension to automatically start when the ROV is powered up
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.B. In order for the extension to work it is necessary to change certain controller parameters. Refer to \"Controller parameters\" section for more info
\nN.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
\nWith the extension added, its user interface (GUI) can be found by navigating to Extensions -> Nucleus: Position hold in the BlueOS menu.
\nIn 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.
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
\nThe 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
\nThe 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.
\nIt 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.
\nThe 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.
\nN.B. Adjusting any of these parameters WILL change the behavior of the ROV
\nN.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.
\nThe 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.
\nN.B. Adjusting any of these parameters may change the behavior of the ROV
\nN.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.
\nIn 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.
\nAfter 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
An intuitive and customizable cross-platform ground control station for remote vehicles of all types. Click here for a demo!
\n\n\n\nSee our documentation \ud83d\udcd6
\nCockpit is typically installed as an Electron application or BlueOS Extension, but for development purposes it is valuable to run it locally.
\nTo start, clone the repository and its submodules. The submodules are required components for Cockpit to be able to run:
\ngit clone --recurse-submodules git@github.com:bluerobotics/cockpit.git
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.
With bun
installed, you can enter the repository folder and follow the steps below:
bun install
and then run the server locally with:
\nbun run dev --host
Then you should see a prompt with the local IP and port that can be accessed through a browser, such as localhost:5173
.
Cockpit is currently a frontend-only application. That means it relies on data offered by other backend solutions, which are not built-in.
\nIf you have a BlueOS instance running, there's no need to install any backend, as BlueOS already provides everything.
\nIf that's not your case and you want to install the necessary backends, follow the instructions below:
\nmavlink2rest
, 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
.Follow the instructions provided here to connect Cockpit to your vehicle.
\nIf you're running a BlueOS instance, just put the IP address of it in \"Global vehicle address\" and click the \"apply\" button.
\nIf 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).
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.
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:
docker-compose -f sim.yml --profile ardusub up
Assuming you have run the bun run dev --host
command, you can access the simulation environment by opening the browser and accessing localhost:5173
.
This is a Nucleus extension for the BlueOS software running on BlueROV2.
\nIt 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.
\nThis allows the user to utilize the \"position hold\" functionality in the ROV
\nTo mount the Nucleus unto the BlueROV2 and connect it to its network, refer Nortek's Nucleus integration guide.
\nBlueOS needs to be of version 1.1.0-beta18 or newer in order to support the adding of third party extensions.
\nArduSub 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.
\nThis 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.
\nThe 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.
\nIn 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.
\nThe 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.
\nIt 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.
\nThe extension can be added through BlueOS' extensions menu.
\nNavigate to Extensions > Extensions Manager.
\n\nLocate Nortek Nucleus under the tab \"STORE\" and open it.
\n\nWhen 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.
\nTo 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\nAfter the installation has been completed. The extension can be located in Extensions > Extensions Manager, under the tab \"INSTALLED\".
\n\nHere 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.
\nThe extension itself can be opened in the menu by navigating to Extensions > Nucleus: Position hold.
\n\nOpening this will present the user with the GUI for the Nucleus extension which is covered in Using the extension
\nTo set this extension up manually, ssh into the Raspberry Pi on the BlueROV2 (or access via red-pill in BlueOS terminal).
\nN.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.
\nN.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.
\nOn the onboard computer, clone this repo in your preferred path with the following command:
\ngit clone git@github.com:nortekgroup/nucleus_driver.git
Navigate to the blueos_extension folder (the folder containing the Dockerfile) and build the docker image with the following command:
\ndocker build . -t nucleus_driver
The GUI of the extension is by default on port 5000.
\nIf another port is preferred for the GUI the image can be build with the preferred port as an argument with the following command
\ndocker build . -t nucleus_driver --build-arg PORT=5000
with the value following \"PORT=
\" being your preferred port.
The docker container can be executed with the following command
\ndocker run --net=host --add-host=host.docker.internal:host-gateway -v /root/.config/blueos:/root/.config --name=nucleus_driver --restart=unless-stopped nucleus_driver
--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
-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.
--name=Nucleus-Driver
is the preferred name of the container.
--restart=unless-stopped
allows the extension to automatically start when the ROV is powered up
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.B. In order for the extension to work it is necessary to change certain controller parameters. Refer to \"Controller parameters\" section for more info
\nN.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
\nWith the extension added, its user interface (GUI) can be found by navigating to Extensions -> Nucleus: Position hold in the BlueOS menu.
\nIn 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.
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
\nThe 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
\nThe 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.
\nIt 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.
\nThe 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.
\nN.B. Adjusting any of these parameters WILL change the behavior of the ROV
\nN.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.
\nThe 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.
\nN.B. Adjusting any of these parameters may change the behavior of the ROV
\nN.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.
\nIn 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.
\nAfter 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
An intuitive and customizable cross-platform ground control station for remote vehicles of all types. Click here for a demo!
\n\n\n\nSee our documentation \ud83d\udcd6
\nCockpit is typically installed as an Electron application or BlueOS Extension, but for development purposes it is valuable to run it locally.
\nTo start, clone the repository and its submodules. The submodules are required components for Cockpit to be able to run:
\ngit clone --recurse-submodules git@github.com:bluerobotics/cockpit.git
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.
With bun
installed, you can enter the repository folder and follow the steps below:
bun install
and then run the server locally with:
\nbun run dev --host
Then you should see a prompt with the local IP and port that can be accessed through a browser, such as localhost:5173
.
Cockpit is currently a frontend-only application. That means it relies on data offered by other backend solutions, which are not built-in.
\nIf you have a BlueOS instance running, there's no need to install any backend, as BlueOS already provides everything.
\nIf that's not your case and you want to install the necessary backends, follow the instructions below:
\nmavlink2rest
, 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
.Follow the instructions provided here to connect Cockpit to your vehicle.
\nIf you're running a BlueOS instance, just put the IP address of it in \"Global vehicle address\" and click the \"apply\" button.
\nIf 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).
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.
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:
docker-compose -f sim.yml --profile ardusub up
Assuming you have run the bun run dev --host
command, you can access the simulation environment by opening the browser and accessing localhost:5173
.
This is a Nucleus extension for the BlueOS software running on BlueROV2.
\nIt 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.
\nThis allows the user to utilize the \"position hold\" functionality in the ROV
\nTo mount the Nucleus unto the BlueROV2 and connect it to its network, refer Nortek's Nucleus integration guide.
\nBlueOS needs to be of version 1.1.0-beta18 or newer in order to support the adding of third party extensions.
\nArduSub 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.
\nThis 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.
\nThe 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.
\nIn 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.
\nThe 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.
\nIt 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.
\nThe extension can be added through BlueOS' extensions menu.
\nNavigate to Extensions > Extensions Manager.
\n\nLocate Nortek Nucleus under the tab \"STORE\" and open it.
\n\nWhen 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.
\nTo 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\nAfter the installation has been completed. The extension can be located in Extensions > Extensions Manager, under the tab \"INSTALLED\".
\n\nHere 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.
\nThe extension itself can be opened in the menu by navigating to Extensions > Nucleus: Position hold.
\n\nOpening this will present the user with the GUI for the Nucleus extension which is covered in Using the extension
\nTo set this extension up manually, ssh into the Raspberry Pi on the BlueROV2 (or access via red-pill in BlueOS terminal).
\nN.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.
\nN.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.
\nOn the onboard computer, clone this repo in your preferred path with the following command:
\ngit clone git@github.com:nortekgroup/nucleus_driver.git
Navigate to the blueos_extension folder (the folder containing the Dockerfile) and build the docker image with the following command:
\ndocker build . -t nucleus_driver
The GUI of the extension is by default on port 5000.
\nIf another port is preferred for the GUI the image can be build with the preferred port as an argument with the following command
\ndocker build . -t nucleus_driver --build-arg PORT=5000
with the value following \"PORT=
\" being your preferred port.
The docker container can be executed with the following command
\ndocker run --net=host --add-host=host.docker.internal:host-gateway -v /root/.config/blueos:/root/.config --name=nucleus_driver --restart=unless-stopped nucleus_driver
--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
-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.
--name=Nucleus-Driver
is the preferred name of the container.
--restart=unless-stopped
allows the extension to automatically start when the ROV is powered up
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.B. In order for the extension to work it is necessary to change certain controller parameters. Refer to \"Controller parameters\" section for more info
\nN.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
\nWith the extension added, its user interface (GUI) can be found by navigating to Extensions -> Nucleus: Position hold in the BlueOS menu.
\nIn 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.
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
\nThe 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
\nThe 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.
\nIt 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.
\nThe 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.
\nN.B. Adjusting any of these parameters WILL change the behavior of the ROV
\nN.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.
\nThe 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.
\nN.B. Adjusting any of these parameters may change the behavior of the ROV
\nN.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.
\nIn 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.
\nAfter 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
An intuitive and customizable cross-platform ground control station for remote vehicles of all types. Click here for a demo!
\n\n\n\nSee our documentation \ud83d\udcd6
\nCockpit is typically installed as an Electron application or BlueOS Extension, but for development purposes it is valuable to run it locally.
\nTo start, clone the repository and its submodules. The submodules are required components for Cockpit to be able to run:
\ngit clone --recurse-submodules git@github.com:bluerobotics/cockpit.git
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.
With bun
installed, you can enter the repository folder and follow the steps below:
bun install
and then run the server locally with:
\nbun run dev --host
Then you should see a prompt with the local IP and port that can be accessed through a browser, such as localhost:5173
.
Cockpit is currently a frontend-only application. That means it relies on data offered by other backend solutions, which are not built-in.
\nIf you have a BlueOS instance running, there's no need to install any backend, as BlueOS already provides everything.
\nIf that's not your case and you want to install the necessary backends, follow the instructions below:
\nmavlink2rest
, 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
.Follow the instructions provided here to connect Cockpit to your vehicle.
\nIf you're running a BlueOS instance, just put the IP address of it in \"Global vehicle address\" and click the \"apply\" button.
\nIf 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).
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.
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:
docker-compose -f sim.yml --profile ardusub up
Assuming you have run the bun run dev --host
command, you can access the simulation environment by opening the browser and accessing localhost:5173
.
\n
An intuitive and customizable cross-platform ground control station for remote vehicles of all types. Click here for a demo!
\n\n\n\nSee our documentation \ud83d\udcd6
\nCockpit is typically installed as an Electron application or BlueOS Extension, but for development purposes it is valuable to run it locally.
\nTo start, clone the repository and its submodules. The submodules are required components for Cockpit to be able to run:
\ngit clone --recurse-submodules git@github.com:bluerobotics/cockpit.git
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.
With bun
installed, you can enter the repository folder and follow the steps below:
bun install
and then run the server locally with:
\nbun run dev --host
Then you should see a prompt with the local IP and port that can be accessed through a browser, such as localhost:5173
.
Cockpit is currently a frontend-only application. That means it relies on data offered by other backend solutions, which are not built-in.
\nIf you have a BlueOS instance running, there's no need to install any backend, as BlueOS already provides everything.
\nIf that's not your case and you want to install the necessary backends, follow the instructions below:
\nmavlink2rest
, 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
.Follow the instructions provided here to connect Cockpit to your vehicle.
\nIf you're running a BlueOS instance, just put the IP address of it in \"Global vehicle address\" and click the \"apply\" button.
\nIf 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).
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.
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:
docker-compose -f sim.yml --profile ardusub up
Assuming you have run the bun run dev --host
command, you can access the simulation environment by opening the browser and accessing localhost:5173
.
\n
An intuitive and customizable cross-platform ground control station for remote vehicles of all types. Click here for a demo!
\n\n\n\nSee our documentation \ud83d\udcd6
\nCockpit is typically installed as an Electron application or BlueOS Extension, but for development purposes it is valuable to run it locally.
\nTo start, clone the repository and its submodules. The submodules are required components for Cockpit to be able to run:
\ngit clone --recurse-submodules git@github.com:bluerobotics/cockpit.git
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.
With bun
installed, you can enter the repository folder and follow the steps below:
bun install
and then run the server locally with:
\nbun run dev --host
Then you should see a prompt with the local IP and port that can be accessed through a browser, such as localhost:5173
.
Cockpit is currently a frontend-only application. That means it relies on data offered by other backend solutions, which are not built-in.
\nIf you have a BlueOS instance running, there's no need to install any backend, as BlueOS already provides everything.
\nIf that's not your case and you want to install the necessary backends, follow the instructions below:
\nmavlink2rest
, 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
.Follow the instructions provided here to connect Cockpit to your vehicle.
\nIf you're running a BlueOS instance, just put the IP address of it in \"Global vehicle address\" and click the \"apply\" button.
\nIf 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).
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.
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:
docker-compose -f sim.yml --profile ardusub up
Assuming you have run the bun run dev --host
command, you can access the simulation environment by opening the browser and accessing localhost:5173
.
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.
\nExecute the following command to build your extension:
\nshell\n docker buildx build --platform linux/arm/v7 . -t my_docker_user/blueos-ps-calibration:latest --output type=registry
This extension makes possible to communicate with the vehicle via ROS
\nTo connect, you just need to run the following commands:\n```sh\nexport ROS_MASTER_URI=http://blueos.local:11311
\nrostopic list # Done, you already have access to it!\n```
\nYou can also access the data via roslibjs.
\n```html
\n\n\n\n\n\n\n\n\n\nConnection status:
\nLast /mavros/vfr_hud received:
\n\n\n```
\nIt's possible to change ROS master for the extension using BlueOS on pirate mode and configuring ROS environments variables under the extension configuration menu.
\nA valid configurtion wouyld look like this:
\njson5\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}
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=This extension makes possible to communicate with the vehicle via ROS
\nTo connect, you just need to run the following commands:\n```sh\nexport ROS_MASTER_URI=http://blueos.local:11311
\nrostopic list # Done, you already have access to it!\n```
\nYou can also access the data via roslibjs.
\n```html
\n\n\n\n\n\n\n\n\n\nConnection status:
\nLast /mavros/vfr_hud received:
\n\n\n```
\nIt's possible to change ROS master for the extension using BlueOS on pirate mode and configuring ROS environments variables under the extension configuration menu.
\nA valid configurtion wouyld look like this:
\njson5\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}
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=Extension to start coding with python examples and create projects.
\nTo install your own libraries, use: pip install --user
.
Home directory (/root/
) will be persistent besides pip local holder for user libraries.
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=Extension to start coding with python examples and create projects.
\nTo install your own libraries, use: pip install --user
.
Home directory (/root/
) will be persistent besides pip local holder for user libraries.
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=Extension to start coding with python examples and create projects.
\nTo install your own libraries, use: pip install --user
.
Home directory (/root/
) will be persistent besides pip local holder for user libraries.
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=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=Send NMEA position information (GGA and HDT) to the Water Linked UGPS API.
\nAdd a satellite compass to the topside vessel and connect it to the ROV Ethernet network.
\nInstall this extension in BlueOS:
\nAfter a few moments you should see the WL UGPS External entry in the sidebar.\nClick on it to see a very simple UI.
\nUGPS_HOST
to the IP address of the WL UGPS G2 box. The default is http://192.168.2.94
.SEND_RATE
to the rate to send position information to the G2 box. The default is 2Hz.POLL_RATE
to the rate to poll the G2 box for acoustic and pose information. The default is 0 (no polling).LOG_NMEA
is --log_nmea
, then NMEA messages will be logged. The default is blank (no logging). 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~~~
\nLogs can be found in BlueOS:
\nSee 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=Send NMEA position information (GGA and HDT) to the Water Linked UGPS API.
\nAdd 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
\nInstall this extension in BlueOS:\n* Select Extensions in the sidebar\n* Click on WL UGPS External\n* Click Install
\nAfter a few moments you should see the WL UGPS External entry in the sidebar.\nClick on it to see a very simple UI.
\nUGPS_HOST
is the IP address of the WL UGPS G2 box, the default is http://192.168.2.94
SEND_RATE
is the rate to send position information to the G2 box, the default is 2HzSee 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=Send NMEA position information (GGA and HDT) to the Water Linked UGPS API.
\nAdd 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
\nInstall this extension in BlueOS:\n* Select Extensions in the sidebar\n* Click on WL UGPS External\n* Click Install
\nAfter a few moments you should see the WL UGPS External entry in the sidebar.\nClick on it to see a very simple UI.
\nUGPS_HOST
is the IP address of the WL UGPS G2 box, the default is http://192.168.2.94
SEND_RATE
is the rate to send position information to the G2 box, the default is 2HzSee 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=Send NMEA position information (GGA and HDT) to the Water Linked UGPS API.
\nAdd 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
\nInstall this extension in BlueOS:\n* Select Extensions in the sidebar\n* Click on WL UGPS External\n* Click Install
\nAfter a few moments you should see the WL UGPS External entry in the sidebar.\nClick on it to see a very simple UI.
\nUGPS_HOST
is the IP address of the WL UGPS G2 box, the default is http://192.168.2.94
SEND_RATE
is the rate to send position information to the G2 box, the default is 2HzSurftrak is a new flight mode in ArduSub 4.5.
\nSurftrak Fixit is a BlueOS extension that can diagnose and fix Surftrak problems.
\nExtension Identifier\n~~~\nclydemcqueen.surftrak_fixit\n~~~
\nExtension Name\n~~~\nsurftrak_fixit\n~~~
\nDocker image\n~~~\nclydemcqueen/surftrak_fixit\n~~~
\nDocker tag\n~~~\nv1.0.0-beta.2\n~~~
\nCustom 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~~~
\nSurftrak Fixit looks only at MAVLink messages, so it can be tested against ArduSub SITL and\nmavlink2rest.
\nSee these instructions to set up ArduSub SITL.
\nTerminal 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~~~
\nTerminal 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~~~
\nTerminal 3: run Surftrak Fixit\n~~~\n./main.py --mavlink2rest_url http://localhost:8088/v1\n~~~
\nTerminal 4: emulate a MAVLink rangefinder\n~~~\n./fake_rf.py --ping\n~~~
\nYou 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=Surftrak is a new flight mode in ArduSub 4.5.
\nSurftrak Fixit is a BlueOS\nextension that can diagnose and suggest fixes for some common Surftrak problems.
\nTo 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
\nExtension Identifier\n~~~\nclydemcqueen.surftrak_fixit\n~~~
\nExtension Name\n~~~\nsurftrak_fixit\n~~~
\nDocker image\n~~~\nclydemcqueen/surftrak_fixit\n~~~
\nDocker tag\n~~~\nv1.0.0-beta.1\n~~~
\nCustom 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=This extension has no UI page (so it creates no listing in the sidebar of BlueOS).
\nAssuming 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.
Information flow triggered by this extension:\n
\nIf 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.
\nHardware documentation can be found at https://waterlinked.github.io/underwater-gps/integration/bluerov-integration/
\nThere are 2 options
\nConfiguration is usually not required, but can be done by editing the extension in the \"Installed\" tab of the Extensions Manager.
\nEditing 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}
Use the \"View Logs\" button to check the status.
\nTo set this up, ssh into the Raspberry Pi (or access via red-pill
in BlueOS Terminal)
install git, clone this repository and run\n```
\ndocker build -t waterlinked/blueos-ugps-extension:latest .
\ndocker images
\ndocker 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
\ndocker 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
\ndocker run -it waterlinked/blueos-ugps-extension:latest /bin/bash
\ncd 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
\ncd app && python main.py --ugps_host https://demo.waterlinked.com --mavlink_host http://192.168.2.2:6040 --qgc_ip 192.168.2.1
\nexit
\ndocker stop [container-id]\ndocker start [container-id]\ndocker log [container-id] # if run detached
\ndocker 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=This extension has no UI page (so it creates no listing in the sidebar of BlueOS).
\nAssuming 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.
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.
\nHardware documentation can be found at https://waterlinked.github.io/underwater-gps/integration/bluerov-integration/
\nThere are 2 options
\nConfiguration is usually not required, but can be done by editing the extension in the \"Installed\" tab of the Extensions Manager.
\nEditing 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}
Use the \"View Logs\" button to check the status.
\nTo set this up, ssh into the Raspberry Pi (or access via red-pill
in BlueOS Terminal)
install git, clone this repository and run\n```
\ndocker build -t waterlinked/blueos-ugps-extension:latest .
\ndocker images
\ndocker 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
\ndocker 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
\ndocker run -it waterlinked/blueos-ugps-extension:latest /bin/bash
\ncd 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
\ncd app && python main.py --ugps_host https://demo.waterlinked.com --mavlink_host http://192.168.2.2:6040 --qgc_ip 192.168.2.1
\nexit
\ndocker stop [container-id]\ndocker start [container-id]\ndocker log [container-id] # if run detached
\ndocker 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=This extension is currently in development. It has no UI page (so creates no listing in the sidebar of BlueOS).
\nAssuming 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.
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.
\nHardware documentation can be found at https://waterlinked.github.io/underwater-gps/integration/bluerov-integration/
\nThere are 2 options
\nConfiguration is usually not required, but can be done by editing the extension in the \"Installed\" tab of the Extensions Manager.
\nEditing 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}
Use the \"View Logs\" button to check the status.
\nTo set this up, ssh into the Raspberry Pi (or access via red-pill
in BlueOS Terminal)
install git, clone this repository and run\n```
\ndocker build -t waterlinked/blueos-ugps-extension:latest .
\ndocker images
\ndocker 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
\ndocker 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
\ndocker run -it waterlinked/blueos-ugps-extension:latest /bin/bash
\ncd 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
\ncd app && python main.py --ugps_host https://demo.waterlinked.com --mavlink_host http://192.168.2.2:6040 --qgc_ip 192.168.2.1
\nexit
\ndocker stop [container-id]\ndocker start [container-id]\ndocker log [container-id] # if run detached
\ndocker 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=This extension makes it possible to communicate with the vehicle via ROS2 and MAVROS
", - "support": null, - "requirements": null, + "readme": "This extension is currently in development. It has no UI page (so creates no listing in the sidebar of BlueOS).
\nAssuming 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)
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.
\nHardware documentation can be found at https://waterlinked.github.io/underwater-gps/integration/bluerov-integration/
\nThere are 2 options
\nConfiguration is usually not required, but can be done by editing the extension in the \"Installed\" tab of the Extensions Manager.
\nEditing 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\"
Use the \"View Logs\" button to check the status.
\nTo set this up, ssh into the Raspberry Pi (or access via red-pill
in BlueOS Terminal)
install git, clone this repository and run\n```
\ndocker build -t waterlinked/blueos-ugps-extension:latest .
\ndocker images
\ndocker 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
\ndocker 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
\ndocker run -it waterlinked/blueos-ugps-extension:latest /bin/bash
\ncd 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
\ncd app && python main.py --ugps_host https://demo.waterlinked.com --mavlink_host http://192.168.2.2:6040 --qgc_ip 192.168.2.1
\nexit
\ndocker stop [container-id]\ndocker start [container-id]\ndocker log [container-id] # if run detached
\ndocker 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" } ]