Skip to content

EthanMBoos/tower-server

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Tower-Server

Communications server for robotic fleets. Bridges commands and telemetry between vehicles and the Tower UI.

┌─────────────────┐     WebSocket      ┌─────────────────┐    UDP multicast     ┌─────────────────┐
│      Tower      │◀──────────────────▶│  tower-server   │◀────────────────────▶│  Radio Nodes    │
│   (Electron)    │   localhost:9000   │                 │   239.255.0.1:14550  │  (on vehicles)  │
└─────────────────┘                    └─────────────────┘                      └─────────────────┘

Quick Start

# Clone and install
git clone https://github.com/EthanMBoos/tower-server.git
cd tower-server
go mod download

# Run server with simulated vehicles (demo mode)
./scripts/demo.sh

# Or run manually:
go run ./cmd/tower-server &
go run ./cmd/testsender -vid ugv-test-01 &

# Test connection
go run ./cmd/testclient

Configuration

Variable Default Description
TOWER_WS_PORT 9000 WebSocket server port
TOWER_MCAST_SOURCES 239.255.0.1:14550 Telemetry multicast sources
TOWER_CMD_MCAST_GROUP 239.255.0.2 Command multicast group
TOWER_CMD_MCAST_PORT 14551 Command multicast port
TOWER_MAX_CLIENTS 4 Max WebSocket clients
TOWER_STANDBY_TIMEOUT 3s Time before vehicle marked standby
TOWER_OFFLINE_TIMEOUT 10s Time before vehicle marked offline
TOWER_LOG_LEVEL info Log level (debug/info/warn/error)

Multi-source example:

TOWER_MCAST_SOURCES="239.255.0.1:14550:ugv,239.255.1.1:14551:usv" go run ./cmd/tower-server

Documentation

License

MIT

About

Real-time communications gateway for Tower. Bridges commands and telemetry between UI and robotic vehicles via Go, WebSocket, and UDP multicast.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors