Skip to main content

Overview

Netcat for MQTT

  • Free software: BSD 2-Clause License

Installation

This needs Python 3.6. At the command line:

pip3 install mqttcat

If your system does not provide python 3.6, a more comfortable way is to use the mqtttool Docker container. Please see the Github repo.

Documentation

Usage: mqttcat [OPTIONS] URL

  A MQTT Message filter inspired by netcat and other Unix tools.

  Publishes Messages from STDIN to a MQTT Topic

    -or-

  Subscribes to MQTT Topic and writes messages to STDOUT

  URL - Examples:

      mqtt://hostname/topic     tcp://hostname:1883/topic
      ws://hostname/topic

  Usage Examples:

      mqttcat --echo mqtt://localhost/%23 >/dev/null

      ... will subscribe to all topics ("%23" is urlencoded #), and echo
      them to STDERR for control

      echo "Heart ... beat" | mqttcat --echo --loop --wait=3.3
      mqtt://localhost/heartbeat-topic

      ... will publish "Heart ... beat" every 3.3 seconds to the topic
      "heartbeat-topic"

      mqttcat mqtt://source/ticktock | rq 'filter (a) => { a.payload="tock"
      }' | mqttcat mqtt://destination/tock

      ... subscribe to ticktock topic on host source, filter out the
      messages whose payload is tock,     and forward those to the tock
      topic (using the rq tool https://github.com/dflemstr/rq)

Options:
  --loglevel TEXT             Python loglevel, one of
                              DEBUG,INFO,WARNING,ERROR,CRITICAL
  --echo / --no-echo          Echo MQTT Messages to STDERR
  --source TEXT               File to read MQTT messages to be published (use
                              '-' for STDIN)
  --wait FLOAT                Wait time between publishing messages read from
                              --source in seconds (can be float)
  --loop / --no-loop          Loop message publishing (starting at beginning
                              of file after the end is reached
  --follow / --no-follow      Wait for additional in file after reaching the
                              end (like Unix 'tail -f')
  --destination TEXT          Append JSON-encoded MQTT messages to this file
                              (use '-' for STDOUT)
  --snapshot / --no-snapshot  Keep only the last JSON-encoded message in the
                              file specified with --destination
  --help                      Show this message and exit.

Authors

This module is part of the Smart Orchestra Project, co-financed by the Federal Ministery of Economics and Technology.

Changelog

0.1.0 (2018-03-20)

  • First release on PyPI.

0.1.1 (2018-04-13)

  • Flak8-compliant

0.1.2 (2018-04-14)

  • added –source and –destination options to the command line

  • source file can be followed (like ‘tail -f ‘) with –follow

  • destination file can contain only the last messaget (with –snapshot)

  • destinations abstracted in emittargets.py

Metadata

Release files for mqttcat 0.1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for mqttcat 0.1.2
File Size Uploaded
mqttcat-0.1.2.tar.gz 12.8 kB Details

Release files / mqttcat-0.1.2.tar.gz

Download URL mqttcat-0.1.2.tar.gz
Size 12.8 kB
Tags Source
SHA-256 checksum
How to use checksums
17a63089c8c4c35db84f64d03995dbe3dd8625adfd357f231cecb4764c4b7b3c
BLAKE2b-256 checksum
How to use checksums
b3d45002e326458ba930168337086a9fe665d8eca400e2ba82c00182abdb0f19
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

0.1.2 This release

1 release file

0.1.1

1 release file

0.1.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page