方块连连API文档
载入中...
搜索中...
未找到
方块连连 IoT SDK

  • 使用流程(TODO)

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_