计算机科学与应用  >> Vol. 10 No. 9 (September 2020)

基于物联网的家庭景观智能互联系统
Home Landscape Intelligent Interconnection System Based on Internet of Things

DOI: 10.12677/CSA.2020.109164, PDF, HTML, XML, 下载: 128  浏览: 434 

作者: 刘建生, 杨忠江, 杨承坤, 马国宇, 李 硕, 李 畅:西南石油大学,四川 成都

关键词: 物联系统智能鱼缸OneNETSTM32F4ESP32PyQt5IOT System Intelligent Fish Tank OneNET STM32F4 ESP32 PyQt5

摘要: 通过对我国家庭景观的呵护情况以及市场上鱼缸和一些常规植物景观的特点分析,设计研究出了一款基于STM32单片机控制的家庭景观互联系统。该系统主要由智能运动系统、通信系统和智能管理系统组成。智能运动系统采用STM32F4单片机作为主控芯片,实现鱼缸相关运动结构自动化以及传感器数据的收集,植物底座自由运动和浇水自动化。通信系统采用ESP32芯片建立局域网,ESP32可承担基础的传感器数据采集、花盆底座运动控制,建立起一个以OneNET为服务器,ESP32为传输节点,管理软件为控制平台的物联网传输系统。智能管理系统采用PyQt5开发了智能管理APP,实现了多个模块并行使用,实现对家庭景观物联网设备信息数据的实时监测显示,通过软件实现对家庭智能景观系统设备的远程控制,大大提高了用户的远程操作性,提供用户科学方便的家庭景观养护体验。该系统基于现今的物联网技术,以家庭中的鱼缸、花卉、水循环系统为研究对象,利用万物互联的思想,实现鱼缸、花卉、水循环系统互联互通的一套智能化家庭景观系统。该系统将有效地解决养鱼养花爱好者因对景观不甚了解或因工作繁忙无暇照看而导致鱼儿和植物死亡的问题,适用于多种情况及场景。以智能化代替人工,提高人们生活质量的同时,便利人们的生活,给用户带去了舒适性、便捷性,体现了多元化的服务理念。
Abstract: Based on the analysis of the care of the family landscape in our country and the characteristics of the fish tanks and some conventional plant landscapes on the market, a family landscape intercon-nection system based on STM32 single-chip microcomputer control was designed and studied. The system is mainly composed of an intelligent sports system, a communication system and an intelli-gent management system. The intelligent motion system uses STM32F4 single-chip microcomputer as the main control chip to realize the automation of the fish tank related motion structure and the collection of sensor data, the free movement of the plant base and the automation of watering. The communication system uses the ESP32 chip to establish a local area network. ESP32 can undertake basic sensor data collection, flowerpot base movement control, and establish an Internet of things transmission system with OneNET as server, ESP32 as transmission node and management software as control platform. The intelligent management system uses PyQt5 to develop an intelligent management APP, realizes the parallel use of multiple modules, realizes the real-time monitoring and display of the information data of the home landscape Internet of things equipment, and realizes the remote control of the home intelligent landscape system equipment through software, which greatly improves the remote operability for users with a scientific and convenient home landscape maintenance experience. The system is based on the current Internet of Things technol-ogy, takes fish tanks, flowers, and water circulation systems in the home as the research object, and uses the idea of interconnection of all things to realize a set of intelligent home landscape systems that interconnect the fish tanks, flowers, and water circulation systems. The system will effectively solve the problem of fish and plant death due to poor understanding of the landscape or busy work and no time to look after fish and flower enthusiasts. It is suitable for many situations and scenarios. Replace labor with intelligence, improve people’s quality of life, and at the same time facilitate people’s lives, bring comfort and convenience to users, and reflect the diversified service concept.

文章引用: 刘建生, 杨忠江, 杨承坤, 马国宇, 李硕, 李畅. 基于物联网的家庭景观智能互联系统[J]. 计算机科学与应用, 2020, 10(9): 1559-1570. https://doi.org/10.12677/CSA.2020.109164

1. 引言

随着国民经济的发展及人民生活节奏的日趋加快,家居景观的个性化与生态化越来越受人们重视,而能给人带来宽松舒适的美感的鱼缸与植物受到人们的广泛喜爱。但由于多数养殖者对鱼与植物的生活环境不甚了解,或因工作繁忙无暇照顾而时常导致所养鱼、植物死亡。目前,国内外市场也相继出现了一系列的“智能鱼缸”,国内外的智能鱼缸所能提供功能有:水温恒温控制、充氧控制、自动换水等,该类智能鱼缸的出现在一定程度上实现了养殖自动化,但其提供的功能过少、功能单一、灵活性差,无法根据所养鱼的种类、数量、大小等灵活变换鱼缸中水体参数,更无法为不懂鱼、植物的用户提供合理的养殖建议 [1]。针对上述问题,本文提出一种基于STM32单片机控制、多种传感器协同工作、可远程控制的家庭景观互联系统。

2. 系统的总体设计方案

智能互联系统在软件和硬件均采用模块化设计,主要由机械结构设计、运动控制系统、局域网通信系统、智能控制系统构成。

3. 机械结构设计

3.1. 智能鱼缸模块

鱼缸跟市面上大多数外观结构相似,但是经过设计加入了进水装置、出水装置、暂储鱼盒,鱼缸内壁装有自动清扫刷,鱼缸上部装有自动投料装置、供氧装置。鱼缸内置水下高清摄像头、温度传感器、pH值检测器等多种传感器。鱼缸的整体设计实现如流程图1所示。

Figure 1. Flow chart of the overall design of the fish tank

图1. 鱼缸的整体设计实现流程图

3.1.1. 自动换水装置

主要利用单片机内部的定时器进行计时,当时间到达设定时间时,出水装置启动,水位减低,直到红外传感器检测到水位下降到设定值时,抽水电机停止工作。此时出水装置工作,水位上涨,直到红外传感器检测到水位上升到设定值时,出水装置停止工作。另外也会根据检测水质的成分,当水质某些指标不符合鱼儿适宜生活时,也可以通过单片机的中断系统进行自动换水 [2]。

3.1.2. 自动清扫刷与自动投料装置

单片机通过输出的数字信号对继电器进行控制,从而继电器控制电机,通过电机的转动实现清扫刷的工作和鱼料的投放 [3]。清刷鱼缸的时间可以设置在换水之前,利用废水进行清刷,实现水资源的多重利用。

3.1.3. 自动供氧装置

由于供氧的气泡会对观赏性大打折扣,因此对供氧时间也会依据观赏者的作息进行定时控制,在不需要观赏的时间供氧,其余时间停止供氧。供氧模块主要是由供氧开关、自动供氧开关以及自动供氧间隔时间来进行控制。

3.1.4. 鱼缸水质浑浊度检测

光信号的强弱可以反映水中浑浊度的变化,若光信号强表明水中透光性强,即水的浑浊度较小;相反,若水不够清澈,浑浊度较大影响透光性,光信号会比较弱 [4]。以此通过对鱼缸内水质采用光敏传感器进行监测,一旦水质参数超过正常范围,立刻将进入单片机中断服务程序,进行换水。

3.1.5. 水温检测

不同种类得鱼儿对水温度得要求有所不同,尤其是观赏鱼对温度得要求更为严格,鱼缸中具有水温检测和水温保持模块。通过温度传感器DS18B20采集温度信号,并对温度信号实时控制,当温度过高时触发降温电路;当温度过低时触发加热电路,保证水温维持合适的范围内 [5]。

3.1.6. pH检测

水体pH值通过E-201型pH传感器进行测量,测量数据传至手机APP显示。硬件接收到pH设置值后先进行一次水体pH值测量,若测量值小于设定值则启动进水装置,通过补充新鲜水源的方式调节pH。

3.2. 景观植物模块

对植物景观的底座加入可驱动装置,加入可与系统进行通信的标签模块,可以实现自由旋转及移动。对花盆的设计参考浇水可循环设计,花盆可满足长期水资源需求。

白天时,当阳光照进家庭阳台的时候,智能管理系统控制景观植物的底盘,利用植物向阳生长的特性,控制底盘运动旋转,合理利用阳光,以及定时定量对植物进行灌溉水(鱼缸所换水)和养料。当用户在书房工作学习时,当眼睛对屏幕用眼过度时,用户可通过智能管理APP控制景观植物自动运动到书房为用户提供更加舒适的工作环境,景观植物模块系统设计图2所示。

Figure 2. Design of landscape plant module system

图2. 景观植物模块系统设计

4. 局域网数据通信系统

4.1. 通信系统框图

整体通信系统框如图3所示。

Figure 3. Overall communication system

图3. 整体通信系统

4.2. 组网基本原理

ESP32是一款高集成度的支持WIFI的SOC,基于ESP32可以将多个模块组网互联,完成局域网组网、访问互联网。

一般,组网可以有两种方式:无线多芯片自组网和指定互联网服务器组网。多芯片自组网一般适用于规模较大,数据量小的场景。在该设计中,互联数少,数据量较大,使用指定互联网服务器组网。免费的服务器平台OneNET,可以轻松建立起多个模块中的互联。在该系统中,OneNET充当了主服务器的角色,其主要作用是通告设备IP地址和作为中介。各个ESP (包括PC)既是可以成为客户端经过OneNET实现传送,也可以直接局域网内通信。

打开PC客户软件终端和各模块的电源,各模块均自动接入家庭的无线路由器,在获取动态IP地址后,可以访问互联网。经由OneNET的互联,各个设备知道在该系统中的其他设备的功能与IP地址信息。对于传感器环境实时数据,经由MQTT协议,各个设备上传到OneNET集中管理并回传给PC。对于PC指令、视频数据、设备管理信息等直接在设备间借由TCP/IP连接在局域网内传送。

4.3. 模块设计

4.3.1. OneNET

OneNET是由中国移动打造的物联网开放接入平台,可以提供许多物联网功能,但是绝大部分需要收费 [6]。该设计只使用其免费的MQTT通信协议功能,将其作为协议中的服务器,中转各IP地址、设备信息和环境数据。系统中设备接入无线路由器时,通过DHCP获取的IP地址因设备与时间而异,由用户去查看并告知其他设备是不现实的。MQTT协议采用设备–服务器–设备的思想,将服务器作为中转,可实现应用层的单播、组播、广播通信。设备将自身的设备信息传至平台上,并在每个新设备接入或自身IP地址变更时广播,这样,局域网内的每个设备都精确知道对方的功能与IP地址,可直接发起通信。同时,由于传感器数据的轻量实时性,采用MQTT队列,可实现时间与速率固定的回传,并显示再终端上,用户可以实时观测并下发指令。

4.3.2. ESP32无线芯片

ESP32作为一款自带WIFI的高性能SOC芯片,不仅负责组网,且实现多传感器的数据采集与花盆底座的机械控制。复杂的鱼缸控制与视频采集,则由STM32单片机来完成。ESP32通过串口与STM32相连,交互指令与视频信息,并回传至终端。

Figure 4. Communication module of terminal software

图4. 终端软件的通信模块

各个ESP设备上电后,便加入无线局域网,接入到183.230.40.33 (OneNET的IP地址),接入MQTT协议,宣告自身的设备信息并获取已加入局域网的设备的信息。开始正常工作后,芯片实时采集各种传感器的数据并经由平台回传至电脑。

ESP32使用MicroPython语言进行编程。MicroPython是面向嵌入式设备的轻量化的Python语言,与其兼容。

4.3.3. 终端软件的通信模块

该部分是终端交互软件中的通信模块,相比与嵌入式端,需要协调所有功能,包括指令下发、数据采集、视频传输等。使用Python编写,便于嵌入到PYQT可视化图形界面中,流程如图4

MQTT连接connect代码(部分)如图5所示。

Figure 5. MQTT connection connect code (partial)

图5. MQTT连接connect代码(部分)

5. 智能管理系统

该界面是基于Python3.7 + PyQt5进行的软件开发,它具有开发周期短、实现效果佳和可移植性高等特点 [7] [8]。该UI界面程序在PC端运行,实现对家庭景观物联网设备信息数据的实时监测显示,通过界面实现对家庭智能景观系统设备的远程控制,提供用户科学方便的家庭景观养护体验。

5.1. 界面设计

通过使用Qt designer可视化工具来进行界面部件布局,用户界面设计简单、功能明确,数据显示清晰。为用户提供智能管理、一键换水等智能化管理模式,为用户提供智能科学的家庭景观管理。该控制系系统控制主界面如图6所示,智能鱼缸控制界面如图7所示。

5.2. 系统主要功能

实现对家庭智能景观系统网络节点的数据实时监控,完成相应的数据显示以及命令的发送,对家庭智能景观系统设备进行智能化管理。监控软件实行模块化独立设计,采用多线程设计,各个子程序模块都可独立运行,从而降低了程序的复杂度,使程序设计简单化。该监控软件的功能模块结构如图8所示,以及软件流程图如图9所示。

5.2.1. 登录OneNET进行MQTT协议连接

首先在OneNET平台进行注册登陆,创建项目和设备并选择接入协议类型为MQTT。程序中通过设备ID、name以及password登录OneNET平台服务器,添加需要的主题和数据流并订阅远程家居设备端发布的主题,以便于进行远程数据传输,设备接入OneNET平台步骤如图10所示。

Figure 6. System control main interface

图6. 系统控制主界面

Figure 7. Smart fish tank control interface

图7. 智能鱼缸控制界面

Figure 8. Overall functional module structure diagram

图8. 整体功能模块结构图

Figure 9. Software flow chart

图9. 软件流程图

Figure 10. Steps for device access to OneNET platform

图10. 设备接入OneNET平台步骤

5.2.2. 设备在线情况信息显示

通过控制端程序发布的hello主题,远端设备订阅该主题收到hello数据进行回复,通过回复情况判断在线的设备信息。

设备在线程序(部分)如图11所示。

Figure 11. Equipment online program (partial)

图11. 设备在线程序(部分)

5.2.3. 数据流接收显示

通过对服务器接收发布消息的回调,对数据进行5秒间隔的监测更新显示,应用框架如图12所示。

Figure 12. Application architecture

图12. 应用架构

数据流接收状态程序(部分)如图13所示。

Figure13. Data stream receiving program (partial)

图13. 数据流接收程序(部分)

5.2.4. 视频业务

通过OneNET平台视频能力进行设备通信信道、推流控制及远程控制,可以实现RTMP协议的推流,将远端上传的视频流从服务器通过https协议传输到客户端,同时实现视频业务显示。用户在工作闲暇之余,也可以通过视频观看家中鱼缸内鱼儿的情况,并且可以通过观察进行远程喂鱼、换水等动作,提供用户良好的亲身体验效果。

5.2.5. 控制信息发送

用户通过选择按下界面中的控制按键,向家中的智能景观设备发送相应的指令数据,界面程序通过不同的主题消息来区分想要控制的设备,不同的数据来区分命令。智能景观设备无线模块(ESP32)分别订阅不同的主题,对主题消息进行判别,执行相应的指令。过程如图14所示。

Figure 14. Control information sending process

图14. 控制信息发送过程

6. 实验原理及特色

6.1. 实现过程

首先通过白天时,当阳光照进家庭阳台的时候,智能管理系统控制景观植物的底盘,利用植物向阳生长的特性,控制底盘运动旋转,合理利用阳光,以及定时定量对植物进行灌溉水(鱼缸所换水)和养料。当用户在书房工作学习时,当眼睛对屏幕用眼过度时,用户可通过智能管理APP控制景观植物自动运动到书房为用户提供更加舒适的工作环境。智能鱼缸自动开始工作,定点定时投喂饲料、充氧、换水,自动检测水中pH值、温度等参数,检测鱼的生活状态并及时呈现在智能管理APP上,整体流程图如图15所示。

Figure 15. Overall work flow chart

图15. 工作整体流程图

本项目的目标是通过对机械设计、图像处理、传感器信息处理、无线通信、PYQT开发以及STM32单片机的学习和应用,实现水生动植物、盆栽植物以及水资源的有机融合,更为有效合理地运用家庭水资源,提升景观观赏的智能化程度,构建舒适、和谐、智慧、高效的基于物联网的家庭景观智能互联系统。相比较而言,市面上缺乏具有高集成功能的智能鱼缸和花卉管理系统,本项目最大的特色就是在智能鱼缸和花卉种植高度集成的基础上,做到了资源的有机融合,构建了一个互联的家庭景观系统,对人们的生活带来了更大的便利和舒适。

6.2. 实验测试结果

通过对系统整个系统的测试,系统显示如图16所示。

Figure 16. Test state diagram

图16. 测试状态图

6.3. 项目特色

6.3.1. 智能鱼缸

项目中的智能鱼缸,可实现水生动物的智能管理,包括全自动智能换水、鱼缸清理、水环境(如温度、pH值、浑浊度)的监测与提示、鱼健康状况监测与提示。鱼缸的高度智能化不仅使得人们的生活更加便利,还可以更好的为鱼儿提供最适宜的生活环境。高智能化程度符合现代家居的理念。

6.3.2. 智能花卉管理

我们的景观系统中还包括对盆栽植物的智能化管理。盆栽花卉的底部装有可运动的底座,植物花卉的生长需要适宜的阳光和适量的水分,白天时,当阳光照进家庭阳台的时候,智能管理系统控制景观植物的底盘,利用植物向阳生长的特性,控制底盘运动旋转,合理利用阳光,以及定时定量对植物进行灌溉水(鱼缸所换水)和养料。再者,智能化运动的底座还可以实现盆栽植物的动态观赏。当用户在书房工作学习时,当眼睛对屏幕用眼过度时,用户可通过智能管理APP控制景观植物自动运动到书房为用户提供更加舒适的工作环境。

6.3.3. 水资源智能管理

本项目秉持节约水资源的理念,对鱼缸所换的水进行智能化分类管理,从而减少对水资源的浪费。一部分用来对植物花卉浇水,其余的部分可加入到家庭成员的日常生活必备水如马桶水箱用水等,主要循环利用用水分布图如图17所示。

Figure 17. Main distribution of circulating water

图17. 循环用水主分布

6.3.4. 人机交互智能化管理

本项目配备了远程控制APP,方便的用户对家庭景观系统的实时控制。鱼缸和植物花卉中的传感器可以将检测数据传输至APP,鱼缸底部装有水下摄像头,水中鱼儿的生活状况也可以通过视频的形式在APP上显示,方便了用户随时了解系统的状况。用户还可以通过无线通信技术对鱼缸和植物花卉进行远程控制,比如:换水,调节水的温度,投料,控制底座移动等等。真正地实现了万物互联,大大提高的用户的幸福指数。

6.4. 未来展望

加入智能监控系统及模式识别,对鱼类和景观植物的生活状态进行分析,从而更加完善养殖流程,制定专业的养殖方法,给用户带去方便安全。加入大数据管理系统,根据大数据以及专业知识,因地制宜地向每个用户推荐个性化养鱼、护花等家庭景观养殖的最佳方案。

家庭景观物联系统最终将融入到智能家居行业,成为其不可分割的一部分,迎来蓬勃发展。

7. 结语

本文设计的家庭景观互联系统,利用现今的物联网技术,为用户家庭提供了养鱼,养花自动智能的诸多功能,不仅减轻了用户管理的烦恼,还提高了鱼儿和植物的存活率。集养鱼、养花一体化,体现了生态循环和节约用水的设计理念。除此之外,智能管理APP的设计,利用无线通信技术可为用户提供远程控制的服务,为工作繁忙或出差在外的用户提供了便利。

相比较市面上已有的传统“智能鱼缸”,本系统的功能诸多,智能化,集成化程度更高。养鱼—养花一体化设计,具有较高的实用性和市场价值。

参考文献

[1] 赵春波, 李超, 侯学梅, 马雪. 智能生态水族箱的设计与实现[J]. 电子技术与软件工程, 2019(10): 32-33.
[2] 李龙, 唐思均, 李玮. 基于单片机的智能鱼缸控制系统的设计[J]. 科技展望, 2016, 26(7): 191.
[3] 杨雨生, 吴丽波, 龙玥彤, 周爽, 史记源, 黄洋, 刘峥. 基于单片机的智能生态鱼缸的设计[J]. 湖北农机化, 2019(12): 59.
[4] 邱霞, 段渭军, 黄亮等. 基于PyQt无线传感器网络监控软件开发[J]. 现代电子技术, 2014, 37(16): 65-67.
[5] 李金武, 宋新爱. 智能鱼缸自动控制系统设计与实现[J]. 智能计算机与应用, 2020, 10(3): 284-287.
[6] 冯雅莉, 郝宁生. 基于单片机的全自动智能鱼缸清理器系统设计[J]. 韶关学院学报, 2015, 36(4): 22-26.
[7] 王硕, 孙洋洋. PyQt5快速开发与实战[M]. 北京: 电子工业出版社, 2017: 2-200.
[8] 丁飞, 吴飞, 艾成万, 等. 基于OneNET平台的环境监测系统设计与实现[J]. 南京邮电大学学报, 2018, 38(4): 24-29.