QMQTT2SQL subscribes to a MQTT broker and stores all messages in a PostgreSQL database. It is published under the GPL3.0+ license.
Dependency | Link |
---|---|
MQTT: | https://mqtt.org/ |
QtMQTT: | https://doc.qt.io/qt-5/qtmqtt-index.html |
sudo apt-get install qtbase5-private-dev qt5-qtwebsockets-dev
git clone https://github.com/qt/qtmqtt.git --branch 5.15.2
cd qtmqtt
qmake-qt5 qtmqtt.pro
make
sudo make install
The configuration is given in an INI file.
The MQTT connection parameters are given by the hostname, port, username, password, version, usetls and topic attributes. If no authentification is needed, username and password need to be empty. The version attribute excepts three values: 3 for MQTT 3.1, 4 for MQTT 3.1.1 and 5 for MQTT 5.0. If the MQTT connection is TLS encrypted the usetls attribute should be set to true, false otherwise. The MQTT topic can be filtered with the topic attribute, the default value is # (everything).
The PostgreSQL connection parameters are given by the hostname, port, username, password and database attributes.
[mqtt]
hostname=example.com
port=8883
username=USER
password=PASSWORT
version=3
usetls=true
topic=#
[psql]
hostname=example.com
port=5432
username=USER
password=PASSWORT
database=DATABASE