• 收藏
  • 加入书签
添加成功
收藏成功
分享

基于鸿蒙OS的智能家居系统的设计与开发

李勃轩 韦文龙 金鑫
  
大丰媒体号
2022年18期
辽宁石油化工大学信息与控制工程学院 辽宁省抚顺市 113000

打开文本图片集

摘要:步入21世纪后,智能家居逐渐成为人们日常生活中不可缺少的产品,其中对于智能家居设备及其内核的选择极为重要,直接影响到用户的使用体验。为了尽可能的满足用户的多种需求,本文完成了基于鸿蒙OS(Harmony OS)及其配套的Hi3861LV100芯片的智能家居系统的设计与开发,鸿蒙OS做为新生系统,使用前景十分广阔,因其做为新生系统,使用率较低,生态链以及产品化区域较为空白,所以具有较大的发展空间。且鸿蒙OS对于设备互联有较强的适配性,因此本文基于鸿蒙OS设计与开发的智能家居系统,包括硬件与软件的互联互通,实现家庭数字化,家庭自动化以及实现作品初步产品化,以达到填补业内空缺的目标。

关键词:自动控制技术;智能家居;鸿蒙OS;Hi3861LV100;物联网

引言

物联网引导下的家居设计一般称为 “智能家居设计”,是以住宅为平台,利用技术将各类智能产品联合,构建全方位的智能管理系[1]。智能家居概念起源于20世纪80年代初的美国,称之为 Smart Home。其经历了4代的发展:第一代是通过同轴线及 两芯线完成家庭组网,进而实现灯光、窗帘及少量的安防控 制等;第二代是通过总线及IP技术组网,能够完成可视对讲 及安防的业务;第三代是集中化的智能控制系统,由中控机 完成安防、计量等方面的功能;第四代则基于物联网技术可 根据用户需求实现个性化的功能[2]。但是现阶段的智能家居系统仍存在一些问题,如:兼容性差、连接困难、价格较贵、易用性低、多个智能设备之间需要多个控制器等。所以本文基于鸿蒙OS及Hi3861LV100芯片进行智能家居系统的设计与开发。

智能家居产品相信对于每个人都不是陌生的,但这些产品大部分都是以单一的产品形式存在,使用仅解决部分的功能需求。这个限制对开发人员也同样存在,设备之间缺乏数据互操作性,这是智能的这种体验受到了极大的损害。举个简单的例子,智能空调、加湿器和净化器都是环境调整的设备,它们本可以协同工作,自动调整家庭舒适度。但事实确实,设备的调度仍然在很大程度上取决于用户,但Android和iOS很难拥有解决这些障碍。鸿蒙操作系统却具有完全不同的分布式体系结构它,不只是一部手机或设备的操作系统,它是可以将所有设备串起来连接在一起的通用系统。多种不同的设备,如手机、智能屏幕、平板电脑、汽车计算机等可以使用鸿蒙操作系统并相互协作提供服务。

2019年8月,华为公司正式推出了HarmonyOS(鸿蒙操作系统)。HarmonyOS是一款面向万物互联时代的、 全新的分布式操作系统,重要的是鸿蒙系统采用的微内核技术很好地解决了裁剪嵌入式系统时面临的问题。基于鸿蒙操作系统的设备开发是一次全新的嵌入式系统应用开发。[3]

1  技术路线

如图1所示是本项目的整体技术方案,软件前端开发的主要工具是DevEco Studio 3.0然后对接硬件开发,硬件部分使用DevEco Device Tool 3.0进行开发,在Ubuntu环境下进行编译、烧录。在Windows环境下进行代码编辑等操作。

DevEco Studio 3.0是面向全场景多设备,并提供一站式分布式应用开发平台,支持分布式多端开发、分布式多端调测、多端模拟仿真,具有全方位的质量与安全保障。其可视化,低代码开发的特性对项目提供了极大的便利。

DevEco Device Tool 3.0是面向智能设备开发者的开发平台,提供一站式的开发环境、一站式资源获取通道,实现了从芯片模板工程创建到开发资源挑选定制,再到编码、编译、调试、调优、烧录环节的全流程覆盖,帮助开发者实现 HarmonyOS Connect/OpenHarmony智能硬件设备的高效开发。集成HDF驱动开发、仿真器、栈分析、镜像分析、Trace分析、Perf分析等工具,助力智能设备开发效率提升。

2  开发环境配置

在进行开发前需先配置开发环境,本项目在Ubuntu和Windows两个环境下进行开发,需对两个系统环境分别进行配置。

首先对Ubuntu进行配置,Ubuntu需要18.04~21.10版本,手动安装gcc、make、perl将Ubuntu Shell环境修改为bash,然后下载并安装DevEco Device Tool 3.0 Release Linux版本,至此Ubuntu的开发环境配置完成。

Windows开发环境的配置首先需要安装Visual Studio Code,然后下载并安装Visual Studio Code,安装完成后使用SSH服务从Ubuntu中获取源码

在Ubuntu系统中打开终端工具,执行

sudo apt-get install openssh-server

sudo systemctl start ssh

然后使用如下命令获取当前用户IP地址

Ifconfig

回到Windows系统下,打开Visual Studio Code后安装remote-ssh插件,然后在SSH链接命令中输入

ssh username@ip_address

ip_address为先前获取的用户IP,按回车键进行连接,显示连接成功如图2,至此开发环境配置完毕。

3  硬件及其代码介绍

3.1硬件介绍

本文使用海思Hi3861LV100作为智能家居的主控芯片,为Hi3861V100的低功耗版本相较于Hi3861V100,具有能耗更低,但性能基本相同的优点,其规格如下Hi3861LV100是一款高度集成的2.4GHz WiFi SoC芯片,集成IEEE 802.11b/g/n基带和RF电路,RF电路包括功率放大器PA、低噪声放大器LNA、RF balun、天线开关以及电源管理等模块;支持20MHz标准带宽和5MHz/10MHz窄带宽,提供最大72.2Mbit/s物理层速率。Hi3861LV100 WiFi基带支持正交频分复用(OFDM)技术,并向下兼容直接序列扩频(DSSS)和补码键控(CCK)技术,支持IEEE 802.11 b/g/n协议的各种数据速率。 Hi3861LV100芯片集成高性能32bit微处理器、硬件安全引擎以及丰富的外设接口,外设接口包括SPI、UART、I2C、PWM、GPIO和多路ADC,同时支持高速SDIO2.0 Slave接口,最高时钟可达50MHz;芯片内置SRAM和Flash,可独立运行,并支持在Flash上运行程序。图3为本项目所设计的开发板原理图及pcb图。

3.2功能实现

智能家居大部分需要开发板实现作为开关的功能,如控制照明、风扇、灯光等所以主要使用gpio输出高低电平与继电器配合进行控制,部分程序代码如图4所示。

部分智能家居可能需要pwm输出、adc转换、i2c协议,hi3861也配有相应库函数如图5所示。

4  前端及其代码介绍

4.1软件介绍

本项目使用DevEco Studio 3.0进行前端界面开发,其具有丰富的UI界面编辑功能,例如基于图形化的自由拖拽、数据的参数化配置等,遵循HarmonyOS JS开发规范,通过可视化界面开发方式快速构建布局,可有效降低用户的时间成本和提升用户构建UI界面的效率。并且支持多端模拟仿真、支持手机、智慧屏、智能穿戴设备、车机等,为开发者提供了极大的便利。

4.2功能实现

智能家居需要实现多种功能,才能更好的满足用户需求,因近年来智能手机已经成为具有多种功能且被大众广泛使用的设备,本项目使用智能手机作为用户使用端,为用户带来更好的体验。

本项目支持用户对灯光、空调、智能门锁、加湿器等进行控制,接下来将会对其功能进行详细介绍。

如图6,当用户第一次使用时,需注册登录相应账户后,即可使用本系统。

如图7,用户可以通过手机设置各个房间的智能设备状态,如灯光,空调,加湿器等,并可以按需添加其它设备或其他场景。

如图8和图9为模式选择和组网界面,为了方便用户使用,本项目设置了睡眠模式,老人模式,工作模式以及学习模式四个模式方便用户根据对应需要进行选择,并且在设置中可以使用扫一扫或二维码进行便捷组网,使用预留端口与硬件进行连接,实现互联互通。

以上是对于界面的具体介绍,由此可知,本项目可以满足大部分智能家居需要,且使用鸿蒙OS配合配套硬件可以达成较好的效果,让用户得到很好的体验感。接下来将对代码进行简要介绍。

4.3功能代码

本文前端使用JavaScript语言在DevEcoStudio3.0中进行开发,脚本语言JavaScript的语句一般都嵌在网页的HTML语句当中由网页浏览器解释执行。JavaScript语言的基本语法比如控制流程的if语句、for语句、while语句、switch语句以及例外处理语句try...catch都和Java语言一样。但JavaScript语言没有Java语言那样的int或float等基本数据类型JavaScript语言只有若干个内置的对象:数字对象Number字符串对象String布尔对象Boolean日期对象Date正则表达式对象RegExp数组对象Array函数对象Function基础对象Object数学对象Math以及全局对象Global。其中Global对象定义了几个全局的常量(无穷大数“非数”NaN等)和几个全局的函数(字符串转义函数表达式求值函数等)。利用这些基本的内置对象可以构造出复杂的浏览器定义对象和用户定义对象。构造JavaScript对象时首先创建一个没有任何成员的空对象然后在运行时往这个对象里添加成员变量或者成员函数。也可以利用已经构造的对象作为原型构造具有相同成员的其它对象。

因为JavaScript和DevEcoStudio3.0的特性,可以使用较少的代码量实现完整功能,为开发者带来了极大的便利。

5  结论

基于HarmonyOS的智能家居系统是为新时代智能家居所设计与开发的项目,该项目具有使用便捷,经济效益高,用户人群广泛等特点,可实现智能家居的各项基本需求需求,,辅助用户在日常生活中提升生活质量。特别适合一般家庭的对于智能家居的使用;另外本项目基于HarmonyOS开发,它结合了C++语言和JavaScript,提高了智能家居的开发效率,增强了项目的稳定性和代码的可移植性。HarmonyOS操作系统是一个开放的系统,开发者可以通HarmonyOS 开发灵活的服务和应用,为开发者和使用者带来便利和价值。在这个执行环境中,芯片的安全能力、系统的安全能力、以及上层的安全服务一起协作,从硬件安全、系统安全、数据安全、设备互联安全、应用安全、安全更新多个维度提供安全保障。从而所构建的智能家居系统有较高的安全性, 且使用 HarmonyOS 操作系统有较高的便捷性。

参考文献

[1]顾天威,王玮,陈雪.物联网背景下的智能家居产品发展趋势探究[J].家具与室内装饰,2021,(02):27-29.

[2]朱敏玲,李宁.智能家居发展现状及未来浅析[J].电视技术,2015,39(04):82-85+96.

[3]郭德财,彭石林.基于海思芯片与鸿蒙操作系统的智慧灌溉系统设计[J].单片机与嵌入式系统应用,2022,22(03):11-15.

[4]王映,于满泉,李盛韬,王斌,余智华.JavaScript引擎在动态网页采集技术中的应用[J].计算机应用,2004,(02):33-36.

作者简介:李勃轩(2001—),男,大学本科在读,主要研究方向:嵌入式系统开发,通信联系人:金鑫,副教授,主要研究方向:工业过程控制。

*本文暂不支持打印功能

monitor