Skip to content

Miraitowa-la/ThingsBoardLink

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

78 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ThingsBoardLink

PyPI Downloads PyPI version Python Version License

A high-level IoT platform interaction toolkit designed for Python developers

IoT Cloud Platform • Developer-Friendly • Production-Ready

Chinese | Documentation | Examples


🚀 Why ThingsBoardLink?

ThingsBoardLink is a powerful Python package designed to simplify integration with the ThingsBoard IoT platform. It encapsulates ThingsBoard's REST API, providing object-oriented interfaces that allow developers to easily manage devices, process telemetry data, control alarms, and other core functions.

✨ Key Features

Feature Description Benefits Documentation Examples
🔐 Auth Management Auto JWT & session handling Enhanced security, stateless auth client_doc_en.md 01_connect_and_auth.py
📱 Device Management Full device CRUD & credential ops Easy lifecycle & access management device_service_doc_en.md 02_device_management.py
📊 Telemetry Data Upload, query & fetch history data Efficient time-series data handling telemetry_service_doc_en.md 03_telemetry_data.py
⚙️ Attribute Management Client, server & shared attribute ops Flexible metadata, dynamic config attribute_service_doc_en.md 04_attribute_management.py
🚨 Alarm Management Create, query, acknowledge & clear alarms Timely response, system reliability alarm_service_doc_en.md 05_alarm_management.py
🔄 RPC Calls One-way & two-way remote procedure calls Efficient device-cloud command interaction rpc_service_doc_en.md 06_rpc_calls.py
🔗 Relation Management Create & manage entity relations Build topology, complex logic relation_service_doc_en.md 07_entity_relations.py

🚀 Quick Start

Installation

# Install from PyPI
pip install thingsboardlink

# Or install with development dependencies
pip install thingsboardlink[dev]

30-Second Demo

from thingsboardlink import ThingsBoardClient

# Connect to the corresponding cloud platform
with ThingsBoardClient(
    base_url="http://localhost:8080",
    username="tenant@thingsboard.org",
    password="tenant"
) as client:
    # Device ID
    device_id = "MY_DEVICE_ID"
    
    # Retrieve telemetry data for the corresponding device
    value = client.telemetry_service.get_latest_telemetry(device_id)
    print(value)

📁 Project Architecture

ThingsBoardLink/
├── src/thingsboardlink/
│   ├── services/                   # 🛠️ Service module package
│   │   ├── device_service.py       # Device service module
│   │   ├── telemetry_service.py    # Telemetry service module
│   │   ├── attribute_service.py    # Attribute service module
│   │   ├── alarm_service.py        # Alarm service module
│   │   ├── rpc_service.py          # RPC service module
│   │   └── relation_service.py     # Relation service module
│   │
│   ├── client.py                   # 🖥️ Core client module
│   ├── exceptions.py               # 🔧 Exception handling module
│   └── models.py                   # 🚚 Data model module
│
├── examples/                       # 📚 Usage examples
│   ├── 01_connect_and_auth.py      # Connection and authentication example
│   ├── 02_device_management.py     # Device management example
│   ├── 03_telemetry_data.py        # Telemetry data example
│   ├── 04_attribute_management.py  # Attribute management example
│   ├── 05_alarm_management.py      # Alarm management example
│   ├── 06_rpc_calls.py             # RPC call example
│   └── 07_entity_relations.py      # Relation management example
│
└── docs/                           # 📜 Documentation
    ├── zh                          # Chinese - Documentation
    └── en                          # English - Documentation

About

一个专为 Python 开发者设计的高级 IoT 平台交互工具包 | A high-level IoT platform interaction toolkit designed for Python developers

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages