SDK 接口说明

更新时间:2021-08-03 12:35:49LLM 副本以 Markdown 格式查看下载 PDF

涂鸦 IPC SDK 专为 IP 摄像机提供嵌入式软件开发和移动应用交互能力。集成 IPC SDK 后,摄像机能快速配网、进行实时端到端流媒体传输、本地存储与回放视频、云存储、亚马逊 Echo Show 推流、谷歌 Chromecast 推流、云端 AI 等功能。

请在 GitHub 获取 IPC SDK

目录结构

获取到 IPC SDK 并解压后,您可以看到如下目录结构:

 |- tuya_ipc_sdk
 |- build_app.sh
 |- demo_tuya_ipc
 | |- include
 | |- resource
 | |- user
 | |- zlib
 |- docs
 | |- cn
 | |- en
 |- include
 |- libs
 | |- libmbedtls.a
 | |- libtuya_ipc.a
 |- Makefile
 |- output
 |- readme.txt

宏定义

设备信息宏定义

宏定义名 宏定义值 宏定义说明
IPC_STORAGE_PATH_LEN 64 存储路径长度
IPC_PRODUCT_KEY_LEN 16 产品密匙长度
IPC_UUID_LEN 25 Uuid长度
IPC_AUTH_KEY_LEN 32 指定涂鸦SDK使用的auth_key长度
IPC_SW_VER_LEN 20 设备固件版本号长度
IPC_SERIAL_NUM_LEN 32 设备唯一硬件标示号码长度
IPC_FACTORY_ID_LEN 4 厂商ID长度
IPC_P2P_ID_LEN 25 P2P ID长度
NOTIFICATION_MOTION_DETECTION 115 移动侦测 DP 信息
IPC_P2P_ID_LEN (150*1024) 上报内容分辨率最大值

错误码宏定义

参考头文件 tuya_error_code.h

常量宏定义

宏定义名 宏定义值 宏定义说明
ENCRYPT_KEY_LEN 16 存储加密的最大字符串长度
GW_UUID_LEN 25 UUID的最大字符串长度
AUTH_KEY_LEN 32 AUTH_KEY最大字符串长度
PRODUCT_KEY_LEN 16 PRODUCT_KEY最大字符串长度
SW_VER_LEN 10 版本最大字符串长度
GW_ID_LEN 25 GW_ID最大字符串长度
DEV_ID_LEN 25 DEV_ID最大字符串长度
SCHEMA_ID_LEN 16
BIND_TOKEN_LEN 16 BIND_TOKEN最大字符串长度
TOKEN_LEN 8 TOKEN最大字符串长度
REGION_LEN 2 区域长度
REGIST_KEY_LEN 4 注册密匙长度
HTTP_URL_LMT 128 URL字符串最大长度
MQ_URL_LMT 128 MQTT_URL 字符串最大长度
TIME_ZONE_LEN 10 时区字符串最大长度
SUMMER_TM_ZONE_LEN 256 夏令时字符串最大长度
SEC_KEY_LEN 16 安全密钥字符串最大长度
LOCAL_KEY_LEN 16 本地密匙字符串最大长度
WXAPPID_LEN 32 WX app Id 长度
WXUUID_LEN 32 WX uuid 长度
GRP_ID_LEN 5 GRP_ID长度
SCENE_ID_LEN 3 场景id字符串最大长度
LC_GW_SLEEP_HB_LMT_S 12*3600 网关休眠最大时长

组和场景宏定义

宏定义名 宏定义值 宏定义说明
M_SCE_SUCCESS 0 成功
M_SCE_ERR_EXCEED 1 空间不足
M_SCE_ERR_TIMEOUT 2 通讯超时
M_SCE_ERR_PARAM 3 参数超出范围
M_SCE_WRITE_FILE 4 写数据库文件错误
M_SCE_ERR_OTHER 5 其他错误

DP 消息宏定义

宏定义名 宏定义值 宏定义说明
TUYA_DP_SLEEP_MODE 105 休眠,BOOL类型,true休眠,false不休眠
TUYA_DP_LIGHT 101 状态指示灯,BOOL类型,true打开,false关闭
TUYA_DP_FLIP 103 录制画面翻转,BOOL类型,true反转,false正常
TUYA_DP_WATERMARK 104 视频水印,BOOL类型,true打开水印,false关闭水印
TUYA_DP_WDR 107 宽动态范围模式,BOOL类型,true则打开宽动态范围模式,false则关闭宽动态范围
TUYA_DP_NIGHT_MODE 108 红外夜视功能,ENUM类型,0-自动 1-关 2-开
TUYA_DP_CALIBRATION 132 摄像机校准,BOOL类型
TUYA_DP_ALARM_FUNCTION 134 移动侦测报警功能开关,BOOL类型,true打开,false关闭
TUYA_DP_ALARM_SENSITIVITY 106 移动侦测报警灵敏度,ENUM类型,0为低灵敏度,1为中灵敏度,2为高灵敏度
TUYA_DP_SD_STATUS_ONLY_GET 110 SD卡状态,VALUE类型,1-正常,2-异常,3-空间不足,4-正在格式化,5-无SD卡
TUYA_DP_SD_STORAGE_ONLY_GET 109 SD卡容量,STR类型,"总容量
TUYA_DP_SD_RECORD_ENABLE 150 SD卡录像功能使能,BOOL类型,true打开,false关闭
TUYA_DP_SD_RECORD_MODE 151 SD卡录像模式选择,ENUM类型,0-事件录像 1-连续录像
TUYA_DP_SD_UMOUNT 112 退出存储卡,BOOL类型,true为存储卡已退出,false为存储卡未退出
TUYA_DP_SD_FORMAT 111 格式化存储卡,BOOL类型
TUYA_DP_SD_FORMAT_STATUS_ONLY_ GET 117 格式化存储卡状态,VALUE类型,-2000:SD卡正在格式化,-2001:SD卡格式化异常,-2002:无SD卡,-2003:SD卡错误.正数为格式化进度
TUYA_DP_PTZ_CONTROL 119 /云台转动开始,ENUM类型,0-上,1-右上,2-右,3-右下,4-下,5-左下,6-左,7-左上 4.0sdk云台转动开始,ENUM类型,0-右上,1-右,2-右下,3-下,4-左下,5-左,6-左上,7-上
TUYA_DP_PTZ_STOP 116 云台转动停止,BOOL类型
TUYA_DP_PTZ_CHECK 132 云台自检使能开关,0关闭,1开启,默认关闭
TUYA_DP_TRACK_ENABLE 161 移动跟踪使能开关,bool类型,true开启,false不开启
TUYA_DP_HUM_FILTER 170 人型过滤,布尔型,,true开启,false不开启,默认关闭
TUYA_DP_PATROL_SWITCH 174 巡航开关,0:关 ,1:开
TUYA_DP_PATROL_MODE 175 巡航类型模式设置,0:全景巡航 ,1:收藏点巡航
TUYA_DP_PATROL_TMODE 176 巡航时间模式设置,0:全天巡航,1:定时巡航
TUYA_DP_PATROL_TIME 177 巡航时间设置
TUYA_DP_PRESET_SET 178 收藏点操作,string型,type:1 添加,type:2 删除,不同类型跟的数据串不同
TUYA_DP_PATROL_STATE 179 巡航状态查询命令,返回值0:全景巡航 1:收藏点巡航 2:非巡航模式
TUYA_DP_ALARM_ZONE_ENABLE 168 检测区域开关,BOOL类型,true开启,false不开启
TUYA_DP_ALARM_ZONE_DRAW 169 检测区域设置,STR类型,{"num":1, "region0":{"x":30,"y":40,"xlen":50,"ylen":60}}
TUYA_DP_DOOR_BELL 136 门铃呼叫,STR类型,“当前时间戳”
TUYA_DP_BLUB_SWITCH 138 特殊灯光控制开关,BOOL类型,true打开,false关闭
TUYA_DP_SOUND_DETECT 139 分贝检测功能开关,BOOL类型,true打开,false关闭
TUYA_DP_SOUND_SENSITIVITY 140 分贝检测灵敏度,ENUM类型,0代表低灵敏度,1代表高灵敏度
TUYA_DP_SOUND_ALARM 141 分贝报警通道,STR类型,“当前时间戳”
TUYA_DP_TEMPERATURE 142 温度检测,VALUE类型,[0-50]
TUYA_DP_HUMIDITY 143 湿度检测,VALUE类型,[0-100]
TUYA_DP_ELECTRICITY 145 电池电量(百分比),VALUE类型,[0-100]
TUYA_DP_POWERMODE 146 供电方式,ENUM类型,"0"为电池供电状态,"1"为插电供电状态(或电池充电状态)
TUYA_DP_LOWELECTRIC 147 低电告警阈值(百分比),VALUE类型
TUYA_DP_DOOR_STATUS 149 门铃状态通知,BOOL类型,true打开,false关闭
TUYA_DP_MOTION_DETECTION_ALARM 115 移动侦测消息报警
TUYA_DP_DOOR_BELL_SNAP 154 门铃推送截图提示

其他宏定义

宏定义名 宏定义值 宏定义说明
GW_VIRTUAL 0x00 产品没有子设备功能,只有设备功能。例如:SoC或MCU
GW_ENTITY_ATTH_DEV 0x01 产品具有子设备功能和设备功能
GW_ENTITY 0x02 产品只具有子设备功能
GNS_UNVALID 0 设备在LAN和WAN上离线
GNS_LAN_VALID 1 设备在LAN线上,在WAN上离线
GNS_WAN_VALID 2 设备在LAN和WAN线上
EXT_UNAUTH 0 -
EXT_PROD_TEST 1 -
EXT_NORMAL_S 2 -
EXT_GW_UPGRD 3 -
EXT_DEV_UPGRD 4 -
DEV_NM_ATH_SNGL 0 NetLink模组附加单个设备(devid == gwid)
DEV_NM_NOT_ATH_SNGL 1 NetLink模组不附加单个设备(devid == gwid)
DEV_ZB_SNGL 2 Zigbee 单机
DEV_RF433_SNGL 3 rf433单机
DEV_BLE_SNGL 4 BLE 单机
GP_DEV_ZB DEV_ZB_SNGL Zigbee 单机
GP_DEV_RF433 DEV_RF433_SNGL rf433单机
GP_DEV_BLE DEV_BLE_SNGL BLE 单机
GW_ATTACH_ATTR_LMT 4
T_OBJ 0 DP 数据类型为 value、str、enum、bool、bitmap
T_RAW 1 raw type
T_FILE 2 file type
M_RW 0 云端/app能读和写
M_WR 1 云端/app只能写入设备
M_RO 2 云端/app只能从设备读取
PROP_BOOL 0 Bool
PROP_VALUE 1 Value
PROP_STR 2 Str
PROP_ENUM 3 Enum
PROP_BITMAP 4 Bitmap
IPC_CHANNEL_NUM - 支持的设备数
IPC_STREAM_NUM - 每个设备的摄像头数
TUYA_IPC_SKILL_BASIC (1<<0) 本地存储基础能力
TUYA_IPC_SKILL_DOWNLOAD (1<<1) 文件下载
TUYA_IPC_SKILL_SPEED_PLAY_0Point5 (1<<8) 0.5倍回放
TUYA_IPC_SKILL_SPEED_PLAY_2 (1<<9) 2倍回放
TUYA_IPC_SKILL_SPEED_PLAY_4 (1<<10) 4倍回放,暂不支持
TUYA_IPC_SKILL_SPEED_PLAY_8 (1<<11) 8倍回放,暂不支持
TUYA_IPC_SKILL_SPEED_PLAY_16 (1<<12) 16倍回放,暂不支持
TUYA_IPC_SKILL_DELETE_BY_DAY (1<<16) 按天删除录像
TUYA_IPC_SKILL_EVENT_PIC (1<<24) 支持文件封面

枚举定义

视频码率

typedef enum
{
    TUYA_VIDEO_BITRATE_64K   = 64,
    TUYA_VIDEO_BITRATE_128K  = 128,
    TUYA_VIDEO_BITRATE_256K  = 256,
    TUYA_VIDEO_BITRATE_512K  = 512,
    TUYA_VIDEO_BITRATE_768K  = 768,
    TUYA_VIDEO_BITRATE_1M    = 1024,
    TUYA_VIDEO_BITRATE_1_5M  = 1536
}TUYA_VIDEO_BITRATE_E;
枚举名 枚举值 详细描述
TUYA_VIDEO_BITRATE_64K 64 码率为64kbps
TUYA_VIDEO_BITRATE_128K 128 码率为128kbps
TUYA_VIDEO_BITRATE_256K 256 码率为256kbps
TUYA_VIDEO_BITRATE_512K 512 码率为512kbps
TUYA_VIDEO_BITRATE_768K 768 码率为768kbps
TUYA_VIDEO_BITRATE_1M 1024 码率为1024kbps
TUYA_VIDEO_BITRATE_1_5M 1536 码率为1536kbps

音视频编码协议

typedef enum
{
    TUYA_CODEC_VIDEO_MPEG4 = 0,
    TUYA_CODEC_VIDEO_H263,
    TUYA_CODEC_VIDEO_H264,
    TUYA_CODEC_VIDEO_MJPEG,
    TUYA_CODEC_VIDEO_H265,
    TUYA_CODEC_VIDEO_MAX = 99,
    TUYA_CODEC_AUDIO_ADPCM,
    TUYA_CODEC_AUDIO_PCM,
    TUYA_CODEC_AUDIO_AAC_RAW,
    TUYA_CODEC_AUDIO_AAC_ADTS,
    TUYA_CODEC_AUDIO_AAC_LATM,
    TUYA_CODEC_AUDIO_G711U,
    TUYA_CODEC_AUDIO_G711A,
    TUYA_CODEC_AUDIO_G726,
    TUYA_CODEC_AUDIO_SPEEX,
    TUYA_CODEC_AUDIO_MP3,
    TUYA_CODEC_AUDIO_MAX = 199,
    TUYA_CODEC_INVALID
}TUYA_CODEC_ID;
枚举名 枚举值 详细描述
TUYA_CODEC_VIDEO_MPEG4 0 MPEG4
TUYA_CODEC_VIDEO_H263 1 H263协议
TUYA_CODEC_VIDEO_H264 2 H264协议
TUYA_CODEC_VIDEO_MJPEG 3 MJPEG协议
TUYA_CODEC_VIDEO_H265 4 H265协议
TUYA_CODEC_VIDEO_MAX 99 MAX
TUYA_CODEC_AUDIO_ADPCM 100 ADPCM协议
TUYA_CODEC_AUDIO_PCM 101 PCM协议
TUYA_CODEC_AUDIO_AAC_RAW 102 AA_RAW协议
TUYA_CODEC_AUDIO_AAC_ADTS 103 AAC_ADTS协议
TUYA_CODEC_AUDIO_AAC_LATM 104 AAC_LATM协议
TUYA_CODEC_AUDIO_G711U 105 G711U协议
TUYA_CODEC_AUDIO_G711A 106 G711A协议
TUYA_CODEC_AUDIO_G726 107 G726协议
TUYA_CODEC_AUDIO_SPEEX 108 SPEEX协议
TUYA_CODEC_AUDIO_MP3 109 MP3协议
TUYA_CODEC_AUDIO_MAX 199 MAX
TUYA_CODEC_INVALID 200 无效协议

音频采样率

typedef enum
{
    TUYA_AUDIO_SAMPLE_8K     = 8000,
    TUYA_AUDIO_SAMPLE_11K    = 11000,
    TUYA_AUDIO_SAMPLE_12K    = 12000,
    TUYA_AUDIO_SAMPLE_16K    = 16000,
    TUYA_AUDIO_SAMPLE_22K    = 22000,
    TUYA_AUDIO_SAMPLE_24K    = 24000,
    TUYA_AUDIO_SAMPLE_32K    = 32000,
    TUYA_AUDIO_SAMPLE_44K    = 44000,
    TUYA_AUDIO_SAMPLE_48K    = 48000,
    TUYA_AUDIO_SAMPLE_MAX    = 0xFFFFFFFF
}TUYA_AUDIO_SAMPLE_E;
枚举名 枚举值 详细描述
TUYA_AUDIO_SAMPLE_8K 8000 采样率8K
TUYA_AUDIO_SAMPLE_11K 11000 采样率11K
TUYA_AUDIO_SAMPLE_12K 12000 采样率12K
TUYA_AUDIO_SAMPLE_16K 16000 采样率16K
TUYA_AUDIO_SAMPLE_22K 22000 采样率22K
TUYA_AUDIO_SAMPLE_24K 24000 采样率24K
TUYA_AUDIO_SAMPLE_32K 32000 采样率32K
TUYA_AUDIO_SAMPLE_44K 44000 采样率44K
TUYA_AUDIO_SAMPLE_48K 48000 采样率48K
TUYA_AUDIO_SAMPLE_MAX 0xFFFFFFFF 无效值

音频比特率

typedef enum
{
    TUYA_AUDIO_DATABITS_8 = 8,
    TUYA_AUDIO_DATABITS_16 = 16,
    TUYA_AUDIO_DATABITS_MAX = 0xFF
}TUYA_AUDIO_DATABITS_E;
枚举名 枚举值 详细描述
TUYA_AUDIO_DATABITS_8 8 8位
TUYA_AUDIO_DATABITS_16 16 16位
TUYA_AUDIO_DATABITS_MAX 0xFF 255位

音频通道

typedef enum
{
    TUYA_AUDIO_CHANNEL_MONO,
    TUYA_AUDIO_CHANNEL_STERO,
}TUYA_AUDIO_CHANNEL_E;
枚举名 枚举值 详细描述
TUYA_AUDIO_CHANNEL_MONO 0 单声道
TUYA_AUDIO_CHANNEL_STERO 1 立体声

重置类型

typedef enum {
    GW_LOCAL_RESET_FACTORY = 0,
    GW_REMOTE_UNACTIVE,
    GW_LOCAL_UNACTIVE,
    GW_REMOTE_RESET_FACTORY
}GW_RESET_TYPE_E;
枚举名 枚举值 详细描述
GW_LOCAL_RESET_FACTORY 0 本地重置设备
GW_REMOTE_UNACTIVE 1 远程非活动重置
GW_LOCAL_UNACTIVE 2 本地非活动重置
GW_REMOTE_RESET_FACTORY 3 远程重置设备

图像缩放方式

typedef enum{
	  LINEAR,
	  CUBIC,
}IMG_RESIZE_TYPE;
枚举名 枚举值 详细描述
LINEAR 0 线性缩放,速度快,效果差
CUBIC 1 立方卷积,速度慢,效果好

事件状态

typedef enum
{
EVENT_NONE,
EVENT_ONGOING,
EVENT_READY,
EVENT_INVALID
}EVENT_STATUS_E;
枚举名 枚举值 详细描述
EVENT_NONE 0 事件未开始
EVENT_ONGOING 1 事件正在进行中
EVENT_READY 2 事件待进行
EVENT_INVALID 3 无效状态

事件类型

typedef enum
{
EVENT_TYPE_MOTION_DETECT,                     /* 移动侦测 */
EVENT_TYPE_DOOR_BELL,                        /* 门铃按下 */
EVENT_TYPE_DEV_LINK,                            /* IOT设备联动触发 */
EVENT_TYPE_PASSBY,                             /* 正常经过 */
EVENT_TYPE_LINGER,                             /* 异常逗留 */
EVENT_TYPE_LEAVE_MESSAGE,                     /* 留言信息 */
EVENT_TYPE_CALL_ACCEPT,                        /* 门铃接听 */
EVENT_TYPE_CALL_NOT_ACCEPT,                   /* 门铃未接听 */
EVENT_TYPE_CALL_REFUSE,                        /* 门铃拒绝接听 */
EVENT_TYPE_HUMAN_DETECT,                     /* 人形检测 */
EVENT_TYPE_CAT_DETECT,                         /* 宠物检测 */
EVENT_TYPE_CAR_DETECT,                         /* 车辆检测 */
EVENT_TYPE_BABY_CRY,                           /* 婴儿哭声 */
EVENT_TYPE_BANG,                               /* 声音异响 */
EVENT_TYPE_FACE,                               /* 特定图像检测 */
EVENT_TYPE_ANTIBREAK,                          /* 强拆告警 */
EVENT_TYPE_RECORD_ONLY,                       /* 仅开始存储 */
EVENT_TYPE_IO_ALARM,                          /* 本地IO设备触发 */
EVENT_TYPE_INVALID
}CLOUD_STORAGE_EVENT_TYPE_E;
枚举名 枚举值 详细描述
EVENT_TYPE_MOTION_DETECT 0 移动侦测
EVENT_TYPE_DOOR_BELL 1 门铃按下
EVENT_TYPE_DEV_LINK 2 IOT设备联动触发
EVENT_TYPE_PASSBY 3 正常经过
EVENT_TYPE_LINGER 4 异常逗留
EVENT_TYPE_LEAVE_MESSAGE 5 留言信息
EVENT_TYPE_CALL_ACCEPT 6 门铃接听
EVENT_TYPE_CALL_NOT_ACCEPT 7 门铃未接听
EVENT_TYPE_CALL_REFUSE 8 门铃拒绝接听
EVENT_TYPE_HUMAN_DETECT 9 人形检测
EVENT_TYPE_CAT_DETECT 10 宠物检测
EVENT_TYPE_CAR_DETECT 11 车辆检测
EVENT_TYPE_BABY_CRY 12 婴儿哭声
EVENT_TYPE_BANG 13 声音异响
EVENT_TYPE_FACE 14 特定图像检测
EVENT_TYPE_ANTIBREAK 15 强拆告警
EVENT_TYPE_RECORD_ONLY 16 仅开始存储
EVENT_TYPE_IO_ALARM 17 本地IO设备触发
EVENT_TYPE_INVALID 18 枚举上限

存储订单类型

typedef enum
{
CLOUD_STORAGE_TYPE_CONTINUE,
CLOUD_STORAGE_TYPE_EVENT,
CLOUD_STORAGE_TYPE_INVALID
}CLOUD_STORAGE_TYPE_E;
枚举名 枚举值 详细描述
ClOUD_STORAGE_TYPE_CONTINUE 0 连续云存储订单
ClOUD_STORAGE_TYPE_EVENT 1 事件云存储订单
ClOUD_STORAGE_TYPE_INVALID 2 云存储订单无效

Wi-Fi 初始化模式

typedef enum
{
    WIFI_INIT_AUTO,
    WIFI_INIT_AP,
    WIFI_INIT_DEBUG,
    WIFI_INIT_NULL,
    WIFI_INIT_CONCURRENT
}WIFI_INIT_MODE_E;
枚举名 枚举值 详细描述
WIFI_INIT_AUTO 0 自动模式
WIFI_INIT_AP 1 AP模式
WIFI_INIT_DEBUG 2 调试模式
WIFI_INIT_NULL 3 空(无该模式)
WIFI_INIT_CONCURRENT 4 兼容模式

IP从注册状态

typedef enum
{
    E_IPC_UNREGISTERED = 0,
E_IPC_REGISTERED = 1,
E_IPC_ACTIVEATED = 2
}IPC_REGISTER_STATUS;
枚举名 枚举值 详细描述
E_IPC_UNREGISTERED 0 未注册激活状态
E_IPC_REGISTERED 1 中间态
E_IPC_ACTIVEATED 2 已经激活绑定状态,以此为准

网关状态

typedef enum
{
	IPC_GW_UNREGISTERED = 0,
	IPC_GW_REGISTERED,
	IPC_GW_ACTIVED,
	IPC_GW_MQTT_ONLINE,
	IPC_GW_MQTT_OFFLINE,
}IPC_GW_STATUS_E;
枚举名 枚举值 详细描述
IPC_GW_UNREGISTERED 0 网关尚未注册
IPC_GW_REGISTERED 1 网关尚未激活
IPC_GW_ACTIVED 2 网关已经激活
IPC_GW_MQTT_ONLINE 3 网关连接上MQTT
IPC_GW_MQTT_OFFLINE 4 网关从MQTT离线

门铃类型

typedef enum
{
    DOORBELL_NORMAL,    /* 普通门铃,推送图片 */
    DOORBELL_AC,        /* 直供电门铃,推送p2p */
    DOORBELL_TYPE_MAX,
}DOORBELL_TYPE_E;
枚举名 枚举值 详细描述
DOORBELL_NORMAL 0 普通门铃
DOORBELL_AC 1 直供电门铃
DOORBELL_TYPE_MAX 2 最大枚举值

消息格式上传类型

typedef enum{
    NOTIFICATION_CONTENT_MP4 = 0,
    NOTIFICATION_CONTENT_JPEG,
    NOTIFICATION_CONTENT_PNG,
    NOTIFICATION_CONTENT_AUDIO,
    NOTIFICATION_CONTENT_MAX,
} NOTIFICATION_CONTENT_TYPE_E;
枚举名 枚举值 详细描述
NOTIFICATION_CONTENT_MP4 0 视频,.mp4文件
NOTIFICATION_CONTENT_JPEG 1 图片,.jpeg文件
NOTIFICATION_CONTENT_PNG 2 图片,.png文件
NOTIFICATION_CONTENT_AUDIO 3 音频
NOTIFICATION_CONTENT_MAX 4 最大枚举值(不包含4)

通知信息类型

typedef enum
{
    NOTIFICATION_NAME_MOTION,              /* 移动侦测 */
    NOTIFICATION_NAME_DOORBELL,            /* 门铃按下 */
    NOTIFICATION_NAME_DEV_LINK,             /* IOT设备联动触发 */
    NOTIFICATION_NAME_PASSBY,               /* 正常经过 */
    NOTIFICATION_NAME_LINGER,               /* 异常逗留 */
    NOTIFICATION_NAME_MESSAGE,             /* 留言信息 */
    NOTIFICATION_NAME_CALL_ACCEPT,          /* 门铃接听 */
    NOTIFICATION_NAME_CALL_NOT_ACCEPT,     /* 门铃未接听 */
    NOTIFICATION_NAME_CALL_REFUSE,          /* 门铃拒绝接听 */
    NOTIFICATION_NAME_HUMAN,               /* 人形检测 */
    NOTIFICATION_NAME_PCD,                   /* 宠物检测 */
    NOTIFICATION_NAME_CAR,              	   /* 车辆检测 */
    NOTIFICATION_NAME_BABY_CRY,              /* 婴儿哭声 */
    NOTIFICATION_NAME_ABNORMAL_SOUND,     /* 声音异响 */
    NOTIFICATION_NAME_FACE,              	   /* 特定图像检测 */
    NOTIFICATION_NAME_ANTIBREAK,         	   /* 强拆告警 */
    NOTIFICATION_NAME_RECORD_ONLY,     	   /* 占位,无意义 */
    NOTIFICATION_NAME_IO_ALARM,          	   /* 本地IO设备触发 */
    NOTIFICATION_NAME_LOW_BATTERY,          /* 低电量 */
    NOTIFICATION_NAME_NOUSE,            	   /* 忽略 */
    NOTIFICATION_NAME_COVER,            	   /* 封面 */
    NOTIFICATION_NAME_FULL_BATTERY,      	   /* 电量满 */
    NOTIFICATION_NAME_USER_IO,            	   /* 本地IO设备触发-2 */
    NOTIFY_TYPE_MAX
}NOTIFICATION_NAME_E;
枚举名 枚举值 详细描述
NOTIFICATION_NAME_MOTION 0 移动侦测
NOTIFICATION_NAME_DOORBELL 1 门铃按下
NOTIFICATION_NAME_DEV_LINK 2 IOT设备联动触发
NOTIFICATION_NAME_PASSBY 3 正常经过
NOTIFICATION_NAME_LINGER 4 异常逗留
NOTIFICATION_NAME_MESSAGE 5 留言信息
NOTIFICATION_NAME_CALL_ACCEPT 6 门铃接听
NOTIFICATION_NAME_CALL_NOT_ACCEPT 7 门铃未接听
NOTIFICATION_NAME_CALL_REFUSE 8 门铃拒绝接听
NOTIFICATION_NAME_HUMAN 9 人形检测
NOTIFICATION_NAME_PCD 10 宠物检测
NOTIFICATION_NAME_CAR 11 车辆检测
NOTIFICATION_NAME_BABY_CRY, 12 婴儿啼哭
NOTIFICATION_NAME_ABNORMAL_SOUND 13 声音异响
NOTIFICATION_NAME_FACE 14 特定图像检测
NOTIFICATION_NAME_ANTIBREAK 15 强拆警告
NOTIFICATION_NAME_RECORD_ONLY 16 占位,无意义
NOTIFICATION_NAME_IO_ALARM 17 本地IO设备触发
NOTIFICATION_NAME_LOW_BATTERY 18 低电量
NOTIFICATION_NAME_NOUSE 19 忽略
NOTIFICATION_NAME_COVER 20 封面
NOTIFICATION_NAME_FULL_BATTERY 21 电量满
NOTIFICATION_NAME_USER_IO 22 本地IO设备触发-2
NOTIFY_TYPE_MAX 23 枚举上限

告警事件类型

typedef enum
{
    E_ALARM_MOTION           = ALARM_BASE<<0,     /* 移动侦测 */
    E_ALARM_DOORBELL         = ALARM_BASE<<1,     /* 门铃按下 */
    E_ALARM_DEV_LINK          = ALARM_BASE<<2,     /* IOT设备联动触发 */
    E_ALARM_PASSBY            = ALARM_BASE<<3,     /* 正常经过 */
    E_ALARM_LINGER            = ALARM_BASE<<4,     /* 异常逗留 */
    E_ALARM_MSG              = ALARM_BASE<<5,     /* 留言信息 */
    E_ALARM_CONNECTED       = ALARM_BASE<<6,     /* 门铃接听 */
    E_ALARM_UNCONNECTED    = ALARM_BASE<<7,     /* 门铃未接听 */
    E_ALARM_REFUSE            = ALARM_BASE<<8,     /* 门铃拒绝接听 */
    E_ALARM_HUMAN           = ALARM_BASE<<9,,    /* 人形检测 */
    E_ALARM_CAT              = ALARM_BASE<<10,    /* 宠物检测 */
    E_ALARM_CAR              = ALARM_BASE<<11/* 车辆检测 */
    E_ALARM_BABY_CRY         = ALARM_BASE<<12,   /* 婴儿啼哭 */
    E_ALARM_BANG            = ALARM_BASE<<13,    /* 声音异响 */
    E_ALARM_FACE             = ALARM_BASE<<14,    /* 特定图像检测 */
    E_ALARM_ANTIBREAK        = ALARM_BASE<<15,   /* 强拆告警 */
    E_ALARM_RESERVE          = ALARM_BASE<<16,   /* 保留 */
    E_ALARM_IO                = ALARM_BASE<<17,   /* 本地IO设备触发 */
    E_ALARM_LOW_BATTERY     = ALARM_BASE<<18,   /* 低电量 */
    E_ALARM_DOORBELL_PRESS  = ALARM_BASE<<19,   /* 门铃按下 */
    E_ALARM_COVER            = ALARM_BASE<<20,  /* 封面 */
}TUYA_ALARM_TYPE_E;
枚举名 枚举值 详细描述
E_ALARM_MOTION 1<<0 移动侦测
E_ALARM_DOORBELL 1<<1 门铃按下
E_ALARM_DEV_LINK 1<<2 IOT设备联动触发
E_ALARM_PASSBY 1<<3 正常经过
E_ALARM_LINGER 1<<4 异常逗留
E_ALARM_MSG 1<<5 留言信息
E_ALARM_CONNECTED 1<<6 门铃接听
E_ALARM_UNCONNECTED 1<<7 门铃未接听
E_ALARM_REFUSE 1<<8 门铃拒绝接听
E_ALARM_HUMAN 1<<9 人形检测
E_ALARM_CAT 1<<10 宠物检测
E_ALARM_CAR 1<<11 车辆检测
E_ALARM_BABY_CRY 1<<12 婴儿啼哭
E_ALARM_BANG 1<<13 声音异响
E_ALARM_FACE 1<<14 枚举上限
E_ALARM_ANTIBREAK 1<<15 强拆告警
E_ALARM_RESERVE 1<<16 保留
E_ALARM_IO 1<<17 本地IO设备触发
E_ALARM_LOW_BATTERY 1<<18 低电量
E_ALARM_DOORBELL_PRESS 1<<19 门铃按下
E_ALARM_COVER 1<<20 门铃按下

存储事件类型

typedef enum
{
    E_ALARM_SD_STORAGE       = 1,      /* 本地存储 */
    E_ALARM_CLOUD_STORAGE   = 2,      /* 云存储 */
}TUYA_ALARM_STORAGE_TYPE;
枚举名 枚举值 详细描述
E_ALARM_SD_STORAGE 1<<0 本地存储
E_ALARM_CLOUD_STORAGE 1<<1 云存储

码率类型

typedef enum
{
    E_RBUF_TRACK_V_MAIN ,
    E_RBUF_TRACK_V_SUB,
    E_RBUF_TRACK_V_3RD,
    E_RBUF_TRACK_V_4TH,
    E_RBUF_TRACK_V_MAX,
    E_RBUF_TRACK_A ,
    E_RBUF_TRACK_A_2RD ,
    E_RBUF_TRACK_A_3RD ,
    E_RBUF_TRACK_A_4TH ,
    E_RBUF_TRACK_MAX
} RBUF_TRACK_E;
枚举名 枚举值 详细描述
E_RBUF_TRACK_V_MAIN 0 视频主码流
E_RBUF_TRACK_V_SUB 1 视频子码流
E_RBUF_TRACK_V_3RD 2 视频第三码流
E_RBUF_TRACK_V_4TH 3 视频第四码流
E_RBUF_TRACK_V_MAX 4 视频码流最大值
E_RBUF_TRACK_A 5 音频第一码流
E_RBUF_TRACK_A_2RD 6 音频第二码流
E_RBUF_TRACK_A_3RD 7 音频第三码流
E_RBUF_TRACK_A_4TH 8 音频第四码流
E_RBUF_TRACK_MAX 9 音频码流最大值

ring buffer读写类型

typedef enum
{
    E_RBUF_READ,
    E_RBUF_WRITE,
} RBUF_OPEN_TYPE_E;
枚举名 枚举值 详细描述
E_RBUF_READ 0 以读方式打开ringbuffer
E_RBUF_WRITE 1 以写方式打开ringbuffer

直接联网的输入类型

typedef enum{
	TUYA_IPC_DIRECT_CONNECT_QRCODE = 0,
	TUYA_IPC_DIRECT_CONNECT_MAX,
} TUYA_IPC_DIRECT_CONNECT_TYPE_E;
枚举名 枚举值 详细描述
TUYA_IPC_DIRECT_CONNECT_QRCODE 0 二维码配网
TUYA_IPC_DIRECT_CONNECT_MAX 1 -

存储事件类型

typedef enum
{
    SS_EVENT_TYPE_NONE = 0,
    SS_EVENT_TYPE_MD,
    SS_EVENT_TYPE_FACE,
    SS_EVENT_TYPE_BODY,
    SS_EVENT_TYPE_DECIBEl,
    SS_EVENT_TYPE_MAX
}E_STORAGE_EVENT_TYPE;
枚举名 枚举值 详细描述
SS_EVENT_TYPE_NONE 0 -
SS_EVENT_TYPE_MD 1 移动侦测触发的存储
SS_EVENT_TYPE_FACE 2 门铃唤醒触发的存储
SS_EVENT_TYPE_BODY, 3 特定图像检测触发的存储
SS_EVENT_TYPE_DECIBEl 4 分贝检测

SD卡文件录入的方式

typedef enum {
    SS_WRITE_MODE_NONE,
    SS_WRITE_MODE_EVENT,
    SS_WRITE_MODE_ALL,
    SS_WRITE_MODE_MAX
}STREAM_STORAGE_WRITE_MODE_E;
枚举名 枚举值 详细描述
SS_WRITE_MODE_NONE 0 不写入SD卡
SS_WRITE_MODE_EVENT 1 事件发生时写入SD卡
SS_WRITE_MODE_ALL 2 全时写入SD卡
SS_WRITE_MODE_MAX 3 -

清空文件

typedef enum
{
    E_DELETE_NONE,
    E_DELETE_YEAR,
    E_DELETE_MONTH,
    E_DELETE_DAY,
    E_DELETE_EVENT,
    E_DELETE_INVALID,
    E_DELETE_FS_ERROR
}DELETE_LEVEL_E;
枚举名 枚举值 详细描述
E_DELETE_NONE 0 不清空
E_DELETE_YEAR 1 按年清除文件
E_DELETE_MONTH 2 按月清除文件
E_DELETE_DAY 3 按天清除文件
E_DELETE_EVENT 4 按事件清除文件
E_DELETE_INVALID 5 因文件夹正在被读写、被访问、文件夹不存在、空间初始化失败、路径问题导致清除失败。
E_DELETE_FS_ERROR 6 文件系统故障导致删除文件失败的消息,需要上报格式化或重新挂载

存储状态

typedef enum
{
    E_STORAGE_STOP,
    E_STORAGE_START,
    //以下内部状态接口,不能外部直接设置。
    E_STORAGE_ONGOING,
    E_STORAGE_READY_TO_STOP,
    E_STORAGE_RESTART,
    E_STORAGE_INVALID
}STORAGE_STATUS_E;
枚举名 枚举值 详细描述
E_STORAGE_STOP 0 暂停
E_STORAGE_START 1 开始
E_STORAGE_ONGOING 2 正在存储
E_STORAGE_READY_TO_STOP 3 准备暂停
E_STORAGE_RESTART 4 重新开始
E_STORAGE_INVALID 5 无效参数

回放事件

typedef enum
{
    SS_PB_FINISH = 0,
    SS_PB_NEWFILE,
}SS_PB_EVENT_E;
枚举名 枚举值 详细描述
SS_PB_FINISH 0 当前文件播放完毕
SS_PB_NEWFILE 1 找到连续文件,继续播放

帧类型

typedef enum
{
    E_VIDEO_PB_FRAME = 0,
    E_VIDEO_I_FRAME,
    E_VIDEO_TS_FRAME,
    E_AUDIO_FRAME,
    E_MEDIA_FRAME_TYPE_MAX
}MEDIA_FRAME_TYPE_E;
枚举名 枚举值 详细描述
E_VIDEO_PB_FRAME 0 PB帧
E_VIDEO_I_FRAME 1 I帧
E_VIDEO_TS_FRAME 2 TS帧
E_AUDIO_FRAME 3 音频帧
E_MEDIA_FRAME_TYPE_MAX 4 -

回放状态

typedef enum
{
    SS_PB_MUTE,
    SS_PB_UN_MUTE,
    SS_PB_PAUSE,
    SS_PB_RESUME,
}SS_PB_STATUS_E;
枚举名 枚举值 详细描述
SS_PB_MUTE 0 静音
SS_PB_UN_MUTE 1 取消静音
SS_PB_PAUSE 2 暂停
SS_PB_RESUME 3 继续

下载录像状态事件

typedef enum
{
    SS_DL_IDLE,
    SS_DL_START,
    SS_DL_STOP,
    SS_DL_PAUSE,
    SS_DL_RESUME,
    SS_DL_CANCLE,
}SS_DOWNLOAD_STATUS_E;
枚举名 枚举值 详细描述
SS_DL_IDLE 0 下载空闲状态
SS_DL_START 1 开始录像文件下载
SS_DL_STOP 2 弃用,使用cancel
SS_DL_PAUSE 3 暂停录像下载
SS_DL_RESUME 4 重启录像下载-与pause成对使用
SS_DL_CANCLE, 5 取消录像下载

回放速率

typedef enum{
    SS_PB_05TIMES = 0,              // 0.5倍速
    SS_PB_10TIMES = 1,                  // 正常速度
    SS_PB_20TIMES = 3,                  // 2.0倍
    SS_PB_SPEED_MAX = 4
}SS_PB_SPEED_E;
枚举名 枚举值 详细描述
SS_PB_05TIMES 0 0.5倍速
SS_PB_10TIMES 1 正常速度
SS_PB_20TIMES 3 2.0倍
SS_PB_SPEED_MAX 4 枚举最大值

日夜切换模式

typedef enum TY_SYS_DN_MODE_{
    AUTO_MODE = 0,
    DAY_MODE,
    NIGHT_MODE,
}TY_SYS_DN_MODE_E;
枚举名 枚举值 详细描述
AUTO_MODE 0 自动模式
DAY_MODE 1 白天模式
NIGHT_MODE 2 夜视模式

传输事件类型

枚举名 枚举值 详细描述
TRANS_LIVE_VIDEO_START 0 开启视频直播
TRANS_LIVE_VIDEO_STOP 1 停止视频直播
TRANS_LIVE_AUDIO_START 2 开始音频直播
TRANS_LIVE_AUDIO_STOP 3 停止音频直播
TRANS_LIVE_VIDEO_CLARITY_SET 4 配置视频清晰度
TRANS_LIVE_VIDEO_CLARITY_QUERY 5 获取视频清晰度
TRANS_LIVE_LOAD_ADJUST 6 直播网络负载配置(尚不支持)
TRANS_PLAYBACK_LOAD_ADJUST 7 回放网络负载配置(尚不支持)
TRANS_PLAYBACK_QUERY_MONTH_SIMPLIFY 8 回放信息按月查询(回放天数)
TRANS_PLAYBACK_QUERY_DAY_TS 9 回放信息按日查询(文件信息)
TRANS_PLAYBACK_START_TS 10 开始回放
TRANS_PLAYBACK_PAUSE 11 暂停回放
TRANS_PLAYBACK_RESUME 12 继续回放
TRANS_PLAYBACK_MUTE 13 屏蔽回放
TRANS_PLAYBACK_UNMUTE 14 取消回放屏蔽
TRANS_PLAYBACK_STOP 15 停止回放
TRANS_PLAYBACK_SET_SPEED 16 设置回放速度
TRANS_SPEAKER_START 17 开始对讲(APP->IPC)
TRANS_SPEAKER_STOP 18 停止对讲
TRANS_ABILITY_QUERY 19 获取视音频传输能力
TRANS_DOWNLOAD_START 20 开始下载
TRANS_DOWNLOAD_STOP 21 停止下载
TRANS_DOWNLOAD_PAUSE 22 暂停下载
TRANS_DOWNLOAD_RESUME 23 回复下载
TRANS_DOWNLOAD_CANCLE 24 取消下载,已废弃
TRANS_STREAMING_VIDEO_START 100 推流网关开始视频推流
TRANS_STREAMING_VIDEO_STOP 101 推流网关停止视频推流
TRANS_DOWNLOAD_IMAGE 201 下载图像
TRANS_PLAYBACK_DELETE 202 删除本地视频

传输清晰度

枚举名 枚举值 详细描述
TY_VIDEO_CLARITY_STANDARD 0 标准清晰度
TY_VIDEO_CLARITY_HIGH 1 高清晰度

对讲源

枚举名 枚举值 详细描述
TRANSFER_SOURCE_TYPE_P2P 1 P2P源(APP)端
TRANSFER_SOURCE_TYPE_WEBRTC 2 Web源
TRANSFER_SOURCE_TYPE_STREAMER 3 Streamer源

p2p音频能力

枚举名 枚举值 详细描述
TY_CMD_QUERY_IPC_FIXED_ABILITY_TYPE_VIDEO 1 支持视频
TY_CMD_QUERY_IPC_FIXED_ABILITY_TYPE_SPEAKER 2 支持对讲
TY_CMD_QUERY_IPC_FIXED_ABILITY_TYPE_MIC 4 支持音频

p2p连接状态

枚举名 枚举值 详细描述
TY_DEVICE_OFFLINE 0 设备离线
TY_DEVICE_ONLINE 1 设备在线

直播传输视频质量

枚举名 枚举值 详细描述
TRANS_LIVE_QUALITY_MAX 0 最高质量
TRANS_LIVE_QUALITY_HIGH 1 高质量
TRANS_LIVE_QUALITY_MIDDLE 2 中质量
TRANS_LIVE_QUALITY_LOW 3 低质量
TRANS_LIVE_QUALITY_MIN 4 最低质量

默认传输视频质量

枚举名 枚举值 详细描述
TRANS_DEFAULT_STANDARD 0 标准质量
TRANS_DEFAULT_HIGH 1 高质量

结构体

IPC_MEDIA_INFO_S


typedef struct
{
    BOOL_Tchannel_enable[E_CHANNEL_MAX];
    UINT_T video_fps[E_CHANNEL_VIDEO_MAX];
    UINT_T video_gop[E_CHANNEL_VIDEO_MAX];
    TUYA_VIDEO_BITRATE_E video_bitrate[E_CHANNEL_VIDEO_MAX];
    UINT_T video_width[E_CHANNEL_VIDEO_MAX];
    UINT_T video_height[E_CHANNEL_VIDEO_MAX];
    UINT_T video_freq[E_CHANNEL_VIDEO_MAX];
    TUYA_CODEC_ID video_codec[E_CHANNEL_VIDEO_MAX];
    TUYA_CODEC_ID audio_codec[E_CHANNEL_MAX];
    UINT_T audio_fps[E_CHANNEL_MAX];
    TUYA_AUDIO_SAMPLE_E audio_sample[E_CHANNEL_MAX];
    TUYA_AUDIO_DATABITS_E audio_databits[E_CHANNEL_MAX];
    TUYA_AUDIO_CHANNEL_E audio_channel[E_CHANNEL_MAX];
}IPC_MEDIA_INFO_S;
参数名称 详细说明
channel_enable 使能
video_fps 帧率,默认30
video_gop I帧间隔,默认60
video_bitrate 参考TUYA_VIDEO_BITRATE_E
video_width 宽度范围,与视频编码格式SD,HD相关联SD分辨率为1280720以下,HD为19201080到1280*720之间
video_height 高度范围,与视频编码格式SD,HD相关联SD分辨率为1280720以下,HD为19201080到1280*720之间
video_freq 时钟频率,默认值90000;
video_codec 参考TUYA_CODEC_ID
audio_codec 参考TUYA_CODEC_ID
audio_fps 音频帧率范围默认25
audio_sample 参考TUYA_AUDIO_SAMPLE_E
audio_databits 参考TUYA_AUDIO_DATABITS_E
audio_channel 参考TUYA_AUDIO_CHANNEL_E

S_PRESET_PTZ

typedef struct {
    INT_T   pan;
    INT_T   tilt;
    INT_T   zoom;
}S_PRESET_PTZ;
参数名称 详细说明
pan 云台水平位置,驱动层参数没有做范围限制,可以根据自己的需求自定义
tilt 云台垂直位置,驱动层参数没有做范围限制,可以根据自己的需求自定义
zoom 变倍,驱动层参数没有做范围限制,可以根据自己的需求自定义

S_PRESET_POSITION

typedef struct {
    CHAR_T        id;
    CHAR_T        name[32];
    INT_T          mpId;
    S_PRESET_PTZ ptz;
} S_PRESET_POSITION;
参数名称 详细说明
id 每个预置点在服务端的标识
tilt 收藏点名字,支持中文和最多31位字符
zoom 预置点索引ID,建议不要重复
Ptz 云台位置信息

TUYA_MOTION_TRACKING_CFG

typedef struct _TUYA_MOTION_TRACKING_CFG
	{
		INT_T frame_w;
		INT_T frame_h;
		INT_T y_thd;
		INT_T sensitivity;
		TUYA_RECT roi;
		INT_T tracking_enable;
}TUYA_MOTION_TRACKING_CFG;
参数名称 详细说明
frame_w 输入图像的宽
frame_h 输入图像的高
y_thd 移动侦测评判阈值,默认30 低照度可降低调试
sensitivity 移动侦测灵敏度,设置1-7,对应越来越灵敏
roi 移动侦测区域设置,参考tuya_rect
tracking_enable 运动跟踪开关,只移动侦测需要设置0,关闭跟踪,开启运动跟踪:1

TUYA_RECT

	typedef struct _TUYA_RECT
	{
		INT_T x_percent;
		INT_T y_percent;
		INT_T width_percent;
		INT_T height_percent;
	}TUYA_RECT;

注意:roi区域,设置移动侦测roi区域,x_percent,y_percent,width_percent,height_percen为图像的百分比值,范围值都是0-100,计算方式:

  • x_percent=[ x(实际左上角坐标x) / frame_w(图片宽)]*100
  • y_percent=[ y(实际左上角坐标y) / frame_h(图片高)]*100
  • width_percent =[width(roi区域实际宽) / frame_w(图片宽)]*100
  • height_percent =[ height (roi区域实际高) / height_percent(图片高)]*100
  • x_percent+ width_percent的值不允许大于100
  • y_percent+ height_percent的值不允许大于100
参数名称 详细说明
x_percent roi区域左上角坐标,x的百分比值,范围0-100
y_percent roi区域左上角坐标,y的百分比值,范围0-100
width_percent roi区域宽度,width的百分比值,范围0-100
height_percent roi区域高度,height的百分比值,范围0-100

TUYA_POINT

typedef struct _TUYA_POINT
	{
		INT_T x;
		INT_T y;
	}TUYA_POINT;

注:坐标点,运动跟踪返回最大运动目标的坐标值,坐标原点在图片的中心点,x轴方向向右,y轴方向向下
参数名称 详细说明
x 坐标点x
y 坐标点y

TUYA_IMG_RESIZE_PARA

typedef struct _TUYA_IMG_RESIZE_PARA
	{
		INT_T              srcWidth;
		INT_T              srcHeight;
		INT_T              dstWidth;
		INT_T              dstHeight;
		IMG_RESIZE_TYPE    type;
	}TUYA_IMG_RESIZE_PARA;
参数名称 详细说明
srcWidth 源图片宽
srcHeight 源图片高
dstWidth 生成的图片宽
dstHeight 生成的图片高
type 图像缩放方式

TUYA_IPC_ENV_VAR_S

typedef struct
{
CHAR_T                    storage_path[IPC_STORAGE_PATH_LEN + 1];
CHAR_T                    online_log_path[IPC_STORAGE_PATH_LEN + 1];
CHAR_T                    product_key[IPC_PRODUCT_KEY_LEN + 1];
CHAR_T                    uuid[IPC_UUID_LEN + 1];
CHAR_T                    auth_key[IPC_AUTH_KEY_LEN + 1];
CHAR_T                    p2p_id[IPC_P2P_ID_LEN + 1];
CHAR_T                    dev_sw_version[IPC_SW_VER_LEN + 1];
CHAR_T                    dev_serial_num[IPC_SERIAL_NUM_LEN + 1];
DEV_OBJ_DP_CMD_CB        dev_obj_dp_cb;
DEV_DP_QUERY_CB          dev_dp_query_cb;
GW_STATUS_CHANGED_CB    status_changed_cb;
TUYA_IPC_SDK_UPGRADE_S   upgrade_cb_info;
TUYA_RST_INFORM_CB       gw_rst_cb;
TUYA_RESTART_INFORM_CB   gw_restart_cb;
    BOOL_T                   mem_save_mode;
    VOID *p_reserved;
}TUYA_IPC_ENV_VAR_S;
参数名称 详细说明
storage_path 涂鸦SDK内部配置文件存放路径,要求可读写,掉电不丢失
online_log_path 涂鸦SDK内部日志文件存放路径,要求可读写,掉电不丢失
product_key product key
uuid 指定涂鸦SDK使用的UUID,如果为空,那么使用配置文件中预先写入的值
auth_key 指定涂鸦SDK使用的auth_key,如果为空,那么使用配置文件中预先写入的值
p2p_id 指定涂鸦SDK使用的p2p id ,如果用户本地没有,传入空值即可
dev_sw_version 设备固件版本号
dev_serial_num 设备唯一硬件标示号码
dev_obj_dp_cb 涂鸦命令分发函数
dev_dp_query_cb 涂鸦查询分发函数
status_changed_cb 设备状态变更回调函数,可以为NULL
upgrade_cb_info IPC模式下获取固件升级信息回调函数,可以为NULL
gw_rst_cb IPC模式下重置IPC回调函数,可以为NULL
gw_restart_cb IPC模式下重启IPC进程回调函数,可以为NULL
mem_save_mode 低内存模式
p_reserved 预留参数

TUYA_IPC_SDK_RUN_VAR_S

typedef struct
{
	TUYA_IPC_SDK_BASE_S  iot_info;/*sdk base configure information*/
	TUYA_IPC_SDK_MEDIA_STREAM_S media_info;/*audio video configure information*/
	TUYA_IPC_SDK_NET_S net_info;/*net work info*/
	TUYA_IPC_SDK_UPGRADE_S upgrade_info;/*fireware upgrade information*/
	TUYA_IPC_SDK_DP_S dp_info;/*date point information*/
	TUYA_IPC_SDK_P2P_S p2p_info;/*p2p information*/
	TUYA_IPC_SDK_LOCAL_STORAGE_S local_storage_info;/* sd card storage information*/
	TUYA_IPC_SDK_CLOUD_STORAGE_S cloud_storage_info;/*cloud storage information*/
	TUYA_IPC_SDK_CLOUD_AI_S cloud_ai_detct_info; /*ai detcet information*/
	TUYA_IPC_SDK_VIDEO_MSG_S  video_msg_info;/*door bell function information*/
	TUYA_IPC_SDK_ASYNC_START_CB async_start_cb;/* ipc sdk start information callback*/
	TUYA_IPC_SDK_QUICK_START_S  quick_start_info;/*start way for p2p  */
TUYA_IPC_SDK_EVENT_S  event_info;/* event information */
	TUYA_IPC_SDK_DEBUG_S debug_info;/*debug info sets*/
	TUYA_IPC_SDK_AES_HW_S   aes_hw_info; /*aes */
}TUYA_IPC_SDK_RUN_VAR_S;
参数名称 详细说明
iot_info 涂鸦SDK IOT 基本配置。详见结构体:TUYA_IPC_SDK_BASE_S
media_info 涂鸦SDK 音视频信息。详见结构体:TUYA_IPC_SDK_MEDIA_STREAM_S
net_info 涂鸦 SDK 配网相关信息。详见结构体:TUYA_IPC_SDK_NET_S
upgrade_info 涂鸦 OTA 升级注册函数信息。详见结构体:TUYA_IPC_SDK_UPGRADE_S
dp_info 涂鸦DP点注册函数信息。详见结构体:TUYA_IPC_SDK_DP_S
p2p_info 涂鸦P2P信息。详见结构体:TUYA_IPC_SDK_P2P_S
local_storage_info 涂鸦本地存储设置。详见结构体:TUYA_IPC_SDK_LOCAL_STORAGE_S
cloud_storage_info 涂鸦云存储设置信息。详见结构体:TUYA_IPC_SDK_CLOUD_STORAGE_S
cloud_ai_detct_info 涂鸦AI设置信息。详见结构体:TUYA_IPC_SDK_CLOUD_AI_S
video_msg_info 涂鸦门铃留言设置。详见结构体:TUYA_IPC_SDK_VIDEO_MSG_S
async_start_cb 涂鸦设备状态变更回调函数,可以为NULL
quick_start_info 涂鸦优先启动相关功能。比如低功耗时,优先启动P2P.详见结构体:TUYA_IPC_SDK_QUICK_START_S
event_info 涂鸦事件处理。详见结构体:TUYA_IPC_SDK_EVENT_S
debug_info 涂鸦SDK 调试模式设置。详见结构体:TUYA_IPC_SDK_DEBUG_S
aes_hw_info 涂鸦SDK AES加密函数注册。详见结构体:TUYA_IPC_SDK_AES_HW_S

TUYA_IPC_SDK_QUICK_START_S

typedef struct
{
	CHAR_T product_key[IPC_PRODUCT_KEY_LEN + 1]; /* one product key(PID) for one product  */
	CHAR_T uuid[IPC_UUID_LEN + 1]; /* one uuid-authkey pair for one device, to register on TUYA coud */
	CHAR_T auth_key[IPC_AUTH_KEY_LEN + 1];
	CHAR_T dev_sw_version[IPC_SW_VER_LEN + 1]; /* software version with format x1.x2.x3.x4.x5.x6, five dots maximum, zero dots minimum */
	CHAR_T cfg_storage_path[IPC_STORAGE_PATH_LEN + 1];
    TUYA_RST_INFORM_CB gw_reset_cb;/* reset callback fucntion, triggered when user unbind device from a account */
    TUYA_RESTART_INFORM_CB gw_restart_cb;/* restart callback function */
}TUYA_IPC_SDK_BASE_S;
参数名称 详细说明
product_key 涂鸦PID信息
uuid 涂鸦UUID
auth_key 涂鸦authkey
dev_sw_version 设备固件版本号
cfg_storage_path 涂鸦SDK内部配置文件存放路径,要求可读写,掉电不丢失
gw_reset_cb 设备重置回调函数注册
gw_restart_cb 设备重启回调函数注册

TUYA_IPC_SDK_NET_S

typedef struct
{
	WIFI_INIT_MODE_E connect_mode;
	TUYA_IPC_SDK_NET_STATUS_CHANGE_CB net_status_change_cb;

}TUYA_IPC_SDK_NET_S;
参数名称 详细说明
connect_mode 设置配网
net_status_change_cb 设备网络状态变更回调函数

TUYA_IPC_SDK_LOCAL_STORAGE_S

typedef struct
{
	BOOL_T enable; /*enable == false ,other var is invalid*/
	CHAR_T storage_path[IPC_STORAGE_PATH_LEN + 1];
	UINT_T max_event_num_per_day ;
	UINT_T  preview_record_time;
}TUYA_IPC_SDK_LOCAL_STORAGE_S;
参数名称 详细说明
enable 是否开启本地存储
storage_path SD卡挂载路径
max_event_num_per_day 每天存储的最大数量
preview_record_time 预录时间。默认是2秒

TUYA_IPC_SDK_CLOUD_STORAGE_S

typedef struct
{
	BOOL_T enable; /*enable == false ,other var is invalid*/
	UINT_T max_event_per_day;
	UINT_T preview_record_time;
}TUYA_IPC_SDK_CLOUD_STORAGE_S;
参数名称 详细说明
enable 是否开启云存储
max_event_per_day; 每天存储的最大数量
preview_record_time 预录时间。默认是2秒

TUYA_IPC_SDK_CLOUD_AI_S

typedef struct
{
	BOOL_T enable; /*enable == false ,other var is invalid*/
}TUYA_IPC_SDK_CLOUD_AI_S;
参数名称 详细说明
enable 是否开启AI智能功能

TUYA_IPC_SDK_MEDIA_STREAM_S

typedef struct
{
	IPC_MEDIA_INFO_S media_info;

}TUYA_IPC_SDK_MEDIA_STREAM_S;
参数名称 详细说明
media_info 音视频信息设置。详见结构体:IPC_MEDIA_INFO_S

TUYA_IPC_SDK_VIDEO_MSG_S

typedef struct
{
	BOOL_T enable; /*enable == false ,other var is invalid*/
	MESSAGE_E type;
	INT_T msg_duration;
}TUYA_IPC_SDK_VIDEO_MSG_S;
参数名称 详细说明
enable 是否开启留言功能
type 留言类型。详细类型参考枚举型:
MESSAGE_E
msg_duration 留言持续时间

TUYA_IPC_SDK_P2P_S

typedef struct
{
	BOOL_T enable; /*enable == false ,other var is invalid*/
	UINT_T max_p2p_client; /* p2p clinet max connect number*/
    TRANS_DEFAULT_QUALITY_E live_mode;  /* for multi-streaming ipc, the default quality for live preview */
	TRANSFER_EVENT_CB transfer_event_cb; /*transfer event callback*/;
	TRANSFER_REV_AUDIO_CB rev_audio_cb;/*app to dev audio callback*/
}TUYA_IPC_SDK_P2P_S;
参数名称 详细说明
enable 是否开启P2P功能
max_p2p_client P2P 客户端最大连接数
live_mode 分辨率模式设置。详见枚举型:TRANS_DEFAULT_QUALITY_E
transfer_event_cb p2p 回调函数。用户处理P2P回调给业务层的事件
rev_audio_cb 接收APP端的音频数据回调函数

TUYA_IPC_SDK_DP_S

typedef struct
{
	TUYA_IPC_SDK_DP_QUERY dp_query;
	TUYA_IPC_SDK_RAW_DP_CMD_PROC  raw_dp_cmd_proc;
	TUYA_IPC_SDK_COMMON_DP_CMD_PROC common_dp_cmd_proc;
}TUYA_IPC_SDK_DP_S;
参数名称 详细说明
dp_query DP 查询回调函数。SDK通过这个接口查询有哪些 DP
raw_dp_cmd_proc raw型 DP 处理函数。
common_dp_cmd_proc 非raw型 DP 处理函数

TUYA_IPC_SDK_UPGRADE_S

typedef struct
{
	BOOL_T enable;
	TUYA_IPC_SDK_UPGRADE_START upgrade_start;
	TUYA_IPC_SDK_UPGRADE_PROCESS upgrade_process;
	TUYA_IPC_SDK_UPGRADE_END upgrade_end;
TUYA_IPC_SDK_SUB_DEV_UPGRADE_INFORM_CB sub_device_upgrade_cb;

}TUYA_IPC_SDK_UPGRADE_S;
参数名称 详细说明
enable 是否开启开启OTA升级功能
upgrade_start 升级开始回调函数。用于通知用户升级固件大小
upgrade_process; 升级固件下载过程函数。会多出回调。用户需要保存好每次的固件内容。
upgrade_end 升级文件下载结束。用户可以重启设备,然后重启进入升级模式。
sub_device_upgrade_cb 子设备升级回调函数

TUYA_IPC_SDK_QUICK_START_S

typedef struct
{
    BOOL_T enable;
    TUYA_IPC_SDK_STREAM_MODE_E mode;
}TUYA_IPC_SDK_QUICK_START_S;
参数名称 详细说明
enable 是否开启快速启动SDK特定功能。比如P2P 初始化
mode 标识是否是低功耗产品。低功耗产品建议开启快起启动选项。

TUYA_IPC_SDK_EVENT_S

typedef struct
{
    BOOL_T enable; /*enable == false, other var is invalid*/
INT_T max_event;
    INT_T *alarms_of_events;
    INT_T alarms_cnt_per_event;
}TUYA_IPC_SDK_EVENT_S;
参数名称 详细说明
enable 是否开启事件报警功能
max_event 支持的最大数量的event,如视频侦测类的、音频侦测类的、门铃类的,同一类型的按照alarm的优先级上报
alarms_of_events; 支持的event数组,数组中每个元素表示每个event支持的alarm type
alarms_cnt_per_event 每个event支持的最多的同时上报的数量

TUYA_IPC_SDK_AES_HW_S

typedef struct
{
    AES_HW_CBC_FUNC aes_fun;
}TUYA_IPC_SDK_AES_HW_S;
参数名称 详细说明
aes_fun 注册AES加密函数

TUYA_IPC_SDK_DEBUG_S;

typedef struct
{
    INT_T log_level;/*set log level default: error level*/
    CHAR_T qrcode_token[16]; //connect_method !=2 ,qrcode_token invalid
}TUYA_IPC_SDK_DEBUG_S;
参数名称 详细说明
log_level 设置SDK日志等级
qrcode_token 调试token值

TY_INIT_PARAMS_S

typedef struct
{
 	BOOL_T   init_db;
CHAR_T    sys_env[SYS_ENV_LEN];
CHAR_T    log_seq_path[LOG_SEQ_PATH_LEN];
}TY_INIT_PARAMS_S;
参数名称 详细说明
init_db 是否初始化database
sys_env 运行环境
log_seq_path 日志路径

GW_ATTACH_ATTR_T

typedef struct
{
GW_PERMIT_DEV_TP_T tp;
    CHAR_T ver[SW_VER_LEN+1];
}GW_ATTACH_ATTR_T;
参数名称 详细说明
tp 参考GW_PERMIT_DEV_TP_T
ver 软件版本号

DEV_DESC_IF_S

typedef struct
{
    CHAR_T id[DEV_ID_LEN+1];
    CHAR_Tsw_ver[SW_VER_LEN+1];
    CHAR_T schema_id[SCHEMA_ID_LEN+1];
    CHAR_T product_key[PRODUCT_KEY_LEN+1];
    USER_DEV_DTL_DEF_T uddd;
    DEV_TYPE_T tp;
    BOOL_Tbind;
    BOOL_T sync;
    BYTE_T attr_num;
    GW_ATTACH_ATTR_T attr[GW_ATTACH_ATTR_LMT];
}DEV_DESC_IF_S;
参数名称 详细说明
id Device id
sw_ver 软件版本
schema_id schemaID组
product_key 设备密匙
uddd 用户定义类型
tp 设备通信方式
bind 是否链接
sync 是否同步
attr_num 设备通信数量
attr 参考GW_ATTACH_ATTR_T

DP_PROP_VAL_S

typedef struct
{
    INT_T min;
    INT_T max;
    SHORT_T step;
    USHORT_T scale;
    INT_T value;
}DP_PROP_VAL_S;
参数名称 详细说明
min Dp类型最小值
max Dp类型最大值
step -
scale 若没有最大最小值则scale为0
value Dp值

DP_PROP_ENUM_S

typedef struct
{
INT_T cnt;
 	CHAR_T **pp_enum;
 	INT_T value;
}DP_PROP_ENUM_S;
参数名称 详细说明
cnt 获得"range"参数的子数组长度
pp_enum 用于存放数组的连续空间的首地址,数量为cnt
value enum

DP_PROP_STR_S

typedef struct
{
INT_T  max_len;
INT_T  cur_len;
void*  dp_str_mutex;
    CHAR_T *value;
}DP_PROP_STR_S;
参数名称 详细说明
max_len 长度
cur_len 当前分配的长度
value Str

DP_BOOL_S

typedef struct
{
    BOOL_T value;
}DP_BOOL_S;
参数名称 详细说明
value bool

DP_PROP_BITMAP

typedef struct
{
    UINT_T max_len;
    UINT_Tvalue;
}DP_PROP_BITMAP;
参数名称 详细说明
max_len 长度
value Bitmap

TY_RECV_OBJ_DP_S

typedef struct {
    DP_CMD_TYPE_E cmd_tp;
    DP_TRANS_TYPE_T dtt_tp;
    CHAR_T *cid;
    UINT_T dps_cnt;
    TY_OBJ_DP_S dps[0];
}TY_RECV_OBJ_DP_S;
参数名称 详细说明
cmd_tp 0 // cmd from LAN; 1 // cmd from MQTT; 2 // cmd from Local Timer; 3 // cmd from scene linkage;
dtt_tp 0 // unicast 1 // boardcast; 2 // multicast; 3 // scene
cid if(NULL == cid) then then the cid represents gwid
dps_cnt -
dps[0] 参考 TY_OBJ_DP_S

TY_OBJ_DP_S

typedef struct {
    BYTE_T dpid;
    DP_PROP_TP_E type;
    TY_OBJ_DP_VALUE_U value;
    UINT_T time_stamp;
}TY_OBJ_DP_S;
参数名称 详细说明
dpid DP ID
type DP type
value DP value,参考 TY_OBJ_DP_VALUE_U
time_stamp DP happen time. if 0, mean now

TY_DP_QUERY_S

typedef struct {
    CHAR_T *cid;
    UINT_T cnt;
    BYTE_T dpid[0];
}TY_DP_QUERY_S;
参数名称 详细说明
cid if(NULL == cid) then then the cid represents gwid
cnt dpid cnt if(0 == cnt) then query all object dp
dpid[0] dpid

FW_UG_S

typedef struct {
    DEV_TYPE_T tp;
UPGRADE_TYPE_T type;
    CHAR_T fw_url[FW_URL_LEN+1];
    CHAR_T sw_ver[SW_VER_LEN+1];
    UINT_T file_size;
CHAR_T fw_hmac[FW_HMAC_LEN+1];
BOOL_T diff_ota;
}FW_UG_S;
参数名称 详细说明
tp 固件类型:
type 固件升级类型
fw_url 固件下载地址
sw_ver 固件版本
file_size 固件大小
fw_hmac 固件hmac

NOTIFICATION_UNIT_T

typedef struct {
char *data;
INT_T  len;
char secret_key[IPC_AES_ENCRYPT_KEY_LEN + 1];
NOTIFICATION_CONTENT_TYPE_E type;
}NOTI;
参数名称 详细说明
data 音视频数据资源的内存
len 音视频数据大小
secret_key 音视频数据的加密密钥
type 音视频资源的类型

TUYA_ALARM_TEXT_T

typedef struct {
INT_T text_type;
CHAR_T text[MAX_TEXT_LEN];
}TUYA_ALARM_TEXT_T;
参数名称 详细说明
text_type 文字告警类型
text 文字告警信息

TUYA_ALARM_T

typedef struct {
INT_T type;
INT_T wait_for;
INT_T is_notify;
TIME_T trigger_time;
TIME_T upload_time;
BOOL_T valid;
BOOL_T force;
INT_T resource_type;
CHAR_T *extra_data;
CHAR_T *pic_buf;
INT_T pic_size;
TUYA_ALARM_TEXT_T  *context;
INT_T context_cnt;
NOTIFICATION_UNIT_T *media;
INT_T media_cnt;
}TUYA_ALARM_T;
参数名称 详细说明
type 类型,bit位信息
wait_for 0为独立事件,非0为依赖此字段中的type
is_notify 是否上报消息中心
trigger_time 触发时间
upload_time 预期上报时间,0为立即上报,-1为等待到事件结束上报
valid 1为需要处理的,0为已经处理过的。用户需设置为1
force 是否强制上报,与event无关的上报,如封面图
resource_type 下面上报的资源类型
extra_data 额外字段,添加到上报信息中,格式为去掉大括号的json格式,如”aaa”:3,如无写NULL
pic_buf 图片缓存
pic_size 图片大小
context 文字告警的信息,如无写NULL
context_cnt TUYA_ALARM_TEXT_T的数量,若无写0
media 音视频的资源信息,若无写NULL
media_cnt NOTIFICATION_UNIT_T的数量,若无写0

Ring_Buffer_Node_S

typedef struct 
{
    UINT_T index;
    MEDIA_FRAME_TYPE_E type;
    UCHAR_T *rawData;
    UINT_T size;
    UINT64_T pts;
    UINT64_T timestamp;
    UINT_T seqNo;
    UCHAR_T *extraData;
    UINT_T extraSize;
    UINT_T seqSync;
}Ring_Buffer_Node_S;
参数名称 详细说明
index 数组中的下标
type 帧类型
rawData 音视频数据的起始地址
size 音视频数据的大小
pts 编码器的时间戳,单位为微秒
timestamp 放入ringbuffer的时间戳,单位为毫秒
seqNo 结点序号
extraData 用于存储额外的数据
extraSize 额外数据的大小
seqSync 全局序号,用于音视频同步

Ring_Buffer_Init_Param_S

typedef struct
{
    UINT_T bitrate;
    UINT_T fps;
    UINT_T max_buffer_seconds;
    FUNC_REQUEST_KEY_FRAME requestKeyFrameCB;
} Ring_Buffer_Init_Param_S
参数名称 详细说明
bitrate 比特率
fps 帧率
max_buffer_seconds ringbuffer中最大能缓存的秒数
requestKeyFrameCB 请求关键帧的回调函数

TUYA_IPC_STORAGE_VAR_S

typedef struct
{
    CHAR_T base_path[SS_BASE_PATH_LEN];
    IPC_MEDIA_INFO_S media_setting;
    UINT_T max_event_per_day;
    AES_HW_CBC_FUNC aes_func;
    SS_SD_STATUS_CHANGED_CB  sd_status_changed_cb;
    UINT_T  skills;
}TUYA_IPC_STORAGE_VAR_S;

SS_SD_STATUS_CHANGED_CB

typedef OPERATE_RET (*SS_SD_STATUS_CHANGED_CB)(int status);
参数名称 详细说明
status Sd卡状态,见E_SD_STATUS

SS_QUERY_DAY_TS_ARR_S

typedef struct
{
    UINT_T             file_count;
    SS_FILE_TIME_TS_S   file_arr[0];
} SS_QUERY_DAY_TS_ARR_S;
参数名称 详细说明
file_count 当天有多少个回放文件
file_arr 回放文件数组

SS_FILE_TIME_TS_S

typedef struct
{
    UINT_T start_timestamp;
    UINT_T end_timestamp;
} SS_FILE_TIME_TS_S;
参数名称 详细说明
start_timestamp 回放文件开始时间戳(以秒为单位)
end_timestamp 回放文件结束时间戳(以秒为单位)

MEDIA_FRAME_S

typedef struct
{
    MEDIA_FRAME_TYPE_E type;
    BYTE_T    *p_buf;
    UINT_T    size;
    UINT64_T  pts;
    UINT64_T  timestamp;
}MEDIA_FRAME_S;
参数名称 详细说明
type 帧类型,对于视频帧,高8位为空表示H264,非空为H265 。即若(type & 0xff00) >> 8)>0 时为H264,否则为H265。低8位意义,参考MEDIA_FRAME_TYPE_E对于音频帧,参考MEDIA_FRAME_TYPE_E
p_buf 回调数据
size 数据大小
pts 显示时间戳
timestamp 时间戳,单位毫秒

SS_FILE_TIME_TS_S

typedef struct
{
    UINT_T start_timestamp;
    UINT_T end_timestamp;
} SS_FILE_TIME_TS_S;
参数名称 详细说明
start_timestamp 回放文件开始时间戳(以秒为单位)
end_timestamp 回放文件结束时间戳(以秒为单位)

SS_DOWNLOAD_FILES_TS_S

typedef struct
{
    UINT_T dl_start_time;           /* download start time */
    UINT_T dl_end_time;             /* download end time */
    UINT_T file_count;
    SS_FILE_INFO_S *pFileInfoArr;   /* pointer of array of files to download */
} SS_DOWNLOAD_FILES_TS_S;
参数名称 详细说明
dl_start_time 文件下载开始时间(秒)
dl_end_time 文件下载开始时间(秒)
file_count 文件个数
pFileInfoArr 文件数组的指针

TY_SYS_DN_ATTR_S

typedef struct TY_SYS_DN_ATTR_ {
    void    *priv;
    unsigned int        u32lock_time;
    unsigned int        u32trigger_interval;
    unsigned int        u32trigger_times;
    int                 s32day2night_threshold;//白天切换阈值
	int                 s32night2day_threshold;//夜晚切换阈值
	TY_SYS_DN_MODE_E    e32init_mode;
    TY_GET_PERIPHERAL_PARAM_CB  get_peripheral_param_cb;
} TY_SYS_DN_ATTR_S;
参数名称 详细说明
void *priv; 上下文
u32lock_time 1分钟连续5次切换上锁时长,0则不上锁
u32trigger_interval; 场景触发判断时间间隔(单位秒),不为0
u32trigger_times 切换临界场景连续触发次数,不为0
s32day2night_threshold 日转夜阈值
s32night2day_threshold 夜转日阈值
e32init_mode 初始模式(默认为自动模式)
get_peripheral_param_cb 获取底层外设参数回调参数(图像参数或者光敏值)

TUYA_IPC_TRANSFER_VAR_S

typedef struct {
	TRANSFER_ONLINE_CB 			online_cb;
	TRANSFER_REV_AUDIO_CB 		on_rev_audio_cb;
	TUYA_CODEC_ID 				rev_audio_codec;
	TUYA_AUDIO_SAMPLE_E 			audio_sample;
	TUYA_AUDIO_DATABITS_E 		audio_databits;
	TUYA_AUDIO_CHANNEL_E 		audio_channel;
	TRANSFER_EVENT_CB 			on_event_cb;
	TRANS_LIVE_QUALITY_E 			live_quality;
	INT_T 						max_client_num;
	IPC_MEDIA_INFO_S 			AVInfo;
	TRANS_DEFAULT_QUALITY_E 		defLiveMode;
	VOID 						*p_reserved;
}TUYA_IPC_TRANSFER_VAR_S;
参数名称 详细说明
online_cb 空指针做函数指针 P2P状态改变回调函数指针
on_rev_audio_cb 同上 音频接收(APP->IPC)回调函数指针
rev_audio_codec 枚举型 支持的音频编码类型(APP->IPC的音频数据)
audio_sample 枚举型 支持的音频采样频率(APP->IPC的音频数据)
audio_databits 枚举型 支持的音频码率(APP->IPC的音频数据)
audio_channel 枚举型 支持的音频通道类型(APP->IPC的音频数据)
on_event_cb 空指针做函数指针 P2P事件回调函数指针
live_quality 枚举型 支持的直播视频质量
max_client_num Int 最大用户数量
AVInfo IPC_MEDIA_INFO_S结构体 各个通道的多媒体(视音频)信息
defLiveMode 枚举型 多流IPC的默认直播视频质量
p_reserved 空指针 预留参数

TRANSFER_VIDEO_FRAME_S

typedef struct {
	TUYA_CODEC_ID				video_codec;
	TRANSFER_VIDEO_FRAME_TYPE_E	video_frame_type;
	BYTE_T					*p_video_buf;
	UINT_T					buf_len;
	UINT64_T					pts;
	UINT64_T					timestamp;
	VOID						*p_reserved;
}TRANSFER_VIDEO_FRAME_S;
参数名称 详细说明
video_codec 枚举型 视频编码类型
video_frame_type 枚举型 视频帧类型(P帧/I帧)
p_video_buf 字符型指针 视频帧数据首地址
buf_len Uint 视频帧数据长度
pts Unsigned long long 视频帧PTS
timestamp 同上 视频帧时间戳(毫秒)
p_reserved 空指针 预留

TRANSFER_AUDIO_FRAME_S

typedef struct {
TUYA_CODEC_ID				audio_codec;
TUYA_AUDIO_SAMPLE_E			audio_sample;
TUYA_AUDIO_DATABITS_E			audio_databits;
TUYA_AUDIO_CHANNEL_E		audio_channel;
BYTE_T					*p_audio_buf;
UINT_T					buf_len;
UINT64_T					pts;
UINT64_T					timestamp;
VOID 						*p_reserved;
}TRANSFER_AUDIO_FRAME_S;
参数名称 详细说明
audio_codec 枚举型 音频编码类型
audio_sample 枚举型 音频采样频率
audio_databits 枚举型 音频码率
audio_channel 枚举型 音频通道类型
p_audio_buf 字符型指针 音频帧数据首地址
buf_len Uint 音频帧数据长度
pts Unsigned long long 音频帧PTS
timestamp 同上 音频帧时间戳(毫秒)
p_reserved 空指针 预留参数

用户通道信息结构体

在此把仅包含用户号的结构体归为一类。原型以C2C_TRANS_CTRL_AUDIO_START作为例子展示。

结构体原型:

typedef struct tagC2C_TRANS_CTRL_LIVE_AUDIO{
unsigned int					channel;
}C2C_TRANS_CTRL_AUDIO_START, C2C_TRANS_CTRL_AUDIO_STOP;
参数名称 详细说明
channel Uint 收到指令的用户号

此类结构体包括:

C2C_TRANS_CTRL_AUDIO_START
C2C_TRANS_CTRL_AUDIO_STOP
C2C_TRANS_CTRL_PB_STOP
C2C_TRANS_CTRL_PB_PAUSE
C2C_TRANS_CTRL_PB_RESUME
C2C_TRANS_CTRL_PB_MUTE
C2C_TRANS_CTRL_PB_UNMUTE
C2C_TRANS_CTRL_DL_STOP
C2C_TRANS_CTRL_DL_PAUSE
C2C_TRANS_CTRL_DL_RESUME
C2C_TRANS_CTRL_DL_CANCLE

视频传输控制类结构体

在此把视频传输控制类结构体归为一类。

结构体原型:

typedef struct tagC2C_TRANS_CTRL_LIVE_VIDEO{
unsigned int 					channel;
unsigned int 					type;
}C2C_TRANS_CTRL_VIDEO_START, C2C_TRANS_CTRL_VIDEO_STOP;
参数名称 详细说明
channel Uint 收到指令的用户号
type Uint 拉流类型

此类结构体包括:

C2C_TRANS_CTRL_VIDEO_START
C2C_TRANS_CTRL_VIDEO_STOP

传输视频清晰度结构体

结构体原型:

typedef struct
{
TRANSFER_VIDEO_CLARITY_TYPE_E 	clarity;
VOID 						*pReserved;
}C2C_TRANS_LIVE_CLARITY_PARAM_S;
参数名称 详细说明
clarity 枚举型 传输视频清晰度
pReserved 空指针 预留参数

此类结构体包括:

C2C_TRANS_LIVE_CLARITY_PARAM_S

传输网络负载结构体

在此把传输网络负载结构体归为一类。原型以C2C_TRANS_LIVE_LOAD_PARAM_S作为例子展示。

结构体原型:

typedef struct
{
INT_T 						client_index;
INT_T 						curr_load_level;
INT_T 						new_load_level;
VOID 						*pReserved;
}C2C_TRANS_LIVE_LOAD_PARAM_S;
参数名称 详细说明
client_index Int 传输视频清晰度
curr_load_level Int 当前负载等级(0-5)0最好,5最差
new_load_level Int 新的负载等级(0-5)0最好,5最差
pReserved 空指针 预留参数

此类结构体包括:

C2C_TRANS_PB_LOAD_PARAM_S
C2C_TRANS_LIVE_LOAD_PARAM_S

回放查询类结构体(仅日期)

在此把回放查询类结构体(不包含文件信息)归为一类。
原型以C2C_TRANS_QUERY_PB_MONTH_REQ作为例子展示。

结构体原型:

typedef struct tagC2CCmdQueryPlaybackInfoByMonth{
	unsigned int 					channel;
unsigned int 					year;
unsigned int 					month;
unsigned int 					day;
}C2C_TRANS_QUERY_PB_MONTH_REQ, C2C_TRANS_QUERY_PB_MONTH_RESP;
参数名称 详细说明
channel Uint 收到指令的用户号
year Uint 查询年份信息
month Uint 查询月份信息
day Uint 查询日期信息

此类结构体包括:

C2C_TRANS_QUERY_PB_MONTH_REQ
C2C_TRANS_QUERY_PB_MONTH_RESP
C2C_TRANS_QUERY_PB_DAY_REQ
C2C_TRANS_CTRL_PB_DELDATA_BYDAY_REQ

回放查询类结构体(按日查询的回复信息包括文件/事件信息)

结构体原型:

typedef struct tagC2CCmdQueryPlaybackInfoByMonth{
	unsigned int 					channel;
unsigned int 					year;
unsigned int 					month;
unsigned int 					day;
PLAY_BACK_ALARM_INFO_ARR 		*alarm_arr;
}C2C_TRANS_QUERY_PB_MONTH_REQ, C2C_TRANS_QUERY_PB_MONTH_RESP;
参数名称 详细说明
channel Uint 收到指令的用户号
year Uint 查询年份信息
month Uint 查询月份信息
day Uint 查询日期信息
alarm_arr 结构体 当天文件/事件信息

此类结构体包括:

C2C_TRANS_QUERY_PB_DAY_RESP

回放开始信息结构体

结构体原型:

typedef struct tagC2C_TRANS_CTRL_PB_START{
unsigned int 					channel;
PLAYBACK_TIME_S 				time_sect;
UINT_T 					playTime;
}C2C_TRANS_CTRL_PB_START;
参数名称 详细说明
channel Uint 收到指令的用户号
time_sect 结构体 回放段时间信息
playTime Uint 当前回放时间(单位:秒)

此类结构体包括:

C2C_TRANS_CTRL_PB_START

回放速度信息结构体

结构体原型:

typedef struct tagC2C_TRANS_CTRL_PB_SET_SPEED{
unsigned int 					channel;
unsigned int 					speed;
}C2C_TRANS_CTRL_PB_SET_SPEED;
参数名称 详细说明
channel Uint 收到指令的用户号
speed Uint 回放倍速(0.5/1/2倍数)

此类结构体包括:

C2C_TRANS_CTRL_PB_SET_SPEED

音视频传输能力信息结构体

结构体原型:

typedef struct tagC2CCmdQueryFixedAbility{
unsigned int 					channel;
unsigned int 					ability_mask;
}C2C_TRANS_QUERY_FIXED_ABI_REQ, C2C_TRANS_QUERY_FIXED_ABI_RESP;
参数名称 详细说明
channel Uint 收到指令的用户号
ability_mask Uint 音视频能力

此类结构体包括:

C2C_TRANS_QUERY_FIXED_ABI_REQ
C2C_TRANS_QUERY_FIXED_ABI_RESP

开始下载信息结构体

结构体原型:

typedef struct tagC2C_TRANS_CTRL_DL_START{
unsigned int 					channel;
unsigned int 					fileNum;
unsigned int 					downloadStartTime;
unsigned int 					downloadEndTime;
PLAYBACK_TIME_S 				*pFileInfo;
}C2C_TRANS_CTRL_DL_START;
参数名称 详细说明
channel Uint 收到指令的用户号
fileNum Uint 下载文件数量
downloadStartTime Uint 下载文件起始时间,单位秒
downloadEndTime Uint 下载文件结束时间,单位秒
pFileInfo 结构体指针

此类结构体包括:

C2C_TRANS_CTRL_DL_START

下载回放图片信息结构体

结构体原型:

typedef struct tagC2C_TRANS_CTRL_PB_DOWNLOAD_IMAGE_S{
unsigned int 					channel;
PLAYBACK_TIME_S 				time_sect;
Char 						reserved[32];
int 						result;
int 						image_fileLength ;
unsigned char 					*pBuffer;
}C2C_TRANS_CTRL_PB_DOWNLOAD_IMAGE_PARAM_S;
参数名称 详细说明
channel Uint 收到指令的用户号
time_sect 结构体 记录开始下载时间
reserved[32] Char数组 预留参数
result Int 下载结果
image_fileLength Int 储存图片文件长度
*pBuffer Char指针 储存图片文件内容

此类结构体包括:

C2C_TRANS_CTRL_PB_DOWNLOAD_IMAGE_PARAM_S

回放时间结构体PLAYBACK_TIME_S

结构体原型:

typedef struct {
UINT_T 					start_timestamp;
UINT_T 					end_timestamp;
} PLAYBACK_TIME_S;
参数名称 详细说明
start_timestamp Uint 回放开始时间戳
end_timestamp Uint 回放结束时间戳

用户连接信息结构体CLIENT_CONNECT_INFO_S

结构体原型:

typedef struct {
UCHAR_T 					p2p_mode;
UCHAR_T 					local_nat_type;
UCHAR_T 					remote_nat_type;
UCHAR_T 					relay_type;
VOID						*p_reserved;
}CLIENT_CONNECT_INFO_S;
参数名称 详细说明
p2p_mode Uchar P2P模式(0:P2P模式, 1:中继模式, 2:局域网模式, 3:无连接)
local_nat_type Uchar 本地NAT模式
remote_nat_type Uchar 远程NAT模式
relay_type Uchar 中继方式(0:无中继, 1:UDP中继, 2:TCP中继)
p_reserved 空指针 预留参数

回放事件信息结构体PLAY_BACK_ALARM_INFO_ARR

结构体原型:

typedef struct{
unsigned int 					file_count;
	PLAY_BACK_ALARM_FRAGMENT 	file_arr[0];
}PLAY_BACK_ALARM_INFO_ARR;
参数名称 详细说明
file_count Uint 当天文件/事件段数量
file_arr[0] 结构体数值首地址 回放事件段信息

回放事件段信息结构体PLAY_BACK_ALARM_FRAGMENT

结构体原型:

typedef struct tagPLAY_BACK_ALARM_FRAGMENT{
unsigned int 					type;
	PLAYBACK_TIME_S 				time_sect;
}PLAY_BACK_ALARM_FRAGMENT;
参数名称 详细说明
type Uint 事件类型//暂未使用
time_sect 结构体 回放段时间信息

IPC环境变量(已废弃)

typedef struct
{
CHAR_T                    storage_path[IPC_STORAGE_PATH_LEN + 1];
CHAR_T                    product_key[IPC_PRODUCT_KEY_LEN + 1];
CHAR_T                    uuid[IPC_UUID_LEN + 1];
CHAR_T                    auth_key[IPC_AUTH_KEY_LEN + 1];
CHAR_T                    p2p_id[IPC_P2P_ID_LEN + 1];
CHAR_T                    dev_sw_version[IPC_SW_VER_LEN + 1];
CHAR_T                    dev_serial_num[IPC_SERIAL_NUM_LEN + 1];
DEV_OBJ_DP_CMD_CB        dev_obj_dp_cb;
DEV_DP_QUERY_CB          ev_dp_query_cb;
GW_STATUS_CHANGED_CB    status_changed_cb;
GW_UG_INFORM_CB         gw_ug_cb;
TUYA_RST_INFORM_CB       gw_rst_cb;
TUYA_RESTART_INFORM_CB   w_restart_cb;
BOOL_T                   mem_save_mode;
VOID *p_reserved;
}TUYA_IPC_ENV_VAR_S;
参数名称 详细说明
storage_path 涂鸦SDK内部配置文件存放路径,要求可读写,掉电不丢失
product_key product key
uuid 指定涂鸦 SDK 使用的 UUID,如果为空,那么使用配置文件中预先写入的值
auth_key 指定涂鸦 SDK 使用的 auth_key,如果为空,那么使用配置文件中预先写入的值
p2p_id 指定涂鸦SDK使用的 p2p ID,如果用户本地没有,传入空值即可
dev_sw_version 设备固件版本号
dev_serial_num 设备唯一硬件标示号码
dev_obj_dp_cb 涂鸦命令分发函数
dev_dp_query_cb 涂鸦查询分发函数
status_changed_cb 设备状态变更回调函数,可以为NULL
gw_ug_cb IPC模式下获取固件升级信息回调函数,可以为NULL
gw_rst_cb IPC模式下重置IPC回调函数,可以为NULL
gw_restart_cb IPC模式下重启IPC进程回调函数,可以为NULL
mem_save_mode 低内存模式
p_reserved 预留参数

联合类型定义

TY_OBJ_DP_VALUE_U

typedef union {
    INT_T dp_value;             // valid when dp type is value
    UINT_Tdp_enum;             // valid when dp type is enum
    CHAR_T *dp_str;             // valid when dp type is str
    BOOL_T dp_bool;             // valid when dp type is bool
    UINT_T dp_bitmap;           // valid when dp type is bitmap
}TY_OBJ_DP_VALUE_U;
参数名称 详细说明
dp_value 当 DP 类型为整形时生效
dp_enum 当 DP 类型为枚举时生效
dp_str 当 DP 类型为字符串时生效
dp_bool 当 DP 类型为布尔时生效
dp_bitmap 当 DP 类型为位图时生效

函数接口说明

有线配网相关接口

函数定义 说明
hwl_bnw_get_ip IP 获取接口
hwl_bnw_station_conn Station 连接接口
hwl_bnw_set_station_connect 设定 Station 连接
hwl_bnw_get_mac Mac 获取接口
hwl_bnw_set_mac Mac 设置接口

以上接口在Demo的有线配网中已说明。

云端智能检测接口

云端智能业务主要包括云端人形检测功能,设备端不需要做太多的开发任务,只需要通过app购买相关的智能服务,同时进行业务相关的初始化操作即可,需要使用该接口时,应当包含tuya_ipc_ai_detect_storage.h 文件,主要包括以下接口:

函数定义 说明
tuya_ipc_ai_detect_storage_init 云端智能功能初始化
tuya_ipc_ai_detect_storage_exit 云端智能资源释放接口
tuya_ipc_ai_detect_storage_start 开启云端智能检测
tuya_ipc_ai_detect_storage_stop 停止云端智能检测
tuya_ipc_ai_detect_storage_pause 暂停云端智能检测
tuya_ipc_ai_detect_storage_resume 重启云端智能检测

上述接口中除了tuya_ipc_ai_detect_storage_init需要传递参数外,其他都不需要进行参数传递。

tuya_ipc_ai_detect_storage_init

函数原型如下所示:

OPERATE_RET tuya_ipc_ai_detect_storage_init(IPC_MEDIA_INFO_S *media_setting);

参数说明见结构体定义部分。

IPC 通用接口说明

涂鸦IPC SDK多数接口都在tuya_ipc_api.h中,文件中的接口主要有以下接口。

函数定义 说明
tuya_ipc_get_sdk_info 获取SDK版本信息
tuya_ipc_init_sdk SDK初始化接口
tuya_ipc_start_sdk SDK启动接口
tuya_ipc_upgrade_sdk 设备升级接口
tuya_ipc_get_register_status 获取设备注册状态
tuya_ipc_get_service_time 直接获取服务端时间
tuya_ipc_get_service_time_force 获取服务端时间,会强制同一次
tuya_ipc_check_in_dls 检查是否是夏令时
tuya_ipc_get_local_time 获取设备本地时间
tuya_ipc_get_utc_tm 获取年月日时分秒
tuya_ipc_get_utc_time 获取 UTC 时间
tuya_ipc_get_tm_with_timezone_dls 获取带时区的时间
tuya_ipc_dp_report_sync DP 上报同步接口
tuya_ipc_get_wakeup_data 获取唤醒数据
tuya_ipc_get_heartbeat_data 获取心跳数据
tuya_ipc_direct_connect 直接连接MQTT服务
tuya_ipc_get_mqtt_status 获取设备MQTT状态
tuya_ipc_book_wakeup_topic 针对低功耗唤醒消息
tuya_ipc_get_mqtt_socket_fd 获取MQTT连接的fd
tuya_ipc_set_log_attr 设定定向日志参数
tuya_ipc_send_custom_mqtt_msg 发送MQTT消息
tuya_ipc_set_service_time 设定服务器时间
tuya_ipc_notify_motion_detect 推送移动侦测图片
tuya_ipc_notify_door_bell_press 推送普通门铃图片
tuya_ipc_door_bell_press 推送普通&直供电门铃图片
tuya_ipc_notify_with_event 向涂鸦 IoT 和 App 消息中心推送图片
tuya_ipc_upload_skills 设备能力上报
tuya_ipc_fill_skills 设备能力填充
tuya_ipc_upgrade_progress_report 设备升级进度上报

tuya_ipc_init_sdk

/**
 * \fn OPERATE_RET tuya_ipc_init_sdk(IN CONST TUYA_IPC_ENV_VAR_S *p_var)
 * \brief initialize tuya sdk for embeded devices
 * \return OPERATE_RET
 */
OPERATE_RET tuya_ipc_init_sdk(IN CONST TUYA_IPC_ENV_VAR_S *p_var);

功能说明

使用涂鸦SDK时,均需要调用该接口对SDK进行初始操作。

参数说明

参数名称 说明
p_var 变量结构体说明见结构体章节

返回值

返回值 说明
0 OK

注意事项

需要按照结构体说明实现所有的参数或者回调函数。

tuya_ipc_start_sdk

/**
 * \fn OPERATE_RET tuya_ipc_start_sdk(IN CONST TUYA_WIFI_DEV_INFO_S *p_wifi_info)
 * \brief start ipc as WIFI_DEVICE
 * \return OPERATE_RET
 */
OPERATE_RET tuya_ipc_start_sdk(IN CONST WIFI_INIT_MODE_E wifi_mode,
                                IN CONST char *pToken);

功能说明

SDK 启动接口。

参数说明

参数名称 说明
wifi_mode 配网模式参数
pToken 配网需要的授权码

返回值

返回值 说明
0 OK

tuya_ipc_upgrade_sdk

/**
 * \fn OPERATE_RET tuya_ipc_upgrade_sdk(     IN CONST FW_UG_S *fw,\
 *                                     IN CONST GET_FILE_DATA_CB get_file_cb,\
 *                                     IN CONST UPGRADE_NOTIFY_CB upgrd_nofity_cb,\
 *                                     IN PVOID pri_data)
 * \brief OTA, upgrade via TUYA SDK
 * \param[in] fw firmware: infomation
 * \param[in] get_file_cb: callback function during downloading fw
 * \param[in] upgrd_nofity_cb: callback function when downloading fw fininsh
 * \param[in] pri_data: data transferred between callback functions
 * \return OPERATE_RET
 */
OPERATE_RET tuya_ipc_upgrade_sdk(     IN CONST FW_UG_S *fw,\
                                      IN CONST GET_FILE_DATA_CB get_file_cb,\
                                      IN CONST UPGRADE_NOTIFY_CB upgrd_nofity_cb,\
                                      IN PVOID_T pri_data);

功能说明

设备升级接口,在后台配置设备升级后,通过回调该接口实现设备的升级,该接口需要设备端封装后以注册接口的形式注册到SDK中。

参数说明

参数名称 说明
fw 结构体定义见tuya_cloud_com_def.h,包含url、md5、版本、固件大小
get_file_cb 获取的升级文件
upgrd_nofity_cb 升级进度回调接口
pri_data 上下文

返回值

返回值 说明
0 OK

注意事项

需要设备端实现对应的升级接口注册的回调。

Chromecast 相关操作接口

需要接入谷歌 Chromecast 功能,需要包含 tuya_ipc_chromecast.h 文件,其主要接口如下。

函数定义 说明
tuya_ipc_chromecast_init 初始化接口
tuya_ipc_chromecast_deinit 反初始化接口
tuya_ipc_chromecast_stop 停止chromecast出流接口

云存储操作相关接口

云存储相关业务的头文件在 tuya_ipc_cloud_storage.h 中,主要有如下接口:

函数定义 说明
tuya_ipc_cloud_storage_init 云存储初始化接口
tuya_ipc_cloud_storage_uninit 云存储反初始化接口
tuya_ipc_cloud_storage_get_store_mode 获取云存储模式
tuya_ipc_cloud_storage_get_event_status 获取云存储状态
tuya_ipc_cloud_storage_get_event_status_by_id 根据id查询云存储状态
tuya_ipc_cloud_storage_pause 暂停云存储
tuya_ipc_cloud_storage_resume 重启云存储
tuya_ipc_cloud_storage_event_add 添加云存储事件
tuya_ipc_cloud_storage_event_delete 删除云存储事件
tuya_ipc_cloud_storage_event_notify 上报云存储事件类型
tuya_ipc_cloud_storage_set_event_type 修改云存储事件类型
tuya_ipc_cloud_storage_set_pre_record_time 预录云存储时间设置

Echo Show 相关接口

在需要支持 Echo Show 功能时,需要包含 tuya_ipc_echo_show.h 文件,文件提供如下几个重要接口:

函数定义 说明
tuya_ipc_echoshow_init Echo Show初始化接口
tuya_ipc_echoshow_deinit Echo Show反初始化接口
tuya_ipc_echoshow_stop 停止Echo Show功能

图像处理相关接口

涂鸦 SDK 提供了常用图像处理功能接口,需要包含 tuya_ipc_img_proc.h 文件,文件提供如下几个重要接口:

函数定义 说明
Tuya_Ipc_Img_Resize 图像缩放接口
Tuya_Ipc_ImgConvert_yuv4202bgr888 yuv4202格式转换为bgr888
Tuya_Ipc_Img_DrawRect_YUV 在YUV图像上画框
Tuya_Ipc_Img_Get_Rect_YUV 抠图接口
Tuya_Ipc_Img_OSD_ARGB1555 格式转换接口

P2P 业务相关头文件

涂鸦 P2P 拉流操作,需要包含tuya_ipc_p2p.h文件,文件提供如下几个重要接口:

函数定义 说明
tuya_ipc_tranfser_init p2p传输初始化
tuya_ipc_tranfser_close 传输关闭
tuya_ipc_tranfser_quit 传输退出
tuya_ipc_playback_send_video_frame 回放视频帧传输
tuya_ipc_playback_send_audio_frame 回放音频帧传输
tuya_ipc_playback_send_fragment_end 回放帧结束,发送结束帧
tuya_ipc_playback_send_finish 回放结束
tuya_ipc_get_client_conn_info 获取连接信息
tuya_ipc_free_client_conn_info 释放连接信息
tuya_ipc_4_app_download_data app下载预览数据
tuya_ipc_4_app_download_status app下载数据进度
tuya_ipc_tranfser_secret_mode 设置传输加密方式

PTZ 业务相关头文件

涂鸦电机运动收藏点的相关操作,需要包含tuya_ipc_ptz.h文件,文件提供如下几个重要接口:

函数定义 说明
tuya_ipc_preset_add 预设点添加接口
tuya_ipc_preset_del 预设点删除接口
tuya_ipc_preset_get 预设点获取接口
tuya_ipc_preset_add_pic 添加预设点图片

本地存储操作相关接口

本地存储相关业务的头文件在tuya_ipc_stream_storage.h中,主要有如下接口:

函数定义 说明
tuya_ipc_ss_init 本地存储初始化接口
tuya_ipc_ss_uninit 本地存储反初始化接口
tuya_ipc_ss_set_write_mode 设置本地存储模式
tuya_ipc_ss_get_write_mode 获取本地存储模式
tuya_ipc_ss_trigger_event 本地事件存储触发
tuya_ipc_ss_start_event 本地存储启动
tuya_ipc_ss_stop_event 关闭本地启动
tuya_ipc_ss_start_event_by_type 按照类型启动本地存储
tuya_ipc_ss_stop_event_by_type 按照类型停止本地存储
tuya_ipc_ss_set_pre_record_time 设定本地存储预录时间
tuya_ipc_ss_set_max_event_duration 设定本地存储最大时间片段
tuya_ipc_ss_delete_oldest_event 删除最老的事件片段
tuya_ipc_ss_delete_all_files 删除所有的本地存储录像文件
tuya_ipc_ss_get_status 获取本地录像状态值
tuya_ipc_pb_query_by_month 本地存储回放按月查询
tuya_ipc_pb_query_by_day 本地存储回放按天查询
tuya_ipc_pb_query_free_ts_arr 按照ts释放对应的视频
tuya_ipc_ss_pb_set_status 本地回放状态设置
tuya_ipc_ss_pb_stop 停止本地回放
tuya_ipc_ss_pb_seek 按照事件拖动进行回放
tuya_ipc_ss_pb_stop_all 停止所有的回放
tuya_ipc_ss_donwload_pre 下载本地存储预处理

时间类接口定义

函数定义 说明
tuya_ipc_get_service_time 获取与APP相同的服务器时间
tuya_ipc_check_in_dls 校验是否处于夏令时
tuya_ipc_get_local_time 根据utc时间转换成localtime
tuya_ipc_get_utc_tm 获取utc时间
tuya_ipc_set_service_time 设置服务器时间

门铃功能

函数定义 说明
tuya_ipc_notify_door_bell_press 推送门铃按下消息;注1:接口推送消息到消息中心,注2:推送的是消息点 DP 154
tuya_ipc_door_bell_press 推送门铃按下消息到APP和云端;
注意:
  • 此接口不推送消息到消息中心,推送门铃消息使用tuya_ipc_notify_with_event接口
  • 当为普通门铃时推送的是消息点 DP 154,当为直供电门铃时推送的是p2p
tuya_ipc_notify_with_event 向消息中心和APP推送事件消息注:推送的消息点为 DP 185

附录

枚举名(事件类型) 对应输入参数/结构体
TRANS_LIVE_VIDEO_START, C2C_TRANS_CTRL_VIDEO_START
TRANS_LIVE_VIDEO_STOP, C2C_TRANS_CTRL_VIDEO_STOP
TRANS_LIVE_AUDIO_START C2C_TRANS_CTRL_AUDIO_START
TRANS_LIVE_AUDIO_STOP C2C_TRANS_CTRL_AUDIO_STOP
TRANS_LIVE_VIDEO_CLARITY_SET C2C_TRANS_LIVE_CLARITY_PARAM_S
TRANS_LIVE_VIDEO_CLARITY_QUERY 同上
TRANS_LIVE_LOAD_ADJUST C2C_TRANS_LIVE_LOAD_PARAM_S
TRANS_PLAYBACK_LOAD_ADJUST C2C_TRANS_PB_LOAD_PARAM_S
TRANS_PLAYBACK_QUERY_MONTH_SIMPLIFY C2C_TRANS_QUERY_PB_MONTH_REQ
TRANS_PLAYBACK_QUERY_DAY_TS C2C_TRANS_QUERY_PB_DAY_RESP
TRANS_PLAYBACK_START_TS C2C_TRANS_CTRL_PB_START
TRANS_PLAYBACK_PAUSE C2C_TRANS_CTRL_PB_PAUSE
TRANS_PLAYBACK_RESUME C2C_TRANS_CTRL_PB_RESUME
TRANS_PLAYBACK_MUTE C2C_TRANS_CTRL_PB_MUTE
TRANS_PLAYBACK_UNMUTE C2C_TRANS_CTRL_PB_UNMUTE
TRANS_PLAYBACK_STOP C2C_TRANS_CTRL_PB_STOP
TRANS_PLAYBACK_SET_SPEED C2C_TRANS_CTRL_PB_SET_SPEED
TRANS_SPEAKER_START TRANSFER_SOURCE_TYPE_E
TRANS_SPEAKER_STOP 同上
TRANS_ABILITY_QUERY C2C_TRANS_QUERY_FIXED_ABI_REQ
TRANS_DOWNLOAD_START C2C_TRANS_CTRL_DL_START
TRANS_DOWNLOAD_STOP C2C_TRANS_CTRL_DL_STOP
TRANS_DOWNLOAD_PAUSE C2C_TRANS_CTRL_DL_PAUSE
TRANS_DOWNLOAD_RESUME C2C_TRANS_CTRL_DL_RESUME
TRANS_DOWNLOAD_CANCLE C2C_TRANS_CTRL_DL_CANCLE
TRANS_STREAMING_VIDEO_START
TRANS_STREAMING_VIDEO_STOP
TRANS_DOWNLOAD_IMAGE C2C_TRANS_CTRL_PB_DOWNLOAD_IMAGE_PARAM_S
TRANS_PLAYBACK_DELETE C2C_TRANS_CTRL_PB_DELDATA_BYDAY_REQ