mosquitto_pub — an MQTT version 3.1 client for publishing simple messages
mosquitto_pub [-d] [-h hostname] [-i client_id] [-I client id prefix] [-p port number] [-q message QoS] [--quiet] [-r] { -f file | -l | -m message | -n | -s } [
[-u username]
[-P password]
] [
--will-topic topic
[--will-payload payload]
[--will-qos qos]
[--will-retain]
] [[
{ --cafile file | --capath dir }
[--cert file]
[--key file]
] | [
--psk hex-key
--psk-identity identity
]] -t message-topic
mosquitto_pub [--help]
mosquitto_pub is a simple MQTT version 3.1 client that will publish a single message on a topic and exit.
--cafileDefine the path to a file containing PEM encoded CA certificates that are trusted. Used to enable SSL communication.
See also --capath
--capathDefine the path to a directory containing PEM encoded CA certificates that are trusted. Used to enable SSL communication.
For --capath to work correctly, the
certificate files must have ".crt" as the file ending
and you must run "c_rehash <path to capath>" each
time you add/remove a certificate.
See also --cafile
--certDefine the path to a file containing a PEM encoded certificate for this client, if required by the server.
See also --key.
-d, --debugEnable debug messages.
-f, --fileSend the contents of a file as the message.
--helpDisplay usage information.
-h, --hostSpecify the host to connect to. Defaults to localhost.
-i, --idThe id to use for this client. If not given, defaults
to mosquitto_pub_ appended with the process id of the
client. Cannot be used at the same time as the
--id-prefix argument.
-I, --id-prefixProvide a prefix that the client id will be built
from by appending the process id of the client. This is
useful where the broker is using the clientid_prefixes
option. Cannot be used at the same time as the
--id argument.
--keyDefine the path to a file containing a PEM encoded private key for this client, if required by the server.
See also --cert.
-l, --stdin-lineSend messages read from stdin, splitting separate lines into separate messages. Note that blank lines won't be sent.
-m, --messageSend a single message from the command line.
-n, --null-messageSend a null (zero length) message.
-p, --portConnect to the port specified instead of the default 1883.
-P, --pwProvide a password to be used for authenticating with
the broker. Using this argument without also specifying a
username is invalid. This requires a broker that supports
MQTT v3.1. See also the --username option.
--pskProvide the hexadecimal (no leading 0x)
pre-shared-key matching the one used on the broker to
use TLS-PSK encryption support.
--psk-identity must also be provided
to enable TLS-PSK.
--psk-identityThe client identity to use with TLS-PSK support. This may be used instead of a username if the broker is configured to do so.
-q, --qosSpecify the quality of service to use for the message, from 0, 1 and 2. Defaults to 0.
--quietIf this argument is given, no runtime errors will be
printed. This excludes any error messages given in case of
invalid user input (e.g. using --port without a
port).
-r, --retainIf retain is given, the message will be retained as a "last known good" value on the broker. See mqtt(7) for more information.
-s, --stdin-fileSend a message read from stdin, sending the entire content as a single message.
-t, --topicThe MQTT topic on which to publish the message. See mqtt(7) for more information on MQTT topics.
-u, --usernameProvide a username to be used for authenticating with
the broker. This requires a broker that supports MQTT v3.1.
See also the --pw argument.
--will-payloadSpecify a message that will be stored by the broker
and sent out if this client disconnects unexpectedly. This
must be used in conjunction with --will-topic.
--will-qosThe QoS to use for the Will. Defaults to 0. This must
be used in conjunction with --will-topic.
--will-retainIf given, if the client disconnects unexpectedly the
message sent out will be treated as a retained message.
This must be used in conjunction with --will-topic.
--will-topicThe topic on which to send a Will, in the event that the client disconnects unexpectedly.
mosquitto_sub can register a message with the broker that will be sent out if it disconnects unexpectedly. See mqtt(7) for more information.
The minimum requirement for this is to use --will-topic to
specify which topic the will should be sent out on. This will result in
a non-retained, zero length message with QoS 0.
Use the --will-retain,
--will-payload and --will-qos
arguments to modify the other will parameters.
Publish temperature information to localhost with QoS 1:
mosquitto_pub -t sensors/temperature -m 32 -q 1
Publish timestamp and temperature information to a remote host on a non-standard port and QoS 0:
mosquitto_pub -h 192.168.1.1
-p 1885 -t
sensors/temperature -m "1266193804
32"
Publish light switch status. Message is set to retained because there may be a long period of time between light switch events:
mosquitto_pub -r -t switches/kitchen_lights/status -m "on"
Send the contents of a file in two ways:
mosquitto_pub -t my/topic -f ./data
mosquitto_pub -t my/topic -s < ./data
Send parsed electricity usage data from a Current Cost meter, reading from stdin with one line/reading as one message:
read_cc128.pl | mosquitto_pub -t sensors/cc128 -l