摘要:本文主要讲述空调接入到物联网平台后,通过恒温空调控制系统,不论空调是否开机,都可以调整空调默认温度,待空调上电开机后,自动按默认温度调节。

场景简介

通过恒温控制系统,不论空调是否开机,都可以调整空调默认温度,待空调上电开机后,自动按默认温度调节。

该场景主要描述的是应用侧或控制台可以给离线设备下发缓存命令,待设备上线后执行,控制台通过设备影子配置属性,待设备上线后上报的属性不匹配的话,会自动下发属性修改的指令,直至修改成功。

核心知识点:产品模型、编解码插件、设备影子、属性上报、属性修改。

场景流程

流程解释:

  1. 创建恒温空调产品:物联网平台以产品为粒度管理批量设备。用户可以通过平台提供的API接口或控制台创建产品。
  2. 创建恒温空调产品:物联网平台以产品为粒度管理批量设备。用户可以通过平台提供的API接口或控制台创建产品。
  3. 上传产品模型(编解码插件):产品模型定义了设备的基本属性和命令。您可以通过控制台在线开发产品模型,通过模板离线开发产品模型再上传到控制台,也可以导入公共产品库的模型。通过前面几个示例,您应该发现当设备若采用二进制上传方式时,需要开发编解码插件上传到平台;若采用Json数据格式上传,则无需编解码插件。
  4. 注册恒温空调设备:平台提供了应用侧API接口可以注册设备,也可以通过控制台批量注册。注册时获取的设备ID,是设备侧与平台交互的唯一标识。
  5. 配置恒温预期温度:这里需要引入一个概念:设备影子。当设备不在线时,平台可以缓存来自应用侧的设备影子预期配置,待设备上线后同步属性给设备,若设备上报的对应属性值与预期不一致时,平台会继续下发,直到属性更改成功。这里的预期是恒温控制系统,根据季节情况,统一调整空调的默认温度,例如冬天设置为28度,夏天设置为24度。

设备影子可以通过控制台“设备详情 > 设备影子 > 属性配置”中进行设置。如果无法配置,那可能是您没有添加产品模型。设备影子依赖设备属性,而属性又依赖产品模型的定义,所以设备影子跟属性一样,您需要先有产品模型的属性定义,才能正常使用设备影子。

  1. 设备影子缓存预期值:设备影子是IoTDA里面的一个服务,设备在平台的孪生数据,主要提供缓存属性修改,属性同步的机制,目的是确保设备属性值与平台保持一致,即使设备离线,也能提供修改属性的能力,待设备上线后自动同步生效。
  2. 空调通电开机:空调开机后,通过二进制或MQTT都可以上线或上报(与平台建立连接),平台缓存的预期值就会通过设备属性修改下发给空调。
  3. 上报当前温度属性值:空调上报当前的温度属性值,即空调的默认温度调节的度数。
  4. 设备影子更新属性值:如果预期温度是28度,而空调上报的温度调节度数是26度,则说明未设置成功,平台会重复下发属性修改,通知空调调节温度到28度。如果空调上报的度数是28度,说明预期值在设备侧设置成功,平台不再下发属性修改。
  5. 上报空调温度属性值:当空调按预期设置温度成功后,上报的属性值平台会通知给应用侧恒温控制系统。当然,应用侧和控制台都可以主动查询设备影子,来决定是否要做预期的调整。

最佳实践

场景说明

通过恒温控制系统,不论空调是否开机,都可以调整空调默认温度,待空调上电开机后,自动按默认温度调节。空调接入到物联网平台后,用户可以在应用侧或者设备接入控制台设置设备影子,将预置的温度通过设备影子下达属性修改给空调。空调收到修改属性的要求后,自动调节温度。

恒温空调产品开发

  1. 登录华为云官方网站,访问设备接入服务。
  2. 单击“立即使用”进入设备接入控制台。
  3. 单击左侧导航栏的“产品”,单击右下角下拉框,选择新建产品所属的资源空间。
  4. 单击右上角的“创建产品”,创建恒温空调产品,填写参数后,点击“立即创建”。

基本信息

产品名称

自定义,如aircondition

协议类型

选择“MQTT”

数据格式

选择“JSON”

厂商名称

自定义

功能定义

选择模型

按照步骤5自定义产品模型

所属行业

自定义

设备类型

  1. 在功能定义页面,选择“自定义功能”,参考下表,完成产品模型配置。

服务数据

服务

服务名称:temperature

属性

属性名称:temperature

是否必选:是

数据类型:jsonObject(JSON结构体)

访问权限:可读、可写、可执行

长度:1

  1. 进入“设备 > 设备注册”页面,单击“注册设备”,参考下表填写参数。

参数名称

说明

所属产品

选择在步骤4中创建的产品。

设备标识码

自定义,英文字母和数字的组合字符串。通过注册成功后生成的“设备ID”(与设备标识码一一对应)和“设备密钥”接入平台。

设备名称

自定义。

设备认证类型

选择“密钥”。

密钥

设备密钥,可自定义,不填写物联网平台会自动生成。

配置设备影子

用户可以选择在应用侧调用配置设备影子预期数据接口设置设备影子,也可以在设备接入控制台设置设备影子。此处以在设备接入控制台设置设备影子为例。

  1. 登录控制台,在左侧导航栏点击“设备”,单击步骤6注册的设备进入到恒温空调设备的详情页面。
  2. 选择“设备影子”页签,单击“属性配置”。
  3. 在弹出窗口中输入服务属性对应的期望值。此处设置“temperature”的属性值为25。

验证操作

方法一:

您可以使用MQTT.fx模拟设备验证。

  1. 使用MQTT.fx模拟恒温空调,并连接到物联网平台。操作方法请参考通过MQTT.fx体验设备接入。
  2. 选择“Subscribe”页签,输入订阅设备影子的topic=$oc/devices/{device_id}/sys/shadow/get/response/#,其中{device_id}与步骤6的设备ID保持一致,点击“Subscribe”按钮。

3. 选择“Pubish”页签,输入请求设备影子的Topic=$oc/devices/{device_id}/sys/shadow/get/request_id={request_id}。

4. 输入一条获取设备影子的请求,点击“Publish”按钮。

示例:

{"object_device_id": "40fe3542-f4cc-4b6a-98c3-61a49ba1acd4","service_id": temperature"
}

5. 选择“Subscribe”页签,看到平台下发的设备影子数据。

方法二:

您可以使用配置设备接入服务时注册的真实设备接入平台,设备会收到平台下发的设备影子,修改空调的预设温度值。

至此,通过该文档的学习,您应该对恒温空调场景有了一定的了解。接下来,可以在系列后续文章中,可以学习到更多的物联网业务场景。

点击这里→了解更多精彩内容

相关推荐

LiteAI四大绝招,解锁物联网智能设备AI开发难关

盘点物联网常用开发板

物联网智慧路灯应用代码解析

一条物联网设备控制命令的一生

【华为云技术分享】玩转华为物联网IoTDA服务系列六-恒温空调相关推荐

  1. 【华为云技术分享】解析:物联网数据分析服务如何做?

    [摘要] 物联网设备正在产生大量的数据,如何为开发者提供简单有效的数据分析服务,简化开发过程,提升开发效率,让IoT数据快速变现是一个摆在我们面前的问题. 没有疑问,我们已经身处物联网时代了,每天都有 ...

  2. 【华为云技术分享】揭秘华为云DLI背后的核心计算引擎

    云湖湖导读:本文主要给大家介绍隐藏在华为云数据湖探索服务(后文简称DLI)背后的核心计算引擎--Spark.DLI团队在Spark之上做了大量的性能优化与服务化改造,但其本质还是脱离不了Spark的核 ...

  3. 【华为云技术分享】基于华为云IOT及无线RFID技术的智慧仓储解决方案最佳实践系列一

    摘要:仓储管理存在四大细分场景:出入库管理.盘点.分拣和货物跟踪.本系列将介绍利用华为云IOT全栈云服务,端侧采用华为收发分离式RFID解决方案,打造端到端到IOT智慧仓储解决方案的最佳实践. 仓储是 ...

  4. 【华为云技术分享】为什么说物联网平台是城市数字化的必备底座

    [摘要] 面向海量物联即将补面而来的5G时代,城市开始有了些"焦虑"!统一的物联网平台能给城市的数字化提供什么价值,为何说物联网平台是城市数字化的必备底座. 随着5G及物联网的发展 ...

  5. 【华为云技术分享】直播回顾丨激发数据裂变新动能,HDC.Cloud云数据库前沿技术解读

    3月24日14:00-17:00,HDC.Cloud开发者沙龙系列云数据库专场直播线上开启,此次华为云数据库通过三场直播从NoSQL数据库新技术.数据库迁移.行业解决方案等方面对云端数据库进行深度解读 ...

  6. 【华为云技术分享】三大前端技术(React,Vue,Angular)探密(下)

    [华为云技术分享]三大前端技术(React,Vue,Angular)探密(上) [Angular] Angular(通常被称为 "Angular 2+"或 "Angula ...

  7. 【华为云技术分享】“技术-经济范式”视角下的开源软件演进剖析-part 1

    前言 以互联网为代表的信息技术的迅猛发展对整个经济体系产生了巨大的影响.信息技术的发展一方面使知识的积累和传播更加迅速,知识爆炸性的增长:另一方面,使信息的获取变得越来越容易,信息交流的强度逐渐增加, ...

  8. 【华为云技术分享】“技术-经济范式”视角下的开源软件演进剖析-part 3

    4. 微观层面 4.1 个体动机 在开源软件发展之初, 商业组织的投入很少甚至没有, 完全是靠Richard Stallman 或者 linus Torvalds 这样的个人在努力推动开源软件艰难前行 ...

  9. 【华为云技术分享】成熟度模型:企业规模化推广敏捷和DevOps利器

    摘要: 本文介绍了成熟度模型在软件开发行业的应用,重点阐述了成熟度模型对于敏捷和DevOps在企业中进行规模化推广的价值,探讨了成熟度模型的设计原则,并对于如何明智使用成熟度模型给出了建议. 导言 在 ...

最新文章

  1. 1499抢飞天茅台?可惜了,才26万的并发app就崩了!
  2. python地理数据处理 下载_python-doc/将Python用于地理空间数据处理.md at master · zhuxinyizhizun/python-doc · GitHub...
  3. SQL中删除重复的行(重复数据),只保留一行 转
  4. HDU - 5592 ZYBs Premutation(线段树,逆序对)
  5. ajax跨域访问控制
  6. wxpython实现界面跳转
  7. sysbench的框架实现介绍
  8. NLP中的绿色Finetune方法
  9. 机器翻译市场需求调研报告
  10. 博途v14电脑要求_博途V14或者V15,大家现在用的电脑-工业支持中心-西门子中国...
  11. FusionChartsFree的JSP标签开发
  12. 多元统计分析作业:中心城市综合发展水平的分析评价
  13. LED降压恒流驱动芯片适用于LED电动车/摩托/汽车大灯方案
  14. 177.5. FAQ
  15. [AV1] Segment
  16. JVM面试题(含答案和图和解释)
  17. 破解有道翻译js加密,纯小白练手
  18. 为什么Vue(默认情况下)比React性能更好
  19. 海龟交易法则13_系统
  20. 华附计算机学神,【学习】时隔13年,华附两牛娃杀进奥数国家队,父母亲述学霸成长史!...

热门文章

  1. 成本管理--总体拥有成本和投资回报率
  2. 简单公司网络架构.......拓扑图讲解(华为)。
  3. 聊聊火出圈的ChatGPT
  4. 剖析LengthFieldBasedFrameDecoder
  5. centos7下dns服务搭建
  6. STM32IO模拟串口接收发送(stm32f030)
  7. 笔记本电脑与台式机同步连接_如何将台式机与Google云端硬盘(和Google相册)同步...
  8. R语言使用lm函数构建多元回归模型(Multiple Linear Regression)、使用step函数筛选最合适的回归变量(逐步回归筛选预测变量的最佳子集)
  9. 任务管理器不能使用解决方法
  10. 推荐算法论文:Deep Neural Networks for YouTube Recommendations