天翼云代理,天翼云代理商,北京代理商
天翼云2.5折专线:18510009100/18510009200(全国市话)

基于OpenHarmony设计实现的智能家居中控面板

2022-03-22 08:44:49

??想了解更多内容,请访问:??

??51CTO和华为官方合作共建的鸿蒙技术社区??

??https://ost.51cto.com??

1、设计背景及项目介绍

目前,智能家居理念飞速发展,各种智能家居产品不断问世,随着家用电器的发展,家用电器也要顺应科技的发展步伐走向智能化。智能家居不仅能给用户提供安全、健康和舒适的生活环境,用户还能方便地远程监控自己的家居状态,控制家庭电器设备。当前,家居电子设备除常用家电设备以外,家庭安防设备和家庭医疗设备也逐渐增多。同时,随着网络技术的深入应用,家庭中的多种电器设备都需要与互联网对接。如何实现多种家庭设备的集中管理和远程控制,是智能家居功能的体现。基于以上背景,本文提出了一种基于OpenHarmony设计实现智能中控设备,目的是使开发者了解集成设备进行统一管理控制的一种方法。

本项目主题来自于OpenHarmony开源开发者成长计划,实现了基于OpenHarmony设备的L0、L1、L2设备之间的互联互通,实现了基于中控设备的设备远程控制、设备联动控制、设备自主控制等功能,功能相继开发中与优化中。

2、项目架构

鉴于目前分布式软总线技术开发难度较大,故本文采用MQTT物联网通信协议来实现设备与云端通信,但中控面板端后期将会采用华为云应用端API接口进行升级,进一步降低中控设备的资源消耗。

【智能中控面板】

智能中控面基于BearPI-HM Micro开发板设计实现,其主控程序基 openHarmony JS应用程序框架设计实现,并使用MQTT物联网通信协议接入华为云IOT平台,同时可将控制指令发送至华为云IOT平台,供云端处理。

【华为云IOT平台】

华为云IOT平台提供了设备接入服务,供中控面板以及L0子节点设备的接入,同时设备控制基于设备联动服务进行开发,实现一条指令控制一个设备、一条指令控制多个设备、多条指令控制一个设备、多条指令控制多个设备等复杂逻辑的场景控制需求。

【L0子节点设备】

基于鸿蒙轻量系统开发的设备控制端,集成于智能设备上,可通过MQTT协议接入华为云IOT平台,可实现复杂的设备控制逻辑,中控调用这些控制逻辑仅需一条指令即可,大大的解耦合了中控端与设备端复杂的控制逻辑链,将复杂逻辑控制链完全隔离于设备内部。

3、中控应用设计

中控应用基于openHarmony应用程序框架设计实现,下面是设计图,由于时间关系,设计图还未完全开发实现,后续会继续跟进。

【主页】

主页控制设计显示当前中控面板采集到的微环境信息,提供了场景联动的接口,支持一键控制多个设备。

【灯光控制】

灯光设计目前暂设计了一室一控,后续会继续优化拓展。

【空调设备控制】

【窗帘设备控制】

4、中控MQTT设计与添加设备思路

中控MQTT设计实现基于OpenHarmony3.0 LTS版本,后续更新后可能会有所改变。具体实现为中控MQTT通信过程处于内核态驱动程序,JS应用通过发起接口调用后,进入用户态调用内核态接口的流程,并且JS应用会将所需要向云端发送的MQTT协议主题内容直接传入内核态,内核态不作数据处理和解析,直接将数据发布至云端,这样设计的目的是为了在添加设备的时候,仅需改变JS应用的数据结构,并不需要修改设备的代码,完成了解耦合。

【打开LED灯示例】

仅需改变数据结构的操作数即可。

5、设备联动设计

在添加好设备之后,进入设备联动控制逻辑界面,添加联动控制触发条件即可。

6、总结

目前来看,实现控制还是有点复杂,待后续分布式软总线的相关学习完全后,会尝试修改控制方法。经过本次项目设计后,我很荣幸得到许多优秀的老师、开发伙伴给予我的技术支持。同时,该项目将会一直维护更新。直到功能能够完全满足需求为止。

??想了解更多内容,请访问:??

??51CTO和华为官方合作共建的鸿蒙技术社区??

??https://ost.51cto.com??

12年经验 · 提供上云保障

服务热线:132-6161-6125(手机) 400-150-1900(全国市话)

站内导航: 天翼云服务器价格| 天翼云购买流程| 天翼云代理| 北京天翼云代理商| 杭州天翼云代理| 深圳天翼云代理商| 钉钉代理商| 阿里云代理| 公司官网

我公司收款账号| 天翼云备案系统

CopyRight © 2019 天翼云代理商. All Rights Reserved 京ICP备2024071855号-7 管理-北京优胜智连科技有限公司