BlueOS 1.0 BETA testing

Hello companion users!

To all those interested, welcome to our new Companion BlueOS B.E.T.A (Break it Early Test Application) campaign. We have worked for the last couple of months from scratch on a totally new experience on the companion computer, and are now confident enough to open our work for users to test and check the changes personally!

:warning: Be aware that the B.E.T.A may not be stable and changes will occur during the development :warning:
:warning: We do not recommend using this B.E.T.A software in production or work environments :warning:
This early release is for testing purposes, and should be used cautiously. Usage support will be mostly limited to help for developers.

We are going to update the documentation as much as possible, but it’ll probably be different for each version of companion until we hit a stable release. We do plan to document any issue or user interface feature that’s not intuitive yet or is a work in progress.

Initial setup and configuration documentation can be found here :slight_smile:


Our goals for the new Companion BlueOS

  • An interface that is simple by default but powerful when needed - the user has the power to change anything they desire and customize the full experience
  • Designed to focus on what matters, improving user access to information and controls with a human-friendly UI and UX
  • Make complex tasks simpler and improve ease of use by reusing design patterns from other applications (based on the material UI guidelines)
  • Advanced error handling and detection, making any problems clear to the user, along with how to fix them
  • Encourage development, providing full access to our services API and modular development model
  • Encourage contributions, the project is open source!
  • Portable and flexible, you should be able to run on a Raspberry Pi 3/4 or SBC with Linux operating system

Some of these goals are long term, but the underlying software architecture and organization have been designed from the ground up to support and enable them.


What to expect on this beta test

  • Feature-complete with Companion: the BETA release of BlueOS already has all the features from the old Companion software, along with some exciting new ones:
    • WIFI: Connect and manage multiple networks as a cellphone or computer, can also connect to hidden networks
    • Ethernet: Static IP and DHCP configuration
    • Camera manager: Supports multiple video devices, and easy setup of multiple streams
      • Raspberry Pi cameras not yet supported (#991)
      • Audio streaming not yet supported (#990)
    • NMEA: Supports GPS only, for now
    • Ping: Full ping family support
      • Automatic Ping Sonar → MAVLink → QGC not yet implemented (#264)
    • ArduPilot: Supports firmware updating, with version and vehicle selection, and can also flash from file
    • Bridget: Enables serial to UDP bridges
    • File browser: Download, upload and edit files from the browser
    • Log manager: Download and manage dive log files
    • LogViewer: Visualize and check logs on the browser
    • Terminal: Access to Linux terminal with a tmux session on the browser
    • Version chooser: Update/Downgrade between versions
  • No stability guarantee: our focus is on making all features stable and with full functionality - features can and will change as issues are found and fixed, or as we restructure to improve the user experience
  • Rolling releases: quick passed releases with new features, bug fixes and general improvements

How you can help us

  • Install the BlueOS beta software onto a fresh SD card
  • Update it to the latest beta tag
  • Report any issues that you find
  • Suggestions and critical feedback are much appreciated
  • Share your experiences and thoughts (in this forum category)
10 Likes

Hi!
Did some initial testing:
Upgrading to Beta3 in UI
Rebooting from UI after “reset settings” hangs on “System is rebooting, please wait.”
Refreshing UI gives “connection rejected”
No stream or connection in QGC
SSH Connection via Putty works
Lot of traffic from Pi to internet
Waiting 30 minutes
Hard reset, back to same status

So, reformat SD card, burned version 1.0.0 again.
Trying to upgrade to Beta3, back to problem above several times
Solution that worked was not to use “reboot”, but use “Shut down” in UI

Other small notes:
Change to static IP on LAN not working, going back to setting, status is again “Dynamic”

No processor temperature reading in UI health button upper right

Hard Boot takes 48 sec on Beta3
Hard Boot on Companion 0.0.26 takes 18 sec

Curious what this project will give!
Bo

Hi Bo!

Sorry that you got such a bad first impression!

You should wait for the reboot to finish, the UI will automatically reload once the system finishes the reboot procedure.
Since this step is done after resetting settings, and all the settings should be created and populated again, the startup time will be longer than usual.

Check our documentation, the new companion has a temporary but necessary configuration to get it connected.

If you started companion with a camera connected on the first boot, it should create the default video stream settings for you.
Please check on the video stream menu to see if there is one there.

Can you explain it a bit better ?

Thanks for reporting, we are going to verify that!

Thanks! That’s still work in progress, should be fixed soon.

We are still improving the boot time, the system is now much more complex and still in development, we are aiming to bring the boot time as closer as the original companion.
The first boot takes longer since it resize the OS partition to use the entire sdcard space.

Hi @patrickelectric !
I need to explain my installation process better:
Installing Beta1 went fine and everything worked.
Problem on top of my post occur upgrading to Beta3.
That is companion module hangs after pressing restart button.
Waiting 30 minutes do not help.
A restart do not help. All this process 5 times
Only thing working is reinstalling Beta1 on SD card again.

What did work was that not use “restart” but “shut down” button.

Is there a weblink or so to check if there is new Beta versions when the ROV in not at hand?
Keep up the good work!
Bo

Hi @Boko!

We are going to provide a new image soon that may improve your upgrade experience, I’ll update the post and notify you once it’s available.

You can check for all availables versions here:

2 Likes

Update

We are now on Companion 1.0.0.beta5, a new image is also available on the documentation webpage with the new version.

It’s possible to see a list of all changes since 1.0.0.beta1 here.

4 Likes

Hi,

Awesome work going on on this new companion.

We change the hostname on the ROV to have an unique name we can see on the network. Or else all of the ROV have been named companion.local.

The next question is it possible to connect to the hostname insted of IP address in QGC? I tried to type in companion.local in my QGC 4.1.4, but it converted and saved it automatically as a IP address.

Oh, companion has a docker, didnt know that. :+1:

The new Companion Beta is a ground up rewrite from the original Companion software, and involves significant structural changes. The existing stable Companion doesn’t use docker, but this Beta does :slight_smile:

1 Like

Right now only companion.local is possible.
I have created an issue for you to track this request:

You can use the IP address or if you are connected via ethernet: 192.168.2.2.
I have created a feature request on QGC to save the mdns address over the ip address of the vehicle.

3 Likes

Hi,
Thanks for det update @patrickelectric. Im gonna follow this requests.

I got a problem today:
I update to the latest beta6, but when I reset the settings and restarted the raspberry pi, it never came up again. I can login through SSH, but I cant access through the web interface. I was able to get some log by typing “sudo docker logs -t [container ID]”

/bootstrap/bootstrap.py:157: UserWarning: Error trying to pull an update image: 500 Server Error for http+docker://lo                                                                                                                                                   calhost/v1.41/images/create?tag=master&fromImage=bluerobotics%2Fcompanion-core: Internal Server Error ("Get "https://                                                                                                                                                   registry-1.docker.io/v2/": dial tcp: lookup registry-1.docker.io on 192.168.1.1:53: dial udp 192.168.1.1:53: connect:                                                                                                                                                    network is unreachable")
2021-11-23T11:09:37.617441249Z   warn(f"Error trying to pull an update image: {error}")
/bootstrap/bootstrap.py:157: UserWarning: Error trying to pull an update image: 500 Server Error for http+docker://lo                                                                                                                                                   calhost/v1.41/images/create?tag=master&fromImage=bluerobotics%2Fcompanion-core: Internal Server Error ("Get "https://                                                                                                                                                   registry-1.docker.io/v2/": dial tcp: lookup registry-1.docker.io on 8.8.8.8:53: dial udp 8.8.8.8:53: connect: network                                                                                                                                                    is unreachable")
2021-11-23T11:09:38.760374997Z   warn(f"Error trying to pull an update image: {error}")

@almathisen We changed the documentation and reset settings + reboot is now not recommended since it can result in the problem that you are having.

I would recommend to flash a new image, or we can do a teamviewer session to help you fix that.

2 Likes

I flash a new one. Thanks for the support.

Satisfied with Beta on our side.

2 Likes

I’ve installed 3 DWE USB cameras connected to an RPi4. I’ve noticed that when I setup three streams, everything works great. However, upon power cycle, two of the three stream configurations get dropped. The cameras are listed in the video section, but the streaming configs are lost.
Companion 1.0.0…beta6
Raspberry Pi 4b

Hi @k-deboer, thanks for the info, and glad to hear multiple streams are working well :slight_smile:

There are several configuration options that aren’t yet persistent across boots, so presumably camera streams is one of them (I’m aware that it does try to auto-stream the first camera it finds, which would explain why one continues to work). Regardless, I’ve raised this internally in case it’s something that’s expected to already be working, and if not at least bump it as something that’s important for usability of the main release.

Thanks Eliot,

The non-persistent issue is another reason I added the second RPi for the extra cameras, as I use the Delta ROV Expanse module to control many options, and endpoints aren’t persistent. I actually haven’t tried the endpoint feature in Companion 1.0 BETA for that reason.

Great work on the interface so far guys!

2 Likes

Hello,

We are unable to get video device to show up on RPi4 but works fine on RPi 3 B+. Any suggestions that may cause this?

Thanks!

Hi @DeepWaterExploration,

I’m not sure on this one, so have asked internally :slight_smile:
In the meantime, would you be able to specify which release of beta you’re running, and some more information on the video device you’re trying to connect? I’ve used the BR Low Light camera on an RPi4 without issues, so I’m presuming there’s something different about your setup/device.

So you’re aware, we’re on a company-wide break from today until 2/Jan, so you likely won’t get a response until after then.