mqtt-simple1p
Very simple mqtt implementation
Usage
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
Overview
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 :-)
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 fromstdin, 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 onstdout. 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".