更新时间:2024-11-20 08:51:13下载pdf
TuyaOS 是涂鸦独创 IoT OS 操作系统,提供了按照业务需求选择组件,定制 SDK 的能力,是涂鸦开发者的利剑,具备轻量级、互联互通、安全传输、组件丰富、快速开发等关键能力,有效降低开发门槛、缩短开发周期,可广泛应用于可穿戴设备、视频监控、中控网关、智能音箱、智能家电、智能门锁等智能家居领域设备。
Tuya 通用 Wi-Fi SDK 是基于 TuyaOS 技术体系按照物联网 Wi-Fi 应用场景,进行裁剪、定制得到的,适用于任意一款按照涂鸦平台导入规范进行适配导入的 Wi-Fi 芯片平台。
涂鸦通用 Wi-Fi SDK的产物目录说明如下表所示:
目录 | 子目录 | 描述 | 备注 |
---|---|---|---|
apps | / | 存放客户应用程序和涂鸦通用 Wi-Fi SDK 的 demo,每个应用或者demo应使用单独的文件夹保存 | 参照涂鸦通用 Wi-Fi SDK demo 使用说明 |
oem_rtlbn_1_plug_demo | 一个示例demo | 一般会提供一个或者多个 demo | |
sdk | / | 存放涂鸦通用 Wi-Fi SDK 的头文件和库文件 | 参照后续的功能接口说明 |
include | 涂鸦通用 Wi-Fi SDK 提供的 API 接口 | ||
lib | 涂鸦通用 Wi-Fi SDK 编译得到的 libtuya_iot.a文件 | ||
platforms | / | 涂鸦通用 Wi-Fi SDK 的开发编译环境和工具链,默认是空的,在编译的时候,会通过build_app.sh下载相应的工具链 | |
build_app.sh | / | 应用、demo 的编译入口 | 进行环境准备,以及编译 |
CHANGELOG.md | / | 版本修改的记录 | |
README.md | / | 涂鸦通用 Wi-Fi SDK 介绍文档 |
初始化流程是涂鸦设备在上电之后,自动加载、运行固件,对设备进行初始化的流程。由于 Tuya 通用 Wi-Fi SDK 是平台无关的,针对不同的产品,其初始化流程是有一些差异的,此处我们以灯具的 Wi-Fi SoC 为例,描述其初始化流程如下图所示。
Tuya 通用 Wi-Fi SDK 的初始化流程主要是在 user_main()
函数里进行,主要包含以下几个阶段:
pre_init_process
:
pre_init_process
主要适用于灯具产品,需要尽快点亮,给客户更好的体验而实现的。在这个阶段,一般会进行:
pre_device_init
:打印一些信息,设置日志级别。tuya_cnt_rst_judge
:一些开关计数处理。tuya_iot_kv_init
:初始化数据库,用于存储一些 pre_init_process
需要的数据。tuya_iot_init
:
app_init
:
device_init
:
tuya_iot_wf_soc_dev_init
接口进行初始化。tuya_iot_wf_mcu_dev_init
接口进行初始化。tuya_iot_wf_gw_dev_init
接口进行初始化。product_key
,firmware_key
,配网模式等数据。在初始化过程的 app_init 阶段,用户需要根据自己的需求,选择一个合适的工作模式。工作模式决定了产品的初始化、配网、重置等行为的特性。
目前主要使用在串口对接类型的固件上。
产测
设备只有在 MCU 发起产测的情况下,才可以扫描产测路由器。产测在任意时间都可以发起。
备注
SoC 固件如果使用该模式,无法进入产测模式。
目前主要使用在SoC插座上。
目前主要使用在SoC照明上。
目前主要使用在SoC电工、照明上。上电即可进入配网模式,且一直处于配网状态。
主要应用于SoC电工,要求上电快闪,默认3分钟进入低功耗状态。
配网前
配网激活后
产测
设备在配网状态下,重启都会主动扫描路由,进入产测模式。
目前主要使用在SoC照明上。
配网前
配网激活后
产测
在初始的过程的app_init阶段,用户需要根据自己的需求,提供一些回调。SDK会在相应的阶段,通过回调来通知应用相应的状态变化。
typedef struct {
GW_STATUS_CHANGED_CB gw_status_cb;
GW_UG_INFORM_CB gw_ug_cb;
GW_RESET_IFM_CB gw_reset_cb;
DEV_OBJ_DP_CMD_CB dev_obj_dp_cb;
DEV_RAW_DP_CMD_CB dev_raw_dp_cb;
DEV_DP_QUERY_CB dev_dp_query_cb;
ACTIVE_SHORTURL_CB active_shorturl;
}TY_IOT_CBS_S;
功能说明(Summary)
SDK 用户回调接口
成员说明
成员名称 | 原型 | 说明 |
---|---|---|
gw_status_cb | VOID (*GW_STATUS_CHANGED_CB)(IN CONST GW_STATUS_E status); | SDK 内部状态变化的时候会进行调用 |
gw_ug_cb | int (*GW_UG_INFORM_CB)(IN CONST FW_UG_S *fw); | SDK 检测到的时候会进行调用 |
gw_reset_cb | VOID (*GW_RESET_IFM_CB)(GW_RESET_TYPE_E type); | SDK 进行设备重置的时候进行调用 |
dev_obj_dp_cb | VOID (*DEV_OBJ_DP_CMD_CB)(IN CONST TY_RECV_OBJ_DP_S *dp); | SDK 收到DP的时候进行调用 |
dev_raw_dp_cb | VOID (*DEV_RAW_DP_CMD_CB)(IN CONST TY_RECV_RAW_DP_S *dp); | SDK 收到RAW DP的时候进行调用 |
dev_dp_query_cb | VOID (*DEV_DP_QUERY_CB)(IN CONST TY_DP_QUERY_S *dp_qry); | SDK 收到DP查询命令的时候进行调用 |
函数原型
OPERATE_RET tuya_iot_init(IN CONST CHAR_T *fs_storge_path)
功能说明
用于 tuya iot 系统的初始化,必须最先调用
参数说明
参数名称 | 说明 | 参数类型 | 是否必选 | 备注 |
---|---|---|---|---|
fs_storge_path | 为 SDK 分配可读写的文件分区 | CHAR_T | 是 | 路径长度不能大于 110 个字节。 |
返回值
返回值 | 说明 |
---|---|
OPRT_OK | 成功 |
错误码 | 失败返回错误码 |
函数原型
CHAR_T *tuya_iot_get_sdk_info(VOID);
功能说明
获取 tuya iot SDK 版本信息。
参数说明
参数名称 | 说明 | 参数类型 | 是否必选 | 备注 |
---|---|---|---|---|
VOID | 没有返回值 |
返回值
返回值 | 说明 |
---|---|
SDK 信息字符串 | SDK 信息包含 SDK 的编译时间,平台,以及版本号,使能的功能属性等。 |
函数原型
OPERATE_RET tuya_iot_sys_mag_hb_init(IN CONST DEV_HEARTBEAT_SEND_CB hb_send_cb);
功能说明
启动子设备心跳管理能力。
参数说明
参数名称 | 说明 | 参数类型 | 是否必选 | 备注 |
---|---|---|---|---|
hb_send_cb | 网关每隔 3 秒检查所有的子设备。如果子设备在心跳包超时内,子设备没有发送心跳给网关,则网关会设置子设备为离线,通过 hb_send_cb 通知用户至少三次。 | hb_send_cb 回调函数 | 是 |
返回值
返回值 | 说明 |
---|---|
OPRT_OK | 操作成功 |
错误码 | 失败返回错误码 |
函数原型
OPERATE_RET tuya_iot_set_wf_gw_prod_info(IN CONST WF_GW_PROD_INFO_S *wf_prod_info);
功能说明
设置配置类 Wi-Fi 设备的授权信息,授权信息需通过涂鸦获取,否则设备无法正常使用。
参数说明
参数名称 | 说明 | 参数类型 | 是否必选 | 备注 |
---|---|---|---|---|
wf_prod_info | 该结构体包含设备信息:1)uuid 以及 authkey 2) WiFi 的 ssid 以及密码。 | WF_GW_PROD_INFO_S * | 是 | 开发者需要把该信息传递给 SDK。 |
返回值
返回值 | 说明 |
---|---|
OPRT_OK | 操作成功 |
错误码 | 失败返回错误码 |
函数原型
OPERATE_RET tuya_iot_wf_mcu_dev_init(IN CONST GW_WF_CFG_MTHD_SEL cfg, IN CONST GW_WF_START_MODE start_mode,
IN CONST TY_IOT_CBS_S *cbs, IN CONST CHAR_T *p_firmware_key,
IN CONST CHAR_T *product_key, IN CONST CHAR_T *wf_sw_ver, IN CONST CHAR_T *mcu_sw_ver);
功能说明
联网模块 + MCU 设备初始化接口。
参数说明
参数名称 | 说明 | 参数类型 | 是否必选 | 备注 |
---|---|---|---|---|
cfg | WiFi设备的工作方式。工作方式: 1)非低功耗模式。 2)低功耗模式。 3)特别的低功耗模式。 | GW_WF_CFG_MTHD_SEL | 是 | |
start_mode | Wifi 配网模式: 1)仅工作在ap 配置模式。 2)仅smart config 模式式。 3)ap 以及smart config 模式,默认ap 模式。 4)ap 以及 smart config 模式。默认 smart config模式。 根据实际需要选择模式。 | GW_WF_START_MODE | 是 | |
cbs | Wifi SDK 用户回调函数 | TY_IOT_CBS_S * | 是 | |
p_firmware_key | 固件key。固件上传至涂鸦平台,都会有固件key。 | 字符串 | 是 | |
product_key | 涂鸦平台创建产品时获取 | 字符串 | 是 | |
wf_sw_ver | Wifi 软件版本号 | 字符串 | 是 | |
mcu_sw_ver | Mcu 固件版本号 | 字符串 | 是 |
返回值
返回值 | 说明 |
---|---|
OPRT_OK | 操作成功 |
错误码 | 失败返回错误码 |
函数原型
OPERATE_RET tuya_iot_wf_soc_dev_init(IN CONST GW_WF_CFG_MTHD_SEL cfg, IN CONST GW_WF_START_MODE start_mode,
IN CONST TY_IOT_CBS_S *cbs, IN CONST CHAR_T *product_key, IN CONST CHAR_T *wf_sw_ver);
功能说明
Wi-Fi SOC 设备初始化接口。
参数说明
参数名称 | 说明 | 参数类型 | 是否必选 | 备注 |
---|---|---|---|---|
cfg | WiFi设备的工作方式。工作方式: 1)非低功耗模式。 2)低功耗模式。 3)特殊低功耗模式。 | GW_WF_CFG_MTHD_SEL | 是 | |
start_mode | Wi-Fi 配网模式: 1)仅工作在ap 配置模式。 2)仅smart config 模式式。 3)ap 以及smart config 模式,默认ap 模式。 4)ap 以及 smart config 模式。默认 smart config模式。 根据实际需要选择模式。 | GW_WF_START_MODE | ||
cbs | Wi-Fi SDK 用户回调函数 | TY_IOT_CBS_S * | ||
product_key | 涂鸦平台创建产品时获取 | 字符串 | ||
wf_sw_ver | 软件版本号 | 字符串 | xx.xx.xx |
返回值
返回值 | 说明 |
---|---|
OPRT_OK | 操作成功 |
错误码 | 失败返回错误码 |
函数原型
OPERATE_RET tuya_iot_wf_gw_init(IN CONST GW_WF_CFG_MTHD_SEL cfg, IN CONST GW_WF_START_MODE start_mode,
IN CONST TY_IOT_CBS_S *cbs, IN CONST TY_IOT_GW_CBS_S *gw_cbs,
IN CONST CHAR_T *product_key, IN CONST CHAR_T *wf_sw_ver, IN CONST GW_ATTACH_ATTR_T *attr,
IN CONST UINT_T attr_num);
功能说明
Wi-Fi 网关初始化接口
参数说明
参数名称 | 说明 | 参数类型 | 是否必选 | 备注 |
---|---|---|---|---|
cfg | WiFi设备的工作方式。工作方式: 1)非低功耗模式。 2)低功耗模式。 3)特殊低功耗模式。 | GW_WF_CFG_MTHD_SEL | 是 | |
start_mode | Wi-Fi 配网模式: 1)仅工作在ap 配置模式。 2)仅smart config 模式式。 3)ap 以及smart config 模式,默认ap 模式。 4)ap 以及 smart config 模式。默认 smart config模式。 | GW_WF_START_MODE | 是 | |
cbs | 涂鸦WiFi SDK 用户回调 | TY_IOT_CBS_S * | 是 | |
gw_cbs | 涂鸦网关用户回调 | TY_IOT_GW_CBS_S * | 是 | |
product_key | 涂鸦平台创建产时获取 | 字符串 | 是 | |
wf_sw_ver | 软件版本号 | 字符串 | 是 | |
attr | 网关属性数组 | GW_ATTACH_ATTR_T * | 是 | |
attr_num | 网关属性长度 | UINT_T | 是 |
返回值
返回值 | 说明 |
---|---|
OPRT_OK | 操作成功 |
错误码 | 失败返回错误码 |
函数原型
OPERATE_RET tuya_iot_wf_gw_dev_init(IN CONST GW_WF_CFG_MTHD_SEL cfg, IN CONST GW_WF_START_MODE start_mode,
IN CONST TY_IOT_CBS_S *cbs, IN CONST TY_IOT_GW_CBS_S *gw_cbs, IN CONST CHAR_T *product_key,
IN CONST CHAR_T *wf_sw_ver, IN CONST GW_ATTACH_ATTR_T *attr, IN CONST UINT_T attr_num);
功能说明
Wi-Fi 网关加设备初始化接口,相比与 tuya_iot_wf_gw_init,该函数使得网关具有设备的属性,可以设置功能点等。
参数说明
参考 tuya_iot_wf_gw_init 接口说明
返回值
参考 tuya_iot_wf_gw_init 接口说明
函数原型
OPERATE_RET tuya_iot_reg_get_wf_nw_stat_cb(IN CONST GET_NW_STAT_CB nw_stat_cb);
功能说明
获取 Wi-Fi 状态接口。
参数说明
参数名称 | 说明 | 参数类型 | 是否必选 | 备注 |
---|---|---|---|---|
nw_stat_cb | 涂鸦 SDK 网络检测回调,回调函数的参数为网络状态。 | nw_stat_cb | 是 | 详见 DEMO |
返回值
返回值 | 说明 |
---|---|
OPRT_OK | 操作成功 |
错误码 | 失败返回错误码 |
设备在初始化化完成之后,还需要后续进行一些工作,才能够使用完整的功能,其中最重要的是需要对其进行网络连接配置,使得设备能够通过路由器连接到云端,并在云端进行激活。如果设备已经配置过网络,再次启动、初始化之后不需要再进行网络连接配置。
用户需要先确定 Wi-Fi 网卡支持的工作模式,然后在 tuya_iot_wf_soc_dev_init
或者 tuya_iot_wf_gw_dev_init
接口初始化时告知 SDK 需要以何种配网模式进行配网。具体参考该接口的 start_mode 参数说明。用户在设备配网的过程中,需要使用手机APP和设备进行交互,把ssid、pswd、token等信息,通过编码的方式,发送广播包、组播包,直到配网过程完成。
EZ 也称为快速配网,是设备的 Wi-Fi 处于 monitor
工作模式下,在该模式下,设备的 Wi-Fi 能够获取手机 APP 发出的无线空口报文,接收并且会解析这些报文,并从中获取配置信息,然后切换为 station
工作模式进行联网。
AP 配网过程相对复杂,是指设备开启 AP 热点,手机连接上,通过局域网发送配置信息,设备获取配置信息之后,切换为 station
工作模式,进行联网。
Tuya 通用 Wi-Fi SDK 还支持一些其他的配网能力,此类配网设备用户层通过其他方式获取路由器的 ssid、passwd 和配网 token,直接调用接口申请设备激活。
用户根据自己的需求,在 device_init() 指定配网模式。
WF_START_AP_ONLY:仅工作在ap 配置模式。
WF_START_SMART_ONLY:仅smart config 模式式。
WF_START_AP_FIRST: AP 以及smart config 模式,默认ap 模式。
WF_START_SMART_FIRST:AP 以及 smart config 模式。默认 smart config模式。
WF_START_SMART_AP_CONCURRENT:AP和Smart config共存模式。
函数原型
OPERATE_RET tuya_hal_wifi_all_ap_scan(OUT AP_IF_S **ap_ary, OUT UINT_T *num);
功能说明
扫描所有 AP。
参数说明
参数名称 | 说明 | 参数类型 | 是否必选 | 备注 |
---|---|---|---|---|
ap_ary | 当前环境 AP 信息列表。 | AP_IF_S ** | 是 | 作为输出参数 |
num | 当前环境 AP 信息列表长度。 | UINT_T | 是 | 作为输出参数 |
返回值
返回值 | 说明 |
---|---|
OPRT_OK | 操作成功 |
错误码 | 失败返回错误码 |
函数原型
OPERATE_RET tuya_hal_wifi_assign_ap_scan(IN CONST CHAR_T *ssid, OUT AP_IF_S **ap);
功能说明
扫描指定的 AP。
参数说明
参数名称 | 说明 | 参数类型 | 是否必选 | 备注 |
---|---|---|---|---|
ssid | 指定的 AP 的 ssid。 | 字符串 | 是 | 输入参数 |
ap | 获取指定 AP 信息。 | AP_IF_S ** | 是 | 输出 |
返回值
返回值 | 说明 |
---|---|
OPRT_OK | 操作成功 |
错误码 | 失败返回错误码 |
函数原型
OPERATE_RET tuya_hal_wifi_release_ap(IN AP_IF_S *ap);
功能说明
资源的释放处理。
参数说明
参数名称 | 说明 | 参数类型 | 是否必选 | 备注 |
---|---|---|---|---|
ap | 当ap 信息没用的时候,释放在 tuya_hal_wifi_all_ap_scan 以及 tuya_hal_wifi_assign_ap_scan 申请的内存。 | AP_IF_S * | 是 |
返回值
返回值 | 说明 |
---|---|
OPRT_OK | 操作成功 |
错误码 | 失败返回错误码 |
函数原型
OPERATE_RET tuya_hal_wifi_set_cur_channel(IN CONST BYTE_T chan);
功能说明
设置 Wi-Fi 工作信道。
参数说明
参数名称 | 说明 | 参数类型 | 是否必选 | 备注 |
---|---|---|---|---|
chan | 要设置的 Wi-Fi 工作信道 | BYTE_T | 是 |
返回值
返回值 | 说明 |
---|---|
OPRT_OK | 操作成功 |
错误码 | 失败返回错误码 |
函数原型
OPERATE_RET tuya_hal_wifi_get_cur_channel(OUT BYTE_T *chan);
功能说明
获取当前工作信道。
参数说明
参数名称 | 说明 | 参数类型 | 是否必选 | 备注 |
---|---|---|---|---|
nw_stat_cb | 网络改变回调函数,回调函数的参数为网络状态 | nw_stat_cb | 是 | 详见 DEMO。 |
返回值
返回值 | 说明 |
---|---|
OPRT_OK | 操作成功 |
错误码 | 失败返回错误码 |
函数原型
OPERATE_RET tuya_hal_wifi_sniffer_set(IN CONST BOOL_T en, IN CONST SNIFFER_CALLBACK cb);
功能说明
Wi-Fi 设备混杂模式设置。
参数说明
参数名称 | 说明 | 参数类型 | 是否必选 | 备注 |
---|---|---|---|---|
en | 使能/关闭 WiFi 的sniffer模式。 | nw_stat_cb | 是 | |
cb | 通知回调函数。抓取到的空中802.11数据包包含frame头。 | SNIFFER_CALLBACK | 是 |
返回值
返回值 | 说明 |
---|---|
OPRT_OK | 操作成功 |
错误码 | 失败返回错误码 |
函数原型
OPERATE_RET tuya_hal_wifi_get_ip(IN CONST WF_IF_E wf, OUT NW_IP_S *ip);
功能说明
获取Wi-Fi设备ip信息。
参数说明
参数名称 | 说明 | 参数类型 | 是否必选 | 备注 |
---|---|---|---|---|
wf | WiFi 的工作模式。AP 以及 station。 | WF_IF_E | 是 | |
ip | 保存获取的Ip信息结构体,信息包含IP,submask,gateway。 | NW_IP_S * | 是 | 输出参数 |
返回值
返回值 | 说明 |
---|---|
OPRT_OK | 操作成功 |
错误码 | 失败返回错误码 |
函数原型
OPERATE_RET tuya_hal_wifi_get_mac(IN CONST WF_IF_E wf, OUT NW_MAC_S *mac);
功能说明
获取 WiFi 设备 MAC 地址。
参数说明
参数名称 | 说明 | 参数类型 | 是否必选 | 备注 |
---|---|---|---|---|
wf | WiFi 的工作模式。AP 以及 station。 | nw_stat_cb | 是 | |
mac | 保存获取到的 MAC 地址。 | NW_MAC_S * | 是 | 作为输出参数 |
返回值
返回值 | 说明 |
---|---|
OPRT_OK | 操作成功 |
错误码 | 失败返回错误码 |
函数原型
OPERATE_RET tuya_hal_wifi_set_mac(IN CONST WF_IF_E wf,IN CONST NW_MAC_S *mac);
功能说明
设置 Wi-Fi 设备 MAC 地址,可选实现。
参数说明
参数名称 | 说明 | 参数类型 | 是否必选 | 备注 |
---|---|---|---|---|
wf | WiFi 的工作模式。AP 以及 station。 | WF_IF_E | 是 | 输入参数 |
mac | 设置的 MAC 地址。 | NW_MAC_S * | 是 | 输入参数 |
返回值
返回值 | 说明 |
---|---|
OPRT_OK | 操作成功 |
错误码 | 失败返回错误码 |
函数原型
OPERATE_RET tuya_hal_wifi_wk_mode_set(IN CONST WF_WK_MD_E mode);
功能说明
设置Wi-Fi工作模式。
参数说明
参数名称 | 说明 | 参数类型 | 是否必选 | 备注 |
---|---|---|---|---|
mode | 设置WiFi 工作模式: 1. 低功耗模式 2. 混杂模式 3. station 模式 4. ap 模式 5. ap + station 模式 | WF_WK_MD_E | 是 |
返回值
返回值 | 说明 |
---|---|
OPRT_OK | 操作成功 |
错误码 | 失败返回错误码 |
函数原型
OPERATE_RET tuya_hal_wifi_wk_mode_get(OUT WF_WK_MD_E *mode);
功能说明
获取 Wi-Fi 工作模式。
参数说明
参数名称 | 说明 | 参数类型 | 是否必选 | 备注 |
---|---|---|---|---|
mode | 同 tuya_hal_wifi_wk_mode_set 中 参数 mode 含义一致。 | WF_WK_MD_E | 是 | 输出参数 |
返回值
返回值 | 说明 |
---|---|
OPRT_OK | 操作成功 |
错误码 | 失败返回错误码 |
函数原型
OPERATE_RET tuya_hal_wifi_station_connect(IN CONST CHAR_T *ssid, IN CONST CHAR_T *passwd);
功能说明
设置 Wi-Fi 设备建立与 AP/热点/WiFi 路由器的连接。
参数说明
参数名称 | 说明 | 参数类型 | 是否必选 | 备注 |
---|---|---|---|---|
ssid | 连接 ap/热点/WiFi路由器的 ssid。 | 字符串 | 是 | |
password | 连接 ap/热点/WiFi路由器的 password。 | 是 |
返回值
返回值 | 说明 |
---|---|
OPRT_OK | 操作成功 |
错误码 | 失败返回错误码 |
函数原型
OPERATE_RET tuya_hal_wifi_station_disconnect(VOID);
功能说明
断开 Wi-Fi 设备与 AP/热点/Wi-Fi路由器 的连接。
参数说明
参数名称 | 说明 | 参数类型 | 是否必选 | 备注 |
返回值
返回值 | 说明 |
---|---|
OPRT_OK | 操作成功 |
错误码 | 失败返回错误码 |
函数原型
OPERATE_RET tuya_hal_wifi_station_get_conn_ap_rssi(OUT SCHAR_T *rssi);
功能说明
获取作为station 模式的Wi-Fi设备与AP连接的信号强度。
参数说明
参数名称 | 说明 | 参数类型 | 是否必选 | 备注 |
---|---|---|---|---|
rssi | 获取到的rssi | SCHAR_T* | 是 | 输出参数 |
返回值
返回值 | 说明 |
---|---|
OPRT_OK | 操作成功 |
错误码 | 失败返回错误码 |
函数原型
OPERATE_RET tuya_hal_wifi_station_stat_get(OUT WF_STATION_STAT_E *stat);
功能说明
获取station模式下Wi-Fi设备的连接状态。
参数说明
参数名称 | 说明 | 参数类型 | 是否必选 | 备注 |
---|---|---|---|---|
stat | Station模式下WiFi 与 ap 连接状态。 1. 未连接 2. 正在连接 3. 密码不对 4. ap 未发现 5. 连接失败 6. 成功连接 7. 成功获取 | WF_STATION_STAT_E * | 是 | 输出参数 |
返回值
返回值 | 说明 |
---|---|
OPRT_OK | 操作成功 |
错误码 | 失败返回错误码 |
函数原型
OPERATE_RET tuya_hal_wifi_set_country_code(IN CONST CHAR_T *p_country_code);
功能说明
设置Wi-Fi 的国家码。
参数说明
参数名称 | 说明 | 参数类型 | 是否必选 | 备注 |
---|---|---|---|---|
p_country_code | WiFi 设备不同的国家工作的频率以及信道信号强度不相同。 | CHAR_T * | 是 |
返回值
返回值 | 说明 |
---|---|
OPRT_OK | 操作成功 |
错误码 | 失败返回错误码 |
函数原型
OPERATE_RET tuya_hal_wifi_ap_start(IN CONST WF_AP_CFG_IF_S *cfg);
功能说明
启动 Wi-Fi AP 热点。
参数说明
参数名称 | 说明 | 参数类型 | 是否必选 | 备注 |
---|---|---|---|---|
cfg | 启动作为ap 模式下的配置参数。包含: 1. ssid 2. password 3. 信道 4. 加密方式 5. 是否隐藏 ssid 6. 最大连接数 | WF_AP_CFG_IF_S * | 是 |
返回值
返回值 | 说明 |
---|---|
OPRT_OK | 操作成功 |
错误码 | 失败返回错误码 |
函数原型
OPERATE_RET tuya_hal_wifi_ap_stop(VOID);
功能说明
停止 Wi-Fi AP 热点。
参数说明
参数名称 | 说明 | 参数类型 | 是否必选 | 备注 |
返回值
返回值 | 说明 |
---|---|
OPRT_OK | 操作成功 |
错误码 | 失败返回错误码 |
函数原型
OPERATE_RET tuya_iot_gw_wf_user_cfg(IN CONST CHAR_T *ssid, IN CONST CHAR_T *passwd,IN CONST CHAR_T *token);
功能说明
当通过其他模式配网时(非 AP/EZ),比如摄像头的二维码配网、声波配网等,调用此接口处理。
参数说明
参数名称 | 说明 | 参数类型 | 是否必选 | 备注 |
---|---|---|---|---|
ssid | AP 模式下配网使用的 ssid。 | 字符串 | 是 | |
passwd | AP 模式下配网使用的 password。 | 字符串 | 是 | |
token | AP 模式下配网使用的 token。 | 字符串 | 是 |
返回值
返回值 | 说明 |
---|---|
OPRT_OK | 操作成功 |
错误码 | 失败返回错误码 |
用户可通过 APP 重置,APP重置命令会通过MQTT发送重置消息,重置设备。
SDK 留有本地重置网关能力,用户可通过按键等方式本地重置设备,SDK提供了API供应用调用。
OPERATE_RET tuya_iot_gw_unactive(VOID);
功能说明( Summary )
重置设备,解除网关有 APP 的绑定关系,使得网关处于非激活(待配网)状态。
注意:该函数为异步,执行后会触发gw_reset_cb回调,只需在该回调中处理进程重启
参数说明( Parameters )
参数名称 | 说明 |
---|---|
VOID |
返回值(Return Values)
返回值 | 说明 |
---|---|
OPRT_OK | 操作成功 |
错误码 | 失败返回错误码 |
设备固件上传到云端后,设备不会立即收到升级消息,目前涂鸦支持以下几种方式:
函数原型
OPERATE_RET tuya_iot_upgrade_gw(IN CONST FW_UG_S *fw, IN CONST GET_FILE_DATA_CB get_file_cb,
IN CONST UPGRADE_NOTIFY_CB upgrd_nofity_cb, IN CONST PVOID_T pri_data,
BOOL_T notify, UINT_T download_buf_size);
功能说明
联网模块固件升级处理接口。
参数说明
参数名称 | 说明 | 参数类型 | 是否必选 | 备注 |
---|---|---|---|---|
fw | 固件信息 | FW_UG_S 结构体指针 | 是 | |
get_file_cb | 下载内容存储 | 回调函数 | 是 | |
upgrd_nofity_cb | 通知应用的升级状态 | 回调函数 | 是 | |
pri_data | 传递给 get_file_cb 以及 upgrd_nofity_cb 的参数 | 指针 | 否 | 如果不传参数,则设置为 NULL 。 |
notify | 选择是否由 SDK 上报升级进度 | 布尔型 | 是 | TRUE 为 SDK 上报,FALSE 为应用层上报 |
download_buf_size | 下载最大缓存,单位字节 | UINT_T | 否 | 传入 0 , SDK 默认缓存大小 |
返回值
返回值 | 说明 |
---|---|
OPRT_OK | 成功 |
错误码 | 失败返回错误码 |
函数原型
OPERATE_RET tuya_iot_dev_upgd_progress_rept(IN CONST UINT_T percent, IN CONST CHAR_T *devid, IN CONST DEV_TYPE_T tp);
功能说明
上报升级进度。
参数说明
参数名称 | 说明 | 参数类型 | 是否必选 | 备注 |
---|---|---|---|---|
percent | 升级进度值 | UINT_T | 是 | 0~99 |
devid | 子设备时,传入子设备的 devid ; 网关时,传入NULL | CHAR_T * | 是 | 参考 DEMO |
tp | 设备类型 | DEV_TYPE_T | 是 | 参考 DEMO |
返回值
返回值 | 说明 |
---|---|
OPRT_OK | 成功 |
错误码 | 失败返回错误码 |
涂鸦提供基于 MQTT 网络应用协议,实现设备控制和状态上报,MQTT 是一个轻量的发布订阅模式消息传输协议,专门针对低带宽和不稳定网络环境的物联网应用设计。
tuya_SDK 封装了 MQTT 协议层实现,以功能点(以下称为 dp 点)的形式呈现,支持数值型、布尔型、枚举型、字符串型、故障型,RAW 型数据,像定义 C 变量一样简单。
开发者需要根据设备功能在涂鸦开发者平台创建对应的功能点。
特点
函数原型
VOID dev_obj_dp_cb(IN CONST TY_RECV_OBJ_DP_S *dp)。
功能说明
OBJ 功能点信息命令回调。
参数说明
参数名称 | 说明 | 参数类型 | 是否必选 | 备注 |
---|---|---|---|---|
dp | TY_RECV_OBJ_DP_S 中包含: 1)dp 命令类型。 2)dp 点控制的设备id。 3)当dtt_tp 为多播时,则mb_id 群组id。 4)功能点结构体数组长度。 5)功能点结构体数组。 参见 tuya_cloud_com_defs.h | TY_RECV_OBJ_DP_S* | 是 | 开发者重点处理功能点结构体数组。功能点在涂鸦平台上有定义。 |
返回值
返回值 | 说明 |
---|---|
无 | 无返回值 |
错误码 | 失败返回错误码 |
函数原型
VOID dev_raw_dp_cb(IN CONST TY_RECV_RAW_DP_S *dp);
功能说明
透传类功能点信息命令回调。
参数说明
参数名称 | 说明 | 参数类型 | 是否必选 | 备注 |
---|---|---|---|---|
dp | 该结构体中包含: 1)dp 命令类型。 2)dp 点控制的设备id。 3)当dtt_tp 为多播时,则mb_id 群组id。 4)透传数据字节个数。 5)透传数据。 参见 tuya_cloud_com_defs.h | TY_RECV_RAW_DP_S* | 是 |
返回值
返回值 | 说明 |
---|---|
VOID | 无返回值 |
函数原型
VOID dev_dp_query_cb(IN CONST TY_DP_QUERY_S *dp_qry);
功能说明
设备特定数据查询入口。可选实现。
参数说明
参数名称 | 说明 | 参数类型 | 是否必选 | 备注 |
---|---|---|---|---|
dp_qry | TY_DP_QUERY_S* | 是 |
返回值
返回值 | 说明 |
---|---|
VOID | 无返回值 |
函数原型
OPERATE_RET dev_report_dp_json_async(IN CONST CHAR_T *dev_id, IN CONST TY_OBJ_DP_S *dp_data,IN CONST UINT_T cnt);
功能说明
异步方式,上报功能点信息。
参数说明
参数名称 | 说明 | 参数类型 | 是否必选 | 备注 |
---|---|---|---|---|
dev_id | 设备 id | 字符串 | 是 | 如果是子设备,则该参数为子设备的 id。如果是网关/mcu,则该参数为NULL。 |
dp_data | 功能点数据结构体 | TY_OBJ_DP_S 结构体数组指针 | 是 | |
cnt | dp_data 结构体数组个数 | UINT_T | 是 |
返回值
返回值 | 说明 |
---|---|
OPRT_OK | 操作成功 |
错误码 | 失败返回错误码 |
函数原型
OPERATE_RET dev_report_dp_raw_sync (IN CONST CHAR_T *dev_id, IN CONST BYTE_T dpid, IN CONST BYTE_T *data,IN CONST UINT_T len,
IN CONST UINT_T timeout);
功能说明
设备透传数据同步上报接口,由调用者保障数据上报的可靠性
参数说明
参数名称 | 说明 | 参数类型 | 是否必选 | 备注 |
---|---|---|---|---|
dev_id | 设备 id | 字符串 | 是 | 如果是子设备,则该参数为子设备的 id。如果是网关/mcu,则该参数为NULL。 |
dpid | 功能点id | UINT_T | 是 | |
data | 数据 | BYTE_T * | 是 | |
len | 数据长度 | UINT_T | 是 | |
timeout | 函数柱塞超时时间 | UINT_T | 是 | 单位为秒 |
返回值
返回值 | 说明 |
---|---|
OPRT_OK | 操作成功 |
错误码 | 失败返回错误码 |
函数原型
OPERATE_RET dev_report_dp_stat_sync(IN CONST CHAR_T *dev_id, IN CONST TY_OBJ_DP_S *dp_data, IN CONST UINT_T cnt,
IN CONST UINT_T timeout);
功能说明
设备结构化数据同步上报接口,由调用者保障数据上报的可靠性,通常用于统计类数据的上报。
参数说明
参数名称 | 说明 | 参数类型 | 是否必选 | 备注 |
---|---|---|---|---|
dev_id | 设备 id | 字符串 | 是 | 如果是子设备,则该参数为子设备的 id。如果是网关/mcu,则该参数为NULL。 |
dp_data | 功能点信息结构体数组 | TY_OBJ_DP_S * | 是 | |
cnt | Dp状态数组长度 | UINT_T | 是 | |
timeout | 函数柱塞超时时间 | UINT_T | 是 | 单位为秒 |
返回值
返回值 | 说明 |
---|---|
OPRT_OK | 操作成功 |
错误码 | 失败返回错误码 |
TuyaOS 日志管理支持日志的输出、重定向功能。默认情况下,TuyaOS SDK的日志是输出到标准输出终端的,在需求的时候,可以进行重定向,比如说输出到文件,输出云端等。
函数原型
OPERATE_RET AddOutputTerm(IN CONST CHAR_T *name,IN CONST LOG_OUTPUT term);
功能说明
为 tuya_SDK 日志新增一个输出回调,用于将日志写到文件。
参数说明
参数名称 | 说明 | 参数类型 | 是否必选 | 备注 |
---|---|---|---|---|
name | 日志回调名称。 | 字符串 | 是 | 用于 DelOutputTerm 注销此回调 |
term | LOG_OUTPUT | 回调 | 是 |
返回值
返回值 | 说明 |
---|---|
OPRT_OK | 操作成功 |
错误码 | 失败返回错误码 |
函数原型
VOID DelOutputTerm(IN CONST CHAR_T *name);
功能说明
注销 AddOutputTerm 接口注册的日志回调。
参数说明
参数名称 | 说明 | 参数类型 | 是否必选 | 备注 |
---|---|---|---|---|
name | 日志回调名称。 | 字符串 | 是 | 注销AddOutputTerm接口注册的日志回调 |
返回值 VOID
函数原型
OPERATE_RET SetLogManageAttr(IN CONST LOG_LEVEL curLogLevel);
功能说明
设置日志等级。
参数说明
参数名称 | 说明 | 参数类型 | 是否必选 | 备注 |
---|---|---|---|---|
curLogLevel | 日志等级 | UINT | 是 | 参考 uni_log.h 说明 |
返回值
返回值 | 说明 |
---|---|
OPRT_OK | 操作成功 |
错误码 | 失败返回错误码 |
添加一个系统定时器
函数原型
OPERATE_RET sys_add_timer(IN CONST P_TIMER_FUNC pTimerFunc,
IN CONST PVOID pTimerArg, OUT TIMER_ID *p_timerID);
功能说明
添加一个系统定时器。
参数说明
参数名称 | 说明 | 参数类型 | 是否必选 | 备注 |
---|---|---|---|---|
pTimerFunc | 定时器处理函数 | P_TIMER_FUNC | 是 | 定时器老化调用的回调函数指针。 |
pTimerArg | 定时器处理参数 | PVOID | 是 | 定时器的相关参数,具体类型由回调函数内部决定 |
p_timerID | 定时器ID编号 | TIMER_ID * | 是 | 输出参数,添加成功返回timer id |
返回值
返回值 | 说明 |
---|---|
OPERATE_RET | 错误码信息 |
函数原型
OPERATE_RET sys_stop_timer(IN CONST TIMER_ID timerID));
功能说明
停止一个定时器。
参数说明
参数名称 | 说明 | 参数类型 | 是否必选 | 备注 |
---|---|---|---|---|
timerID | 定时器ID编号 | TIMER_ID * | 是 | 需要停止的定时器timer id |
返回值
返回值 | 说明 |
---|---|
OPERATE_RET | 错误码信息 |
函数原型
BOOL IsThisSysTimerRun(IN CONST TIMER_ID timerID);
功能说明
判断一个定时器是否运行。
参数说明
参数名称 | 说明 | 参数类型 | 是否必选 | 备注 |
---|---|---|---|---|
timerID | 定时器ID编号 | TIMER_ID * | 是 | 需要判断是否运行的定时器timer id |
返回值
返回值 | 说明 |
---|---|
BOOL | 定时是否运行 |
函数原型
OPERATE_RET sys_start_timer(IN CONST TIMER_ID timerID, IN CONST TIME_MS timeCycle, IN CONST TIMER_TYPE timer_type);
功能说明
启动一个定时器。
参数说明
参数名称 | 说明 | 参数类型 | 是否必选 | 备注 |
---|---|---|---|---|
timerID | 定时器ID编号 | TIMER_ID * | 是 | 需要判断是否运行的定时器timer id |
timeCycle | 定时周期 | TIME_MS | 是 | 定时的周期,(单位毫秒) |
timer_type | 定时器类型 | TIMER_TYPE | 是 | <1>TIMER_ONCE 单次执行 <2>TIMER_CYCLE 循环执行 |
返回值
返回值 | 说明 |
---|---|
BOOL | 定时是否运行 |
函数原型
OPERATE_RET CreateMsgQueAndInit(OUT MSG_QUE_HANDLE *pMsgQueHandle);
功能说明
消息队列创建。
参数说明
参数名称 | 说明 | 参数类型 | 是否必选 | 备注 |
---|---|---|---|---|
pMsgQueHandle | 消息管理结构句柄 | MSG_QUE_HANDLE * | 是 | 输出参数,创建成功返回句柄 |
返回值
返回值 | 说明 |
---|---|
OPERATE_RET | 错误码信息 |
函数原型
OPERATE_RET AddMsgNodeToQueue(IN CONST MSG_QUE_HANDLE msgQueHandle, IN CONST MSG_ID msgID, IN CONST P_MSG_DATA pMsgData,IN CONST MSG_DATA_LEN msgDataLen, IN CONST MSG_TYPE msgType);
功能说明
消息队列创建。
参数说明
参数名称 | 说明 | 参数类型 | 是否必选 | 备注 |
---|---|---|---|---|
pMsgQueHandle | 消息管理结构句柄 | MSG_QUE_HANDLE | 是 | 创建成功返回的句柄 |
msgID | 消息ID | MSG_ID | 是 | |
pMsgData | 消息数据 | P_MSG_DATA | 是 | |
msgDataLen | 消息数据长度 | MSG_DATA_LEN | 是 | |
msgType | 消息类型 | MSG_TYPE | 是 |
返回值
返回值 | 说明 |
---|---|
OPERATE_RET | 错误码信息 |
函数原型
OPERATE_RET GetMsgNodeFromQueue(IN CONST MSG_QUE_HANDLE msgQueHandle, IN CONST MSG_ID msgID, OUT P_MSG_LIST *ppMsgListNode);
功能说明
获取指定ID的消息节点。
参数说明
参数名称 | 说明 | 参数类型 | 是否必选 | 备注 |
---|---|---|---|---|
pMsgQueHandle | 消息管理结构句柄 | MSG_QUE_HANDLE | 是 | 创建成功返回的句柄 |
msgID | 消息ID | MSG_ID | 是 | |
pMsgListNode | 消息节点 | P_MSG_LIST * | 是 | 输出参数,获取到的消息节点 |
返回值
返回值 | 说明 |
---|---|
OPERATE_RET | 错误码信息 |
函数原型
OPERATE_RET GetFirstMsgFromQueue(IN CONST MSG_QUE_HANDLE msgQueHandle, OUT P_MSG_LIST *ppMsgListNode);
功能说明
获取首先入链的消息节点。
参数说明
参数名称 | 说明 | 参数类型 | 是否必选 | 备注 |
---|---|---|---|---|
pMsgQueHandle | 消息管理结构句柄 | MSG_QUE_HANDLE | 是 | 创建成功返回的句柄 |
pMsgListNode | 消息节点 | P_MSG_LIST * | 是 | 输出参数,获取到的消息节点 |
返回值
返回值 | 说明 |
---|---|
OPERATE_RET | 错误码信息 |
函数原型
OPERATE_RET GetMsgNodeNum(IN CONST MSG_QUE_HANDLE msgQueHandle,OUT PINT pMsgNodeNum);
功能说明
获取链表中的消息节点总数。
参数说明
参数名称 | 说明 | 参数类型 | 是否必选 | 备注 |
---|---|---|---|---|
pMsgQueHandle | 消息管理结构句柄 | MSG_QUE_HANDLE | 是 | 创建成功返回的句柄 |
pMsgNodeNum | 消息节点总数 | PINT | 是 | 输出参数,获取到的消息节点总数 |
返回值
返回值 | 说明 |
---|---|
OPERATE_RET | 错误码信息 |
函数原型
OPERATE_RET DelAndFreeMsgNodeFromQueue(IN CONST MSG_QUE_HANDLE msgQueHandle, IN CONST P_MSG_LIST pMsgListNode);
功能说明
从链中删除消息节点并释放消息节点内存。
参数说明
参数名称 | 说明 | 参数类型 | 是否必选 | 备注 |
---|---|---|---|---|
pMsgQueHandle | 消息管理结构句柄 | MSG_QUE_HANDLE | 是 | 创建成功返回的句柄 |
pMsgListNode | 删除的消息节点 | P_MSG_LIST | 是 | 删除的消息节点 |
返回值
返回值 | 说明 |
---|---|
OPERATE_RET | 错误码信息 |
函数原型
OPERATE_RET ReleaseMsgQue(IN CONST MSG_QUE_HANDLE msgQueHandle);
功能说明
释放消息队列所占用内存。
参数说明
参数名称 | 说明 | 参数类型 | 是否必选 | 备注 |
---|---|---|---|---|
pMsgQueHandle | 消息管理结构句柄 | MSG_QUE_HANDLE | 是 | 创建成功返回的句柄 |
返回值
返回值 | 说明 |
---|---|
OPERATE_RET | 错误码信息 |
函数原型
OPERATE_RET PostMessage(IN CONST MSG_QUE_HANDLE msgQueHandle, IN CONST MSG_ID msgID, IN CONST P_MSG_DATA pMsgData, IN CONST MSG_DATA_LEN msgDataLen);
功能说明
递送一个消息至模块(消息先进先执行)。
参数说明
参数名称 | 说明 | 参数类型 | 是否必选 | 备注 |
---|---|---|---|---|
msgQueHandle | 消息处理句柄 | MSG_QUE_HANDLE | 是 | 创建成功返回的句柄 |
msgID | 消息ID | MSG_ID | 是 | |
pMsgData | 消息数据 | P_MSG_DATA | 是 | |
msgDataLen | 消息数据长度 | MSG_DATA_LEN | 是 |
返回值
返回值 | 说明 |
---|---|
OPERATE_RET | 错误码信息 |
PostInstancyMsg
函数原型
OPERATE_RET PostInstancyMsg(IN CONST MSG_QUE_HANDLE msgQueHandle, IN CONST MSG_ID msgID, IN CONST P_MSG_DATA pMsgData, IN CONST MSG_DATA_LEN msgDataLen);
功能说明
投递紧急消息(消息立刻执行)。
参数说明
参数名称 | 说明 | 参数类型 | 是否必选 | 备注 |
---|---|---|---|---|
msgQueHandle | 消息处理句柄 | MSG_QUE_HANDLE | 是 | 创建成功返回的句柄 |
msgID | 消息ID | MSG_ID | 是 | |
pMsgData | 消息数据 | P_MSG_DATA | 是 | |
msgDataLen | 消息数据长度 | MSG_DATA_LEN | 是 |
返回值
返回值 | 说明 |
---|---|
OPERATE_RET | 错误码信息 |
函数原型
OPERATE_RET WaitMessage(IN CONST MSG_QUE_HANDLE msgQueHandle, OUT P_MSG_LIST *ppMsgListNode);
功能说明
投递紧急消息(消息立刻执行)。WaitMessage成功需调用,消息处理完后需调用DelAndFreeMsgNodeFromQueue释放消息
参数说明
参数名称 | 说明 | 参数类型 | 是否必选 | 备注 |
---|---|---|---|---|
msgQueHandle | 消息处理句柄 | MSG_QUE_HANDLE | 是 | 创建成功返回的句柄 |
ppMsgListNode | 消息节点 | P_MSG_LIST * | 是 | 输出参数,收到的消息节点 |
返回值
返回值 | 说明 |
---|---|
OPERATE_RET | 错误码信息 |
函数原型
OPERATE_RET CreateAndStart(OUT THRD_HANDLE *pThrdHandle, IN CONST P_THRD_FUNC pThrdFunc,
IN CONST PVOID pThrdFuncArg, IN CONST STACK_SIZE stack_size,IN CONST TRD_PRI pri,
IN CONST CHAR *thrd_name);
功能说明
任务创建
参数说明
参数名称 | 说明 | 参数类型 | 是否必选 | 备注 |
---|---|---|---|---|
pThrdHandle | pThrdHandle 任务句柄 | MSG_QUE_HANDLE | 是 | 创建成功返回句柄 |
pThrdFunc | 任务处理函数 | P_THRD_FUNC | 是 | |
pThrdFuncArg | 任务参数 | PVOID | 是 | |
stack_size | 指定任务堆栈大小 | STACK_SIZE | 是 | |
pri | 任务优先级 | TRD_PRI | 是 | |
thrd_name | 任务名称 | CHAR * | 是 |
返回值
返回值 | 说明 |
---|---|
OPERATE_RET | 错误码信息 |
函数原型
OPERATE_RET ThrdJoin(IN CONST THRD_HANDLE thrdHandle, OUT VOID **ppThrdRet);
功能说明
任务创建
参数说明
参数名称 | 说明 | 参数类型 | 是否必选 | 备注 |
---|---|---|---|---|
thrdHandle | pThrdHandle 任务句柄 | MSG_QUE_HANDLE | 是 | 创建成功返回句柄 |
ppThrdRet | 任务退出码 | VOID ** | 是 |
返回值
返回值 | 说明 |
---|---|
OPERATE_RET | 错误码信息 |
TuyaOS 是一款平台无关的端云 SDK,为了实现平台无关系,需要用户对根据其系统的不同,进行底层抽象接口的实现,具体的实现需要参照Tuya_通用_Wi-Fi_SDK 开发环境适配说明。
错误码名称 | 错误码值 |
---|---|
OPRT_OK | (0) |
OPRT_COM_ERROR | (-1) |
OPRT_INVALID_PARM | (-2) |
OPRT_MALLOC_FAILED | (-3) |
OPRT_NOT_SUPPORTED | (-4) |
OPRT_NETWORK_ERROR | (-5) |
OPRT_TIMEOUT | (-6) |
OPRT_FILE_NOT_FIND | (-7) |
OPRT_INIT_MORE_THAN_ONCE | (-8) |
OPRT_INDEX_OUT_OF_BOUND | (-9) |
OPRT_RESOURCE_NOT_READY | (-10) |
OPRT_INIT_MUTEX_ATTR_FAILED | (-101) |
OPRT_SET_MUTEX_ATTR_FAILED | (-102) |
OPRT_DESTROY_MUTEX_ATTR_FAILED | (-103) |
OPRT_INIT_MUTEX_FAILED | (-104) |
OPRT_MUTEX_LOCK_FAILED | (-105) |
OPRT_MUTEX_TRYLOCK_FAILED | (-106) |
OPRT_MUTEX_LOCK_BUSY | (-107) |
OPRT_MUTEX_UNLOCK_FAILED | (-108) |
OPRT_MUTEX_RELEASE_FAILED | (-109) |
OPRT_CR_MUTEX_ERR | (-110) |
OPRT_MEM_PARTITION_EMPTY | (-111) |
OPRT_MEM_PARTITION_FULL | (-112) |
OPRT_MEM_PARTITION_NOT_FOUND | (-113) |
OPRT_DONOT_FOUND_MODULE | (-114) |
OPRT_INIT_SEM_FAILED | (-201) |
OPRT_WAIT_SEM_FAILED | (-202) |
OPRT_POST_SEM_FAILED | (-203) |
OPRT_THRD_STA_UNVALID | (-301) |
OPRT_THRD_CR_FAILED | (-302) |
OPRT_THRD_JOIN_FAILED | (-303) |
OPRT_THRD_SELF_CAN_NOT_JOIN | (-304) |
OPRT_TIMERID_EXIST | (-401) |
OPRT_TIMERID_NOT_FOUND | (-402) |
OPRT_TIMERID_UNVALID | (-403) |
OPRT_GET_IDLE_TIMERID_ERROR | (-404) |
OPRT_MSG_NOT_FOUND | (-501) |
OPRT_MSG_LIST_EMPTY | (-502) |
OPRT_WIFI_SCAN_FAIL | (-601) |
OPRT_WF_MAC_SET_FAIL | (-602) |
OPRT_WF_CONN_FAIL | (-603) |
OPRT_WF_NW_CFG_FAIL | (-604) |
OPRT_WF_AP_SACN_FAIL | (-605) |
OPRT_WF_NOT_FIND_ASS_AP | (-606) |
OPRT_DISCONNECTED_WITH_ROUTER | (-607) |
OPRT_SOCK_ERR | (-701) |
OPRT_SET_SOCK_ERR | (-702) |
OPRT_SOCK_CONN_ERR | (-703) |
OPRT_BUF_NOT_ENOUGH | (-704) |
OPRT_URL_PARAM_OUT_LIMIT | (-705) |
OPRT_HTTP_OS_ERROR | (-706) |
OPRT_HTTP_PR_REQ_ERROR | (-707) |
OPRT_HTTP_SD_REQ_ERROR | (-708) |
OPRT_HTTP_RD_ERROR | (-709) |
OPRT_HTTP_AD_HD_ERROR | (-710) |
OPRT_HTTP_GET_RESP_ERROR | (-711) |
OPRT_HTTP_AES_INIT_ERR | (-712) |
OPRT_HTTP_AES_OPEN_ERR | (-713) |
OPRT_HTTP_AES_SET_KEY_ERR | (-714) |
OPRT_HTTP_AES_ENCRYPT_ERR | (-715) |
OPRT_CR_HTTP_URL_H_ERR | (-716) |
OPRT_HTTPS_HANDLE_FAIL | (-717) |
OPRT_HTTPS_RESP_UNVALID | (-718) |
OPRT_HTTPS_NO_SUPPORT_RANGE | (-719) |
OPRT_HTTPS_NOT_ENCRYPT_RET | (-720) |
OPRT_CR_CJSON_ERR | (-801) |
OPRT_CJSON_PARSE_ERR | (-802) |
OPRT_CJSON_GET_ERR | (-803) |
OPRT_NOT_FOUND | (-901) |
OPRT_DP_ATTR_ILLEGAL | (-902) |
OPRT_DP_TYPE_PROP_ILLEGAL | (-903) |
OPRT_DP_REPORT_CLOUD_ERR | (-904) |
OPRT_NO_NEED_SET_PRODINFO | (-905) |
OPRT_NW_INVALID | (-906) |
OPRT_SELECT_ERR | (-907) |
OPRT_SELECT_TM | (-908) |
OPRT_SEND_ERR | (-909) |
OPRT_DEV_NOT_BIND | (-910) |
OPRT_FW_UG_FAILED | (-911) |
OPRT_VER_FMT_ERR | (-912) |
OPRT_FW_NOT_EXIST | (-913) |
OPRT_SEM_CR_ERR | (-914) |
OPRT_SELECT_TIMEOUT | (-915) |
OPRT_GW_MQ_OFFLILNE | (-916) |
OPRT_NOT_SPT_CLX_DP | (-917) |
OPRT_RECV_ERR | (-918) |
OPRT_UG_PKG_NOT_ENOUGH | (-919) |
OPRT_SCMA_INVALID | (-920) |
OPRT_PRODECT_KEY_NULL | (-921) |
OPRT_DEVICE_VER_NULL | (-922) |
OPRT_MSG_OUT_OF_LMT | (-923) |
OPRT_NOT_FOUND_AUTH_SSID | (-924) |
OPRT_SOCKET_FAULT | (-925) |
OPRT_MQ_PUBLISH_TIMEOUT | (-926) |
OPRT_GW_NOT_EXIST | (-927) |
OPRT_GW_SCHEMA_SIZE_LMT_OUT | (-928) |
OPRT_DEV_DP_CNT_INVALID | (-929) |
OPRT_TOKEN_OVERTIME | (-930) |
OPRT_WF_NW_CFG_RECV_CONTINUE | (-931) |
OPRT_RECV_DA_NOT_ENOUGH | (-932) |
OPRT_SERV_VRFY_FAIL | (-933) |
OPRT_KVS_WR_FAIL | (-934) |
OPRT_KVS_RD_FAIL | (-935) |
OPRT_NO_AUTHENTICATION | (-936) |
OPRT_CMD_OUT_OF_TIME_NOT_EXEC | (-937) |
OPRT_CMD_NOT_EXEC | (-938) |
OPRT_CRC32_FAILED | (-939) |
OPRT_LAN_NO_CLIENT | (-940) |
OPRT_WF_INTF_LACK_REG_CB | (-941) |
OPRT_WF_INTF_NO_REG_CB | (-942) |
OPRT_STORAGE_UPLOAD | (-943) |
OPRT_DP_ID_NOT_FOUND | (-944) |
OPRT_DP_TP_NOT_MATCH | (-945) |
OPRT_DEV_NEED_REGISTER | (-946) |
OPRT_DEV_RESET_FACTORY | (-947) |
OPRT_API_VERSION_WRONG | (-948) |
OPRT_DEV_ALREADY_BIND | (-949) |
OPRT_API_DECODE_FAILED | (-950) |
OPRT_API_TOKEN_EXPIRE | (-951) |
OPRT_NOT_EXISTS | (-952) |
OPRT_DP_ALREADY_PROCESS | (-953) |
OPRT_API_VERIFY_FAILED | (-954) |
OPRT_FILE_IS_FULL | (-999) |
OPRT_WRITE_FILE_FAILED | (-1000) |
OPRT_OPEN_FILE_FAILED | (-1001) |
OPRT_PRINT_LOG_LEVEL_HIGHER | (-1002) |
OPRT_FORMAT_STRING_FAILED | (-1003) |
OPRT_STRING_TOO_LONG | (-1004) |
OPRT_WR_FLASH_ERROR | (-1005) |
OPRT_ROUTER_NOT_FIND | (-1006) |
OPRT_EXCEED_UPPER_LIMIT | (-1007) |
OPRT_SECURITY_VERIFY_NOT_OK | (-1008) |
OPRT_FLASH_NOT_ENOUGH_PAGE | (-1009) |
OPRT_ERASE_FLASH_ERROR | (-1088) |
OPRT_OSS_OPERATION_INIT_FAILED | (-1100) |
OPRT_OSS_OPERATION_UPDATE_FAILED | (-1101) |
OPRT_OSS_OPERATION_UPLOAD_FAILED | (-1102) |
OPRT_MOTION_DETECTION_ALARM_PACK_REPORT_FAILED | (-1103) |
OPRT_TRANSFER_INIT_FAILED | (-1104) |
OPRT_LOG_SEQ_LOCKED | (-1200) |
OPRT_LOG_SEQ_DONT_LOCKED | (-1201) |
OPRT_LOCAL_LINK_IGNORE | (-1300) |
OPRT_LOCAL_LINK_CONTINUE | (-1301) |
OPRT_IMG_PROC_IMG_TYPE | (-1201) |
OPRT_IMG_PROC_IMG_SIZE | (-1202) |
OPRT_IMG_PROC_PTR_NULL | (-1203) |
OPRT_IMG_PROC_ARRAY_SIZE | (-1204) |
OPRT_IMG_PROC_SCALE_SIZE | (-1205) |
OPRT_IMG_PROC_PARA_ERROR | (-1206) |
OPRT_EVENT_STATUS_INVALID | (-2000) |
OPRT_ENCRYPT_KEY_UPDATED | (-2001) |
OPRT_ORDER_EXPIRE | (-2002) |
OPRT_NO_MORE_DATA | (-2003) |
OPRT_CLOUD_STORAGE_OFF | (-2004) |
OPRT_CLOUD_STORAGE_STATUS_INVALID | (-2005) |
OPRT_REMOTE_API_RUN_UNKNOW_FAILED | (-2006) |
OPRT_DEVICE_REMOVED | (-2007) |
OPRT_SIGNATURE_ERROR | (-2008) |
OPRT_DEVICE_NOT_WRONG | (-2009) |
OPRT_WORK_NUM_EXIST | (-2010) |
OPRT_SERVER_NOT_CONNECTED | (-2011) |
OPRT_AUTH_FAIL | (-2012) |
OPRT_LOCAL_AI_FACE_NOT_INIT | (-2013) |
OPRT_LOCAL_AI_FACE_DB_ERROR | (-2014) |
OPRT_WARN_LIVING_CHROMECAST | (148) |
OPRT_WARN_LIVING_ECHOSHOW | (149) |
OPRT_INFO_QUIT_CHROMECAST | (150) |
OPRT_INFO_QUIT_ECHOSHOW | (151) |
MQTT_DEF_ERR | (-3000) |
MQTT_INVALID_PARM | (-3001) |
MQTT_MALLOC_FAILED | (-3002) |
MQTT_DNS_PARSED_FAILED | (-3010) |
MQTT_SOCK_CREAT_FAILED | (-3011) |
MQTT_SOCK_CET_FAILED | (-3012) |
MQTT_TCP_CONNECD_FAILED | (-3013) |
MQTT_TCP_TLS_CONNECD_FAILED | (-3014) |
MQTT_PACK_SEND_FAILED | (-3015) |
MQTT_RECV_DATA_FORMAT_WRONG | (-3016) |
MQTT_RECV_DATA_MSGID_NOT_MATCH | (-3017) |
MQTT_START_TM_MSG_ERR | (-3018) |
MQTT_OVER_MAX_MESSAGE_LEN | (-3019) |
MQTT_PING_SEND_ERR | (-3020) |
该内容对您有帮助吗?
是意见反馈该内容对您有帮助吗?
是意见反馈