更新时间:2024-11-20 08:51:34下载pdf
TuyaOS Link SDK for Python 使用 Python 语言实现,适用于开发者自主开发硬件设备逻辑业务接入涂鸦开发者平台。TuyaOS Link SDK for Python 提供设备激活、DP 上下行和 OTA 等基础业务接口封装,SDK 不依赖具体设备平台及操作系统环境,也可以运行在单任务环境,仅需要支持 TCP/IP 协议栈及提供 SDK 必要的系统依赖接口即可完成接入。
登录 涂鸦开发者平台,创建一个产品,获取产品 ID。
通过 标准类目 > 其他 > 自定义品类 选择产品品类。
选择智能化方式为 产品开发。
选择产品方案为 自定义方案。
完善产品信息,依次完成 产品名称、产品型号(非必须)、产品描述、通讯协议 和 功耗类型 配置。
单击 创建产品 按钮,完成产品创建。更多产品创建操作可参考 选品类创建产品。
创建产品后,根据产品功能需求,在涂鸦开发者平台进行功能数据点(DP)定义。功能点是对产品功能的抽象表示,每种功能都可以通过不同功能类型定义。
目前,您可以设置的功能类型包括布尔型、数值型、枚举型、故障型、字符串型和透传型。更多详情,请参考 功能定义。
授权信息是设备接入涂鸦的凭证,由 UUID 和 AUTHKEY 组成。授权信息可以在涂鸦开发者平台 硬件开发 步骤获取。
在 硬件开发 步骤,选择 Link SDK,并单击 选择 Link SDK 通用芯片平台。
单击 免费领取2个授权码,申请授权信息。
交付形式选择 授权码清单。
您可以参考 PyPi 仓库 的指导说明,下载 TuyaOS Link SDK for Python。
该 SDK 的 Python 代码文件通过以下目录结构提供:
examples
:例程tuyalinksdk
:Link SDK 相关函数配置设备信息时,将您获取到的产品 ID 与授权信息写入 SDK examples/outlet.py
文件的 TuyaClient
中,完成基础信息配置。
在 Demo 文件路径内输入 python3 outlet.py
指令,运行 Demo 代码。
在 App 上绑定设备。
打开智能生活 App 或 OEM App 或根据 App SDK 开发出来的 App,扫描在终端例程程序输出的二维码,绑定设备进行测试。
您可以通过二维码生成工具生成如下 URL 二维码,进行设备绑定测试。
二维码 URL 格式:
https://smartapp.tuya.com/s/p?p=<PRODUCT_KEY>&uuid=<UUID>&v=2.0
PRODUCT_KEY
:您在涂鸦开发者平台创建的产品的 ID。二维码 URL 示例:
https://smartapp.tuya.com/s/p?p=U0fxNCEnZptKnQ **&uuid=f2ef8b136911f4**&v=2.0
实例化和初始化一个设备对象 client
,用来初始化产品 ID 和授权信息等配置参数。
from tuyalinksdk.client import TuyaClient
# instantiate the config
client = TuyaClient(productid='ndo5dfkaiykh****',
uuid='tuyae53b389a45a0****',
authkey='RUgfPmGAyv3J8nfQ75fPDDic1Tx4****')
# initialize the client
tuya_iot_init(&client, &config);
定义应用层事件回调,回调函数用于应用层接收 SDK 事件通知,例如数据功能点(DP)下发,云端连接状态通知。
# Tuya SDK event callback
def on_connected():
print('Connected.')
def on_qrcode(url):
qrcode_generate(url)
def on_reset(data):
print('Reset:', data)
def on_dps(dps):
print('DataPoints:', dps)
client.push_dps(dps)
启动 Tuya IoT SDK 服务。
client.connect()
client.loop_start()
//Tuya IoT SDK 服务任务,数据接收处理,设备在线保活等任务处理
上报示例。
client.push_dps(dps)
#!/usr/bin/env python
import time
import coloredlogs
from tuyalinksdk.client import TuyaClient
from tuyalinksdk.console_qrcode import qrcode_generate
coloredlogs.install(level='DEBUG')
client = TuyaClient(productid='ndo5dfkaiykh****',
uuid='tuyae53b389a45a0****',
authkey='RUgfPmGAyv3J8nfQ75fPDDic1Tx****')
def on_connected():
print('Connected.')
def on_qrcode(url):
qrcode_generate(url)
def on_reset(data):
print('Reset:', data)
def on_dps(dps):
print('DataPoints:', dps)
client.push_dps(dps)
client.on_connected = on_connected
client.on_qrcode = on_qrcode
client.on_reset = on_reset
client.on_dps = on_dps
client.connect()
client.loop_start()
while True:
time.sleep(1)
```
该内容对您有帮助吗?
是意见反馈该内容对您有帮助吗?
是意见反馈