paho_c_pub - send (publish) data to an MQTT server
paho_c_pub [topic] [-t|--topic
topic] [-c|--connection connection]
[-h|--host hostname] [-p|--port
portnumber] [-i|--clientid clientid]
[-u|--username username] [-P|--password
password] [-k|--keepalive keepalive-timeout]
[-V|--MQTT-version 31|311|5]
[-q|--qos 0|1|2]
[-r|--retained] [-n|--null-message]
[-m|--message message] [-f|--filename
filename] [--delimiter delimiter] [--maxdatalen
maxdatalen]
[--message-expiry expiry-interval] [--user-property
name value]
[--quiet] [--verbose] [--trace
min|max|error|protocol]
[--will-topic will-topic] [--will-payload
will-payload] [--will-retain] [--will-qos
0|1|2]
[--cafile cafile] [--capath capath] [--cert
certfile] [--key keyfile] [--keypass
password] [--ciphers cipher-string]
[--insecure]
paho_c_pub sends data to an MQTT server using the Eclipse
Paho C client asynchronous library (MQTTAsync). MQTT is a protocol,
operating over TCP/IP, which allows programs to easily communicate with each
other through a server. Messages are published to topics and delivered to
any subscribers to those topics. The corresponding subscriber program
paho_c_sub allows the receipt of MQTT messages.
The default mode of operation is to read input from stdin, sending
a separate message for each line read. Options exist to change this mode to
send a one-off message, of 0 length (-n), a given string (-m),
or the contents of a file (-f).
- -t
- --topic
- The MQTT topic to publish the data to.
- -c
- --connection
- The MQTT URI to connect to, a combination of transport prefix, host, port
and for websockets, topic. To connect using TCP use the tcp prefix, for
example: tcp://localhost:1883. An example
using SSL/TLS: ssl://localhost:1883. An
example for websockets, insecure:
ws://localhost:1883/topic, and
secure:
wss://localhost:80/topic.
- -h
- --host
- The TCP/IP host name of the MQTT server to connect to. Along with the
--port option, an older alternative to using
--connection.
- -p
- --port
- The TCP/IP port number of the MQTT server to connect to. Along with the
--host option, an older alternative to using
--connection.
- -q
- --qos
- The MQTT QoS on which to publish the message. The alternatives are
0, 1 or 2.
- -V
- --MQTTversion
- The version of the MQTT protocol to use. Valid options are 31 (or
mqttv31), 311 (mqttv311) and 5 (or
mqttv5). If MQTT version 5 is used, then some additional options
are valid, such as --message-expiry and
--user-property.
- --quiet
- Do not print error messages.
- --trace
- Print library internal trace. Valid levels are min, max,
error and rotocol.
- -r
- --retained
- Publish messages with the MQTT retained flag set.
- -n
- --null-message
- Publish a 0-length message.
- -m
- --message
- Publish a one off message with the payload supplied.
- -f
- --filename
- Publish a one off message with the contents of the file whose name is
given.
- --message-expiry
- [MQTT version 5 only] Sets the expiry interval property of messages in
seconds.
- --user-property
- [MQTT version 5 only] Sets a user property of sent messages. A pair of
strings, name and value.
- --will-topic
- Sets the MQTT will message topic to publish to. If the application ends
without sending an MQTT disconnect, the will message will be published to
this topic.
- --will-payload
- Only used if will-topic is set. Sets the MQTT will message to be
published.
- --will-qos
- Only used if will-topic is set. Sets the MQTT QoS at which the will
message is published. The alternatives are 0, 1 or
2.
- --will-retain
- Only used if will-topic is set. Sets the MQTT retained flag on the
will message.
- --cafile
- Only used with a TLS connection. The name of a file for the OpenSSL trust
store.
- --capath
- Only used with a TLS connection. The name of a directory holding OpenSSL
trusted certificates.
- --cert
- Only used with a TLS connection. The name of a file for the TLS keystore
containing a client certificate to be presented.
- --key
- Only used with a TLS connection. The name of a file containing the client
private key.
- --keypass
- Only used with a TLS connection. The password for the client private key
file, if needed.
- --ciphers
- Only used with a TLS connection. A list of cipher suites that the client
will present to the server during the TLS handshake.
- --insecure
- Only used with a TLS connection. Don't check that the server certificate
common name matches the hostname.