2015-11-01 13:39:46 +00:00
|
|
|
HBMQTT
|
|
|
|
======
|
|
|
|
|
2015-11-04 13:54:41 +00:00
|
|
|
``HBMQTT`` is an open source `MQTT`_ client and broker implementation.
|
2015-11-01 13:39:46 +00:00
|
|
|
|
2015-11-04 20:37:02 +00:00
|
|
|
Built on top of :mod:`asyncio`, Python's standard asynchronous I/O framework, HBMQTT provides a straightforward API
|
|
|
|
based on coroutines, making it easy to write highly concurrent applications.
|
2015-11-01 13:39:46 +00:00
|
|
|
|
2015-11-04 13:54:41 +00:00
|
|
|
Features
|
|
|
|
--------
|
|
|
|
|
2015-11-04 20:37:02 +00:00
|
|
|
HBMQTT implements the full set of `MQTT 3.1.1`_ protocol specifications and provides the following features:
|
2015-11-04 13:54:41 +00:00
|
|
|
|
2015-11-04 21:32:10 +00:00
|
|
|
- Support QoS 0, QoS 1 and QoS 2 messages flow
|
2015-11-04 13:54:41 +00:00
|
|
|
- Client auto-reconnection on network lost
|
|
|
|
- Authentication through password file (more methods can be added through a plugin system)
|
|
|
|
- Basic ``$SYS`` topics
|
|
|
|
- TCP and websocket support
|
|
|
|
- SSL support over TCP and websocket
|
|
|
|
- Plugin system
|
|
|
|
|
|
|
|
|
2015-11-01 22:01:31 +00:00
|
|
|
Requirements
|
|
|
|
------------
|
2015-11-01 13:39:46 +00:00
|
|
|
|
2015-11-04 20:37:02 +00:00
|
|
|
HBMQTT is built on Python :mod:`asyncio` library which was introduced in Python 3.4. Tests have shown that HBMQTT run
|
|
|
|
best with Python 3.4.3. Python 3.5.0 is also fully supported and recommended. Make use you use one of these version
|
|
|
|
before installing HBMQTT.
|
2015-11-01 22:01:31 +00:00
|
|
|
|
|
|
|
Installation
|
|
|
|
------------
|
|
|
|
|
2015-11-04 20:37:02 +00:00
|
|
|
It is not recommended to install third-party library in Python system packages directory. The preferred way for
|
|
|
|
installing HBMQTT is to create a virtual environment and then install all the dependencies you need. Refer to
|
|
|
|
`PEP 405`_ to learn more.
|
2015-11-01 22:01:31 +00:00
|
|
|
|
2015-11-04 20:37:02 +00:00
|
|
|
Once you have a environment setup and ready, HBMQTT can be installed with the following command ::
|
2015-11-01 13:39:46 +00:00
|
|
|
|
2015-11-01 22:01:31 +00:00
|
|
|
(venv) $ pip install hbmqtt
|
2015-11-01 13:39:46 +00:00
|
|
|
|
2015-11-04 21:39:37 +00:00
|
|
|
``pip`` will download and install HBMQTT and all its dependencies.
|
2015-11-01 13:39:46 +00:00
|
|
|
|
|
|
|
|
2015-11-01 22:01:31 +00:00
|
|
|
User guide
|
|
|
|
----------
|
|
|
|
|
2015-11-04 20:37:02 +00:00
|
|
|
If you need HBMQTT for running a MQTT client or deploying a MQTT broker, the :doc:`quickstart` describes how to use
|
|
|
|
console scripts provided by HBMQTT.
|
2015-11-04 13:32:40 +00:00
|
|
|
|
2015-11-04 20:37:02 +00:00
|
|
|
If you want to develop an application which needs to connect to a MQTT broker, the :doc:`client` reference documentation
|
|
|
|
explains how to use HBMQTT API for connecting, publishing and subscribing with a MQTT broker.
|
2015-11-04 13:32:40 +00:00
|
|
|
|
2015-11-04 20:37:02 +00:00
|
|
|
If you want to run you own MQTT broker, th :doc:`broker` reference documentation explains how to embed a MQTT broker
|
|
|
|
inside a Python application.
|
2015-11-04 13:32:40 +00:00
|
|
|
|
|
|
|
News and updates are listed in the :doc:`changelog`.
|
2015-11-01 13:39:46 +00:00
|
|
|
|
|
|
|
|
|
|
|
.. _MQTT: http://www.mqtt.org
|
2015-11-01 22:01:31 +00:00
|
|
|
.. _MQTT 3.1.1: http://docs.oasis-open.org/mqtt/mqtt/v3.1.1/os/mqtt-v3.1.1-os.html
|
|
|
|
.. _PEP 405: https://www.python.org/dev/peps/pep-0405/
|
|
|
|
|
|
|
|
.. toctree::
|
|
|
|
:maxdepth: 2
|
|
|
|
:hidden:
|
|
|
|
|
2015-11-04 20:37:02 +00:00
|
|
|
quickstart
|
2015-11-04 13:32:40 +00:00
|
|
|
changelog
|
2015-11-06 21:47:12 +00:00
|
|
|
references/index
|
2015-11-04 13:32:40 +00:00
|
|
|
license
|
|
|
|
|