|
Tange Cloud for Device
Rev.362 |
API接口用到的数据结构 更多...
结构体 | |
| struct | TCIDEVICEINFO |
| 设备基本信息 更多... | |
| struct | TCISERVICEINFO |
| 云服务信息 更多... | |
| struct | TransStatUser |
| P2P发送统计数据结构 更多... | |
| struct | TciCB |
| sdk 回调函数结构 更多... | |
| struct | Ipv4Addr |
| IPv4 地址表示(网络字节顺序) 更多... | |
| struct | SIMPLEBUFFER |
| Simple Buffer 更多... | |
| struct | paramf_ops |
| 参数文件读写函数据指针结构 更多... | |
| union | TgfDest |
| 用户文件下载目的地. 更多... | |
| struct | DEVICEOTAINFO |
| 设备升级包信息 更多... | |
| struct | TG4GINFO |
| 4G 设备信息 更多... | |
| struct | TgLogConf |
| 日志上传配置 更多... | |
| struct | INCALLINFO |
| 呼叫者信息. 更多... | |
| struct | TRANSMONITOR |
| 传输监测 更多... | |
| struct | CSQADJUSTNOTI |
| 云存质量调整通知. 更多... | |
| struct | SDER |
| 服务端定义的事件上报(Server Defined Event Report), 在 on_status() 回调里通过 STATUS_SDER 通知 更多... | |
| struct | TgUserData |
| 用户自定义数据通知. 更多... | |
| struct | RTMSGHEAD_t |
| 在媒体流中插入的 消息/数据帧 帧头 (for App Developer). 更多... | |
| struct | EVENTPARAM_v0 |
| struct | EVENTPARAM_v1 |
| struct | EVENTPARAM |
| 事件上报参数. 更多... | |
| struct | AiResult |
| AI服务器检测结果 更多... | |
| struct | EcFileLink |
| 自定义文件的下载信息 更多... | |
| struct | EVENTRECORDNOTIFICATION |
| 事件录像通知 更多... | |
| union | TCISERVICEINFO.__unnamed1__ |
| union | INCALLINFO.__unnamed11__ |
| struct | INCALLINFO.__unnamed11__.wx |
| struct | INCALLINFO.__unnamed11__.tg |
类型定义 | |
| typedef void * | p2phandle_t |
| p2p连接句柄. | |
| typedef int(* | TGCMDHANDLER) (p2phandle_t handle, int cmd, const void *data, int len) |
| 命令回调类型 | |
特定事件相关参数 | |
| #define | EVTDATA_SERIOUS_COLLISION (void*)0x01 |
| 仅针对 ECEVENT_COLLISION 事件, 严重碰撞 | |
| #define | EVTDATA_PARKING_COLLISION (void*)0x02 |
| 停车时碰撞 | |
API接口用到的数据结构
| struct TCIDEVICEINFO |
设备基本信息
在文件 TgCloudApi.h 第 139 行定义.
| struct TCISERVICEINFO |
云服务信息
在文件 TgCloudApi.h 第 151 行定义.
| 成员变量 | ||
|---|---|---|
| ECSERVICETYPE | serviceType | 云服务类型 |
| time_t | expiration | 过期时间(utc) |
| union TCISERVICEINFO.__unnamed1__ | __unnamed__ | |
| struct TransStatUser |
P2P发送统计数据结构
在文件 TgCloudApi.h 第 183 行定义.
| struct TciCB |
sdk 回调函数结构
在文件 TgCloudApi.h 第 196 行定义.
| 成员变量 | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| int(*)(TCIDEVICEINFO *info) | get_info | 获取设备基本信息 | ||||||||||
| int(*)(const char *key, char *buf, int size) | get_feature |
设备能力. 参见 设备能力描述
| ||||||||||
| int(*)(const char *key, char *buf, int size) | get_state |
取设备当前状态或初始默认设置.
| ||||||||||
| int(*)(const char *user, const char *key) | on_apmode_login |
直连模式下用户登录帐号检查
| ||||||||||
| int(*)(const char *new_version, unsigned int size) | on_ota_download_start |
OTA升级开始
| ||||||||||
| int(*)(const uint8_t *buff, int size) | on_ota_download_data |
升级包数据 升级包下载过程中,sdk调用此回调将数据传给应用层
| ||||||||||
| int(*)(int status) | on_ota_download_finished |
升级包下载结束
| ||||||||||
| int(*)(void) | qrcode_start |
二维码扫描开始 应用层在此开启取Y数据的通道
| ||||||||||
| int(*)(uint8_t **ppYBuff, int *width, int *height) | qrcode_get_y_data |
获取Y图片
| ||||||||||
| void(*)(uint8_t *pYBuff) | qrcode_end |
结束二维码扫描
| ||||||||||
| int(*)(int type, uint8_t **ppJpg, int *size) | snapshot |
抓取图片. 目前只支持jpeg格式
| ||||||||||
| int(*)(int is_switching, const char *ssid, const char *key) | set_wifi |
设置wifi参数
| ||||||||||
| int(*)(const char *tzs) | set_timezone |
设置时区
| ||||||||||
| int(*)(time_t time) | set_time |
设置时间
| ||||||||||
| int(*)(int status, const void *pData, int len) | on_status |
sdk内部状态
| ||||||||||
| int(*)(void) | on_talkback_start |
开始对讲
| ||||||||||
| int(*)(TCMEDIA at, const uint8_t *audio, int len) | talkback |
对讲数据回调 格式在前面已经协商过
| ||||||||||
| void(*)(void) | on_talkback_stop | 结束对讲 | ||||||||||
| int(*)(int vstream) | request_iframe |
| ||||||||||
| void(*)(int type, const uint8_t *pJpg, int len) | ai_result |
当AI识别成功,通过本回调通知应用. (本回调未使用,设为NULL)
| ||||||||||
| int(*)(int action, char *logfile) | log |
在平台端采集设备日志
| ||||||||||
| int(*)(int channel, int vstream) | request_iframe_ex |
请求指定图像通道的I帧
| ||||||||||
| void(*)(const struct TransStatUser *_stat) | trans_stat | 网络传输统计回调 | ||||||||||
| void(*)(int channel, int stream, const char *qstr) | switch_quality |
切换图像质量
| ||||||||||
| void(*)(int mt, unsigned int ts, const void *data, int len, unsigned int uFrameFlags) | talkback_ex |
对讲数据回调.
| ||||||||||
| struct Ipv4Addr |
IPv4 地址表示(网络字节顺序)
在文件 TgCloudApi.h 第 408 行定义.
| 成员变量 | ||
|---|---|---|
| unsigned int | ip | ip, network byte-order |
| unsigned short | port | port, network byte-order |
| struct SIMPLEBUFFER |
Simple Buffer
在文件 TgCloudApi.h 第 414 行定义.
| 成员变量 | ||
|---|---|---|
| uint8_t * | data | 数据缓冲区指针 |
| int | size | 缓冲区大小 |
| int | len | 数据长度 |
| struct paramf_ops |
参数文件读写函数据指针结构
在文件 TgCloudApi.h 第 421 行定义.
| 成员变量 | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| int(*)(SIMPLEBUFFER *buff, int cbExtra) | alloc_and_readall |
分配缓冲区,并读出参数文件.
| ||||||||
| int(*)(const SIMPLEBUFFER *buff) | save_buff |
写参数文件
| ||||||||
| void(*)(SIMPLEBUFFER *buff) | free_buff | 释放参数缓冲区 | ||||||||
| void(*)(void) | remove | 删除参数文件(或者清空参数文件)。下一次读出时 len为0 | ||||||||
| struct DEVICEOTAINFO |
设备升级包信息
在文件 TgCloudApi.h 第 459 行定义.
| 成员变量 | ||
|---|---|---|
| int | size | 升级包大小 |
| char | ver[16] | 升级包版本 |
| char | md5[36] | md5 检验字符串 |
| char | url[256] | 下载地址 |
| struct TG4GINFO |
4G 设备信息
在文件 TgCloudApi.h 第 467 行定义.
| 成员变量 | ||
|---|---|---|
| char | imei[24] | 4g模块标识 |
| char | iccid[24] | sim卡号 |
| SIMCARDTYPE | sim_type | sim卡类型 |
| struct TgLogConf |
日志上传配置
在文件 TgCloudApi.h 第 474 行定义.
| 成员变量 | ||
|---|---|---|
| time_t | tValidUntil | 0:diabled; >0:在此时间后无效 |
| int | level | 日志等级 |
| int | fModules |
请求特定模块的日志. 因为上传操作是固件主动发行,因此可以忽略或自行解释这个标志.
|
| struct INCALLINFO |
呼叫者信息.
应用通过 on_status() 回调的 STATUS_INCALL2 状态收到本信息。
除 type/user_id/nickname/flavor 外,其它域对应用是透明的
在文件 TgCloudConst.h 第 149 行定义.
| 成员变量 | ||
|---|---|---|
| int | type | 呼叫类型。 CALLTYPE_TANGE 或 CALLTYPE_WEIXIN |
| char * | user_id | 呼叫者ID, 可为NULL |
| char * | nickname | 呼叫者昵称, 可为NULL |
| int | flavor | 主叫请求的通话类型(ECALLFLAVOR)。应用在 TciAcceptInCall2()里传入接受的通话类型. |
| int | state | 0:呼入; 1:用户取消呼叫; 2:超时 |
| union INCALLINFO.__unnamed11__ | __unnamed__ | |
| char | data[1] | |
| struct TRANSMONITOR |
传输监测
在文件 TgCloudConst.h 第 175 行定义.
| 成员变量 | ||
|---|---|---|
| int | sndbuf_waterline |
发送缓冲区占用百分比.
|
| int | channel | |
| int | vstream | |
| struct SDER |
服务端定义的事件上报(Server Defined Event Report), 在 on_status() 回调里通过 STATUS_SDER 通知
在文件 TgCloudConst.h 第 283 行定义.
| 成员变量 | ||
|---|---|---|
| char | event[16] | 事件名。这个值传给 TciUduBegin2() 的evt参数 |
| time_t | t_start | 录像开始时间 |
| int | tLen | 录像长度 |
| int | need_image | 1:上传图片和视频; 2:仅上传图片 |
| struct TgUserData |
| struct RTMSGHEAD_t |
在媒体流中插入的 消息/数据帧 帧头 (for App Developer).
本结构与 FRAMEINFO_t 一样有相同的长度,并用 codec_id来区分结构体内容;extra_len 为结构后的数据长度。
插放器遇到不能识别的 codec_id 时,可以跳过本结构和后面的 extra_len 字节。
设备端调用 TciSendLiveMessage() 或 TciSendPbMessage() 分别在实时流或回放流中插入消息
在文件 TgCloudConst.h 第 306 行定义.
| 成员变量 | ||
|---|---|---|
| unsigned short | codec_id | 0: 标志本结构 |
| unsigned short | type | 消息类型。 RTMTYPE |
| unsigned int | data1 | 消息类型相关数据1 |
| unsigned int | extra_len | Size of frame |
| unsigned int | data2 | 消息类型相关数据2 |
| struct EVENTPARAM_v0 |
在文件 ec_const.h 第 255 行定义.
| 成员变量 | ||
|---|---|---|
| int | cbSize | |
| ECEVENT | event | |
| long int | tHappen | |
| int | status | |
| char * | jpg_pic | |
| unsigned int | pic_len | |
| int | evtp_flags | |
| void * | evt_data | |
| void * | pic_extra | |
| struct EVENTPARAM_v1 |
在文件 ec_const.h 第 267 行定义.
| 成员变量 | ||
|---|---|---|
| int | cbSize | |
| ECEVENT | event | |
| long int | tHappen | |
| int | status | |
| char * | jpg_pic | |
| unsigned int | pic_len | |
| int | evtp_flags | |
| void * | evt_data | |
| void * | pic_extra | |
| const char * | x_event_name | |
| struct EVENTPARAM |
| 成员变量 | ||
|---|---|---|
| int | cbSize | 本结构大小, =sizeof(EVENTPARAM)。调用者要设置此成员。用于以后结构变化 |
| ECEVENT | event | 事件类型. 参数(evt_data)见事件的说明 |
| long int | tHappen | 事件发生时间 |
| int | status | 1:事件开始; 0:事件结束(暂不支持) |
| char * | jpg_pic | 图片指针。没有图片时为NULL |
| unsigned int | pic_len | 图片长度 |
| int | evtp_flags |
事件处理的标志. 0 或 事件参数标志位 的组合 |
| void * | evt_data |
特定事件相关参数. 其值是个预定义常数或json字符串或cJSON对象. 内容会同事件一起上传到平台并记录。
|
| void * | pic_extra | 图片的额外参数, 用于图片处理,不与事件一起记录. 目前用于ai |
| const char * | x_event_name |
[2024/3/25添加] 如果event为 ECEVENT_USER_DEFINED, 这里为自定义事件名. 否则要设为 NULL 自定义名称以 "x:"(普通事件) 或 "xa:"(ai-market下载的扩展ai事件) 开头, 需要在平台先注册. |
| ECEVENT | evtToReplace | [2024/6/7] 要替换的事件的类型 |
| long int | tPrevEvent | [2024/6/7] 要替换的事件的时间戳 |
| struct AiResult |
AI服务器检测结果
在文件 ec_const.h 第 336 行定义.
| 成员变量 | ||
|---|---|---|
| int | id | 序号。一张图片如果有多个ai结果,id从0开始递增 |
| char * | name | 识别结果。NULL则没有识别到对象 |
| void * | jpg_pic | Ai结果对应的图片 |
| int | pic_len | 图片长度 |
| int | dont_release |
调用时为0. 如果应用不希望sdk释放图片空间,可以将这个值设为1. |
| struct EcFileLink |
自定义文件的下载信息
在文件 ec_const.h 第 350 行定义.
| 成员变量 | ||
|---|---|---|
| char | url[256] | 下载地址 |
| int | fsize | 文件大小 |
| unsigned char | md5[16] | md5校验值 |
| struct EVENTRECORDNOTIFICATION |
事件录像通知
在文件 ec_const.h 第 358 行定义.
| 成员变量 | ||
|---|---|---|
| ECEVENT | event | |
| char | tag[16] | |
| int | act | |
| unsigned int | when | |
| union TCISERVICEINFO.__unnamed1__ |
在文件 TgCloudApi.h 第 154 行定义.
| 成员变量 | ||
|---|---|---|
| uint32_t | sub_type |
当 serviceType = ECGS_TYPE_STORAGE, sub_type 为云存服务子类型:
|
| char * | objects | 当 serviceType = ECGS_TYPE_AI, objects 为 '\0'结尾并以一个额外 '\0'结束的允许检测的ai对象列表。例如: "body\0car\0cry\0" |
| union INCALLINFO.__unnamed11__ |
在文件 TgCloudConst.h 第 159 行定义.
| 成员变量 | ||
|---|---|---|
| struct INCALLINFO.__unnamed11__.wx | wx | |
| struct INCALLINFO.__unnamed11__.tg | tg | |
| struct INCALLINFO.__unnamed11__.wx |
在文件 TgCloudConst.h 第 160 行定义.
| 成员变量 | ||
|---|---|---|
| char * | room_id | |
| char * | server_token | |
| char * | session_key | |
| char * | app_payload | |
| struct INCALLINFO.__unnamed11__.tg |
在文件 TgCloudConst.h 第 166 行定义.
| 成员变量 | ||
|---|---|---|
| int | sub_type | |
| void * | ptr | |
| #define EVTDATA_SERIOUS_COLLISION (void*)0x01 |
仅针对 ECEVENT_COLLISION 事件, 严重碰撞
在文件 ec_const.h 第 251 行定义.
| #define EVTDATA_PARKING_COLLISION (void*)0x02 |
停车时碰撞
在文件 ec_const.h 第 252 行定义.
| typedef void* p2phandle_t |
| typedef int(* TGCMDHANDLER) (p2phandle_t handle, int cmd, const void *data, int len) |
命令回调类型
在文件 TgCloudApi.h 第 173 行定义.