1
0
mirror of https://github.com/shirou/mqttcli.git synced 2025-04-24 13:48:57 +08:00
mqttcli/README.rst

124 lines
2.4 KiB
ReStructuredText
Raw Normal View History

2014-09-01 23:31:41 +09:00
mqttcli -- MQTT Client for shell scripting
=================================================
2014-09-02 12:03:12 +09:00
mqttcli is an MQTT 3.1.1 Client which has almost same options with
2015-10-09 13:07:22 +09:00
mosquitto_pub/sub. However, it has additional functionality and a
2014-09-01 23:31:41 +09:00
pubsub command which is suite for the shell script pipelining.
Install
==============
Download from `here`_. Please choose your artitecture. (and chmod ugo+x if needed)
2018-07-17 22:58:14 -07:00
.. _here: https://github.com/shirou/mqttcli/releases/latest
::
2018-07-17 22:58:14 -07:00
curl https://raw.githubusercontent.com/shirou/mqttcli/master/install.sh | sh
2014-09-02 12:03:12 +09:00
2015-10-09 13:07:22 +09:00
Or if you have golang environment, type this to build on your host.
2014-09-02 12:03:12 +09:00
2014-09-01 23:31:41 +09:00
::
go get github.com/shirou/mqttcli
2014-09-02 12:03:12 +09:00
2014-09-01 23:31:41 +09:00
Usage
==============
common
----------
2015-10-09 13:07:22 +09:00
You can set host, port, username and password on the Environment variables.
2014-09-01 23:31:41 +09:00
::
export MQTT_HOST="localhost"
export MQTT_PORT="1883"
export MQTT_USERNAME="user"
export MQTT_PASSWORD="blahblah"
2015-10-09 13:07:22 +09:00
or using a config file. You can specify a config file by ``--conf`` option. or automatically load from ``~/.mqttcli.cfg``.
2014-09-05 17:47:56 +09:00
2014-09-05 21:46:57 +09:00
::
2015-10-09 13:07:22 +09:00
% mqttcli sub --conf yoursettings.json -t "some/topic"
2014-09-05 21:46:57 +09:00
example:
2014-09-05 17:47:56 +09:00
::
{
"host": "localhost",
"port": 1883,
2014-12-14 22:46:51 +09:00
"username": "user",
2014-09-05 17:47:56 +09:00
"password": "blahblah"
}
If you use AWS IoT, you can use these JSON as mqttcli config file, such as
::
{
"host": "A3HVHEAALED.iot.ap-northeast-1.amazonaws.com",
"port": 8883,
"clientId": "something",
"thingName": "something",
"caCert": "path/to/root-CA.crt",
"clientCert": "path/to/2a338xx2xxf-certificate.pem.crt",
"privateKey": "path/to/aad380efffx-private.pem.key"
}
You may change cert files path to where you placed.
2014-09-05 17:47:56 +09:00
2014-09-01 23:31:41 +09:00
Pub
-------
::
mqttcli pub -t "some/where" -m "your message"
or
tail -f /var/log/nginx.log | mqttcli pub -t "some/where" -s
`-s` is diffrent from mosquitto_pub, it sends one line to one message.
Sub
------
::
mqttcli sub -t "some/#"
PubSub
---------
2014-09-05 17:47:56 +09:00
Note: This subcommand is just a concept work. Might be delete in the future.
2014-09-01 23:31:41 +09:00
Publish from stdin AND Subscribe from some topics and print stdout.
::
tail -f /vag/log/nginx.log | mqttcli pubsub --pub "some/a" --sub "some/#" > filterd.log
This is useful when other client manuplate something and send back to
the topic.
Reference
==============
paho.mqtt.golang.git
http://godoc.org/git.eclipse.org/gitroot/paho/org.eclipse.paho.mqtt.golang.git
License
===========
2014-09-02 12:03:12 +09:00
Eclipse Public License - v 1.0 (same as Paho's)
2014-09-01 23:31:41 +09:00