方块连连API文档
载入中...
搜索中...
未找到
cube_unite_iot_sdk.h 文件参考

方块连连 IoT SDK API 文档参考 更多...

#include <stdbool.h>
#include <stdint.h>
#include <time.h>
cube_unite_iot_sdk.h 的引用(Include)关系图:

浏览源代码.

结构体

struct  cu_iot_video_meta_s
 视频元数据 更多...
 
struct  cu_iot_audio_meta_s
 音频元数据 更多...
 
struct  cu_iot_device_event_s
 门锁上报事件 更多...
 
struct  cu_iot_audio_frame_s
 音频帧 更多...
 
struct  cu_iot_video_frame_s
 视频帧 更多...
 

宏定义

#define CU_IOT_AUDIO_FRAME_MAX_SIZE   (640)
 

类型定义

typedef enum cu_iot_err_code_e cu_iot_err_code_t
 错误码
 
typedef struct cu_iot_video_meta_s cu_iot_video_meta_t
 视频元数据
 
typedef struct cu_iot_audio_meta_s cu_iot_audio_meta_t
 音频元数据
 
typedef struct cu_iot_device_event_s cu_iot_device_event_t
 门锁上报事件
 
typedef enum cu_iot_sdk_event_e cu_iot_sdk_event_t
 SDK 系统事件类型
 
typedef struct cu_iot_audio_frame_s cu_iot_audio_frame_t
 音频帧
 
typedef struct cu_iot_video_frame_s cu_iot_video_frame_t
 视频帧
 
typedef void(* cu_iot_sdk_event_handler_t) (cu_iot_sdk_event_t *event, void *event_meta)
 SDK事件回调函数
 
typedef void(* cu_iot_rtc_on_audio_frame_received_t) (cu_iot_audio_frame_t *audio_frame, uint64_t sent_ts)
 音频回掉函数
 

枚举

enum  cu_iot_err_code_e {
  CU_IOT_ERR_OK =0 , CU_IOT_ERR_SERVER_NOT_AVAILABLE =0 , CU_IOT_ERR_ARGUMENT_INVALID =200 , CU_IOT_ERR_DEVICE_INVALID =301 ,
  CU_IOT_ERR_LICENSE_INVALID =65535
}
 错误码 更多...
 
enum  cu_iot_sdk_event_e {
  CU_IOT_SDK_EVENT_UNDEFINED =-1 , CU_IOT_SDK_EVENT_REMOTE_UNLOCK , CU_IOT_SDK_EVENT_REMOTE_TRIGGER_WAKEUP , CU_IOT_SDK_EVENT_REMOTE_TRIGGER_SLEEP ,
  CU_IOT_SDK_EVENT_REMOTE_ENABLE_KEEP_ALIVE , CU_IOT_SDK_EVENT_REMOTE_DISABLE_KEEP_ALIVE , CU_IOT_SDK_EVENT_REMOTE_RTC_STARTED , CU_IOT_SDK_EVENT_REMOTE_RTC_END
}
 SDK 系统事件类型 更多...
 

函数

cu_iot_err_code_t cu_iot_init (char *license, char *vendor_name, char *vendor_token)
 方块连连 SDK 初始化
 
cu_iot_err_code_t cu_iot_deinit ()
 反初始化
 
cu_iot_err_code_t cu_iot_ping_server ()
 测试 SDK 是否能正常联网
 
cu_iot_err_code_t cu_iot_device_create (char *device_creation_code, char *device_mac_addr, cu_iot_video_meta_t *video_meta, cu_iot_audio_meta_t *audio_meta, uint8_t *device_meta_out_buf)
 创建一个 IOT 设备对象
 
cu_iot_err_code_t cu_iot_device_delete (uint8_t *device_meta)
 
cu_iot_err_code_t cu_iot_device_init (uint8_t *device_meta)
 初始化设备信息,分配所需资源
 
cu_iot_err_code_t cu_iot_device_deinit ()
 反初始化设备信息,释放资源
 
cu_iot_err_code_t cu_iot_device_event_create (cu_iot_device_event_t *event)
 门锁事件上报
 
cu_iot_err_code_t cu_iot_device_snapshot_upload (cu_iot_video_frame_t *snapshot)
 
cu_iot_err_code_t cu_iot_device_register_callback (cu_iot_sdk_event_handler_t handler)
 注册事件回调函数,用于接收来自 SDK 的事件通知
 
cu_iot_err_code_t cu_iot_device_get_remote_time (time_t *server_time_ts)
 获取远端时间
 
cu_iot_err_code_t cu_iot_device_rtc_start ()
 门铃时,启动视频通话
 
cu_iot_err_code_t cu_iot_device_rtc_end ()
 主动结束视频通话
 
cu_iot_err_code_t cu_iot_device_rtc_register_audio_frame_receive_callback (cu_iot_rtc_on_audio_frame_received_t on_audio_frame_received)
 注册下发音频受到后的处理函数
 
cu_iot_err_code_t cu_iot_device_video_send_frame (cu_iot_video_frame_t *video_frame)
 发送视频帧
 
cu_iot_err_code_t cu_iot_device_audio_send_frame (cu_iot_audio_frame_t *audio_frame)
 发送音频帧
 

详细描述

方块连连 IoT SDK API 文档参考

注意:这是API文档的定义草稿,正式版本可能发生变更

宏定义说明

◆ CU_IOT_AUDIO_FRAME_MAX_SIZE

#define CU_IOT_AUDIO_FRAME_MAX_SIZE   (640)

类型定义说明

◆ cu_iot_audio_frame_t

音频帧

◆ cu_iot_audio_meta_t

音频元数据

◆ cu_iot_device_event_t

门锁上报事件

详细说明待补充

◆ cu_iot_err_code_t

错误码

◆ cu_iot_rtc_on_audio_frame_received_t

typedef void(* cu_iot_rtc_on_audio_frame_received_t) (cu_iot_audio_frame_t *audio_frame, uint64_t sent_ts)

音频回掉函数

参数
audio_frame音频帧
参见
cu_iot_audio_frame_t
参数
sent_ts发送时间辍,可用于判断是否过期时间太常(网络延迟等原因),需要丢弃音频

◆ cu_iot_sdk_event_handler_t

typedef void(* cu_iot_sdk_event_handler_t) (cu_iot_sdk_event_t *event, void *event_meta)

SDK事件回调函数

参数
event事件类型
event_meta事件信息,一个编码后的JSON字符串,解码后为事件的详细参数,
参见
待补充

◆ cu_iot_sdk_event_t

SDK 系统事件类型

◆ cu_iot_video_frame_t

视频帧

◆ cu_iot_video_meta_t

视频元数据

枚举类型说明

◆ cu_iot_err_code_e

错误码

枚举值
CU_IOT_ERR_OK 

OK

CU_IOT_ERR_SERVER_NOT_AVAILABLE 

服务当前不可用(网络无连接或服务器故障)

CU_IOT_ERR_ARGUMENT_INVALID 

参数不合法

CU_IOT_ERR_DEVICE_INVALID 

设备不合法

CU_IOT_ERR_LICENSE_INVALID 

license 不合法

◆ cu_iot_sdk_event_e

SDK 系统事件类型

枚举值
CU_IOT_SDK_EVENT_UNDEFINED 
CU_IOT_SDK_EVENT_REMOTE_UNLOCK 

远程用户请求解锁

CU_IOT_SDK_EVENT_REMOTE_TRIGGER_WAKEUP 

从休眠中唤醒

CU_IOT_SDK_EVENT_REMOTE_TRIGGER_SLEEP 

进入休眠

CU_IOT_SDK_EVENT_REMOTE_ENABLE_KEEP_ALIVE 

开启保活

CU_IOT_SDK_EVENT_REMOTE_DISABLE_KEEP_ALIVE 

关闭保活

CU_IOT_SDK_EVENT_REMOTE_RTC_STARTED 

用户端请求启动视频通话

CU_IOT_SDK_EVENT_REMOTE_RTC_END 

用户端视频通话已挂断

函数说明

◆ cu_iot_deinit()

cu_iot_err_code_t cu_iot_deinit ( )

反初始化

断开网络,释放SDK使用的资源, 关机前请务必调用

返回
错误码

◆ cu_iot_device_audio_send_frame()

cu_iot_err_code_t cu_iot_device_audio_send_frame ( cu_iot_audio_frame_t audio_frame)

发送音频帧

参数
audio_frame单个音频帧

◆ cu_iot_device_create()

cu_iot_err_code_t cu_iot_device_create ( char *  device_creation_code,
char *  device_mac_addr,
cu_iot_video_meta_t video_meta,
cu_iot_audio_meta_t audio_meta,
uint8_t *  device_meta_out_buf 
)

创建一个 IOT 设备对象

参数
device_creation_code从方块连连获取的设备创建码,配网APP端将此内容传入到 SDK
device_mac_addr字符串形式的MAC地址, 必须用此MAC地质激活过 license,否则无法使用此MAC地址配网。 同一MAC地址不能重复使用,否则将会导致视频通话等功能错误。
video_meta传入表示开启视频功能
参见
cu_iot_video_meta_t
参数
audio_meta传入表示开启音频功能
参见
cu_iot_audio_meta_t
参数
device_meta_out_buf用于存储设备元数据的buffer,建议大小为为 1 KBytes

◆ cu_iot_device_deinit()

cu_iot_err_code_t cu_iot_device_deinit ( )

反初始化设备信息,释放资源

◆ cu_iot_device_delete()

cu_iot_err_code_t cu_iot_device_delete ( uint8_t *  device_meta)
参数
device_meta配网后获取的 device_meta, SDK 用户需要自己实现存储,并在需要的时候传入给指定函数

◆ cu_iot_device_event_create()

cu_iot_err_code_t cu_iot_device_event_create ( cu_iot_device_event_t event)

门锁事件上报

参数
event事件信息

◆ cu_iot_device_get_remote_time()

cu_iot_err_code_t cu_iot_device_get_remote_time ( time_t *  server_time_ts)

获取远端时间

注意,不能替代 SNTP/NTP 等时间同步协议,仅作为不精确的服务器时间参考,误差可能从几十ms到几百ms

参数
server_time_ts接收服务器时间的指针
返回

◆ cu_iot_device_init()

cu_iot_err_code_t cu_iot_device_init ( uint8_t *  device_meta)

初始化设备信息,分配所需资源

参数
device_meta配网后获取的 device_meta, SDK 用户需要自己实现存储,并在初始化设备时传入

◆ cu_iot_device_register_callback()

cu_iot_err_code_t cu_iot_device_register_callback ( cu_iot_sdk_event_handler_t  handler)

注册事件回调函数,用于接收来自 SDK 的事件通知

参数
handler
参见
cu_iot_sdk_event_handler_t

◆ cu_iot_device_rtc_end()

cu_iot_err_code_t cu_iot_device_rtc_end ( )

主动结束视频通话

◆ cu_iot_device_rtc_register_audio_frame_receive_callback()

cu_iot_err_code_t cu_iot_device_rtc_register_audio_frame_receive_callback ( cu_iot_rtc_on_audio_frame_received_t  on_audio_frame_received)

注册下发音频受到后的处理函数

参数
on_audio_frame_received回调函数,收到音频后,可以播放
返回

◆ cu_iot_device_rtc_start()

cu_iot_err_code_t cu_iot_device_rtc_start ( )

门铃时,启动视频通话

◆ cu_iot_device_snapshot_upload()

cu_iot_err_code_t cu_iot_device_snapshot_upload ( cu_iot_video_frame_t snapshot)

上传一张抓拍

参数
snapshot
参见
cu_iot_video_frame_t

◆ cu_iot_device_video_send_frame()

cu_iot_err_code_t cu_iot_device_video_send_frame ( cu_iot_video_frame_t video_frame)

发送视频帧

参数
video_frame单个视频帧

◆ cu_iot_init()

cu_iot_err_code_t cu_iot_init ( char *  license,
char *  vendor_name,
char *  vendor_token 
)

方块连连 SDK 初始化

请连接互联网后再进行初始化,初始化会校验 license,并校验是否能够调用服务器 API

参数
license授权 license,最长为 (128 + 1) 字节
vendor_name接入渠道名称,必须和 license 匹配,最长(128+1)字节
vendor_token接入渠道认证所需 API Token,最长(128+1)字节
返回
错误码

◆ cu_iot_ping_server()

cu_iot_err_code_t cu_iot_ping_server ( )

测试 SDK 是否能正常联网