跳到主要内容

Tuya IoT 客户端 API 参考

概述

tuya_iot.h 定义 Tuya IoT 客户端:配置、生命周期(init / start / yield / stop / destroy)、云端激活、MQTT 连接、DP(数据点)上报与事件分发。依赖云服务的应用在 TAL(Wi-Fi、网络、KV 等)之上链接该层。

源码: TuyaOpen/src/tuya_cloud_service/cloud/tuya_iot.h

读者: 维护或扩展涂鸦云相关 Demo(如 switch_demo、IoT light)的开发者。

备注

使用涂鸦云服务需要有效的 授权码(license key) 与产品配置。若应用连接涂鸦云,请参阅 设备授权

配置结构体

类型作用
tuya_iot_config_tProduct key、UUID、授权码、软件版本,以及可选 modules/skill/storage/OTA 字段、event_handlernetwork_checkota_handler
tuya_iot_license_t授权读取用的 uuid / authkey
tuya_activated_data_t激活后的设备 ID、密钥、schema、时区等。
tuya_event_msg_t事件 ID、数据类型与值,交给 event_handle_cb_t

客户端生命周期

函数说明
tuya_iot_license_read从存储读取激活授权信息。
tuya_iot_init根据 tuya_iot_config_t 初始化客户端。
tuya_iot_start启动云服务(网络与协议栈)。
tuya_iot_yield驱动客户端状态机(需在线程或主循环中周期性调用)。
tuya_iot_stop停止云服务。
tuya_iot_reset重置客户端状态。
tuya_iot_destroy销毁并释放资源。
tuya_iot_reconnect重连 MQTT。

数据点(DP)

函数说明
tuya_iot_dp_report_json以 JSON 字符串上报 DP。
tuya_iot_dp_report_json_with_time带各 DP 时间戳 JSON 的上报。
tuya_iot_dp_report_json_async异步上报,带回调与超时。
tuya_iot_dp_report_json_with_notify同步上报并带结果回调。

下行 DP 通过 事件回调TUYA_EVENT_DP_RECEIVETUYA_EVENT_DP_RECEIVE_CJSONTUYA_EVENT_DP_RECEIVE_OBJTUYA_EVENT_DP_RECEIVE_RAW 等形式送达(见 tuya_event_id_t)。

状态、身份与工具

函数说明
tuya_iot_activated是否已完成激活。
tuya_iot_activated_data_remove清除已存储的激活数据。
tuya_iot_token_get_port_register注册自定义获取 token 的接口。
tuya_iot_version_update_sync同步软件版本到云端。
tuya_iot_extension_modules_version_update更新扩展模块版本字符串。
tuya_iot_devid_get / tuya_iot_localkey_get / tuya_iot_seckey_get / tuya_iot_timezone_get读取激活后设备字段。
tuya_iot_client_get全局客户端指针(如适用)。
tuya_iot_is_connected云/MQTT 是否已连接。
tuya_iot_dispatch_event内部事件分发。

事件 ID(节选)

事件含义
TUYA_EVENT_RESET / TUYA_EVENT_RESET_COMPLETE重置流程。
TUYA_EVENT_BIND_START / TUYA_EVENT_BIND_TOKEN_ON / TUYA_EVENT_BINDED_NOTIFY绑定与 token。
TUYA_EVENT_ACTIVATE_SUCCESSED激活成功。
TUYA_EVENT_MQTT_CONNECTED / TUYA_EVENT_MQTT_DISCONNECT / TUYA_EVENT_DIRECT_MQTT_CONNECTEDMQTT 状态。
TUYA_EVENT_DP_RECEIVE*下行 DP。
TUYA_EVENT_UPGRADE_NOTIFYOTA 通知。
TUYA_EVENT_TIMESTAMP_SYNC时间同步。
TUYA_EVENT_DPCACHE_NOTIFYDP 缓存。
TUYA_EVENT_RTC_REQRTC 相关。

tuya_client_status_t 提供 Wi-Fi/MQTT 等粗粒度状态,可用于界面或逻辑。

参考