This project provides a real-time MAVLink-based drone monitoring system. It connects to a MAVLink-enabled drone, listens for messages, and visualizes data such as message frequencies, detected systems, and requested data streams via a web interface.

Features Link to heading

  • MAVLink Connection: Automatically connects to a MAVLink system and listens for messages
  • Live Data Display: Shows detected MAVLink systems and components
  • Message Frequency Monitoring: Tracks expected vs. actual frequencies of MAVLink messages
  • REQUEST_DATA_STREAM Capturing: Logs data stream requests from the drone
  • Web Interface: Real-time dashboard for monitoring
  • Reset Functionality: Allows resetting the collected MAVLink data

Installation Link to heading

Prerequisites Link to heading

  • Python 3.8+
  • pip
  • MAVProxy or any MAVLink-compatible communication method

Dependencies Link to heading

pip install -r requirements.txt

Configuration Link to heading

Modify the config.py file to set the correct drone connection string:

DRONE_CONNECTION = "udp:127.0.0.1:14550"  # Adjust as needed

Running the Application Link to heading

Run the Flask server with:

python main.py

This will start a web server on http://localhost:5001/.

Web Interface Link to heading

  • /drone_stats: Displays real-time MAVLink message frequencies, detected systems, and data stream requests
  • /reset (POST): Resets stored MAVLink data

Source Code Link to heading

Repository: https://github.com/eziosoft/MavlinkStats

License Link to heading

MIT License