更新时间:2024-06-14 18:18:19下载pdf
本次实践针对一个 虚拟智慧校园,通过新版 IoT Core OpenAPI 完成 设备控制 和 设备管理。涂鸦 IoT Core 核心接口能够实现基于空间的设备分类、基于群组的设备批量管理、以及设备相关属性、定时任务的设定、联动场景的触发等操作。适用的开发环境为 IntelliJ IDEA 和 API Explorer。
本文模拟了远程管理 虚拟智慧校园 中的一系列智能设备,介绍如何基于 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 | - | - | - |
本文将按照如下图所示的流程,以及结合虚拟案例来进行操作。
流程分为三个步骤,如果您已经创建了云项目和添加了设备,可以直接进行 第三步:设备控制。
更多有关云项目的详情,请参考 管理项目。
云项目支持多种设备添加方式,帮助您在不同的场景下完成设备添加。
本次实践,主要通过添加 虚拟设备 方式实现功能的演示。如果是真实项目,您可以根据实际情况,选择合适的方式添加设备。
关联涂鸦 App 账号。
选择 设备 > 关联涂鸦 App 账号 > 添加 App 账号。
然后使用登录个人账号的 智能生活 App 扫码授权,授权后在 全部设备 中就可以看到当前授权账号下的所有设备信息。
添加虚拟设备到 涂鸦 App 账号。
选择 设备 > 全部设备 > 添加设备 > 添加虚拟设备。
在 添加虚拟设备 页面选择需要的设备,然后单击 添加虚拟设备。
在添加设备页面,选择将设备添加到涂鸦 App 账号,使用上述步骤授权的涂鸦 App 扫码添加设备。然后,在云开发当前项目的全部设备列表中,即可看到刚刚添加的设备信息。
开发环境:IntelliJ IDEA。
开发工具:Tuya-connector Java SDK。
Tuya-connector Java SDK 集成了您在 OpenAPI 调用或者消息订阅集成(云云对接)项目过程中的云端连接和处理过程,可以让您如同本地开发一样,聚焦于自身的业务逻辑。更多详情,请参考 开发设备控制和消息订阅服务(Java SDK)。
Demo 工程:tuya-campus-demo
,本次案例流程,通过导入 Demo 进行实践演示。
调试工具:涂鸦 API Explorer。
根据上文 智慧校园楼宇空间结构图 所展示的信息,您可以:
先创建一个教学楼一到三楼的结构。
并初始化一楼的三间教室及一个活动室,创建过程中需要使用空间相关接口。
tuya-campus-demo
代码中已提供了此结构的初始化请求,在开发者账号下直接执行初始化接口:
GET http://127.0.0.1:8080/campus/init?removeAllSpace=false
相关接口
创建空间:
POST:/v2.0/cloud/space/creation
Demo 片段
调试示例
记录创建生成的空间编号信息,以便接下来在基于空间的设备管理流程中使用,避免再次去查询空间列表接口:
楼宇 空间编号:157536431
根据上文的 各空间设备配备情况 表格,此时您可以将添加的设备按照规划将设备分配到具体的空间中。例如 101 教室,需要分配 1 个智能电闸,1 个门锁,4 个照明灯,2 个空调,还有智能窗帘等设备。操作设备分配到空间的流程如下:
相关接口
转移设备:
POST:/v2.0/cloud/thing/{device_id}/transfer
Demo 片段
调试示例
相关接口
查询空间下资源列表:
GET:/v2.0/cloud/space/{space_id}/resource
调试示例
通过 查询空间下资源列表 接口查看空间下设备列表信息:
相关接口
创建群组:
POST: /v2.0/cloud/thing/group
Demo 片段
调试示例
相关接口
新增联动规则:
POST: /v2.0/cloud/scene/rule
Demo 片段
基于前面创建的群组创建自动触发的联动规则:
调试示例
如上述流程所示,案例创建一个编号为 13069655 的照明群组,同时给这个群组设定了一个周一到周五每天下午都会自动指定的开灯操作规则 FF8TxADHXdoMmCjd
,群组内设备的执行情况可以通过设备上报日志或者设备属性实时查看。
相关接口
获取设备操作日志:
GET: /v2.0/cloud/thing/{device_id}/logs
调试示例
相关接口
获取设备属性值信息:
GET: /v2.0/cloud/thing/{device_id}/shadow/properties
调试示例
创建联动规则时可选择人工触发类型,然后使用规则触发的接口触发规则的执行。
相关接口
场景规则触发:
POST: /v2.0/cloud/scene/rule/{rule_id}/actions/trigger
Demo 片段
调试示例
相关接口
创建设备定时:
POST:/v2.0/cloud/timer/device/{device_id}
Demo 片段
调试示例
相关接口
修改设备定时状态:
PUT:/v2.0/cloud/timer/{timer_id}/state
调试示例
相关接口
删除设备定时:
DELETE: /v2.0/cloud/timer/device/{device_id}
调试示例
除上述功能演示的接口外,其它 IoT Core v2.0 接口都已在 tuya-campus-demo 中实现,您可下载后导入本地项目中进行测试了解。
详情请参考 IoT Core 连接服务。
该内容对您有帮助吗?
是意见反馈该内容对您有帮助吗?
是意见反馈