bluerobotics / bluerobotics/BlueOS

propose: Change in BlueOS's default communication behavior

Open
#418 7 comments 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
Vue
Stars
453
Forks
151
Avg merge
1d 3h
Merged PRs (30d)
174

Description

We are currently using a hardcoded UDP client endpoint (`192.168.2.1`) for the top machine on BlueOS-docker. This is the same behavior we have on companion0. There are some problems with this approach. Two are the main ones:
- We need the user to configure it's top machine with a static IP
- With `mavlink-router`, if there's no UDP server online with this hardcoded IP on the local network, it will fail to route all mavlink communication

My proposal for a new behavior is the following:
- Remove the hardcoded IP from BlueOS
- Create a default UDP server endpoint
- Make BlueOS start as a DHCP server by default if it hasn't received a DHCP handshake from an external route. This allows someone to just connect BlueOS with an ethernet cable to it's top computer, which will receive a dynamic IP and enter BlueOS's network
- Make BlueOS start a Wifi hotspot with a DHCP server whenever there's no known network around for more than 10 seconds. This allows the same behavior as the ethernet DHCP server, but with wifi.

This way anyone receiving a brand new companion is able to connect to it just by connecting to it's Wifi hotspot or pluging a ethernet cable. No configuration needed.

From this, to connect QGroundControl on companion one just need to add on QGC an UDP connection with port 14550 pointing to `companion.local`.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.