BulletGCSS Telemetry#
mwp requirements#
mwp works with the web-based Ground Control Station BulletGCSS MQTT protocol, tested with both a fl2mqtt
simulation and a recorded live session.
The MQTT component is build if either paho-mqtt
or mosquitto
libraries are detected; paho-mtqq
is preferred.
## Debian / Ubuntu ##
### Debian testing / Ubuntu 20.10 + for paho ###
sudo apt install libpaho-mqtt-dev
# or #
sudo apt install libmosquitto-dev
## Arch ##
yay -S paho-mqtt-c-git ## or you favourite AUR helper
# or #
sudo pacman -S mosquitto
## Fedora ##
dnf install paho-c-devel
# or #
dnf install mosquitto-devel
## FreeBSD ##
## paho-mqtt
# Clone github repo and build from source. Configure with cmake -DPAHO_WITH_SSL=true ..
git clone https://github.com/eclipse/paho.mqtt.c.git
cd paho.mqtt.c
mkdir build
cd build
cmake -DPAHO_WITH_SSL=true ..
make && sudo make install
# or #
sudo pkg install mosquitto
paho-mqtt
and mosquitto
installed, then paho-mqtt
is preferred.
Usage#
Once mwp is built with a MQTT library, you can use an MQTT URL as a device name, for example for the demo that runs every other hour (00:00, 02:00 .. 22:00) UTC on broker.emqx.io
with topic org/mwptools/mqtt/otxplayer
, the mqtt URI for mwp would be:
mqtt://broker.emqx.io/org/mwptools/mqtt/otxplayer
mqtt://[user[:pass]@]broker[:port]/topic[?cafile=file]
The scheme part (mqtt://
) in the example is interpreted as:
ws://
- Websocket (vice TCP socket), ensure the websocket port is also specificed, requires 'paho-mqtt' as the provider.wss://
- Encrypted websocket, ensure the TLS websocket port is also specificed. TLS validation is performed using the operating system. Not supported bymosquitto
; requirespaho-mqtt
1.39 or later.mqtts://
,ssl://
- Secure (TLS) TCP connection. Ensure the TLS port is specified. TLS validation is performed using the operating system, unlesscafile
is provided.mqtt://
- TCP connection. If?cafile=file
is specified, then that is used for TLS validation (and the TLS port should be specified).
MQTT looks like an incredibly elegant solution to long range telemetry.
More information on the BulletGCSS website and BulletGCSS wiki
See also fl2mqtt, a tool to replay Blackbox and OpenTx logs as MQTT and my mosquitto hosting guide for hosting your own MQTT broker.