We are planning to use cellular instead of WiFi for increased range, but are having trouble with the connection. To eliminate the cellular modem as the culprit, we have switched to attempting to connect over the LAN that is formed by a cabled router. All services appears to work, eg: 6030 (System Information), as does the WebUI from BlueOS. The default port #5760 (which may be the serial port baud rate, 57600, truncated) was a big distraction, but eventually we enabled Pirate mode and discovered two services that might be the right target: âArudPilot Managerâ on port 8000, and âCommanderâ on port 9100. Could not find anything like this in the docs.
So we set up a âComm Linkâ under âApplication Settingsâ with the blueos IP and port 8000. Very briefly, the position marker showed up at the correct map location, but that was it. All subsequent attempts (reboots of everything included) only show the cached map image and âDisconnected.â
Interestingly, the blueos netstat says QGroundControl is connected on port 8000 (ArduPilot Manager)
pi@blueos:~ $ netstat -a | grep 8000
tcp 0 0 0.0.0.0:8000 0.0.0.0:* LISTEN
tcp 0 0 blueos.lan:8000 butters.lan:58824 ESTABLISHED
What have we done wrong? Should we be connecting to the âCommanderâ service instead? Also, and it may be a symptom, we can press the âDisconnectâ button, and the connection goes away on the blueos side. But the Connect button does not return to active, and so we must restart QGroundControl every time to re-attempt the connection. Is this normal?
Hi @cuz -
There is a much more straightforward approach to using BlueOS via cellular connection! Iâm really pretty lost on what you were attempting here
eventually we enabled Pirate mode and discovered two services that might be the right target: âArudPilot Managerâ on port 8000, and âCommanderâ on port 9100. Could not find anything like this in the docs.
The Comm Links in QGround Control application settings are not relevant to setting up a remote connection. If a Mavlink Endpoint is pointed at your computerâs IP address, QGround Control will connect automatically!
The trick is getting your computer to have an IP address that is reachable from BlueOS and its cellular internet connection - thatâs where the ZeroTier extension comes in. Simply install it from the Extension Manager in BlueOS, and create a free account. Then create a network, and copy the 16 digit network ID to the ZeroTier interface in BlueOS, to join the network. This will fail initially, and you will need to authorize the client in the ZeroTier web interface. Finally, repeat this process with your computer and the appropriate ZeroTier client for your operating system.
Then, youâll be able to reach BlueOS at its ZeroTier IP address, and can configure a Mavlink Endpoint to reach your client computer at its ZeroTier IP address. Once this is setup, your system will connect automatically over cellular, as long as both computer and vehicle have internet access!
Critically, no modification to QGround Control settings is required. I would recommend that you are on the latest stable version of BlueOS - 1.2.6 - the information you shared doesnât indicate what version youâre running, just what kernel. Donât forget to update the bootstrap if prompted!
Sorry Tony, I didnât explain it very well. BlueOS=1.2.6. There are three devices sharing the cellular modem. We were trying to set up a port forward in the modem so that QGroundControl could connect to BlueOS. What threw us off is that when creating a Comm Link, a default port of 5760 is suggested. But netstat doesnât show that port in BlueOS, and now I am suspicious that 5760 is the default baud rate 57600 with one zero truncated.
We were avoiding ZeroTier because our IT Dept. needed to vet it first (Takes weeks). However, yesterday we realized that if we used a shop laptop, that we would not be touching the corporate network.
Short version: we got it working yesterday.
Details: It required a medium level of Linux skill. The download for ZeroTier for the laptop from your page failed silently, with no apparent way to diagnose. So we apt removed and followed this and, built: GitHub - Williangalvani/ZeroTierOne: A Smart Ethernet Switch for Earth (BlueOS edition). We built the service and the GUI, thankfully both built just fine. The make install target for the GUI did create a proper icon in the Gnome app launcher. This is the OS for the laptop:
(base) sst@butters:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 20.04.6 LTS
Release: 20.04
Codename: focal
(base) sst@butters:~$ uname -a
Linux butters 5.15.0-113-generic #123~20.04.1-Ubuntu SMP Wed Jun 12 17:33:13 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
But it wasnât over. We used usermod to add the âzerotier-oneâ group to our user, and once we saw that âidâ showed the group, the GUI still told us that we were not permitted to start the service. So we started it manually, and then it worked. We nearly jumped out of our skin when the connection completed and the app started talking to us (Had the volume up WAY too loud)!
Thank you for the help - Clark
Hi @cuz -
To clarify - you followed this process on your control computer, and were able to connect to the BlueOS device running the ZeroTier extension? Iâm surprised the existing ZeroTier client was not supported on the laptopâŠ
Also, there has been considerable vetting of ZeroTier with positive analysis!
Correct. But we had to build it. The binary we downloaded would quit instantly every time we started it it, with no stdout or stderr. The install process, dependencies, everything looked normal. It also did not create an icon for launching, maybe it usually does and something went wrong with the download? Thanks again!