方块连连API文档
|
flowchart start_(( )) subgraph 配网 sdk_init --> if_init_succeed{"初始化成功?"} sdk_init["初始化SDK\n<code>cu_iot_init();</code>"] if_init_succeed -->|true| get_network_setup_info["从外部获取配网信息(SDK调用方实现,二维码,蓝牙等)\n获取主要参数:\nWIFI账号,密码,方块所需的设备创建码"] if_init_succeed -->|false| user_cleanup["用户自定义清理行为\n<code>do_something();</code>"] get_network_setup_info --> connect_wifi["用获取的信息连接WIFI\n调用方自己实现"] connect_wifi --> device_create["用获取的信息创建设备\n<code>cu_iot_device_create();</code>"] device_create --> device_created_then_store_info["存储设备创建返回的Meta数据,\n用于以后的设备初始化"] device_created_then_store_info --> network_setup_done["配网成功,可以退出"] finalize["反初始化,释放资源\n<code>cu_iot_deinit();</code>"] network_setup_done --> finalize end end_(( )) start --> sdk_init user_cleanup --> end_ finalize --> end_ end_
flowchart start_(( )) subgraph 配网后流程 network_connected["WiFi connected\n(should be done by SDK caller)"] network_connected--> sdk_init["初始化SDK\n<code>cube_iot_init();</code>"] sdk_init --> if_init_succeed{"初始化成功?"} if_init_succeed -->|true| enter_device_flow["进入设备工作流"] finalize["反初始化,释放资源\n<code>cu_iot_deinit();</code>"] if_init_succeed -->|false| user_cleanup["用户自定义清理行为\n<code>do_something();</code>"] end subgraph 设备和事件工作流 device_init["设备初始化\n<code>cu_iot_device_init();</code>"] device_init --> |事件工作流|device_event_callback_register["注册事件监听函数\n<code>cu_iot_device_register_callback();</code>"] device_init --> |任何时候| call_lock_api["主动调用API"] call_lock_api --> process_api_call[" 事件上报 上传图片 发送视频 发送音频 发起通话 结束通话 同步时间 检查服务连接 <code>cu_iot_device_event_create(); cu_iot_device_snapshot_upload(); cu_iot_device_video_send_frame(); cu_iot_device_audio_send_frame(); cu_iot_device_rtc_start(); cu_iot_device_rtc_end(); cu_iot_device_get_remote_time(); cu_iot_ping_server(); </code> "] process_api_call --> device_deinit device_event_callback_register --> new_event_triggered["事件触发,事件包括:\n用户请求远程解锁\n开启保活\n请求启动视频通话\n等等...\n<code>user_defined_event_handler_code();</code>"] new_event_triggered --> process_event["处理事件,比如:传图,上报事件,休眠等"] process_event --> event_process_done["事件处理完毕"] event_process_done --> if_should_end_event_loop if_should_end_event_loop{"是否停止处理事件\n SDK用户自己实现此判断逻辑"} if_should_end_event_loop --> |true| new_event_triggered device_deinit["设备反初始化\n当你不想处理事件的时候,\n则调用此API,设备会被反注册\n且不再触发任何事件。\n<code>cu_iot_device_init();</code>"] if_should_end_event_loop --> |false| device_deinit device_deinit --> finalize end end_(( )) start --> network_connected enter_device_flow --> device_init finalize --> end_ user_cleanup --> end_ end_