IoT Core 设备管理实践

更新时间:2023-08-08 08:39:17下载pdf

本次实践针对一个 虚拟智慧校园,通过新版 IoT Core OpenAPI 完成 设备控制设备管理。涂鸦 IoT Core 核心接口能够实现基于空间的设备分类、基于群组的设备批量管理、以及设备相关属性、定时任务的设定、联动场景的触发等操作。适用的开发环境为 IntelliJ IDEA 和 API Explorer

场景分析

本文模拟了远程管理 虚拟智慧校园 中的一系列智能设备,介绍如何基于 IoT Core 开放的 空间、设备、群组、联动、定时 五个方面的接口,实现对设备的管理和操作。接口详情,请参考 IoT Core 连接服务

案例场景

根据下图智慧校园楼宇空间结构所展示的内容,整个楼宇一共三层,每层三间教室,及一间活动室或者一间会议室。

IoT Core 设备管理实践

设备列表

参考设备配备情况如下表格所示,您可以根据 设备添加流程 根据需要添加设备:

空间设备数量空间设备数量空间设备数量
会议室智能照明灯4教室智能电闸1活动区智能电闸1
智能门锁1智能照明灯4超大照明灯2
智能中央空调1智能门锁1智能门锁2
智能投影1智能中央空调1氛围灯10
智能窗帘4智能投影1智能音箱1
人体检测传感器1智能摄像头1智能中央空调1
声音传感器1智能窗帘4智能液晶屏1
温湿度传感器1人体检测传感器4智能摄像头1
公共设备Zigbee 网关2声音传感器1---
无线路由器2温湿度传感器4---
---智能液晶屏4---

流程介绍

本文将按照如下图所示的流程,以及结合虚拟案例来进行操作。

IoT Core 设备管理实践

流程分为三个步骤,如果您已经创建了云项目和添加了设备,可以直接进行 第三步:设备控制

第一步:创建云项目

  1. 登录 涂鸦 IoT 开发平台
  2. 在左侧导航栏中,单击 云开发 > 云开发
  3. 我的云项目 页面中,单击 创建云项目
  4. 创建云项目 对话框中,配置 项目名称项目描述服务行业开发方式数据中心。在 开发方式 下拉列表中选择 自定义开发,本示例项目名为 智慧校园楼宇
  5. 批量授权云服务 API 中,添加需要使用到的接口,单击 开通授权

更多有关云项目的详情,请参考 管理项目

第二步:添加设备

云项目支持多种设备添加方式,帮助您在不同的场景下完成设备添加。

本次实践,主要通过添加 虚拟设备 方式实现功能的演示。如果是真实项目,您可以根据实际情况,选择合适的方式添加设备。

  1. 关联涂鸦 App 账号。

    1. 选择 设备 > 关联涂鸦 App 账号 > 添加 App 账号

      IoT Core 设备管理实践
    2. 然后使用登录个人账号的 智能生活 App 扫码授权,授权后在 全部设备 中就可以看到当前授权账号下的所有设备信息。

  2. 添加虚拟设备到 涂鸦 App 账号

    1. 选择 设备 > 全部设备 > 添加设备 > 添加虚拟设备

      IoT Core 设备管理实践
    2. 添加虚拟设备 页面选择需要的设备,然后单击 添加虚拟设备

      IoT Core 设备管理实践
    3. 在添加设备页面,选择将设备添加到涂鸦 App 账号,使用上述步骤授权的涂鸦 App 扫码添加设备。然后,在云开发当前项目的全部设备列表中,即可看到刚刚添加的设备信息。

      IoT Core 设备管理实践

第三步:设备控制

环境准备

创建空间

根据上文 智慧校园楼宇空间结构图 所展示的信息,您可以:

  1. 先创建一个教学楼一到三楼的结构。

  2. 并初始化一楼的三间教室及一个活动室,创建过程中需要使用空间相关接口。

    • tuya-campus-demo 代码中已提供了此结构的初始化请求,在开发者账号下直接执行初始化接口:

      GET http://127.0.0.1:8080/campus/init?removeAllSpace=false
      
    • 相关接口

      创建空间:

      POST:/v2.0/cloud/space/creation
      
    • Demo 片段
      IoT Core 设备管理实践

    • 调试示例

      IoT Core 设备管理实践
  3. 记录创建生成的空间编号信息,以便接下来在基于空间的设备管理流程中使用,避免再次去查询空间列表接口:

    楼宇 空间编号:157536431

    • 一楼 空间编号:157535642
      • 101 教室 空间编号:157535643
      • 102 教室 空间编号:157536432
      • 103 教室 空间编号:157536433
      • 活动室 空间编号:157536434
      • 公共设备 空间编号:157536435
    • 二楼 空间编号:157536436
    • 三楼 空间编号:157535644

转移设备

根据上文的 各空间设备配备情况 表格,此时您可以将添加的设备按照规划将设备分配到具体的空间中。例如 101 教室,需要分配 1 个智能电闸,1 个门锁,4 个照明灯,2 个空调,还有智能窗帘等设备。操作设备分配到空间的流程如下:

  • 相关接口

    转移设备:

    POST:/v2.0/cloud/thing/{device_id}/transfer
    
  • Demo 片段

    IoT Core 设备管理实践 IoT Core 设备管理实践
  • 调试示例

    IoT Core 设备管理实践

查询空间设备

  • 相关接口

    查询空间下资源列表:

    GET:/v2.0/cloud/space/{space_id}/resource
    
  • 调试示例

    通过 查询空间下资源列表 接口查看空间下设备列表信息:

    IoT Core 设备管理实践

创建群组

  • 相关接口

    创建群组:

    POST: /v2.0/cloud/thing/group
    
  • Demo 片段

    IoT Core 设备管理实践 IoT Core 设备管理实践
  • 调试示例

    IoT Core 设备管理实践

创建群组联动规则

  • 相关接口

    新增联动规则:

    POST: /v2.0/cloud/scene/rule
    
  • Demo 片段

    基于前面创建的群组创建自动触发的联动规则:
    IoT Core 设备管理实践

  • 调试示例

    IoT Core 设备管理实践

    如上述流程所示,案例创建一个编号为 13069655 的照明群组,同时给这个群组设定了一个周一到周五每天下午都会自动指定的开灯操作规则 FF8TxADHXdoMmCjd,群组内设备的执行情况可以通过设备上报日志或者设备属性实时查看。

查询设备日志

  • 相关接口

    获取设备操作日志:

    GET: /v2.0/cloud/thing/{device_id}/logs
    
  • 调试示例

    IoT Core 设备管理实践

查询设备属性

  • 相关接口

    获取设备属性值信息:

    GET: /v2.0/cloud/thing/{device_id}/shadow/properties
    
  • 调试示例

    IoT Core 设备管理实践

触发群组规则

创建联动规则时可选择人工触发类型,然后使用规则触发的接口触发规则的执行。

  • 相关接口

    场景规则触发:

    POST: /v2.0/cloud/scene/rule/{rule_id}/actions/trigger
    
  • Demo 片段

    IoT Core 设备管理实践 IoT Core 设备管理实践
  • 调试示例

    IoT Core 设备管理实践

创建设备定时任务

  • 相关接口

    创建设备定时:

    POST:/v2.0/cloud/timer/device/{device_id}
    
  • Demo 片段

    IoT Core 设备管理实践 IoT Core 设备管理实践
  • 调试示例

    IoT Core 设备管理实践

修改设备定时任务

  • 相关接口

    修改设备定时状态:

    PUT:/v2.0/cloud/timer/{timer_id}/state
    
  • 调试示例

    IoT Core 设备管理实践

作废设备定时任务

  • 相关接口

    删除设备定时:

    DELETE: /v2.0/cloud/timer/device/{device_id}
    
  • 调试示例

    IoT Core 设备管理实践

除上述功能演示的接口外,其它 IoT Core v2.0 接口都已在 tuya-campus-demo 中实现,您可下载后导入本地项目中进行测试了解。

接口参考

详情请参考 IoT Core 连接服务