设备配网UI业务包

智能生活设备配网 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 网络中的路由或者终端设备,负责数据转发或者终端控制响应。

蓝牙设备配网

涂鸦蓝牙有以下几种技术方案:

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

扫码配网设备

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

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

自动发现配网

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

集成业务包

  1. 创建工程。

    在 Android Studio 中建立的工程,接入涂鸦智能生活 SDK 并完成 业务包框架接入。

  2. 配置业务的 build.gradle。

    dependencies {
    api 'com.tuya.smart:tuyasmart-bizbundle-device_activator:4.2.0-22'
    }
    
  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.tuya.**{*;}
    -dontwarn com.tuya.**
    

功能调用

功能配置

配置项 字段名 描述 默认配置
热点名称配置 <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

方法调用

TuyaDeviceActivatorManager.startDeviceActiveAction(this);TuyaDeviceActivatorManager.setListener(new ITuyaDeviceActiveListener() {@Overridepublic void onDevicesAdd(List<String> list) {}@Overridepublic void onRoomDataUpdate() {}@Overridepublic void onOpenDevicePanel(String s) {}@Overridepublic void onExitConfigBiz() {}});

入参说明

参数 说明
activity 配网 activity
homeId 家庭 ID,详情请参考涂鸦智能生活 SDK 家庭信息管理

出参说明

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

通用配网UI业务包

安卓版通用配网业务包提供配网列表数据查询能力,提供了查询数据列表自定义展示的方法。大家可以结合涂鸦 IoT 平台支持的配网列表页数据,来配置列表页。

功能说明

  • 通过 TyActivatorExtraBusinessKit 提供的对应方法查询对应的数据类目信息。

  • 请在 build.gradle 文件依赖声明中,配置相关依赖:

    dependencies {...implementation 'com.tuya.smart:tuyasmart-TuyaSmartActivatorExtraBizBundle:1.0.0'...}
    

查询配网列表一级品类数据

接口说明

getDeviceLevelFirstData(callback)

请求参数

请求示例

     TyActivatorExtraBusinessKit.INSTANCE.getDeviceLevelFirstData(new Business.ResultListener<CategoryResultBean>() {@Overridepublic void onFailure(BusinessResponse businessResponse, CategoryResultBean categoryResultBean, String s) {}@Overridepublic void onSuccess(BusinessResponse businessResponse, CategoryResultBean categoryResultBean, String s) {}});

返回示例

{"result":{"defaultLevel2List":[//默认二级品类列表{"tagCode":"cz_tag",//二级标签"name":"Socket",//二级标签名称"level3Items":[//三级类目信息{"capability":1,//能力值"icon":"https://images.tuyaus.com/smart/product_icon2/cz_1.png",//图标"name":"Socket",//品类名称"attribute":5,//标位"category":"wf_cz",//品类 code"activatorDes":"Wi-Fi"}]},{"tagCode":"gj_tag","name":"Tool","level3Items":[{"capability":1024,"icon":"https://images.tuyaus.com/smart/app_category/dcb_2b_4_1618543239196.png","name":"Battery pack","attribute":5,"category":"dcb_2b_4","activatorDes":"BLE"}]}],"level1List":[//一级类目列表{"level1Code":"dgzm",//一级类目 code"name":"Electrical",//一级类目名称"type":0//配网列表类型:0-标准},{"level1Code":"zm","name":"Lighting","type":0}],"defaultWglist":[//默认网关列表{"capability":4097,//能力值"display":{//配网引导描述"wcAddBtText":"Confirm the two green lights are on.","wcTip":"Please plug in the gateway and connect it to the router, making sure your phone and the gateway are under the same network. Then, comfirm that the light is on.","wifiIconUrl":"https://images.tuyaus.com/smart_res/Group_8@2x.png","wcHelpUrl":"https://images.tuyaus.com/smart/connect-scheme-v3/help/template/wc_wgzk_zigbee/common_network/wc_wgzk_zigbee_ez_en.html","wifiTitle":"Select 2.4 GHz Wi-Fi Network and enter password.","wifiContent":"If your Wi-Fi is 5GHz, please set it to be 2.4GHz.","wcTipIconUrl":"https://images.tuyaus.com/smart_res/iot_os/wgzk_wc_2green@2x.png"},"icon":"https://images.tuyaus.com/smart/product_icon2/zigbee_4097.png","name":"Gateway","linkModes":[{"leadList":[{"iconUrl":"https://images.tuyaus.com/smart_res/iot_os/wgzk_doublelink_power_network.png","title":"Please plug in the gateway and connect it to the router."},{"iconUrl":"https://images.tuyaus.com/smart_res/iot_os/wgzk_reset@2x.png","title":"Hold the RESET button for 5s."},{"iconUrl":"https://images.tuyaus.com/smart_res/iot_os/wgzk_wc_2green@2x.png","title":"Confirm the two green lights are on."}],"linkMode":8,"title":"Cable"}],"enableLead":false,"attribute":0,"category":"wf_zig_zigbee"}]},"t":1622190464866,"success":true,"status":"ok"
}

查询配网列表二级品类数据

接口说明

getDeviceLevelSecondData(levelCode,type,callback)

请求参数

名称 参数类型 说明
levelCode String 一级类目的 levelCode
type Int 一级类目的 type

请求示例

TyActivatorExtraBusinessKit.INSTANCE.getDeviceLevelSecondData(level1Bean.getLevel1Code(),level1Bean.getType(),new Business.ResultListener<ArrayList<CategoryLevelTwoBean>>() {@Overridepublic void onFailure(BusinessResponse businessResponse, ArrayList<CategoryLevelTwoBean> categoryLevelTwoBeans, String s) {}@Overridepublic void onSuccess(BusinessResponse businessResponse, ArrayList<CategoryLevelTwoBean> categoryLevelTwoBeans, String s) {}});

返回示例

{"result":[{"tagCode":"zm_dj_tag",//二级标签"name":"光源",//二级标签名称"level3Items":[{"capability":1025,//能力值"icon":"https://images.tuyacn.com/smart/program_category_icon/wf_ble_dj.png",//图标"name":"光源",//品类名称"attribute":4,"category":"wf_ble_dj",//品类 code"activatorDes":"蓝牙+Wi-Fi"}]},{"tagCode":"zm_dd_tag","name":"灯带","level3Items":[{"capability":1025,"sale":"","icon":"https://images.tuyacn.com/smart/app_category/wf_ble_dd_1598683823026.png","name":"灯带","sort":0,"attribute":4,"category":"wf_ble_dd","activatorDes":"蓝牙+Wi-Fi"}]}],"t":1622688701083,"success":true,"status":"ok"
}

查询配网列表三级品类详情数据

接口说明

getDeviceLevelThirdDetailData(bizType,bizValue,callback)

请求参数

名称 参数类型 说明
bizType Int
  • 0:表示产品品类
  • 1:表示产品
bizValue String
  • 如果 bizType=0,则 bizValue=category
  • 如果 bizType=1,则 bizValue=pid

请求示例

TyActivatorExtraBusinessKit.INSTANCE.getDeviceLevelThirdDetailData(0,thirdBean.getCategory(),new Business.ResultListener<CategoryLevelThirdBean>() {@Overridepublic void onFailure(BusinessResponse businessResponse, CategoryLevelThirdBean categoryLevelThirdBean, String s) {}@Overridepublic void onSuccess(BusinessResponse businessResponse, CategoryLevelThirdBean categoryLevelThirdBean, String s) {}});

返回示例

{"result":{"display":{"ezAddBtText":"确认指示灯快闪","wifiIconUrl":"https://images.tuyacn.com/smart_res/Group_8@2x.png","ezHelpUrl":"https://images.tuyacn.com/smart/connect-scheme-v3/help/template/ez_default_default/common_network/ez_default_default_ez_zh.html","ezTipIconUrl":"https://images.tuyacn.com/smart/connect-scheme-v3/tip-icon/ty_common_fast%402x.gif","apTip":"接通电源, 确认指示灯在慢闪。注意:重置设备后,请在三分钟内完成配网操作","wifiTitle":"选择 2.4GHz Wi-Fi 网络并输入密码","apTipIconUrl":"https://images.tuyacn.com/smart/connect-scheme-v3/tip-icon/ty_common_slow%402x.gif","apAddBtText":"确认指示灯慢闪","wifiContent":"如果你的 Wi-Fi 是 5GHz 的,请先设置为 2.4GHz","ezTip":"接通电源, 确认指示灯在快闪。注意:重置设备后,请在三分钟内完成配网操作","apHelpUrl":"https://images.tuyacn.com/smart/connect-scheme-v3/help/template/ap_default_default/common_network/ap_default_default_ap_zh.html"},"linkModes":[//配网方式{"leadList":[//配网引导{"iconUrl":"https://images.tuyacn.com/smart_res/iot_os/step1ty.png","title":"将设备接通电源,10 秒后断电再接通电源"},{"iconUrl":"https://images.tuyacn.com/smart_res/iot_os/step2ty.png","title":"长按复位键 5 秒"},{"iconUrl":"https://images.tuyacn.com/smart_res/iot_os/step3tykuai.gif","title":"确认指示灯快闪"}],"linkMode":1,"desText":"默认","title":"Wi_Fi 快连"},{"leadList":[{"iconUrl":"https://images.tuyacn.com/smart_res/iot_os/step1ty.png","title":"将设备接通电源,10 秒后断电再接通电源"},{"iconUrl":"https://images.tuyacn.com/smart_res/iot_os/step2ty.png","title":"长按复位键 5 秒"},{"iconUrl":"https://images.tuyacn.com/smart_res/iot_os/step3tykuai.gif","title":"确认指示灯快闪后,再进行下一步骤"},{"iconUrl":"https://images.tuyacn.com/smart_res/iot_os/step4tyman.gif","title":"再次长按复位键 5 秒,直至指示灯慢闪"}],"linkMode":2,"title":"热点配网(兼容模式)"}],"enableLead":false},"t":1622689764143,"success":true,"status":"ok"
}

设备配网和通用配网 UI 业务包(内附代码段)相关推荐

  1. 什么是护网(HVV)?需要什么技术?(内附护网超全资料包)

    一.什么是护网行动? 护网行动是以公安部牵头的,用以评估企事业单位的网络安全的活动. 具体实践中.公安部会组织攻防两方,进攻方会在一个月内对防守方发动网络攻击,检测出防守方(企事业单位)存在的安全漏洞 ...

  2. (转)[Unity3D]UI方案及制作细节(NGUI/EZGUI/原生UI系统) 内附unused-assets清除实例

    转载请留下本文原始链接,谢谢.本文会不定期更新维护,最近更新于2013.09.17. http://blog.sina.com.cn/s/blog_5b6cb9500101bplv.html 一.方案 ...

  3. ESP8266 web配网微信小程序配网 全平台配网库 arduino 傻瓜式通用库

    wifi_link_tool esp8266通用配网库 (arduino) 库地址:点击进入GitHub 这是一个为esp8266设计的通用配网库 该库免费提供 使用请注明出处 允许毕业设计使用本库 ...

  4. 物联网智能家居需要服务器吗,智能家居设备常见的两种配网/联网方式

    你是否用过智能家居?你知道智能家居是怎么连上你家WIFI热点吗?你是否好奇APP是怎么和智能家居通话的?今天的这篇文章为你揭晓智能家居配网原理. 绝大多数智能家居都要求用户安装一个APP,通过APP完 ...

  5. Matter协议特性解析(三) 设备发现,认证和配网

    聚焦:芯产品,芯市场,芯资讯 本文是Matter专题第6篇文章: 设备发现,认证和配网,是网络构建流程的重要部分:Matter入网流程,为了保证安全,设计偏复杂,为了方便理解,本文从3个不同的维度进行 ...

  6. 【图解】物联网设备的N种Wi-Fi配网方式

    1 背景介绍 物联网时代,各种各样的智能物联网设备正走进我们我们的生活,智能门锁.摄像头.猫眼门铃.扫地机.智能音箱.空气净化器.体脂秤等等. 这些物联网设备都有一个共同的特征,就是可以联网,通过配套 ...

  7. WiFi配网~智能家居配网解决方案

    1. 什么是配网?   先解释一下什么是配网:当智能设备交付用户时,用户如何根据说明手册或者指引,简单成功的将联网设备连接到路由器下面.这里主要是wifi产品,蓝牙.Zigbee.NB-Iot配网是不 ...

  8. 小程序AP配网和AK配网教程(开源)

    小程序AP配网和AK配网教程(开源) 一. Airkiss配网的实现方式 ​ Airkiss配网我们采用插件的形式,非常简单方便.感谢半颗心脏大佬的开源插件. 1. Airkiss 简介 AirKis ...

  9. ESP32超详细学习记录:wifi配网,AP配网,浏览器配网,无线配网

    不想了解代码实现,可直接到代码部分copy!ESP32亲测可用. 使用设备ESP32开发板(ESP32-WROOM-32) 搜了好多别人写的资料,很多都是copy+copy,也没有什么解释.啪,代码放 ...

最新文章

  1. 在 5G 速度上,iPhone 12 只是个弟弟
  2. R语言sample.int有放回或者无放回采样随机整数实战
  3. POJ2762 Going from u to v or from v to u? 强连通+缩点
  4. 重磅 | 2017年全球最聪明公司排行榜TOP50,哪9家中国公司上榜?
  5. 100c之31:哥德巴赫猜想
  6. 好习惯!pandas 8 个常用的 option 设置
  7. 2017届-应届毕业生-兆芯 GPU architecture design校招在线笔试题
  8. 疫情时代无接触AI人脸识别技术助力智慧工地迅猛发展
  9. 魔兽和星际的最大差别
  10. 抗击疫情 融云在行动
  11. 上海联通第一家冰激凌无限店正式开业,拥抱新零售时代!
  12. 利用Python做一个漂亮小姐姐词云跳舞视频
  13. Cisco与H3C交换机互联的小风波
  14. Docker容器修改端口映射
  15. Java代码实现回文数
  16. 如何判断电脑是否被黑客入侵
  17. PHP7.4编译安装
  18. HTML学习2之常用标签详细介绍
  19. 天猫升级:用“大数据”做生意
  20. 双远心镜头原理及选型(一)

热门文章

  1. android实现在线阅读功能,Android使用WebView实现离线阅读功能
  2. 如何用 Github Action 来组建自己的4399游戏库
  3. 微信小程序网络连接失败
  4. 如何将旧iPhone 的数据全部转移到新iPhone SE3上?
  5. 一个支付宝 App竟使用了30多个开源软件
  6. 汽车轮胎排名韩泰轮胎,让驾驶过程更加安全、舒适
  7. 【过一下6】机器视觉视频 【过一下2被挤掉了】
  8. 算法与数据结构实验题 10.16 被Gank的亚索
  9. CSS 相对|绝对(relative/absolute)定位系列
  10. 英语句子成分通俗理解