asgimqtt

Interface between MQTT broker and ASGI


Keywords
django, django-channels, mqtt, paho-mqtt, python
License
GPL-2.0+
Install
pip install asgimqtt==0.2.0

Documentation

asgimqtt

asgimqtt is a simple MQTT interface for ASGI.

Usage

Connect the server to a running MQTT broker:

asgimqtt --host localhost --port 1883 django_project.asgi:channel_layer

In your Django code:

# routing.py
channels_routing = [
    route("mqtt.sub", mqtt_consumer),
]

Note: you can only receive messages published in MQTT broker (channel mqtt.sub).

The keys are:

  • host: host of the MQTT broker
  • port: port of the MQTT broker
  • topic: topic of the MQTT message
  • payload: payload of the MQTT message
  • qos: quality of service of the MQTT message (0, 1 or 2)

TODO

  • Publish MQTT messages from Django
  • Signal handling in asgimqtt program