设备配网 UI 业务包

更新时间:2024-10-30 10:03:32下载pdf

设备配网 UI 业务包的功能涵盖了目前常见的 Wi-Fi 设备、Zigbee 设备、蓝牙设备,并且支持二维码扫码的设备,例如 GPRS 和 NB-IoT 设备。业务包主要实现不同类型的设备配网前置操作引导,和具体入网激活。

设备类型

Wi-Fi 设备配网

支持 Wi-Fi 智能设备入网连接云服务,Wi-Fi 设备配网主要有快连模式和热点模式两种,其中智能摄像机(IPC)设备支持扫二维码方式配网。

名词 说明
Wi-Fi 快连配网 又称快连模式。大致流程如下:
  1. App 把配网数据包打包到 802.11 数据包的指定区域中,发送到周围环境。
  2. 智能设备的 Wi-Fi 模组处于混杂模式下,监听捕获网络中的所有报文。
  3. Wi-Fi 模组按照约定的协议数据格式,解析出 App 发出配网信息包。
Wi-Fi 热点配网 又称热点模式,手机作为 STA(STAtion)连接智能设备的热点,双方建立一个 Socket 连接,通过约定端口交互数据。
IPC 扫码配网 IPC 设备通过扫描 App 上的二维码,来获取配网数据信息。

Zigbee 设备配网

支持 Zigbee 网关和子设备配网:

名词 说明
Zigbee 网关 融合 Zigbee 网络中协调器和 Wi-Fi 功能的设备,负责 Zigbee 网络的组建及数据信息存储。
Zigbee 子设备 Zigbee 网络中的路由或者终端设备,负责数据转发或者终端控制响应。

蓝牙设备配网

Cube App SDK 相关的蓝牙有以下几种技术方案:

名词 说明
蓝牙单点 蓝牙设备与手机一对一连接单点设备(蓝牙或低功耗蓝牙)。
蓝牙 Mesh 蓝牙技术联盟发布的蓝牙拓扑通信,即低功耗蓝牙 Mesh。
涂鸦 Mesh 涂鸦自研的蓝牙拓扑通信,使用场景与蓝牙 Mesh 产品相同。
双模设备 一些多协议设备也会使用到蓝牙技术,例如同时具备 Wi-Fi 能力和蓝牙能力的 双模设备

扫码配网设备

扫码配网设备上电后即连接了涂鸦的云服务,App 通过扫描设备上的二维码让设备在云端激活绑定。这个二维码必须是涂鸦支持的二维码规则,具体接入方式可咨询您的涂鸦客户经理。

名词 说明
GPRS 设备 采用 GPRS 通信技术接入网络连接云服务的智能设备。
NB-IoT 设备 采用窄带物联网(NarrowBand-Internet of Things)技术的智能设备。

Matter 设备配网

若要使用 Matter 设备配网功能,查看 Matter 设备接入准备 进行初始化。

自动发现配网

融合涂鸦智能通用配网技术实现,为用户提供一套快捷配网的功能。

集成业务包

  1. 创建工程。

    在 Android Studio 中建立您的工程,接入涂鸦 Cube SDK 并完成 业务包框架接入

  2. 配置业务的 build.gradle。

     
     dependencies {
         api enforcedPlatform("com.thingclips.smart:thingsmart-BizBundlesBom:${biz_bom_version}")
         api "com.thingclips.smart:thingsmart-bizbundle-device_activator"
         //若需要使用扫一扫功能,则需要依赖扫码业务包
         api "com.thingclips.smart:thingsmart-bizbundle-qrcode_mlkit"
     }
     
     
  3. 混淆配置。

    #fastJson
    -keep class com.alibaba.fastjson.**{*;}
    -dontwarn com.alibaba.fastjson.**
    
    #rx
    -dontwarn rx.**
    -keep class rx.** {*;}
    -keep class io.reactivex.**{*;}
    -dontwarn io.reactivex.**
    -keep class rx.**{ *; }
    -keep class rx.android.**{*;}
    
    #fresco
    -keep class com.facebook.drawee.backends.pipeline.Fresco
    -keep @com.facebook.common.internal.DoNotStrip class *
    -keepclassmembers class * {
    @com.facebook.common.internal.DoNotStrip *;
    }
    
    #tuya
    -keep class com.thingclips.**{*;}
    -dontwarn com.thingclips.**
    

功能配置

配置项 字段名 描述 默认配置
热点名称配置 <string name="ap_mode_ssid">SmartLife</string> 热点配网支持的热点前缀列表 SmartLife
是否支持蓝牙 <bool name="is_need_ble_support">true</bool> 是否支持蓝牙设备配网功能 true
是否支持蓝牙 Mesh <bool name="is_need_blemesh_support">true</bool> 是否支持蓝牙 Mesh 设备配网功能 true
是否支持扫一扫 <bool name="is_scan_support">true</bool> 是否支持列表页面右上角扫描配网功能 true
自发现是否支持 Wi-Fi 快连配网 <bool name="is_config_activator_ez">false</bool> 是否支持自发现页面配网 Wi-Fi 快连类型设备 false

自发现搜索类型配置

assets 目录下添加一个名为 activator_auto_serach_capacity.json 的 JSON 文件,文件内容为:

{
    //是否支持子设备搜索
  "searchTypeZigbee": false,
    //是否支持 EZ 设备搜索
  "searchTypeEZ": true,
    //是否支持闪电设备搜索
  "searchTypePegasus": false,
    //是否支持蓝牙设备搜索
  "searchTypeBle": false,
    //是否支持有线设备搜索
  "searchTypeWired": false,
    //是否支持 Matter 设备搜索
  "searchTypeMatter": false
}

方法调用

打开配网

ThingDeviceActivatorManager.INSTANCE.startDeviceActiveAction(this);

ThingDeviceActivatorManager.INSTANCE.addListener(new IThingDeviceActiveListener() {

            @Override
            public void onDevicesAdd(List<String> list) {

            }

            @Override
            public void onRoomDataUpdate() {

            }

            @Override
            public void onOpenDevicePanel(String s) {

            }

            @Override
            public void onExitConfigBiz() {

            }
        });

入参说明

参数 说明
activity 配网 activity
homeId 家庭 ID,详情请参考 家庭信息管理

出参说明

参数 说明
devIds 配网成功的设备 ID 列表
updateRoomData 房间设备信息是否有变更
onOpenDevicePanel 可以打开某个面板,根据实际业务需要选择实现
onExitConfigBiz 未执行配网,主动退出配网业务,根据实际业务需要选择实现

打开扫一扫

ScanManager.INSTANCE.openScan(this);