This implementation is similar to AMQP notifications: * Notifications are published on a single topic as a JSON feed * Topic is configurable, as is the QoS. Uses the paho.mqtt.golang library for the mqtt connection, and supports connections over tcp and websockets, with optional secure tls support. * Additionally the minio server configuration has been bumped up so mqtt configuration can be added. * Configuration migration code is added with tests. MQTT is an ISO standard M2M/IoT messaging protocol and was originally designed for applications for limited bandwidth networks. Today it's use is growing in the IoT space.
62 lines
1.9 KiB
Markdown
62 lines
1.9 KiB
Markdown
Eclipse Paho MQTT Go client
|
|
===========================
|
|
|
|
|
|
This repository contains the source code for the [Eclipse Paho](http://eclipse.org/paho) MQTT Go client library.
|
|
|
|
This code builds a library which enable applications to connect to an [MQTT](http://mqtt.org) broker to publish messages, and to subscribe to topics and receive published messages.
|
|
|
|
This library supports a fully asynchronous mode of operation.
|
|
|
|
|
|
Installation and Build
|
|
----------------------
|
|
|
|
This client is designed to work with the standard Go tools, so installation is as easy as:
|
|
|
|
```
|
|
go get github.com/eclipse/paho.mqtt.golang
|
|
```
|
|
|
|
The client depends on Google's [websockets](https://godoc.org/golang.org/x/net/websocket) package,
|
|
also easily installed with the command:
|
|
|
|
```
|
|
go get golang.org/x/net/websocket
|
|
```
|
|
|
|
|
|
Usage and API
|
|
-------------
|
|
|
|
Detailed API documentation is available by using to godoc tool, or can be browsed online
|
|
using the [godoc.org](http://godoc.org/github.com/eclipse/paho.mqtt.golang) service.
|
|
|
|
Make use of the library by importing it in your Go client source code. For example,
|
|
```
|
|
import "github.com/eclipse/paho.mqtt.golang"
|
|
```
|
|
|
|
Samples are available in the `cmd` directory for reference.
|
|
|
|
|
|
Runtime tracing
|
|
---------------
|
|
|
|
Tracing is enabled by assigning logs (from the Go log package) to the logging endpoints, ERROR, CRITICAL, WARN and DEBUG
|
|
|
|
|
|
Reporting bugs
|
|
--------------
|
|
|
|
Please report bugs by raising issues for this project in github https://github.com/eclipse/paho.mqtt.golang/issues
|
|
|
|
|
|
More information
|
|
----------------
|
|
|
|
Discussion of the Paho clients takes place on the [Eclipse paho-dev mailing list](https://dev.eclipse.org/mailman/listinfo/paho-dev).
|
|
|
|
General questions about the MQTT protocol are discussed in the [MQTT Google Group](https://groups.google.com/forum/?hl=en-US&fromgroups#!forum/mqtt).
|
|
|
|
There is much more information available via the [MQTT community site](http://mqtt.org).
|