Skip to content
This repository has been archived by the owner on Oct 27, 2024. It is now read-only.

Unofficial ThingsBoard MQTT MicroPython client

License

Notifications You must be signed in to change notification settings

manuargue/thingsboard-micropython

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ThingsBoard MQTT MicroPython client

This project is a MicroPython library that provides an client for the Device API of ThingsBoard open-source IoT Platform.

The library consists of a thin wrapper around the MicroPython MQTT module, umqtt.robust.

Installation

To install using pip:

import upip
upip.install('thingsboard-micropython')

Getting Started

Client initialization and telemetry publishing:

from uthingsboard.client import TBDeviceMqttClient

# See examples for more authentication options
client = TBDeviceMqttClient('demo.thingsboard.io', access_token='test01')

# Connecting to ThingsBoard
client.connect()

# Sending telemetry
telemetry = {'temperature': 41.9, 'enabled': False}
client.send_telemetry(telemetry)

# Checking for incoming subscriptions or RPC call requests (non-blocking)
client.check_msg()

# Disconnecting from ThingsBoard
client.disconnect()

Examples

More examples can be found in examples directory.

Support

  • SSL and QoS (0 or 1) as supported by the backend MQTT library, umqtt.robust.
  • All Device API's, except Provisioning.
  • Tested only on ESP32 board running MicroPython v1.16 generic.

Acknowledgment

This library is an adapted version of the official ThingsBoard client SDK for Python, to run in MicroPython.

License

This project is released under Apache 2.0 License.