涂鸦 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,
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,
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,
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,
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,
NOTIFICATION_NAME_LOW_BATTERY,
NOTIFICATION_NAME_NOUSE,
NOTIFICATION_NAME_COVER,
NOTIFICATION_NAME_FULL_BATTERY,
NOTIFICATION_NAME_USER_IO,
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,
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,
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,
SS_PB_10TIMES = 1,
SS_PB_20TIMES = 3,
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轴方向向下
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;
TUYA_IPC_SDK_MEDIA_STREAM_S media_info;
TUYA_IPC_SDK_NET_S net_info;
TUYA_IPC_SDK_UPGRADE_S upgrade_info;
TUYA_IPC_SDK_DP_S dp_info;
TUYA_IPC_SDK_P2P_S p2p_info;
TUYA_IPC_SDK_LOCAL_STORAGE_S local_storage_info;
TUYA_IPC_SDK_CLOUD_STORAGE_S cloud_storage_info;
TUYA_IPC_SDK_CLOUD_AI_S cloud_ai_detct_info;
TUYA_IPC_SDK_VIDEO_MSG_S video_msg_info;
TUYA_IPC_SDK_ASYNC_START_CB async_start_cb;
TUYA_IPC_SDK_QUICK_START_S quick_start_info;
TUYA_IPC_SDK_EVENT_S event_info;
TUYA_IPC_SDK_DEBUG_S debug_info;
TUYA_IPC_SDK_AES_HW_S aes_hw_info;
}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];
CHAR_T uuid[IPC_UUID_LEN + 1];
CHAR_T auth_key[IPC_AUTH_KEY_LEN + 1];
CHAR_T dev_sw_version[IPC_SW_VER_LEN + 1];
CHAR_T cfg_storage_path[IPC_STORAGE_PATH_LEN + 1];
TUYA_RST_INFORM_CB gw_reset_cb;
TUYA_RESTART_INFORM_CB gw_restart_cb;
}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;
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;
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;
}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;
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;
UINT_T max_p2p_client;
TRANS_DEFAULT_QUALITY_E live_mode;
TRANSFER_EVENT_CB transfer_event_cb; ;
TRANSFER_REV_AUDIO_CB rev_audio_cb;
}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;
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;
CHAR_T qrcode_token[16];
}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;
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;
UINT_T dl_end_time;
UINT_T file_count;
SS_FILE_INFO_S *pFileInfoArr;
} 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;
UINT_Tdp_enum;
CHAR_T *dp_str;
BOOL_T dp_bool;
UINT_T dp_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
OPERATE_RET tuya_ipc_init_sdk(IN CONST TUYA_IPC_ENV_VAR_S *p_var);
功能说明
使用涂鸦SDK时,均需要调用该接口对SDK进行初始操作。
参数说明
参数名称 |
说明 |
p_var |
变量结构体说明见结构体章节 |
返回值
注意事项
需要按照结构体说明实现所有的参数或者回调函数。
tuya_ipc_start_sdk
OPERATE_RET tuya_ipc_start_sdk(IN CONST WIFI_INIT_MODE_E wifi_mode,
IN CONST char *pToken);
功能说明
SDK 启动接口。
参数说明
参数名称 |
说明 |
wifi_mode |
配网模式参数 |
pToken |
配网需要的授权码 |
返回值
tuya_ipc_upgrade_sdk
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 |
上下文 |
返回值
注意事项
需要设备端实现对应的升级接口注册的回调。
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 |