智能生态水族箱的设计与实现

2019-07-20 13:24赵春波李超侯学梅马雪
电子技术与软件工程 2019年10期
关键词:水族箱一键鱼缸

赵春波 李超 侯学梅 马雪

摘要:针对养鱼养花爱好者因对鱼、花不甚了解或因工作繁忙无暇照看而导致鱼或花死亡的问题,本文介绍了一款基于STM32单片机控制的家庭智能生态水族箱。该系统通过其多种传感器实时获取鱼缸中的水体状态(温度、ph)与花盆中土壤(土壤湿度)的状态,并利用ESP8266-12E通过无线传输技术传送到用户手机端APP。除此之外,手机端APP还可以提供远程浇花、换水等一系列功能,以实现对水族箱的自动控制;同时还可通过用户输入的鱼的种类、数量、大小以及花的品种等参数,通过数据推算为用户提供最佳设置参数并可一键应用至硬件系统,为用户提供便利。该系统具有很强的移植性,可广泛应用于家庭水族箱、商业性鱼池等。

[关键词]生态水族箱远程控制智能控制数据分析

随着国民经济的发展及人民生活水平的提高,家居环境的个性化与生态化越来越受人们重视,而能给人带来宽松舒适的美感的鱼缸与植物受到人们的广泛喜爱。但由于多数养殖者对鱼与植物的生活环境不甚了解,或因工作繁忙无暇照顾而时常导致所养鱼、植物死亡。对于昂贵的观赏性鱼与植物,其死亡会带来不小的经济损失,而对于商业性养殖池,损失更是不可估量,与之相适应,近几年国内外的“智能鱼缸”逐渐出现。目前,国内外的智能鱼缸所能提供功能有:水温恒温控制、充氧控制、过滤控制等,该类智能鱼缸的出现在一定程度上解决了“鱼类寿命过短”这一问题,但其提供的功能过少、灵活性差,无法根据所养鱼的种类、数量、大小等灵活变换鱼缸中水体参数,更无法为不懂鱼、植物的用户提供合理的养殖建议。

针对上述问题,本文提出一种基于STM32单片机控制、多种传感器协同工作、可远程控制的智能生态养殖系统一智能生态水族箱。

1系统功能设计

该系统是一个集养鱼与养花于一体的生态系统,养鱼产生的“废水”用来浇花,进行废物再利用,突出了节水和环保的特点。

手机端软件可远程控制鱼缸以实现“一键浇花、一键水循环、一键充氧、一键获取系统状态、设置鱼缸水体ph、设置鱼缸水体温度、设置浇花以及喂鱼周期”等一系列功能。除此之外,该软件还可在输入鱼的品种、数量、大小以及花的种类的基础上,通过数据推算给出最合适的各项设置参数并可一键应用,解决了大多数人不了解鱼与植物生活习性的烦恼。如图1所示。

2系统硬件的实现

硬件系统的中央控制器为STM32,编程语言为C语言。

2.1系统电源

系统各模块用到的电压不同,有220V、5V、3.3V。对于220V用电器可由市电直接供电,其次通过一级稳压模块将220V转化为5V给5V用电器供电,最后通过LM2596S模块进行二级稳压将5V转换为3.3V为3.3V用电器供电。如图2所示。

2.2无线通信

采用ESP8266-12E模块进行手机软件与.硬件系统之间的通信:该模块可以工作在AP模式下与Station模式下。工作在Station模式时该模块可连接Wi-Fi,通过Wi-Fi连接至公网,手机便可以通过Wi-Fi或4G网络与模块通信。工作在AP模式时该模块可发出Wi-Fi信号,手机连接模块的Wi-Fi信号即可通信。因本系统传输的数据量小且要求可靠性高,因此通信协议选择TCP协议。

2.3温度、ph的测控与土壤湿度测量

水温采用DS18B20防水封裝型传感器进行测量,水体ph值通过E-201型ph传感器进行测量,土壤湿度则通过LY69型土壤湿度传感器进行测量。其中,ph传感器与土壤湿度传感器的输出为模拟量,采用PCF8591进行AD转换。三者的测量数据均可在执行“一键获取”功能时传至手机APP进行显示。

手机端APP可设置水温与ph值,在硬件系统接收到水温设置值后首先启动一次温度测量并与接收到的设定值进行比较,若测量值小于设置值则使加热棒工作60s后再次测量水温,若水温达到设定值则停止加热,若仍未达到设定值则加热棒继续工作。同理,硬件接收到ph设置值后先进行一次水体ph值测量,若测量值小于设定值则启动6s水循环,通过补充新鲜水源的方式调节ph。

2.4投食/浇花周期的控制

对于周期的控制均通过单片机内部定时/计数器实现:在硬件接收到软件端设置的投食1浇花周期后单片机内部定时/计数器开始工作,当达到设置周期时,30r/min的减速马达带动投食盒工作2s,旋转一周来投食;而水泵1与水泵2自动接通3s实现浇花功能。

2.5充氧泵与水泵的控制

因充氧泵与水泵均为220V用电器,因此单片机通过上拉电阻增加IO口驱动能力的方式控制继电器来间接控制充氧泵与水泵抽水。

对充氧泵的控制可实现鱼缸充氧功能;水泵1与水泵2同时工作实现“一键浇花”,水泵1与水泵3同时工作可实现“一键水循环”。如图3所示。

3系统软件的实现

系统的软件部分的编程采用Java与Android。

3.1数据库的实现

SQLite是一一个轻量级的数据库,它最初是嵌入式设计的,占用的资源很少,在内存中只需要占用几百KB的存储空间,Android移动设备大多采用sQLite,这也是我们选择SQLite的主要原因之一。

在数据库操作中,当待办查询涉及多表查询的时候,连接查询无疑优于嵌套查询,这是因为在得到相同结果的前提下,连接查询需要扫描查询表的次数要远远小于嵌套查询扫描的次数,连接查询只是将大部分时间花在了Join操作上。当单表的数据量很大的时候,连接查询的优势则更为明显。所以当出现这种情况,选择优先使用连接查询。

3.2UI设计

UI界面是用户和手机数据传递和交互的重要媒介和对话接口,利用button,TextView,EditView等实现功能的需求,利用LinearLayout,RelativeLayout等布局和设计好的图片以及标题栏等细节的设计实现界面的美化。

3.3数据类型转换

传输的数据数量和类型不确定,都是先转化成byte类型进行传输,根据硬件的发送时间间隔的要求,利用Thread类的静态方法sleep()和异常处理机制,实现与硬件的数据传输。

4结论

本文设计的智能生态水族箱可为用户提供家庭鱼、花自动智能养殖的诸多功能,软件端数据库可为用户提供鱼缸设置参数,减少养殖者的烦恼,“集养鱼、养花为一体”的设计思路实现了生态循环和节约用水。除此之外,无线通信技术的引入可为用户提供远程控制的服务,为工作繁忙或出差在外的用户提供了便利。

与传统的智能鱼缸相比,本系统增加了养鱼养花一体化、养殖技巧与方法推送、分享等功能,具有较高的实用性和市场价值。

参考文献

[1]张涛.C8051F020单片机与GPS接收板串行通信的设计[J].计算机与数学工程,2011(08):9-191.

[2]王华祥,张淑英.传感器原理及应用[M].天津大学出版社,2017:66-79.

[3]耿祥义,张跃平.Java2实用教程[M].清华大学出版社,2106:36-119

[4]传智播客高教产品研发部.Android移动应用基础教程[M].中国铁道出版社,2015:45-98.

猜你喜欢
水族箱一键鱼缸
冷轧机一键式升降速轧制的实现
“一键报贫”助力脱贫攻坚
鱼缸里的杀手
鱼缸水
家里的小鱼缸
一键观影,一键K歌 菱杰 TRS IW影院系列5.1音响套装
水族箱里“宝贝”多
一键定制 秋冬彩妆懒人包
水族箱
冰立方鱼缸