SDK 接口说明

更新时间:2022-11-24 09:20:09下载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