廖明华 黄育雄
摘要:智能鱼缸监控系统以Arduino UNO R3为控制核心,利用传感器采集大气温湿度、光照强度、鱼缸内的温度等数据,通过Wifi上传到OneNET云平台,手机App调用云平台API实时远程获取鱼缸环境参数,同时下发命令控制灯光、喂食、恒温等。
关键词:智能鱼缸;OneNet;Arduino;Wifi
中图分类号:TP368.1 文献标识码:A
文章编号:1009-3044(2022)02-0115-03
1 背景
据有关资料显示,目前全世界观赏鱼缸业正以每年超过10%的速度增长,在家居环境或是休闲娱乐场所都有各种各样的鱼缸,而保持一个适宜鱼类生活的环境是一件非常耗精力的工作[1],但目前市场上常用的鱼缸控制系统产品繁多,功能不统一,没有实现系统化,不仅增加了成本,而且影响美观。此外,现有技术中的智能鱼缸大多无法提供远程服务,即使有部分产品能够提供对鱼缸的远程监测,但也无法提供对鱼缸的远程控制,这样即使发现鱼缸内的环境不佳,也无法立即进行控制改善,影响了用户的体验。
随着国家经济水平的提高和人们对优质生活的追求,集水温、清洁、喂养、补氧等功能于一体的智能鱼缸将成为人们的新宠,为完善现今鱼缸存在的技术问题,同时满足用户日益增长的新需求,本文设计实现了一套基于物联网平台的智能鱼缸系统,可以实现鱼缸生态环境的自我管理,同时在手机端查看鱼缸的实时情况,远程操控改善鱼类生活环境状态。
2 智能鱼缸监控系统设计方案
如图1智能鱼缸监控系统功能结构图所示,系统包括主控模块、WIFI模块、环境监测模块、恒温加热器、供氧过滤水循环器、光照模块、喂食模块,云端服务器和控制终端。
主控模块为ATMEGA328P芯片,能控制鱼缸所需的各个模块,实现智能照明、智能温控以及智能喂食,系统通过主芯片的代码控制,达到了功能系统化的效果,降低了购买设备的成本。温度傳感器采用了DS18B20模块,该模块具有体积小、硬件开销低、抗干扰能力强、精度高的特点[2],使鱼缸的水温保持在用户所设定的温度值,保证鱼缸水体的恒温效果;智能照明可根据外界光照强度变化进行调节,使得鱼缸的美观性更强;智能温控保证了鱼缸的恒温状态,三合一供氧水循环系统具有供氧、过滤、水循环的功能,保证了鱼缸水体的质量,智能喂食可通过直流电机带动桨叶旋转,当桨叶孔转过饲料孔时,饲料就可以从孔中掉落进鱼缸。
WIFI模块为ESP8266芯片,主控芯片通过WIFI接入因特网,采用EDP通信协议与中国移动物联网开发云平台OneNet进行通信,实现鱼缸温度,光照等环境数据的监测和温控、补光、喂食等控制命令的下发。
控制终端有基于C#的PC上位机和Android手机App,采用HTTP通信协议与中国移动物联网开发云平台OneNet进行通信,实现鱼缸环境数据的监测和控制命令的下发。
3 系统软硬件设计
3.1 硬件设计
图2所示为智能鱼缸监控系统的电路原理图,A1表示恒温加热器、A2表示供氧过滤水循环器、A3表示光照模块、A4表示喂食模块,主控模块、WIFI模块以及环境检测模块用各自采用的芯片型号表示。
3.2 软件设计
1)Arduino主程序
本系统采用Arduino UNO R3为控制核心,对鱼缸水体温度、室内大气温湿度以及鱼缸光照强度等实时数据的采集,再由WIFI模块实时传输到OneNET控制终端,达到对鱼缸环境实时监测,用户可通过控制终端查看鱼缸环境的实时数据,并通过控制终端下发相应的控制指令,用户可以对这些数据利用专家系统进行分析,通过控制设备上连接的恒温器、三合一供氧过滤水循环器、直流电机(智能喂食系统)等设施的手段,可以实现自动智能的调节和控制,使得鱼儿生活环境始终处于最佳状态,以实现智能鱼缸的目标。
本系统的工作流程图如图3所示。
2)云端服务器
云端服务器采用OneNET云平台的多协议接入中的EDP协议。OneNET定位为PaaS服务,即在物联网应用和真实设备之间搭建高效、稳定、安全的应用平台:面向设备,适配多种网络环境和常见传输协议,提供各类硬件终端的快速接入方案和设备管理服务;面向应用层,提供丰富的API和数据分发能力以满足各类行业应用系统的开发需求,使我们不用将工作重心放在设备接入层的环境搭建上,从而缩短系统的形成周期,降低研发、运营和运维成本[3]。
EDP协议适用于设备和平台需要保持长连接点对点控制的使用场景,基于TCP协议的,该协议只传输数据包到达目的地,不保证传输的顺序与到达的顺序相同,事务机制需要在上层实现;若客户端同时发起两次请求,服务器返回时,不保障返回报文的顺序,EDP协议适合于数据的长连接上报、透传、转发、存储、数据主动下发等场景[4]。
在OneNet平台上创建产品,产品的接入方式选择公开协议,联网方式选择WiFi,模组选择安信可ESP266-XXX系列,设备接入协议选择EDP协议[5],创建产品完成后,创建设备,数据保密性设为公开,设备创建完成后,创建应用,分别记录鱼缸内温度,室内温度,大气湿度,编辑应用界面,放置相应的按钮及图形,修改相应按钮下发指令数据设置,即可从电脑Web端进入OneNet平台中智能鱼缸监控系统控制界面,效果图如图4所示,实现鱼缸数据的监控。
3)基于C#的PC上位机
上位机通过HTTP协议,调用OneNET平台提供的API,实时更新鱼缸数据,同时获取采集数据时间,并将数据实时存储到指定路径的text文档中或本地SQL Server数据库,用户还可以通过上位机下发命令,控制投喂,恒温,灯光,三合一电器的开关,如果进入自动读入模式,可以每隔60S左右自动刷新一次数据,根据光照强度、水体温度的数值进行自动控制。
4)Android手机App
用户使用手机App可以随时随地通过HTTP协议,调用OneNET平台提供的API,实时更新鱼缸数据,同时获取采集数据时间,还可以下发命令,控制投喂,恒温,灯光,三合一电器的开关,同样可以控制进入自动读入模式。
4 系统测试数据分析
系统在整体设计结束后,结合硬件和软件进行最后阶段的测试调整,以确定系统的正常运行和稳定性。
图7为在系统正常运行时,快速改变鱼缸水体温度值,实时采集水体温度值变化,同时分别记录云平台,PC上位机,手机App上水体温度值的变化,经分析,在网络环境良好的情况下,云平台,PC上位机,手机App在水体温度发生变化时,能实时监测到水体温度变化的情况,但出现2~5s的延时,同样下发命令也能得到有效执行,表明整体的设计调试达到预期的效果,整体的设计已完成。
5 总结
本文设计的智能鱼缸监控系统,用户可以远程监测鱼缸的实时数据,同时下发控制命令,实现远程喂食和温控的目的。本系统相比于市场售卖的智能鱼缸具有一定的优势,解决了市面上产品繁多,功能不统一,且大多是非智能化的、单一的恒温控制、充氧或照明系统的问题[1],通过一个开发板链接多个功能模块,降低了成本的同时节约了资源,使景觀型智能鱼缸系统更符合市场的需求。
参考文献:
[1] 蓝鱼水族器材.鱼缸智能控制系统研究与现状[OL].
https://www.sohu.com/a/283380050_100208248, 2018-12-23.
[2] 申长安.基于DS18B20的温度监测报警与智能控制系统[J].安阳工学院学报,2014,13(2):11-13,32.
[3] leven98 - CSDN博客.OneNET之mqtt连接[OL].https://blog.csdn.net/leven98/article/details/106351823,2020-5-26.
[4] OneNET文档中心. [OneNET设备云平台]云平台对接服务_智能设备[OL].https://open.iot.10086.cn/doc/art574.html,2021-8-2.
[5] 王顺-Arduino中文社区.智能鱼缸[OL].https://www.arduino.cn/forum.php?mod=viewthread&tid=78444,2018-6-11.
【通联编辑:梁书】
1318500783276