蓝牙辅助配网

更新时间:2019-09-10 09:41:21

通过点击品类列表进行配网

1. 通过PK 获取pid 信息

调用接口 获取 入参productKey,返回值中有 productId 即pid

/thing/allProductInfo/getByProductKey

具体可以参考API文档

2. 设置设备配网信息

   DeviceInfo deviceInfo = new DeviceInfo();
   deviceInfo.productKey = "xx"; // 商家后台注册的 productKey,不可为空
   deviceInfo.deviceName = "xxx";// 设备名, 可为空
   deviceInfo.productId = "xxx";// 产品 ID, 蓝牙辅助配网必须
   deviceInfo.id= "xxx";// 设备热点的id,在发现热点设备返回到APP的时候会带这个字段
   // 设备热点配网 ForceAliLinkTypeSoftAP  蓝牙辅助配网 ForceAliLinkTypeBLE
   // 二维码配网 ForceAliLinkTypeQR   手机热点配网 ForceAliLinkTypePhoneAP
   // 一键配网 ForceAliLinkTypeBroadcast  零配 ForceAliLinkTypeZeroAP
   deviceInfo.linkType = "ForceAliLinkTypeBLE"; // 默认一键配网  

   //设置待添加设备的基本信息
   AddDeviceBiz.getInstance().setDevice(DeviceInfo deviceinfo);

3. 开始配网

需要自己完成界面让用户输入wifi ssid,wifi 密码界面,然后点击开始配网时,先可以判断用户蓝牙是否打开,没打开提示打开;然后调用下面代码进行配网,在 onProvisionPrepare 中调用api 将 wifi 信息填入, 在 onProvisionedResult

会返回配网结果,如果成功则可以获取相关信息进行绑定流程,如果失败可以查看失败code

   AddDeviceBiz.getInstance().startAddDevice(context, new IAddDeviceListener(){
       @Override
       public void onPreCheck(boolean b, DCErrorCode dcErrorCode) {
           // 参数检测回调 
       }
       @Override
       public void onProvisionPrepare() {
           // 提示用户输入账号密码 
           AddDeviceBiz.getInstance().toggleProvision(ssid, password,60);

       }
       @Override
       public void onProvisioning() {
           // 配网中
       }
       @Override
       public void onProvisionStatus(ProvisionStatus provisionStatus) {
           // 配网状态
       }
       @Override
       public void onProvisionedResult(boolean b, DeviceInfo deviceInfo, DCErrorCode dcErrorCode) {
           // 配网结果
       }
   });

results matching ""

    No results matching ""