Skip to main content

channels-asgi-mqtt

Interface between MQTT and ASGI and Channels 2.0 compatible

Installation

pip install chasgimqtt

Configuration

First you would to configure a valid channel_layer endpoint to consume and connect between chasgimqtt and channels.

In your_channel_application/asgi.py:

import os
import django
from channels.routing import get_default_application
from channels.layers import get_channel_layer

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "your_channel_application.settings")
django.setup()

# Application
application = get_default_application()

# Layers
channel_layer = get_channel_layer()

Usage

chasgimqtt -H iot.eclipse.org -p 1883 --topic=some_topic:2 your_channel_application.asgi:channel_layer

Options

chasgimqtt -h

usage: chasgimqtt [-h] [-H HOST] [-p PORT] [-v] [-U USERNAME] [-P PASSWORD]
                  [--topic TOPICS] [-n CHANNEL_NAME] [-s CHANNEL_SUB]
                  [-x CHANNEL_PUB]
                  channel_layer

Simple MQTT bridge for ASGI

positional arguments:
  channel_layer         The ASGI channel layer instance to use as
                        path.to.module:instance.path

optional arguments:
  -h, --help            show this help message and exit
  -H HOST, --host HOST  MQTT broker host
  -p PORT, --port PORT  MQTT broker port
  -v, --verbosity       Set verbosity
  -U USERNAME, --username USERNAME
                        MQTT username to authorised connection
  -P PASSWORD, --password PASSWORD
                        MQTT password to authorised connection
  --topic TOPICS        MQTT topics with qos to subscribe --topic TOPIC:QOS
                        --topic /office/sensor:0 --topic /home/sensor:1 If
                        empty (#, 2) is set as default
  -n CHANNEL_NAME, --channel-name CHANNEL_NAME
                        Name of Channels's channel to send and receive
                        messages
  -s CHANNEL_SUB, --channel-sub CHANNEL_SUB
                        Name of Channels's channel for MQTT Sub messages,
                        default is mqtt.pub
  -x CHANNEL_PUB, --channel-pub CHANNEL_PUB
                        Name of Channels's channel for MQTT Pub messages,
                        default is mqtt.sub

HOST: MQTT broker host

PORT: MQTT broker port, default 1883

USERNAME: MQTT username to authorised connection

PASSWORD: MQTT password to authorised connection

TOPICS: MQTT topics with qos to subscribe. This option expect a valid topic name and a QOS value splited by :

To subscribe to a list of topics use the same option --topic.

--topic some_topic:qos --topic another_topic:qos --topic home/kitchen_gas_sensor:2 --topic home/office_air_sensor:0

CHANNEL_NAME : Name of Channels's channel to send and receive messages, this channel_name must to exist in your channel's consumer, default is mqtt.

CHANNEL_SUB : Name of Channels's channel for MQTT Sub messages, default is mqtt.sub.

CHANNEL_PUB : Name of Channels's channel for MQTT Pub messages, default is mqtt.pub.

License

Open source projects: AGPL-3.0
Commercial / proprietary projects: Commercial License

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

chasgimqtt-1.0.0.tar.gz (17.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

chasgimqtt-1.0.0-py3-none-any.whl (18.3 kB view details)

Uploaded Python 3

File details

Details for the file chasgimqtt-1.0.0.tar.gz.

File metadata

  • Download URL: chasgimqtt-1.0.0.tar.gz
  • Upload date:
  • Size: 17.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.0

File hashes

Hashes for chasgimqtt-1.0.0.tar.gz
Algorithm Hash digest
SHA256 0a04fc0ab8adbb70f095c43e6b7fd4bc211569cbbb876e27084a6a52ebb2875c
MD5 4466ade55a8065b469bc65350a3406a2
BLAKE2b-256 989309a07e1cddc123808c0c3aae49a1d8ea752ecb0157c01d0d88f9b1338a48

See more details on using hashes here.

File details

Details for the file chasgimqtt-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: chasgimqtt-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 18.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.0

File hashes

Hashes for chasgimqtt-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 92e73ed5307baebd83e82636d09537f5b04d9a87d24659bc71dc5ac4baf80c65
MD5 58ae03805ac2dda90d1027d6c9f6a33c
BLAKE2b-256 9f5684f4961948a93699ec7fa7d38c21a432577d91540d3824a9e681f7147d1a

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

1.0.0 This release

2 files

0.3.0

3 files

0.2.1

2 files

0.2.0

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page