Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/luzifer/mqttcli
Small CLI util to interface with a MQTT server
https://github.com/luzifer/mqttcli
cli client mqtt
Last synced: 24 days ago
JSON representation
Small CLI util to interface with a MQTT server
- Host: GitHub
- URL: https://github.com/luzifer/mqttcli
- Owner: Luzifer
- License: apache-2.0
- Created: 2019-07-29T20:26:54.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2023-10-14T21:54:40.000Z (about 1 year ago)
- Last Synced: 2024-10-30T23:16:55.100Z (2 months ago)
- Topics: cli, client, mqtt
- Language: Go
- Homepage:
- Size: 33.2 KB
- Stars: 1
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: History.md
- License: LICENSE
Awesome Lists containing this project
README
[![Go Report Card](https://goreportcard.com/badge/github.com/Luzifer/mqttcli)](https://goreportcard.com/report/github.com/Luzifer/mqttcli)
![](https://badges.fyi/github/license/Luzifer/mqttcli)
![](https://badges.fyi/github/downloads/Luzifer/mqttcli)
![](https://badges.fyi/github/latest-release/Luzifer/mqttcli)# Luzifer / mqttcli
`mqttcli` is a small CLI util to interface with a MQTT server. It can be used to publish messages to oder subscribe messages from a MQTT server.
At the moment it is intended to connect to simple setups using plain `tcp`, `ssl` with trusted certificates or websockets (`ws`). More options to come later.
## Usage
```console
# mqttcli --help
Usage of mqttcli:
--log-level string Log level (debug, info, warn, error, fatal) (default "info")
-m, --message string
-b, --mqtt-broker string Broker URI to connect to scheme://host:port (scheme is one of 'tcp', 'ssl', or 'ws') (default "tcp://localhost:1883")
--mqtt-client-id string Client ID to use when connecting, must be unique (default "21064ab7-c296-445e-b8b6-d1bced77853c")
-p, --mqtt-pass string Password to identify against the broker
--mqtt-timeout duration How long to wait for the client to complete operations (default 10s)
-u, --mqtt-user string Username to identify against the broker
-o, --output-format string How to ouptut received messages (One of 'log', 'csv', 'jsonl') (default "log")
--qos int QOS to use (0 - Only Once, 1 - At Least Once, 2 - Only Once) (default 1)
--retain Retain message on topic
-t, --topic strings Topic to subscribe / publish to
--version Prints current version and exits
```## Examples
```console
# envrun -- mqttcli sub -t 'mysensor/+'
INFO[0001] Message received message=4058 qos=1 retained=false topic=mysensor/co2# envrun -- mqttcli sub -t 'mysensor/+' -o csv
Topic,QOS,Retained,Message
mysensor/co2,1,false,"3978"# envrun -- mqttcli sub -t 'mysensor/+' -o jsonl
{"topic":"mysensor/co2","qos":1,"retained":false,"message":"3972"}
``````console
# envrun -- mqttcli pub -t mysensor/test -m 'ohai?'# envrun -- mqttcli sub -t 'mysensor/+'
INFO[0001] Message received message="ohai?" qos=1 retained=false topic=mysensor/test
```