mqtt-simple - Very simple MQTT implementation
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
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 :-)
- -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".
Pick your favourite OSI approved license :)
http://www.opensource.org/licenses/alphabetical
Juerd Waalboer <juerd@tnx.nl>