《基于物联网方式的鱼缸监测系统硬件设计-通信工程-160108104421-叶宇健.doc》由会员分享,可在线阅读,更多相关《基于物联网方式的鱼缸监测系统硬件设计-通信工程-160108104421-叶宇健.doc(32页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、目 录第一章 绪论与前景分析1.1绪论41.1.1 摘要41.1.2系统开发背景及意义61.1.3论文主要研究内容61.1.4物联网的作用与意义71.1.5物联网的前景与趋势7第二章 开发环境和相关技术简介2.1开发技术92.1.1 Node.js92.1.2 Express框架92.1.3 Arduino10第三章 软件与硬件的系统分析3.1系统分析93.1.1 物理连接框架103.1.2功能需求113.1.3 可行性分析113.2硬件系统设计133.2.1 温度传感器设计133.2.2 温度传感器使用方式133.2.3 水位传感器设计143.2.4 水位传感器使用方式143.2.5 光照传
2、感器设计163.2.6 光照传感器使用方式163.3 软件系统设计193.3.1 系统结构193.3.2 用户登录模块193.3.3 温度/水位/光照显示模块213.3.4 数据记录模块22第四章 总结4.1 心得体会与改进234.2 致谢244.3 参考文献254.4 附录26北京理工大学珠海学院本科生毕业设计37*第一章 绪论基于物联网的鱼缸监测系统硬件设计1.1 绪论1.1.1摘 要为了解决鱼类养殖及观赏等问题,在此设计了一种基于物联网方式的鱼缸监测系统。该系统用温度传感器及水位传感器获取数据,然后通过nodejs 创建服务器监听端口,获得监听数据然后上传到页面,从而实现远程监控。关键词
3、: 鱼类养殖 温度传感器 水位传感器 nodejs 远程监控ABSTRACTFish tank monitoring system based on Internet of thingsIn order to solve the problems of fish breeding and viewing, a fish tank monitoring system based on Internet of things is designed.The system USES temperature sensors and water level sensors to obtain data,
4、and then creates a server listening port through nodejs to obtain the listening data and upload it to the page, so as to achieve remote monitoring.Keyword:fish breeding and viewing; temperature sensors; water level sensors; nodejs; remote monitoring1.1.2系统开发背景及意义随着编程技术的提高和科技的发展,人们休闲娱乐方式逐渐的发生了变化,如今随处
5、可见家居使用的小鱼缸和餐饮使用的大鱼缸。在布置漂亮的鱼缸内饲养鱼类已经成为居家环境、办公场所必不可少的景品之一。但由于人们缺乏专业养殖技术和专业的知识又或者不能及时对鱼缸内部环境进行维护。有时候要出远门或出差几天,家里无人给鱼喂食,换水,最终导致鱼的死亡。因此,对鱼缸中的水温、水位、光照数据的实时监测显得尤为重要。市场上产品繁多,但功能单一,没有形成一个完整的系统。这样不仅增大了维护开销,影响了整体的美观,而且功能齐全、不方便人们使用。因此,根据用户需求的不同,以鱼缸的水温、水位、光照三个方面作为研究对象,设计一套集水位监测,水温监测,光照监测等多功能为一体的控制系统。这样设计不仅解决了人们缺
6、乏专业养殖技术的问题,还解决了资源浪费问题,大大的提高了资源利用率。养鱼户和养鱼兴趣爱好者也就再也不必耗费大量精力去维护水质,也不必为出远门而导致鱼类死亡而烦恼,此类鱼缸监测系统也为智能鱼缸等自动化工具奠定基础,让人们的生活更加方便简洁自动化起来。为了解决鱼类养殖及观赏等问题,在此设计了一种基于物联网方式的鱼缸监测系统。该系统用温度传感器及水位传感器获取数据,然后通过nodejs创建服务器监听端口,获得监听数据然后上传到页面,从而实现远程监控。1.1.3论文主要研究内容鱼缸中水的温度:水温在鱼类生存条件中,是非常重要的一个因素,由于鱼类是变温动物,所以体温与水温的相差在0.1-1.0C之间。水
7、温影响着鱼类的生殖繁衍,例如适合罗非鱼的产卵的水温就在2325C之间。根据物理知识我们可以知道,随着水温的升高,水中的溶氧量会不断地降低,从而导致鱼缺氧的情况,缺氧的情况会造成鱼类出现没有活力的现象,严重则会身体倾斜,露出白色的肚皮。对于露天的池塘而言,细菌和水体中浮游植物的繁衍增加,会导致有机物质分解的加快,这样不仅能促进物质循环,还能给鱼类提供丰富的天然饵料,这一情况非常利于鱼儿的生长。所以本文将鱼缸中的水温设定为其中一个主要的研究内容。参考文献:恒兴养殖服务鱼缸中的光照强度:根据鱼种类的不同,其所接受的光照强度程度就不一样。例如金鱼就需要强光的照射才能生长的更健康,一只16g的金鱼在黑暗
8、的环境下比恒光条件下,发现其性腺发育被抑制。由于昼夜的变换以及鱼缸摆放位置的差异,自然光所带来的光照强度肯定也不一样,保证拥有充足的光照才能保证鱼有良好的生活环境。因此,本文将鱼缸中的光照强度设定为一个主要的研究内容。参考文献:周显青:光照对鱼类生理活动影响的研究进展鱼缸中的水位:根据物理知识我们可以知道,水位越高吗,底部的含氧量越低,水体越深,压力越高,水位越高,水体体积越大。鱼缸中的水位高低同样影响鱼类的生长。一般来说,为了避免泵的干烧,鱼缸内的水应该超过泵,提升水位时也应该考量循环器与排水泵的是否能承受如此大的排水量。根据鱼类的不同,水位高低也有讲究。3035厘米的水位线是金鱼所喜爱生活
9、的高度,4050厘米的水位线是龙鱼所喜欢生活的高度,所以根据所养殖鱼类的不同,我们应该调整一个不同的水位,并给鱼缸划一条警报线,当水位高于多少或低于多少时,水位传感器应给予养鱼人提示,及时调整水位线。因此,本文将鱼缸中的水位设定为一个主要的研究内容。参考文献:百家号:视觉中国1.1.4 物联网的作用与意义如今信息技术飞速发展,全球每人平均拥有6.5台联网设备。在我们身边存在着很多信息数据,该如何充分利用这些数据是物联网的一项重要工作。简单来说,物联网是利用传感器收集数据并使用它来做出适当的响应。其作用在于帮助人们提高工作效率,减少工作量,从而实现自动化任务和流程。物联网还包括家庭安全,智能家居
10、,健康监控等。比如红外线传感设备向主人手机发送房屋闯入警报,主人借助外部扩展模块控制着家电和照明设备等方式。目前有大批设备已接入物联网当中,他们每天都在产生巨额的数据量。这一趋势要求我们在云技能、访问数据、控制数据方面的能力要有所提升。一方面是因为物联网在实现自身功能和与用户设备对接时需要云平台来配合完成,另一方面是由于云自身巨额的储存量优势。同时考虑到物联网设备的增加,物联网设备的虚拟安全也变得尤为重要,若黑客们掌握物联网所生成的大规模数据,那么用户的生活作息或健康状况等私人隐私将会被威胁。目前已经有很多设备加入到物联网中,且这个趋势也会不断扩大下去。在将来,物联网将对我们的生活,就业带来巨
11、大影响,所以我们现在应该积累经验,争取掌握通用物联网核心技术。本文所设计的鱼缸监测系统就是基于物联网方式来完成的。1.1.5 物联网的前景与趋势在1995年,比尔盖茨最早提出物联网这个概念,随后在2005年,国际电信联盟正式提出物联网概念。现在2020年,我们可以感知到物联网的通信时代就向我们飞速走来,有人预测2020年,在市场上,物联网的规模将达1.9亿美元,全球会有将近260亿台设备接入网络当中,那么物联网将给人类带来一个什么样的时代呢?在一篇关于物联网未来的报道当中,有分析预测,在未来生活中。小到智能家居设备,大到国防安全设备,即所有人们所能看到的物体,都会被纳入物联网之中。这是一个比互
12、联网体量大上万倍的新网络。有人甚至称之为继信息化革命后的又一场革命-智慧革命。对于企业和新兴创办的公司来说,如果不使用物联网,他们将错失大量机会。在如此的物联网趋势之下我们应该知道这些:1.虚拟安全:随着物联网系统中数据点的增加,安全问题也变得越来越重要了,黑客会不断攻击系统薄弱的环节,从而窃取我们的用户信息。2020年,窃取凭据和网络钓鱼仍然是访问数据最简单的方式,公司需要在这方面保持警惕。随着网络风险性的增加,物联网设备和系统开发的人员就需要从一开始就重视它,为了防止风险和潜在数据的泄漏,发布后的维护和漏洞整修应该加入到整体业务的战略之中。2.改善医疗:据调查发现,物联网设备对降低管理成本
13、和改善监护方面有显著的帮助,所以现在的医疗领域也在广泛采用物联网。之所以能降低管理成本是因为,医生能够通过设备实现远程的监控和治疗,如此一来省去了住院费和就诊费用,节省出来的钱可以用在其他病症的管理上;之所以能改善监护是因为监控的数据具有即时性,当一位心脏病人脉搏突然上升,医生就可以提前预知病人可能病发,及时对病人进行救治,这对预防性医疗而言无疑是至关重要的。在医疗物联网的核心理念当中,物即医疗对象,联是流程交互引擎,网是医疗流程。用复杂的物联网技术去简化繁琐的医疗流程,从而实现标准的自动化医疗流程。3.边缘计算取代云计算:边缘计算相较于云计算的优势在于,边缘计算在数据处理和分析上,所需要的时
14、间更短,传输更安全,处理具有即时性。因为其数据的处理不在外部数据中心,而是更靠近数据源的一个位置,这样做有效的提高了程序的运行速度。而云计算是将巨大的数据处理程序分解成小程序,然后将小程序得到的结果返回给用户,是一个细分到总和,总和再到细分的一个过程。如此一来,云计算在巨额数据传输的场景下,可能会遭遇带宽不足的问题,不仅如此,由于从采集数据到传输数据回中心的路径较长,在此过程中还可能会出现数据丢失或泄露的问题。4.智慧城市的物联网开发:在未来几年里,交通拥堵、安全问题将是市政级物联网高度优先解决的问题。随着城市人口的增加,城市道路污染问题和道路拥堵问题是我们应该专注解决的。总的来说,在城市层面
15、的物联网技术投资占比将会增加。城市中的物联网开发也会随着实时数据的简化而变得更加普遍。5.智能家居设备将变得更加流行:智能恒温器、照明系统和环境物联网传感器之所以在今年变得如此流行就是因为,它们除了使我们的生活更简便快捷之外,还能减少账单开支并节省能源。在长远的角度看来,这样做能够为我们节省一大笔不必要的支出。到2020年,具有语音控制功能的物联网设备的需求和采用量将会增长。消费者喜欢能够理解情境并适应各种情况的智能设备,例如,连网监视器可以在某人离开房间时暂停电影播放,并在其返回时继续播放;在下雨天气时,露天的阳台自动张开挡雨设备,保证衣服不被淋湿。当视觉,听觉,触觉给人带来的感受都变得同等
16、重要时,用户便不再满足于单方面的享受体验。我们的物联网设备将会向多模式,多功能的方向开始转变。根据用户的不同需求,智能家居物联网的设计方式也会变得多样化起来。虽然目前物联网尚未在各个行业进行大规模的应用,但物联网飞速发展的趋势已是不可阻挡,相信随着传感器成本的下降和开发团队的支持,物联网设备很快就会在用户中流行起来。*第二章 开发环境和相关技术简介2.1开发技术2.1.1 Node.jsNode.js 是一个基于Chrome JavaScript 运行时建立的一个平台。Node.js是一个事件驱动I/O服务端JavaScript环境,基于Google的V8引擎,V8引擎执行Javascript
17、的速度非常快,性能非常好。从语法上来说,Node.js语法完全是Javascript语法,只要有Javascript基础就可以快速进行Node.js后端开发。因此采用Node.js可以提高本系统的开发效率。同时从性能上来说,Node.js拥有超强的高并发能力。Node.js的首要目标是提供一种简单的、用于创建高性能服务器及可在该服务器中运行的各种应用程序的开发工具。由于Node.js不为每个客户连接创建一个新的线程,而仅仅使用一个线程。所以当有用户连接,就触发一个内部事件,通过非阻塞I/O、事件驱动机制,让Node.js程序宏观上也是并行的。进而使得同样内存的服务器可以处理更多用户的连接。因此
18、本系统使用Node.js可以提高本系统的服务器性能。2.1.2 Express框架Express框架是集成了Web服务所需的文件管理,创建,请求和处理Session等功能。同时作为现阶段流行的Node.js Web第三方库,Express还可以用来辅助各类Web应用的后端创建,作为轻量型网站的后端处理程序。2.1.3 ArduinoArduino是一款便捷灵活、方便上手的开源电子原型平台。包含硬件(各种型号的Arduino板)和软件(ArduinoIDE)。由一个欧洲开发团队于2005年冬季开发。其成员包括Massimo Banzi、David Cuartielles、Tom Igoe、Gia
19、nluca Martino、David Mellis和Nicholas Zambetti等。它构建于开放原始码simple I/O介面版,并且具有使用类似Java、C语言的Processing/Wiring开发环境。主要包含两个的部分:硬件部分是可以用来做电路连接的Arduino电路板;另外一个则是Arduino IDE,你的计算机中的程序开发环境。你只要在IDE中编写程序代码,将程序上传到Arduino电路板后,程序便会告诉Arduino电路板要做些什么了。之所以在本系统中使用到是因为Arduino独有的开放性能,在各个开源项目已经得到广泛的认可。它所提供给用户的开发环境是公开的,这样做的目
20、的是为了让用户在更好的理解Arduino原理的同时还可以根据自己的需求对电路板设计进行更改。除了开放性,Arduino吸引人的地方还有它的易用性,在我第一次接触Arduino的时候,我仅用了半个多小时便成功运行了一个简单的程序,我将控制板和电脑直接连起来,发现它不需要额外安装驱动程序。Arduino第三点吸引人的地方就是它的交流性,刚接触新事物的时候,通常和人交流和沟通才能激发热情,目的肯定是为了更快的上手和掌握。而Arduino规划了一个比较统一的框架,在底层的初始化做了统一,对端口也做了自己的标定,使得新手在交流沟通的过程中非常方便理解。最重要的一点,还应该是Arduino丰富的第三方资源
21、,其开源的硬件和软件,使得我们可以将第三方库录入进行开发,设计者可以根据自己的爱好来做功能设计,因此也不必拘泥于基本的功能编写,使得玩法和乐趣多样化起来。*第三章 软件与硬件系统分析3.1系统分析3.1.1 物理连接框架传感器:光照传感器GY30 水位传感器 防水型DS18b20温度传感器控制板:Arduino板Web服务器:笔记本电脑同时具备服务器和客户端功能终端:电脑网页显示3.1.2功能需求良好的鱼缸环境是鱼生存的必须条件,经过研究发现,要养好鱼必须为鱼提供适宜的温度让其不会因为温度过高或过低而死亡,充足的水源让其不会因为暴露在外界无法从水中获得氧气而死亡还有完善的光照。因此如果鱼缸环境
22、出现剧烈变化导致不适合鱼生存时,需要及时报警,告知养鱼人,所以一个鱼缸监测系统需要温度记录功能,光照强度记录功能,还有水位记录功能:1.温度记录功能功能包含:通过防水型DS18b20温度传感器和Arduino获取鱼缸中的水的温度。2.光照强度记录功能功能包含:通过光照传感器GY30和Arduino获取鱼缸所接受的光照强度。3. 水位记录功能功能包含:通过光照传感器水位传感器和Arduino不间断获取鱼缸中水的高度。4. 监控报警功能功能包含:用户可以在设置报警阈值,一旦温度,光照强度或者水位超过了用户所设置的阈值时,系统就会在使用界面提示用户。3.1.3鱼缸监测系统的可行性分析经济方面:目前在
23、淘宝网上的传感器模块有7元到200元不等,各个类型的传感器可供用户选择。本文所用到的光照、水位、温度传感器价格都不超过200元,整套系统的造价不超过500元,易操作且性能良好。故此方案在经济方面是可行的技术方面:本文所设计的是基于物联网的鱼缸监测系统,整体架构从传感器到控制板到服务器再到客户端,在硬件设计上是利用Node.js ,Express框架和Arduino编程来实现的。所设计功能都是普遍常见,容易实现的。在软件设计上利用html5语言设计了一个网页前端,利用javascript编程语言完成页面数据显示,nodejs做后端的传输交互。设计好所需要测量的数据并丰富界面。硬件设备在进行了诸如
24、光照、水位、温度的数据传输到后端交互后判别是否有危险而传回前端,发出警报或作出相应的响应处理。在网页上展示你所得到的数据和根据所测的数值同时告诉用户现在系统正处于一个什么样的危险,让用户能迅速的做出调整。操作方面:本系统具有简便清洁易于操作等特点,是以养殖观赏鱼为爱好的饲养者而设计的。根据用户不同的要求可以养殖热带鱼、非热带鱼、恒温鱼、寒带鱼类等要求不同水温的不同鱼类等,只要用户选择系统设定好的会超过鱼类出现危险的数值作为门槛值,当达到规定的数值就会开始出现红色警戒条。运行方面:本鱼缸监控系统在一个网页上进行显示,所占用的资源很小,只要是电脑都可以登录,在硬件和软件都能够满足,也有很多相关的实
25、例能做参考,所以在运行上是可行的。3.2硬件系统设计3.2.1温度传感器的设计:本文设计鱼缸监测系统使用到防水型DS18b20温度传感器,DS18B20具有温度延时小,灵敏度高的特点。其支持一线总线的数字方式传输,其稳定性和抗干扰能力,适合恶劣环境的温度测量。DS18B20的测量范围是-55C+125C,在10+85C范围内,精度为0.5C。3.2.2 温度传感器使用方式防水型DS18b20温度传感器使用方式与LM35传感器一致,传感器有三个端子:Vs,Vout和GND。我们将按如下方式连接传感器:把+Vs连接到 Arduino板上的+5v电压。把Vout连接到Arduino板上的模拟0或A0
26、。把GND连接到Arduino上的GND。模数转换器(ADC)基于公式ADC值将模拟值转换为数字近似值=样本*1024/参考电压(+5v)。将模拟值转换为数字逼近。 那么用+5v做参考,数字近似值将等于输入电压*205。连接方式如图:核心代码如下:float temp = 0;/ the setup routine runs once when you press reset:void setup() Serial.begin(115200);Serial.println(F(reading temperature begin. n);/ the loop routine runs over
27、and over again forever:void loop() static unsigned long sensortStamp = 0; if(millis() - sensortStamp 100) sensortStamp = millis(); / read the LM35 sensor value and convert to the degrees every 100ms. int reading = analogRead(0); /注意到我们是把LM35的输出端连接到了A0,所以这里是analogRead(0) temp = reading *0.0048828125*
28、100; Serial.print(F(Real Time Temp: ); Serial.println(temp); 3.2.3 温度传感器的设计:本文设计鱼缸监测系统使用到Arduino 水位检测器/传感器,此传感器广泛应用于检测降雨,水位,液体泄漏。3.2.4 水位传感器使用方式水位传感器具有三个端子:S,Vout(+)和GND(-)。按如下所示连接传感器:把+Vs连接到Arduino板上的+5v。把S连接到Arduino板上的数字引脚8。把GND连接到Arduino板上的GND。把LED连接到Arduino板上的数字引脚9。当传感器检测到水时,Arduino上的引脚8变为LOW,然后
29、Arduino上的LED就会亮起。连接方式如图:核心代码如下:double temp,data;void setup() / put your setup code here, to run once: Serial.begin(9600); void loop() / put your main code here, to run repeatedly: temp=(long)analogRead(0); data=(temp/650)*4; Serial.print(the depth is:); Serial.print(data); Serial.println(cm); delay(
30、1000);3.2.5 光照传感器设计:本文设计鱼缸监测系统使用到GY-30模块的光照传感器,其内置模数转换电路,直接数字输出,省略复杂计算,省略标定,接近于视觉灵敏度的分光特性。3.2.6 光照传感器使用方式水位传感器具有三个端子:S,Vout(+)和GND(-)。按如下所示连接传感器:把+Vs连接到Arduino板上的+5v。把SDA连接到Arduino板上的模拟信号引脚A4。把SCL连接到Arduino板上的模拟信号引脚A5。把GND连接到Arduino上的GND。连接方式如图:核心代码如下:#include / GY-30/ BH1750FVI/ in ADDR L mode 7bit
31、 addr#define ADDR 0b0100011/ addr H mode/ #define ADDR 0b1011100void setup() / put your setup code here, to run once:Serial.begin(9600);while (!Serial) ; / wait for serial port to connect. Needed for Leonardo onlyWire.begin();pinMode(13, OUTPUT);Wire.beginTransmission(ADDR);Wire.write(0b00000001);Wi
32、re.endTransmission();void loop() / put your main code here, to run repeatedly:int val = 0;/ resetWire.beginTransmission(ADDR);Wire.write(0b00000111);Wire.endTransmission();digitalWrite(13, LOW);delay(100);Wire.beginTransmission(ADDR);Wire.write(0b00100000);Wire.endTransmission();/ typical read delay
33、 120msdelay(120);Wire.requestFrom(ADDR, 2); / 2byte every timefor (val=0; Wire.available()=1; ) char c = Wire.read();/Serial.println(c, HEX);val = (val 8) + (c & 0xFF);val = val / 1.2;Serial.print(lx: );Serial.println(val);/ Serial.println(OK);digitalWrite(13, HIGH);delay(500);3.3软件系统设计3.3.1 系统结构在软件
34、系统设计上,我们从功能上将其划分为登录界面、网页设计界面、前后端的交互操作三大模块。登录界面:登录系统之后进到数据监控的界面,并且能够修改自身的密码等信息。网页设计:能够自定义门槛值,用户根据自己所饲养鱼种,根据不同鱼对环境参数的需求不同,由用户自定义的门槛值。并显示出所测量的数据。前后端交互:对鱼缸监控系统的硬件传感器发到网上的数据,由服务器传送到网页上进行操作。软件系统设计的架构图如下:3.3.2 用户登录模块新用户注册模块:新用户和游客需要输入自己的手机号等信息注册账户才能登录我们的系统。用户注册的核心代码如下:老用户登录模块:已注册过的用户,直接输出自己的用户名和密码,登录到我们的系统
35、当中,再根据自己的手机号等相关信息,查找属于自己的数据。用户登录系统核心代码如下:3.3.3 温度/水位/光照显示模块3.3.4 数据记录模块*第四章 总结4.1心得体会与改进在这次的鱼缸监测系统硬件设计中,所遇到的问题有传感器选择问题。起初在设计系统功能时,我和搭档想要在系统中增加检测水质PH的功能,后发现PH水质传感器的价格昂贵,且不易实现。于是将水质PH的数据项换成水位。选择好研究对象后,又遭遇了突发的疫情状况,导致硬件与配件迟迟无法焊接完成。如今毕业设计也接近尾声,从选题到功能选择,硬件购买与焊接,1个多月的奋斗也终将有了结果。刚开始做毕业设计的时候,不知道该从哪里入手,思路不清晰,没
36、有一条逻辑线,感觉这也不会那也不会,总是拿不定主意,毕竟毕业设计也是第一次,该如何着手设计毫无经验,所以前期的工作进展非常缓慢,主要原因是自身对物联网的了解非常片面,很多编程和开发技术都没有接触过,在翻阅资料的过程中也有很多地方看不懂,每个小段都要琢磨很久,找老师找专业人员询问,才一知半解。渡过艰难的前期,到了毕设的中期,整个系统的逻辑和框架才慢慢呈现出来,有了逻辑思路和框架之后,就是细化和按部就班的完成每一个大节点下的小节点。通过这次的毕业设计呢,我也发现了还有很多欠缺的知识,自己要学的东西还很多,将课本上的知识灵活运用到生活中是一件不容易的事情,所以知识与劳动应该相结合,实践才能出真知。今
37、后的日子还很长,知识的积累是一个很漫长的过程。再往后的工作和生活中,应该要稳打稳扎,努力学好知识,提高自己的水平。最后通过借鉴前人的案例和经过自己不懈的努力,毕设作品的软硬件对接也终于完成,接着让人头疼的论文又接踵而来,虽然老师发了大纲和模板给我们参考,但我始终还是没有整理出有条理的,有逻辑的目录,大标题小标题前前后后修改了几十遍,目录才整理出条理。我觉得之所以会出现如此的原因是因为自身对物联网和相关技术的了解还有所欠缺,对大框架下的功能不能够细分,且区分它们之间的关系。虽然最终设计完成了,但在这次的鱼缸监测系统设计中,不管是硬件部分或是软件部分,都有些许遗憾。由于毕业设计时间安排的不够紧凑,
38、导致后面时间较紧张,系统还有很多功能无法实现,例如水质优劣的监测,鱼缸中鱼的生命迹象显示等功能。所以该系统还有许多需要完善的功能或者需求,比如硬件部分,传感器的框架设计和焊接的布局设计没有做好,选用的传感器能实现的功能不够全面,软件部分界面只是简单的列出,并没有图片和样式的加入,反馈的控制调节环境参量等多方面问题。这些都有待进一步改善。 4.2致谢虽然大学四年的学习即将结束,但是人生的道路还很漫长。在此文里我想感谢我的母校(北京理工大学珠海学院),我的毕设指导老师李华颂,还有我的其他任课老师们,同学们,朋友们,在此我表达由衷的谢意。感谢你们在四年里对我学习的关心,对我生活的照顾,我的每一份成功
39、都离不开老师们的谆谆教诲和同学们的热心帮助。在我刚进大学的时候,我们的班主任缪春老师,便非常详细的告诉了我们如何在这个大学的小社会环境里生存与竞争,再到后来社会实践(实习),我也多次向缪老师询问具体的流程比如签订协议和手续以及签到记录等问题,缪春老师都非常的耐心解答,大学四年的生活她都在无微不至地关注着我们的成长,在此我要感谢您的付出。同时我还要感谢我们的辅导员,蒋辉霞和梁天。生活中大大小小的琐事,疑难杂症,纠纷或困扰都可以寻求辅导员的帮助,无论是生活的烦恼或是学习上的阻碍,辅导员总能给出最好的建议,指引我们前行,扫除障碍,为我们的成长保驾护航。最后,我要感谢的是我的毕业设计搭档鲍鑫和指导老师
40、李华颂,由于突发的疫情,导致我们无法更直接的面对面沟通,老师多次给我们每个人打视频电话以及语音电话,督促以及催促我们完成毕业设计的任务,从最初的选课题找搭档到翻阅资料,论文大纲初稿的确定,中期论文的修改,从字体到格式再到段落调整,各个环节都给出了建议和指导,同时还在思想上给予我们关怀。起初同学们的反应还不太积极,但李华颂老师依然非常热情的跟同学们沟通,到最后大家无话不谈,畅所欲言。在此我要向李华颂老师致以最诚挚的敬意和尊敬,谢谢您这段时间以来的付出!此外我还要感谢我的搭档鲍鑫,我们这组的选题是鱼缸监测系统,我负责硬件,他负责软件设计,在传感器的选用和用户端的选用上,鲍鑫同学都给了我不同的建议,
41、最终我们达成共识,使用水位,温度以及光照传感器获取数据,通过控制板到服务端,用户端(同是PC端),使用账户密码登录所设计的网页获取鱼缸内部的监控记录及实时状况。另外在论文的写作上,我也得到了鲍鑫同学的热情帮助,在软件设计部分,他也给我提供了不少相关的资料,帮助我完成我论文的软件系统设计部分。实物作品的成功诞生离不开在整个毕设期间与我密切合作的朋友们,同学们,老师们。在此我再一次向你们表达我的谢意!感谢你们!4.3参考文献1 贾月琴,物联网现状分析及标准化探讨,20132 蔡睿.Arduino的原理及应用J.电子设计工程,2012,20(16):1-33 王春明,王翔宇,缪明等.基于物联网技术的
42、水产养殖环境监控系统设计J.电脑知识与技术,2015,11(22):154-157.4 崔阳,张维华,白云峰.一种基于Arduino的智能家居控制系统J.电子技术应用,2014,40(4):124-1255 奥尔波,Node.js入门经典,人民邮电出版社,20136 郭家寶,Node.js 开发指南,人民邮电出版社7 Dominique D. Guinard/Vlad M. Trifa 著,从物联到万联:Node.js与树莓派万维物联网构建实战,20188 陈建树,杨光军.适合不同鱼种生存环境的智能鱼缸的设计J,20139 罗超.物联网赋予的质变让智能家居更懂你J.中国公共安全,2018(07
43、):184-190.10 Pedro Teixeira著 胡训强 张欣景 译,Node.js高级编程,20134.4附 录传感器代码:GY30光照传感器核心代码:#include / GY-30/ BH1750FVI/ in ADDR L mode 7bit addr#define ADDR 0b0100011/ addr H mode/ #define ADDR 0b1011100void setup() / put your setup code here, to run once:Serial.begin(9600);while (!Serial) ; / wait for serial
44、 port to connect. Needed for Leonardo onlyWire.begin();pinMode(13, OUTPUT);Wire.beginTransmission(ADDR);Wire.write(0b00000001);Wire.endTransmission();void loop() / put your main code here, to run repeatedly:int val = 0;/ resetWire.beginTransmission(ADDR);Wire.write(0b00000111);Wire.endTransmission()
45、;digitalWrite(13, LOW);delay(100);Wire.beginTransmission(ADDR);Wire.write(0b00100000);Wire.endTransmission();/ typical read delay 120msdelay(120);Wire.requestFrom(ADDR, 2); / 2byte every timefor (val=0; Wire.available()=1; ) char c = Wire.read();/Serial.println(c, HEX);val = (val 8) + (c & 0xFF);val
46、 = val / 1.2;Serial.print(lx: );Serial.println(val);/ Serial.println(OK);digitalWrite(13, HIGH);delay(500);水位传感器核心代码:double temp,data;void setup() / put your setup code here, to run once: Serial.begin(9600); void loop() / put your main code here, to run repeatedly: temp=(long)analogRead(0); data=(temp/650)*4;