Skip to main content

Application to monitor bandwidth and message composition of a MAVLink stream

Project description

Mavometer

Mavometer is a PyQt GUI to display MAVLink Connection Information and Statistics.

It can operate on a live connection (e.g. the stream mirrored by Mission Planner) or it can read a file.

It provides connection-level information, such as protocol version, and message information, such as data rate by message type.

It is not a protocol analyzer - it does not display individual message contents. It is not a ground station - it does not read or display telemetry values from MAVLink messages.

It is written in python, and should run on any OS that supports PyQt5 and pymavlink.

Getting Started

Prerequisites

  • pymavlink - MAVLink protocol implementation
  • PyQt5 - Mavometer is based on the Qt version 5 framework
  • UQtie - utility package for PyQt5 usage

The Mavometer distribution package does not name PyQt5 as a dependency because you may have already installed it in some custom way, and you don't want the Mavometer installation process to create a redundant PyQt5 installation.

If you don't already have it, you can install PyQt5 by doing this:

pip3 install pyqt5

pymavlink and uqtie can be installed in the same way:

pip3 install pymvalink
pip3 install uqtie

Be aware that the appropriate installation procedure for a package can vary depending on your OS and other factors.

Installing Mavometer

Install the package:

pip3 install mavometer

Or clone from GitHub:

git clone https://github.com/langrind/mavometer.git

and then run the setup script:

python3 setup.py

Run Mavometer

Say you have a Pixhawk connected to a USB port on your Linux machine:

$ mavometer --mavlink-port /dev/ttyACM0

Or you have a log file produced by QGroundControl:

$ mavometer --mavlink-port '/home/langrind/Documents/QGroundControl/Telemetry/2019-11-19 20-38-03.tlog'

For (a little) more info, RTFD.

Tests

$ mavometer --mavlink-port test/test.tlog

NOTE: timestamping is not supported yet for replaying from files, so bandwidth and frequency displays are garbage in this case.

Deployment

TBS: details about usage in different OS environments

Contributing

This project is ad hoc in nature, so I don't foresee contributions. Nevertheless, feel free to make a pull request.

Versioning

Versions are assigned in accordance with Semantic Versioning. For the versions available, see the tags on this repository.

Authors

License

This project is licensed under the MIT License - see the LICENSE file for details

Acknowledgments

  • I used the PurpleBooth README template
  • The pymavlink tools/mavsummarize.pyprogram performs a similar function to Mavometer.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mavometer-0.1.0.tar.gz (6.6 kB view details)

Uploaded Source

Built Distribution

mavometer-0.1.0-py3-none-any.whl (8.3 kB view details)

Uploaded Python 3

File details

Details for the file mavometer-0.1.0.tar.gz.

File metadata

  • Download URL: mavometer-0.1.0.tar.gz
  • Upload date:
  • Size: 6.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.6.0 requests-toolbelt/0.9.1 tqdm/4.38.0 CPython/3.6.8

File hashes

Hashes for mavometer-0.1.0.tar.gz
Algorithm Hash digest
SHA256 2ce168df7fb50cc62da2199e939516fcf003680d7f308a58ef35909c7fec24af
MD5 ba6e7c9d2157a6daf50f49be68d9997c
BLAKE2b-256 b6b8d0f89e3a42e514ac582b929aacbc4192d2903cb265821500dce2c7f0014a

See more details on using hashes here.

File details

Details for the file mavometer-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: mavometer-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 8.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.6.0 requests-toolbelt/0.9.1 tqdm/4.38.0 CPython/3.6.8

File hashes

Hashes for mavometer-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 016fab9166648c49123cf8e1765a369c7d6a49df21a92c1d3520629c72dd8eec
MD5 ba6d0bb351aa7196ea1c17c3fb209d29
BLAKE2b-256 f5254c00ee973e8b2bd42b9f53a410610cb6dc481cd99d53eb9d8f93f8eec40a

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page