Skip to main content

small package to make mqtt connection to ttn

Project description

Build Status

The Things Network

The Things Network

Table of Contents

Description

This package provides you an easy way to connect to The Things Network via MQTT. Take note that, you’ll first need to create an application with a device to run the constructor of the MQTT client because you need to provide, an applicationID and a deviceID. First include the package in your file like this:

from ttnmqtt import MQTTClient as mqtt

MQTTClient

The class constructor can be called following this scheme:

mqtt(APPID, APPEUI, PSW)
  • APPID: this the name you gave your application when you created it.

  • APPEUI: this the unique identifier of your application on the TTN platform.

  • PSW: it can be found at the bottom of your application page under ACCESS KEYS. All the above informations can be found in your The Things Network console. The constructor returns an MQTTClient object set up with your application informations, ready for connection.

connect

Connects the previously created client to the The Things Network MQTT broker by default.

client.connect([address], [port])
  • address: the address of the MQTT broker you wish to connect to. Default to eu.thethings.network

  • port: the port on which you wish to connect. Default to 1883

disconnect

Disconnects the MQTT client from which we call the method. Also able to stop a forever loop in case the client was running on a loop launched by the start() method.

client.disconnect()

start

Start a loop as the main loop of your process. You wont be able to run anything else at the same time on this script.

client.start()

Take note that a loop need to be started in order to receive uplink messages.

startBackground

Starts a loop for the client in the background so that it’s possible to run another process (such as a web server) in the same script.

client.startBackground()

stopBackground

Stops a loop which was started with the startBackground() method. It also disconnect the client.

client.stopBackground()

setUplinkCallback

Set the callback function, to be called when an uplink message is received.

client.setUplinkCallback(uplinkCallback)

uplinkCallback

The callback function must be declared in your script following this structure: * uplinkCallback(msg, client) * msg: the message received by the client * client: the client from which the callback is executed are calling

On each message reception, you should see MESSAGE RECEIVED in the console, and the callback will be executed.

setConnectBehavior

Change the connect callback function, following the paho-mqtt standart.

client.setConnectBehavior(custom_function)
  • custom_function(client, userdata, flags, rc): the function which will be the new connection behavior for our MQTT client.

  • client: the MQTT client from which we call the callback.

  • userdata: the data of the user. Default to ''

  • flags: connection flags

  • rc: result from the connect method. 0 if the connection succeeded.

click here for more information on the paho-mqtt package.

setPublishCallback

Set the publish callback function, following the paho-mqtt standart.

client.setPublishCallback(publishCallback)

publishCallback

  • publishCallback(mid, client): the function which will be the new publish behavior for our MQTT client.

  • mid: it matches the mid variable returned from the publish call to allow sent messages to be tracked.

  • client: the MQTT client from which we call the callback.

publish

Publishes a message to the MQTT broker.

client.publish(deviceID, message)
  • deviceID: the ID of the device you wish to send the message to.

  • message: the message to be published to the broker. The message that’s sent to the TTN broker needs to be a string and can follow this example (it’s not mandatory but they are mostly build on this format): json {"port": 1, "confirmed": false, "payload_raw": "AA=="} This message will send the payload 00 to your device.

License

Source code for The Things Network is released under the MIT License, which can be found in the LICENSE file. A list of authors can be found in the AUTHORS file.

Project details


Download files

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

Source Distribution

ttnmqtt-0.9.4.tar.gz (4.7 kB view details)

Uploaded Source

Built Distribution

ttnmqtt-0.9.4-py2.py3-none-any.whl (7.2 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file ttnmqtt-0.9.4.tar.gz.

File metadata

  • Download URL: ttnmqtt-0.9.4.tar.gz
  • Upload date:
  • Size: 4.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for ttnmqtt-0.9.4.tar.gz
Algorithm Hash digest
SHA256 3a7f9e7561a46e30e98a4cd370fa2adc26c112046973504a0da5a4a87faf57fc
MD5 a9a38daab516adcc298c60d01599a7e1
BLAKE2b-256 83e3640f517b7c9c28dfb62c3fe2e31999043270e0702019b617b4186fce05ca

See more details on using hashes here.

File details

Details for the file ttnmqtt-0.9.4-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for ttnmqtt-0.9.4-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 e4090018e83c9e56460060c631815347e5c09601b26b7282540350b98315bbca
MD5 8ad9ec59dafc6ab34034885aed3a940e
BLAKE2b-256 2c2e20b45312b6b039cf860fc0d6b1596f0aba26dc4ec892cdc11881bf267826

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page