mqtt-simple - Man Page

Very simple MQTT implementation

Synopsis

 mqtt-simple -h mqtt.example.org -c -s "sensors/#" -s "debug/#" -s "#"

 mqtt-simple -h mqtt.example.org -p "example/unretained" -m "message"

 mqtt-simple -h mqtt.example.org -r -p "example/retained" -m "message"

 tail -f logfile | mqtt-simple -h mqtt.example.org -p "log/example"

 mqtt-simple --ssl --insecure ...

 mqtt-simple --ssl --ca ca.crt --cert client.crt --key client.key

Description

This is just a simple utility program. It doesn't do much. Specifically, all the QoS features are unsupported. Also, don't expect fancy error messages and such :-)

Command Line Options

-h --host

MQTT server to connect to, required.

-p --publish topic

Publish a message. Uses the message given with -m, or will read lines from stdin, and publish a message for each given line.

-m --message message

Message to publish. Requires -p.

-r --retain

Causes messages published with -p to have the "retain" flag on.

-s --subscribe filter

Subscribe to the given topic filter. Use the standard MQTT wildcards like + and #. Outputs matching published messages on stdout. Can be given multiple times.

-e --except filter

Suppress published messages that match filter. Can be given multiple times.

--count number

Quit after receiving number messages.

--message-only

Output only the message values, without the topics.

-1 --one

Shortcut for --count 1 --message-only.

--color
--no-color

For each given -s, print the matching topic in a different color. Note that the first matching topic will be used for color selection, so specify the topics with the most specific one first, the least specific one (like #) last.

Color is enabled by default if stdout is a terminal.

--raw

Pass ASCII control characters unaltered. By default, they're replaced by ^@ notation or, when --color is enabled, reverse video characters. For example, an ASCII newline would be displayed as ^J unless --raw is used.

-d --datetime format

Prefix messages with a timestamp. Optionally, a format for strftime can be supplied.

-u --user --username username

Specify a username. Overrides the environment variable MQTT_SIMPLE_USERNAME.

--pass --password password

Specify a password. Overrides the environment variable MQTT_SIMPLE_PASSWORD.

SSL options

--ssl

Use SSL instead of unencrypted connection.

--insecure

Disable SSL certificate validation and enable clear text passwords. Useful for testing, bad idea in production.

Overrides the environment variables MQTT_SIMPLE_SSL_INSECURE and MQTT_SIMPLE_ALLOW_INSECURE_LOGIN.

--ca path

The Certificate Authority to validate against. path can be a file or a directory. If unspecified, IO::Socket::SSL attempts to use the system wide CA configuration.

Overrides the environment variable MQTT_SIMPLE_SSL_CA.

--cert path
--key path

A client certificate with its key.

Override the environment variables MQTT_SIMPLE_SSL_CERT and MQTT_SIMPLE_SSL_KEY.

License

Pick your favourite OSI approved license :)

http://www.opensource.org/licenses/alphabetical

Author

Juerd Waalboer <juerd@tnx.nl>

See Also

Net::MQTT::Simple

Info

2024-07-19 perl v5.40.0 User Contributed Perl Documentation