基于物联网平台的智能鱼缸
本帖最后由 王顺 于 2018-3-18 21:33 编辑参赛项目:
基于物联网平台的智能鱼缸
项目简介:
养鱼吗?想要一个炫酷吊炸天的智能鱼缸吗?哈哈,我们将用arduino做出一个最炫酷、最有科技范儿的物联网产品 —— 智能鱼缸!
智能鱼缸是新概念的高档鱼缸.智能鱼缸解决了传统鱼缸饲养及照料的困难, 并所有的功能实现全自动化供给。
1、传感器数据实时上传 one net 平台
2 、自动感应室温
3 、远程控制恒温(自动) 4 、远程控制加热(自动) 5 、远程控制供氧(自动) 6 、远程控制生化过滤(自动) 7 、远程控制照明(自动) 8 、远程控制喂食(自动)(在设计中)
以下为项目更新内容
参赛作品【智能鱼缸】
http://upfiles.heclouds.com/forum-app/2017/07/01/164740a357f53b671dfac0f70358bce4.jpg
作品摘要:
随着物联网时代的到来,智能物联逐步嵌入了人们的生活中,智能插座,智能电灯,智能门禁等一系列的物联网控制,让我们的生活变得多姿多彩,当智能物联遇上了鱼缸会擦出怎样火花呢!今天我为大家带来的一个智能作品“智能鱼缸”。 目前各种各样的观赏鱼缸之类的工艺产品逐步进入了家庭,由于现有的观赏鱼缸水温监测、水循环、温度控制等操作都需要人为的手工进行控制,这给人们带来了很大的不便,本作品对目前大多数水族箱控制设备应用现状的分析和研究,提出了一种多功能的观赏鱼缸智能控制系统。该控制系统以单片机为控制核心,结合传感器技术,集多种控制功能于一体,包括恒温、自动照明、自动换水、自动喂食、自动水循环等,同时在系统中设计一个通信模块,可实现对鱼缸的远程控制和管理。整个系统分为两个部分:第一部分是以arduino为核心的控制部分,实现对传感器信号提取,one net平台下发数据的分析处理,并输出多路信号实现对鱼缸相应功能的实时控制,第二部分是以ESP8266为核心的透传数据部分,用于将arduino处理传感数据和模块状态数据实时上传one net 平台,两部分之间以串口进行通讯。实现对鱼缸控制器的智能管理。
创造目的:
“鱼缸"又称“水族箱",“,而随着科技水平的不断进步,以及人们养殖观赏鱼和种植水草的水平的不断提高,水族箱不仅被认为是一个养动植物的容器,而且被认为是自然域的一个缩影,是一相对完备的生态系统。在早期,水族箱多用于展览馆、公园等大众化的场所供大家观赏,随着生活水平的提高,科技和水族养殖业的快速发展,水族箱已成为普通家庭的室内装饰。近年来,这种以水草、金鱼为主的水族箱被称作“水中微缩的鱼草园林”,深受人们的喜爱,但由于人们缺乏养护的技艺或者是由于时间原因不能及时进行养护,往往“好景不长“,最后的结局多是“草枯鱼亡"。
针对水族箱的养护问题,市场上也陆续出现了各种控制鱼缸水温、排水、充氧和照明的设备,如过滤器、加热器、加氧泵等改善水质的设备。但是由于产品繁多,功能不统一,而且大多是非智能化的、单一的恒温控制、充氧或是照明的系统。如果要组成一套完整的智能控制系统,往往需要人为的手工进行控制,而且功能使用不灵活、不方便,整体性能也无法得到提升。
因此,本文以家庭中鱼缸的日常养护为背景,以鱼缸中的光照、水温、等控制为研究对象,对日常养护过程中的综合自动化及其应用技术展开研究。
作品功能:
随着经济水平的突飞猛进,装饰业的日趋兴起,人们对生活、家具品味的追求愈加重视。据最新资料显示:水族产品日渐丰富,水族市场更加繁荣昌盛。
智能鱼缸是新概念的高档鱼缸.智能鱼缸解决了传统鱼缸饲养及照料的困难, 并所有的功能实现全自动化供给。
1、传感器数据实时上传 one net 平台
2 、自动感应室温
3 、远程控制恒温(自动) 4 、远程控制加热(自动) 5 、远程控制供氧(自动) 6 、远程控制生化过滤(自动) 7 、远程控制照明(自动) 8 、远程控制喂食(自动)(在设计中)
智能鱼缸更好地饲养热带鱼,满足热带鱼的所有生存条件。让更多人成为养鱼爱好者是水族用户的首要选择.
设计思路
本作品以arduino为鱼缸MCU核心,通过esp8266器模块与智能鱼缸的MCU通过串口进行数据通信。手机设备云和one net 平台可以远程与鱼缸进行数据通信。
http://upfiles.heclouds.com/forum-app/2017/07/01/97c452e934f85e1172992132b7e0f162.png
本设计主要包括了主控部分、输入部分、和云服务部分来构建了一个完整的设计模型。
主控部分:主要完成MCU下发的指令控制,包括换水开关,恒温开关,以及照明灯开关等;
输入部分:是传感器的数据信息采集,感知鱼缸的一系列的环境数据变化;
云服务部分:用户界面,完成用户的指令下发,人机交互信息等;
作品设计 接下来我为大家介绍作品的硬件demo和软件设计
1、我们所需要的硬件
arduino pro minix1 ESP8266x1
DHT11 x1 光照传感器x1
DS18B20数字水温探测传感器 led电灯泡x1
5v转3.3v稳压模块x1 继电器 x45v 2a电源x1 鱼缸x1
恒温器 x1 三合一供氧过滤水循环器x1
洞洞板x4 导线&杜邦线若干
下载线x1 等等。。。。。
以上是最主要的器件,至于元件图片我就不晒出来了,相信大家一看都懂了!
arduinopro mini
D10 ----水温传感器 D6------恒温开关继电器
D11-----DHT11数据接口 D7------三合一系统继电器
RX------8266TX D8------照明开关继电器
TX------8266RX D9------智能模式
A0------光照数据接口
硬件实物连接图
http://upfiles.heclouds.com/forum-app/2017/07/01/1f3f75f23ad89599a6f7b0360da6c437.jpg
http://upfiles.heclouds.com/forum-app/2017/07/01/aa1ae4f356b7bdc230fa212665ee463a.jpg
http://upfiles.heclouds.com/forum-app/2017/07/01/e65f20436fd8171f30a14e1a3320cddb.jpg
http://upfiles.heclouds.com/forum-app/2017/07/01/bb1674b9a351527c90965be813e61088.jpg
http://upfiles.heclouds.com/forum-app/2017/07/01/beadc4ce8de163e60e2522a29e4c51ab.jpg
http://upfiles.heclouds.com/forum-app/2017/07/01/d7fa886e63ca2c3f99c4c731d38ebd90.jpg
2、软件设计
在软件方面大数采用的是库,有很多传感器都有对应的库支持,所有让我们编写代码变得越来越简单了
一下展示部分代码,后面我会和视频连接一起放在本帖后面!
传感器数据信息上传例子
temgger = temperature(tem);
if (edp_connect && temgger)
{
DBG_UART.print("18B20: ");
DBG_UART.println(tem);
packetSend(packetDataSaveTrans(PUSH_ID, "TME", tem));//发送数据存储包
}
//光照
liggger = light(lig);
if (edp_connect && liggger)
{
DBG_UART.print("guang: ");
DBG_UART.println(lig);
packetSend(packetDataSaveTrans(PUSH_ID, "HIG", lig));//发送数据存储包
}
//室内温度
snwgger = hjwd(snw);
if (edp_connect && snwgger)
{
DBG_UART.print("SNWD: ");
DBG_UART.println(snw);
packetSend(packetDataSaveTrans(PUSH_ID, "SNWD", snw));//发送数据存储包
}
//室内湿度
snsgger = hjsd(sns);
if (edp_connect && snsgger)
{
DBG_UART.print("SNSD: ");
DBG_UART.println(sns);
packetSend(packetDataSaveTrans(PUSH_ID, "SNSD", sns));//发送数据存储包
}
复制代码
水温度数据获取
//温度
bool temperature(char *tem)
{
int temp;
DBG_UART.print("Requesting temperatures...");
sensors.requestTemperatures(); // 发送命令获取温度
DBG_UART.println("DONE");
DBG_UART.print("Temperature for the device 1 (index 0) is: ");
DBG_UART.println(sensors.getTempCByIndex(0));
temp = sensors.getTempCByIndex(0);
sprintf(tem, "%d", temp);
delay(500);
}
复制代码
DHT11数据提取
//环境温度
bool hjwd(char *snw)
{
int t = dht.readTemperature();//读温度,默认为摄氏度
sprintf(snw, "%d",t);
}
//环境湿度
bool hjsd(char *sns)
{
int h = dht.readHumidity();//读湿度
sprintf(sns, "%d",h);
}
复制代码
3、平台数据显示与控制
在这里就截图大家看一下控制界面,背景用的是鱼缸背景,手机像素有点糟,谅解!
http://upfiles.heclouds.com/forum-app/2017/07/01/b3f12173f85ca30435f43a62055e089b.png
团队介绍
http://upfiles.heclouds.com/forum-app/2017/07/01/92f26566ebf1e5fcb3dbb216948130f9.jpg
团队名称:赢家“WIN”团队口号:实力加自信就是一个坚韧不可摧的团。团队成员:王顺 万大圣 邹栋才 向芸花团队简介: 我们都知道团队应该是Team,而不是Group,也就是说团队不仅仅是一群人的简单的组合,而一定是不同成员有分工、有协同,是一个有机的整体,这个就叫做协同合作、相互支持。团队成员根据工作需要,根据个人特长,合理分工,有效协同,一起把事情做好。团队成员之间协同合作、互相支持,就是要使1+1>2,并且不断改进提高,使效能(效率+效果)达到最大化,1+1能不能=3,能不能=4,甚至更大,就看我们在团队的工作中如何更有效的协作和互相支持,这需要不断的训练。 我们的团队成员,王顺、万大圣等,他们都来自物联网工程,其所涉及的专业知识面很广泛。诸如:模拟电子技术、数字电子技术、通信原理、物联网概论、C语言、单片机应用与编程、PCB电路板绘制、多媒体技术、微信开发、CAD绘图等,通过我们的辛勤劳动,做事认真负责,思虑周详,良好的团队凝聚力和向心力。“相对分工,绝对合作”,取长补短,共同完成项目作品。
视频文件链接
http://v.youku.com/v_show/id_XMzExODc0NzE2NA==.html?spm=a2h3j.8428770.3416059.1http://v.youku.com/v_show/id_XMzExODc0NzE2NA==.html
发布链接
https://open.iot.10086.cn/appview/p/2bcc6a2d8a5603d890e71e8d2f4d8ec3
https://open.iot.10086.cn/app/browse2?pid=89535&id=18994&is_model=0
源码:
1.感谢对社区比赛的支持,开发者积分和贡献值已发放,请点击以下链接领取纪念衫并参与抽奖~
http://www.arduino.cn/thread-48132-1-1.html
2.比赛结果会在11.15号前公布,请耐心等待。
看到你们的产品很感兴趣,专门注册了一个账号来问一下,我们公司现在有一个项目跟这个产品类似。但是需要增加不同的sensor,请问你们有兴趣做吗?可以做吗?如果有的话麻烦加我QQ1978245777 我们进一步沟通一下 maydaylyl 发表于 2018-3-8 14:52
看到你们的产品很感兴趣,专门注册了一个账号来问一下,我们公司现在有一个项目跟这个产品类似。但是需要增 ...
很高兴我们有共同的理念,待进一步合作 你的服务器是自己搭建的吗?做远控这一块是考虑通过网络控制吗? 厉害:lol:lol:lol:lol 好东西啊,新手学习了!谢谢分享 本帖最后由 rtertre 于 2018-4-26 15:29 编辑
!@!!!!!! 好东西,外观再改进一下就好了,学习了。 我有一模一样的作为我的毕业设计,目前只有资料了实物已经卖了。大家有想要资料的可以了解一下
源代码加注解,电路图,相关论文等微信zjy624721422
页:
[1]
2