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
- Nik Langrind - Sole author
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.py
program performs a similar function to Mavometer.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for mavometer-0.1.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 016fab9166648c49123cf8e1765a369c7d6a49df21a92c1d3520629c72dd8eec |
|
MD5 | ba6d0bb351aa7196ea1c17c3fb209d29 |
|
BLAKE2b-256 | f5254c00ee973e8b2bd42b9f53a410610cb6dc481cd99d53eb9d8f93f8eec40a |