方块连连API文档
|
方块连连 IoT SDK API 文档参考 更多...
#include <stdbool.h>
#include <stdint.h>
#include <time.h>
结构体 | |
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) |
音频回掉函数 | |
方块连连 IoT SDK API 文档参考
注意:这是API文档的定义草稿,正式版本可能发生变更
#define CU_IOT_AUDIO_FRAME_MAX_SIZE (640) |
typedef struct cu_iot_audio_frame_s cu_iot_audio_frame_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_err_code_e cu_iot_err_code_t |
错误码
typedef void(* cu_iot_rtc_on_audio_frame_received_t) (cu_iot_audio_frame_t *audio_frame, uint64_t sent_ts) |
typedef void(* cu_iot_sdk_event_handler_t) (cu_iot_sdk_event_t *event, void *event_meta) |
SDK事件回调函数
event | 事件类型 |
event_meta | 事件信息,一个编码后的JSON字符串,解码后为事件的详细参数, |
typedef enum cu_iot_sdk_event_e cu_iot_sdk_event_t |
SDK 系统事件类型
typedef struct cu_iot_video_frame_s cu_iot_video_frame_t |
视频帧
typedef struct cu_iot_video_meta_s cu_iot_video_meta_t |
视频元数据
enum cu_iot_err_code_e |
enum cu_iot_sdk_event_e |
SDK 系统事件类型
cu_iot_err_code_t cu_iot_deinit | ( | ) |
反初始化
断开网络,释放SDK使用的资源, 关机前请务必调用
cu_iot_err_code_t cu_iot_device_audio_send_frame | ( | cu_iot_audio_frame_t * | audio_frame | ) |
发送音频帧
audio_frame | 单个音频帧 |
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 | 传入表示开启视频功能 |
audio_meta | 传入表示开启音频功能 |
device_meta_out_buf | 用于存储设备元数据的buffer,建议大小为为 1 KBytes |
cu_iot_err_code_t cu_iot_device_deinit | ( | ) |
反初始化设备信息,释放资源
cu_iot_err_code_t cu_iot_device_delete | ( | uint8_t * | device_meta | ) |
device_meta | 配网后获取的 device_meta, SDK 用户需要自己实现存储,并在需要的时候传入给指定函数 |
cu_iot_err_code_t cu_iot_device_event_create | ( | cu_iot_device_event_t * | event | ) |
门锁事件上报
event | 事件信息 |
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_err_code_t cu_iot_device_init | ( | uint8_t * | device_meta | ) |
初始化设备信息,分配所需资源
device_meta | 配网后获取的 device_meta, SDK 用户需要自己实现存储,并在初始化设备时传入 |
cu_iot_err_code_t cu_iot_device_register_callback | ( | cu_iot_sdk_event_handler_t | handler | ) |
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 | ) |
注册下发音频受到后的处理函数
on_audio_frame_received | 回调函数,收到音频后,可以播放 |
cu_iot_err_code_t cu_iot_device_rtc_start | ( | ) |
门铃时,启动视频通话
cu_iot_err_code_t cu_iot_device_snapshot_upload | ( | cu_iot_video_frame_t * | snapshot | ) |
cu_iot_err_code_t cu_iot_device_video_send_frame | ( | cu_iot_video_frame_t * | video_frame | ) |
发送视频帧
video_frame | 单个视频帧 |
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_err_code_t cu_iot_ping_server | ( | ) |
测试 SDK 是否能正常联网