Mavigator
Virtual cockpit for UAVs
Install / Use
/learn @project-condor/MavigatorREADME
Mavigator - Virtual Cockpit for Drones
Mavigator is a web server and interface simulating a cockpit of an unmanned aerial vehicle. It is compatible with any drone that uses the MAVLink protocol for communication.
Getting Started
- Compile and run
sbt mavigator-server/run - Go to
localhost:8080to view a mock drone - (TODO: configure connection to a real UAV)
Architecture
Mavigator's main function is to listen for MAVLink messages on some interface (serial port for example) and forward them to a web interface where the data is parsed and displayed. This general flow of data is implemented in various sub-projects, each contained in their own directories:
├── mavigator-bindings MAVLink utility library, used by all other projects.
├── mavigator-cockpit Cockpit web interface that displays real-time data from drones.
├── mavigator-server Web server that relays messages from drones to clients.
├── mavigator-uav Communication backend for message exchange with drones.
└── project Build configuration.
Following the path of message from reception to display, here are detailed descriptions of the sub-projects.
mavigator-uav
Contains common message sources, such as a mock connection that generates arbitrary flight data or a serial connection. These backends are accessed through an Akka system extension, exposing them as Akka Stream Flows.
mavigator-server
The server is the main application entry point. It opens a message backend and also serves the web interface cockpit. It is implemented with Akka Http and uses Twirl for HTML templating.
mavigator-cockpit
A web UI built with Scala.js that simulates a cockpit. It connects to the server via websockets and displays MAVLink messages in the form of classic aviation instruments (artificial horizon etc).
mavigator-bindings
Purely a utility project on which all other projects depend. It uses the sbt-mavlink plugin generate Scala code from a MAVLink dialect definition.
Copying
Copyright (C) 2015 The Mavigator Developers
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.
Related Skills
node-connect
351.8kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
110.9kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
351.8kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
351.8kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
