gcs-java-node

This project is maintained by aiegoo

GCS and quantum mesh

GCS.uno Server

GCS.uno Server is a web-based Ground Control System application for remote control (BVLOS) of autonomous air and ground vehicles.
It supports DJI drones and MAVLink-based drones such as Ardupilot, PX4 and others.

Screenshot

Features

Supported autopilots

Supported Autopilots

GCS.uno Server communicates with Ardupilot and PX4 autopilot boards using raw MAVLink protocol (both V.1 and V.2 with automatic detection).
MAVLink autopilots can be connected to GCS.uno Server in various ways.
Check Connect MAVLink drones for more info.

DJI drones use our GCS.uno iOS mobile app to connect to local or remote server.
Check Connect DJI drones for more info.

Help and docs

Follow installation guide to setup your system.

Documentation
GCS.uno website
Support forum

Under the hood

GCS.uno Server runs in NodeJS environment and uses Redis Server as in-memory key-value store and RethinkDB as a document database.
Nimble Streamer is used as a self-hosted video streaming server. Wowza Streaming Cloud can be used instead of self-hosted media server.

The pilot’s dashboard can be accessed from any modern browser. We recommend Google Chrome or other Chromium-based browsers.

Available upon your request on GCS.uno website

GCS.uno Server License

4g remote operation in java

wickedwukong/martin-fowler-refactoring-2nd

drone-java

Deployment

Configuration

Update cloudapp/src/main/resources/application.yaml: Application port, logging… Update port in cloudapp/config-templates/nginx-site.conf if needed

Build jar

Change the current directory to ./soure/cloudapp

./gradlew clean
./gradlew bootJar

Deploy

sudo mkdir /opt/cloudapp

sudo cp ./build/libs/cloudapp*.jar /opt/cloudapp/app.jar
sudo cp ./config-templates/start.sh /opt/cloudapp/start.sh

sudo cp ./config-templates/cloudapp.service /etc/systemd/system/cloudapp.service

sudo systemctl start cloudapp

If you want to start the app on boot

sudo systemctl enable cloudapp

Config NGINX

sudo cp ./config-templates/nginx-site.conf /etc/nginx/sites-available/<example.com>

# update your domain name
sudo nano /etc/nginx/sites-available/<example.com>
sudo ln -s /etc/nginx/sites-available/<example.com> /etc/nginx/sites-enabled/<example.com>

sudo systemctl restart nginx

Config SSL

Certbot

# Create SSL certificate for your domain¶
sudo certbot --nginx

GCS and cloud app in qt

logs

Aprl 4 Video

image

Mar 29 Map

image

openstreetmap

network monitoring

diagram5 diagram6

sudo lsof -i -P -n | grep LISTEN
sudo netstat -tulpn | grep LISTEN
sudo ss -tulpn | grep LISTEN
sudo lsof -i:22 ## see a specific port such as 22 ##
sudo nmap -sTU -O IP-address-Here

sudo lsof -i -P -n 
sudo lsof -i -P -n | grep LISTEN
doas lsof -i -P -n | grep LISTEN [OpenBSD]

less /etc/services

netstat -tulpn | grep LISTEN
sudo ss -tulw
sudo ss -tulwn
sudo ss -tulwn | grep LISTEN

sudo nmap -sT -O localhost
sudo nmap -sU -O 192.168.2.13 ##[ list open UDP ports ]##
sudo nmap -sT -O 192.168.2.13 ##[ list open TCP ports ]##

debugging with a port-mirroring switcher

diagram5

diagram6

lx-setup diagram

diagram-image diagrams.net

## network monitoring

diagram5 diagram6

sudo lsof -i -P -n | grep LISTEN
sudo netstat -tulpn | grep LISTEN
sudo ss -tulpn | grep LISTEN
sudo lsof -i:22 ## see a specific port such as 22 ##
sudo nmap -sTU -O IP-address-Here

sudo lsof -i -P -n 
sudo lsof -i -P -n | grep LISTEN
doas lsof -i -P -n | grep LISTEN [OpenBSD]

less /etc/services

netstat -tulpn | grep LISTEN
sudo ss -tulw
sudo ss -tulwn
sudo ss -tulwn | grep LISTEN

sudo nmap -sT -O localhost
sudo nmap -sU -O 192.168.2.13 ##[ list open UDP ports ]##
sudo nmap -sT -O 192.168.2.13 ##[ list open TCP ports ]##

debugging with a port-mirroring switcher

diagram5

diagram6

lx-setup diagram

diagram-image diagrams.net