萤石接入流程说明

概述

  1. 摄像头按照wifi配置方式分为两类,一种是内置Broadlink芯片采用SmartConfig方式配置(c2s),一种是萤石sdk方式配置(例如c6h)。c2s与c6h的sn保存方案不同,详见附件“萤石摄像头did和sn获取和保存方案.txt”。

  2. 需要集成萤石sdk,调用Broadlink云端子账号API,摄像头的控制界面建议参考智慧星代码,或者自行从萤石demo中移植。

  3. 萤石sdk官方文档:https://open.ys7.com/doc/zh/book/4.x/android-sdk.html

  4. 萤石错误码文档:https://open.ys7.com/doc/zh/book/index/android-errorcode.html

  5. 附件“Android_v4.5.1.build20170721.zip”是智慧星中正在用的萤石sdk

一、摄像头的配网流程

添加流程图

  1. 从云端后台获取AccessToken,云端接口文档见 https://docs.ibroadlink.com/appservice/ys/

        /linkezviz/v1/app/getaccesskeytoken
    
  2. 用获取的AccessToken登录萤石sdk

        EZOpenSDK.getInstance().setAccessToken(accesstoken);
    
  3. 扫描摄像头背面的sn码跟验证码

  4. 输入SSID跟密码之后,开始WiFi配置

        EZOpenSDK.getInstance().probeDeviceInfo(SerialNo)
    
  5. WiFI配置成功后,调用Broadlink远端API将摄像头添加到家庭,云端接口文档见 https://docs.ibroadlink.com/appservice/ys/

        /linkezviz/v1/app/adddevice
    
  6. 云端返回成功后,创建虚拟设备信息,保存sn和did(详见“萤石摄像头did和sn保存方案.md”)

  7. 携带虚拟设备信息,跳转到module添加页面,用户选择房间和名称,最后添加到家庭

二、摄像头控制

  1. 从Broadlink云端通过familyId查询accessToken,并登录萤石sdk。

        /linkezviz/v1/app/getaccesskeytoken
        EZOpenSDK.getInstance().setAccessToken(accesstoken);
    
  2. 获取设备sn,c2s需要从设备固件中查询,c6h从设备信息extend字段查询。

  3. 通过sn从萤石sdk查询摄像头信息,如果查询成功,则登入成功。

        EZDeviceInfo devInfo = EZOpenSDK.getInstance().getDeviceInfo(serialNumber);
    
  4. 进入摄像头主界面,可从萤石demo中移植,或者根据sdk Api自行定制。

        https://open.ys7.com/doc/zh/
        https://open.ys7.com/mobile/download.html?type=app
    

三、摄像头删除

  1. 删除摄像头设备时,需要从家庭中移除该摄像头, 云端接口文档见 https://docs.ibroadlink.com/appservice/ys/

        /linkezviz/v1/app/deletedevice
    
  2. 删除家庭时需要遍历该家庭下的摄像头,并逐个删除, 云端接口文档见 https://docs.ibroadlink.com/appservice/ys/

        /linkezviz/v1/app/deletedevice