毕业设计论文-基于树莓派的智能家居.docx

上传人:聆听****声音 文档编号:254248 上传时间:2023-04-28 格式:DOCX 页数:72 大小:1.51MB
下载 相关 举报
毕业设计论文-基于树莓派的智能家居.docx_第1页
第1页 / 共72页
毕业设计论文-基于树莓派的智能家居.docx_第2页
第2页 / 共72页
毕业设计论文-基于树莓派的智能家居.docx_第3页
第3页 / 共72页
毕业设计论文-基于树莓派的智能家居.docx_第4页
第4页 / 共72页
毕业设计论文-基于树莓派的智能家居.docx_第5页
第5页 / 共72页
毕业设计论文-基于树莓派的智能家居.docx_第6页
第6页 / 共72页
毕业设计论文-基于树莓派的智能家居.docx_第7页
第7页 / 共72页
毕业设计论文-基于树莓派的智能家居.docx_第8页
第8页 / 共72页
毕业设计论文-基于树莓派的智能家居.docx_第9页
第9页 / 共72页
毕业设计论文-基于树莓派的智能家居.docx_第10页
第10页 / 共72页
毕业设计论文-基于树莓派的智能家居.docx_第11页
第11页 / 共72页
毕业设计论文-基于树莓派的智能家居.docx_第12页
第12页 / 共72页
毕业设计论文-基于树莓派的智能家居.docx_第13页
第13页 / 共72页
毕业设计论文-基于树莓派的智能家居.docx_第14页
第14页 / 共72页
毕业设计论文-基于树莓派的智能家居.docx_第15页
第15页 / 共72页
毕业设计论文-基于树莓派的智能家居.docx_第16页
第16页 / 共72页
毕业设计论文-基于树莓派的智能家居.docx_第17页
第17页 / 共72页
毕业设计论文-基于树莓派的智能家居.docx_第18页
第18页 / 共72页
毕业设计论文-基于树莓派的智能家居.docx_第19页
第19页 / 共72页
毕业设计论文-基于树莓派的智能家居.docx_第20页
第20页 / 共72页
亲,该文档总共72页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

毕业设计论文-基于树莓派的智能家居.docx

《毕业设计论文-基于树莓派的智能家居.docx》由会员分享,可在线阅读,更多相关《毕业设计论文-基于树莓派的智能家居.docx(72页珍藏版)》请在冰点文库上搜索。

毕业设计论文-基于树莓派的智能家居.docx

摘要

随着物联网技术的发展,智能家居产业迅速崛起。

在此背景下,我们研究了智能家居管理系统的设计与实现。

本文所设计的智能家居管理系统采用分层架构设计,分别为感知层、中间层以及应用层。

感知层利用温湿传感器、火焰探测器、土壤湿度检测器等来采集我们需要的数据。

中间层利用数据平台为我们采集到的数据进行存储与展示。

应用层利用树莓派来对采集到的数据进行分析处理,如果发现异常则采取相对应的措施。

在Linux环境下,以树莓派为硬件平台,实现智能家居管理系统。

在树莓派的平台上完成对智能家居系统设计与实现后,能够较好的实现设计的基本功能,采集数据都正确,系统比较稳定,并且该系统较好的完成异常处理。

关键字:

智能家居,树莓派,传感器,Python

Abstract

WiththedevelopmentofInternetofthingstechnology,smarthomeindustryhaverapidrise.Inthiscontext,westudythedesignandimplementationofintelligenthomemanagementsystem.

Inthispaper,theintelligenthomemanagementsystemadoptsthehierarchicalarchitecturedesign,whichisthesensinglayer,themiddlelayerandtheapplicationlayerrespectively.Thesensinglayerusestemperatureandhumiditysensors,flamedetectors,soilmoisturedetectorsandothersensorstocollectthedatathatweneed.Themiddlelayerusesthedataplatformtostoreanddisplaythedatawecollect.ApplicationlayeruseRaspberryPitoanalysisthedatathatwecollect,andittakecorrespondingactioniffoundtheexception.UndertheLinuxenvironmentandRaspberryasthehardwareplatform,weachievedintelligenthomemanagementsystem.

Intheraspberrypiplatformtocompletetheintelligenthomesystemdesignandimplementation,tobetterachievethebasicfunctionsofthedesign,datacollectionarecorrect,thesystemisrelativelystable,andthesystembettertocompletetheexceptionhandling.

Keywords:

Smarthome,RaspberryPi,Sensor,Python

山东科技大学本科毕业设计(论文)

目录

1绪论 1

1.1课题背景与意义 1

1.2国内外研究现状 2

1.3课题的主要工作 3

1.4本文的组织结构 4

1.5本章小结 5

2系统关键技术介绍 6

2.1树莓派硬件应用 6

2.2Yeelink数据平台 8

2.3面向对象Python 10

2.4本章小结 13

3系统需求与总体设计 14

3.1系统需求概述 14

3.1.1照明控制模块需求 14

3.1.2草木智能浇水模块需求 14

3.1.3窗帘控制模块需求 15

3.1.4厨房火焰探测模块需求 15

3.1.5展示需求 15

3.1.6数据存储需求 15

3.1.7异步事件 16

3.1.8性能 16

3.1.9易用性 16

3.2整体系统概述 16

3.2.1系统硬件架构设计 17

3.2.2系统软件架构设计 18

3.3功能模块设计[22] 19

3.4本章小结 20

4系统详细设计与实现 21

4.1数据库设计 21

4.2数据读写接口 23

4.3发送邮件 26

4.3.1打开smtp服务 26

4.3.2构造邮件 27

4.3.3发送邮件 28

4.4数据通信接口 30

4.4.1Yeelink获取数据 30

4.4.2Yeelink修改编辑数据 31

4.5照明系统控制模块实现 33

4.5.1Python控制继电器 33

4.5.2抖动 35

4.5.3Python控制HC-SR501模块 35

4.5.4照明系统控制组合 38

4.6智能浇水模块实现 39

4.6.1Python控制土壤湿度传感器 39

4.6.2利用继电器控制抽水机 40

4.6.3智能浇水模块组合 41

4.7厨房火焰检测模块 41

4.7.1Python控制火焰探测器 41

4.7.2利用Yeelink发送邮件 43

4.7.3厨房火焰检测模块组合 44

4.8窗帘控制模块 44

4.8.1Python控制L289N模块 44

4.8.2Python获取系统时间 47

4.8.3Python控制DTH11模块 47

4.8.4窗帘模块的功能整合 50

4.9本章小结 50

5系统测试评价和总结展望 51

5.1系统测试与评价 51

5.2总结与展望 54

5.3本章小结 54

参考文献 55

致谢 57

附录一英文原文 58

附录二中文翻译 64

1绪论

1.1课题背景与意义

智能家居是在物联网的影响之下的物联网化的体现[1],它的概念最早出现于美国,利用先进的计算机、嵌入式、网络通信、综合布线技术等技术,将与家居生活有关的各种子系统有机的结合在一起。

随着大数据[2],云计算,可穿戴设备,人机交互,物联网等技术的不断兴起和发展,智能家居开始由概念逐步的进入到现实生活中。

智能家居在美国、日本、新加坡、德国已经得到了广泛的运用[3],并且获得了很快的发展。

由于诸多原因,中国的智能家居的发展相对缓慢,但是随着国家的政策的扶持与规范引导、消费观念的形成、智能城市建设的逐步深入和完善、物联网技术的发展与兴盛,我国的智能家居前景非常广阔。

根据《中国智能家居设备行业发展环境与市场需求预测分析报告前瞻》预计[4],国内的智能家居行列将以年均19.8%的速率增长。

所以这就对人才的需求更加紧迫。

本课题的意义:

1)保持了传统的居住功能的基础上,摆脱了被动模式,成为具有能动性智能化的现代工具。

2)提供高效、舒适、安全、便利、环保的居住环境。

3)以住宅为平台,兼备建筑设备、网络通讯、信息家电和设备自动化,集系统、结构、服务、管理为一体。

4)可以节约用电量的使用,并实时的提供服务。

1.2国内外研究现状

2017年,随着智能化产业进入新的市场格局,国内厂家迎来全面的升级,致力为智能产业生态链,提供更全更新更深度的行业分析和品牌数据监测服务[5]。

据市场调研公司《MarketsAndMarkets》近日发布报告称,全球智能家居市场规模将在2022年达到1220亿美元,2016-2022年年均增长率预测为14%。

智能家居产品分类涵盖照明、安防、供暖、空调、娱乐、医疗看护、厨房用品等[6]。

智能家居行业发展的潜力吸引众多资本加入,包括传统硬件企业、互联网企业、房地产家装企业纷纷抢滩智能家居市场。

谷歌、苹果、微软、三星、华为、小米、魅族等众多科技公司入局,在其努力之下,全球智能家居行业前景看好。

同时,移动通信技术的不断发展不断地给智能家居行业提供强而有力的技术支持,包括5G技术、蓝牙5、下一代wifi标准等都有明确的商业化时间表。

越来越多的新技术涌现出来,与智能家居的融合将产生强大的合合力,如人工智能技术、语音识别技术、深度学习技术等,他们都不断发力智能家居行业,争取与智能家居技术深度融合。

智能家居产品将会越来越普及,分类越来越细化,所涉及的产品种类会更多[7]。

远程控制会有一定的发展,但终究会被完整的智能家居系统所代替。

智能家居市场的未来广阔,但智能家居平台市场大战也是必不可少的。

国外状况:

自从世界上第一幢智能建筑1984年在美国出现后,美国、加拿大、欧洲、澳大利亚和东南亚等经济比较发达的国家先后提出了各种智能家居的方案。

智能家居在美国、德国、新加坡、日本等国都有广泛应用。

国内状况:

智能家居作为一个新生产业,处于一个导入期与成长期的临界点,市场消费观念还未形成,但随着智能家居市场推广普及的进一步落实,培育起消费者的使用习惯,智能家居市场的消费潜力必然是巨大的,产业前景光明。

正因为如此,国内优秀的智能家居生产企业愈来愈重视对行业市场的研究,特别是对企业发展环境和客户需求趋势变化的深入研究,一大批国内优秀的智能家居品牌迅速崛起,逐渐成为智能家居产业中的翘楚!

智能家居至今在中国已经历了近12年的发展,从人们最初的梦想,到今天真实的走进我们的生活,经历了一个艰难的过程[8]。

现在我国的智能家居主要是两个发展方向。

一种是做终端的产业,从控制对象、控制方式和控制电路的设计与实现都是一体化、集成化、流水型的,该方面主要要求系统的个性化和安全性。

另一种是做数据的通信接口的设计和控制对象的控制,为所有的控制对象提供数据的储存,该方面主要要求各类数据的有效存储和各模块的工作机制的了解。

1.3课题的主要工作

1)对树莓派的硬件组成、GPIO的构成做到全面了解,对树莓派的操作系统安装完成以达到正常的使用,并且要对Linux操作系统的基本操作做到得心应手。

2)对传感器的工作原理做到了解,并且能够正确使用传感器来达到我们需要它们达到的效果。

并对一些协议做到大体了解,比如串行、UART、SPI、I2C等。

3)对Python的基本数据类型和语法熟练掌握,并能够应用python进行GPIO、网络请求、时间戳、邮件发送等模块的使用。

4)对电机驱动的连接和控制电机等模块进行有效的控制。

并且要做到能够根据传感器采集的信息做出联动的效果。

5)对于不同的功能如何做到不受代码执行顺序的限制,而达到并行的效果。

Python中的GPIO中有一个异步事件,可以根据GPIO的高低电平达到并行效果。

效果要比多线程和多进程优秀很多,这是由于树莓派的结构所限制。

6)使用数据存储平台来对我们采集的数据进行共享和同步,从而可以是我们可以从网站、手机、微信等获得数据。

实现对数据上传和下载。

1.4本文的组织结构

本文以树莓派为硬件平台、数据存储平台为软件,分析各传感器的功能,并利用合适的传感器来实现不同的功能模块,不同模块具有不同的功能,实现了四个方面的功能。

本文分为五章,内容安排如下:

第一章,绪论。

主要介绍了论文的选题背景和其相关意义,介绍了智能家居的国内外研究现状,详细说明了整个平台所需要解决的主要问题和本文的主要工作以及组织结构。

第二章,系统关键技术介绍。

主要介绍系统开发所应用到的关键技术。

采用各种传感器对数据进行实时的数据采集;采用Python对收集的数据进行相互关联和处理;采用数据存储平台进行数据的收集和展示;根据采集的各数据结果利用继电器控制家电表现出来。

第三章,系统需求与总体设计。

详细分析了系统的各类功能性需求和非功能性需求,根据需求对系统进行详细设计,分别从系统架构设计、数据库设计、功能模块设计来进行描述。

第四章,系统详细设计与实现。

详细阐述了系统实现过程,完整的给出了火焰检测模块、自动浇水模块、窗帘智能模块、照明控制模块等功能实现。

第五章,测试与评价。

针对本文进行了总结,根据课题整体完成度提出了改进的方向,对下一步开发工作提出了想法。

1.5本章小结

本章主要对我们系统总体进行了总的阐述,从研究背景及意义、国内外研究状况、本系统主要工作以及本系统的组织结构。

2系统关键技术介绍

2.1树莓派硬件应用

RaspberryPi[9](中文名为“树莓派”,简写为RPi,(或者RasPi/RPI)[1]  是为学习计算机编程教育而设计,只有信用卡大小的微型电脑,其系统基于Linux。

树莓派视频、音频、摄像头接口等功能都具有,可谓是“麻雀虽小,五脏俱全”。

不同的版本具有不同的功能、价格等。

具体版本的功能、功耗等如2-1所示。

图2-1树莓派各版本硬件比较

Figure2-1RaspberryPiversionhardwarecomparison

树莓派之所以这么受欢迎,还有一个重要原因,那就是其GPIO引脚,利用这些引脚可以控制传感器、继电器、家电等许多东西,既可以学到知识,又可以做自己喜欢的小创意[10]。

有人曾说:

当你拥有树莓派和Python之后,限制你的只有你的想象力。

图2-2展示了树莓派的GPIO各功能:

图2-2树莓派引脚对比图

Figure2-2ComparisonofRaspberrypin

就像其他任何一台运行Linux系统的台式计算机或者便携式计算机那样,利用RaspberryPi可以做很多事情。

但是RaspberryPi来说使用SD卡作为“硬盘”,你也可以外接USB硬盘。

RaspberryPi的低价意味着其用途更加广泛,将其打造成卓越的多媒体中心也是一个不错的选择。

利用RaspberryPi可以播放视频,甚至可以通过电视机的USB接口供电。

但是需要注意的是,树莓派有时候非常脆弱、非常容易被一击致命,比如GPIO引脚承受电压、静电对树莓派一击瘫痪等。

所以树莓派指南建议,一定不要带电接线,等检查确保无误时,才可以接通电源。

2.2Yeelink数据平台

平台提供统一的物联网数据服务接口,家庭设备可讲采集数据通过接口上传,以通过数据模型形式存储,可预设规则执行触发动作,实现特定事件监测和预警。

平台还提供可定制的数据可视化界面,以图表形式呈现动态变化的家庭物联网数据[11]。

YeeLink:

物联网的云服务平台是一家为硬件开发者提供公共物联网接入平台的公司,是一群热爱互联网,创意设计与电子产品的年轻人,主要成员曾经在国际知名的电信,家电和互联网公司工作。

为用户提供传感器云服务;并通过实时数据处理,为您提供安全可靠的状态监控。

图2-3Yeelink登陆首页

Figure2-3TheloginpageofYeelink

YeeLink是一群热爱互联网,创意设计与电子产品的年轻人,主要成员曾经在国际知名的电信,家电和互联网公司工作。

2012年5月正式离职开始Yeelink的创办和研发,并于同年6月份正式上线国内第一个开放的物联网平台,于9月份开始智能照明产品Yeelight的研发。

产品和平台在13年初接受硬件创业孵化器HAXLR8R孵化,并于5月在旧金山demoday成功发。

YeeLink是一群热爱生活,憧憬美好未来的年轻人,YeeLink用自己的激情去打造服务生活的联网电子产品及物联网服务。

相信我们在APP,互联网,通信和硬件全面的研发能力,能够为用户带来更加贴心的智能生活方式。

Yeelink是一个开放的通用物联网平台,主要提供传感器数据的接入、存储和展现服务,为所有的开源软硬件爱好者、制造型企业,提供一个物联网项目的平台。

使得硬件和制造业者能够在不关心服务器实现细节和运维的情况下,拥有交付物联网化的电子产品的能力。

Yeelink侧重于成为物联网的middleware和Enabler,是传统电子电器制造业者的朋友和伙伴。

平台已支持数值型、图像型、GPS型和泛型等多种数据的接入,并提供完备的API文档和代码示例。

通过API接口,您只需要简单的几步操作就能将传感器接入Yeelink平台,实现传感器数据的远程监控。

Yeelink独有设计的高并发接入服务器和云存储方案,能够同时完成海量的传感器数据接入和存储任务,确保您的数据能够安全的保存在互联网上,先进的鉴权系统和安全机制,能够确保数据只在您允许的范围内共享。

当您的数据达到某个设定阈值的时候,Yeelink平台会自动调用您预先设定的规则,发送短信,微博,或者是邮件,您还可以充分利用平台的计算能力,定期的将统计分析数据发送到邮箱内,这一切仅需在网页上简单的点击几个按钮

Yeelink平台的最大特点,在于不仅仅能够提供数据的上行功能,还能够实现对家庭电器的控制功能,快要到家前想洗个热水澡,还是要提前把空调打开?

很简单,用手机的智能App,这些就是举手之劳。

在Yeelink上,数据不再是孤单的节点,存储在Yeelink的数据,可以简单的被API取回,放置到您的个人博客上,或者根据规则自动转发到您指定的微博上,在这里,您将会感受到数据和人之间的全面融合。

2.3面向对象Python

Python是由荷兰人GuidovanRossum发明,是为了避免重蹈ABC语言的不流行道路,采用了开源的做法,主要受到了Modula-3(另一种相当优美且强大的语言,为小型团体所设计的)的影响。

并且结合了Unixshell和C的习惯[12]。

它具有以下特点:

简单:

Python是一种代表简单主义思想的语言。

阅读一个良好的Python程序就感觉像是在读英语一样,尽管这个英语的要求非常严格!

Python的这种伪代码本质是它最大的优点之一。

它使你能够专注于解决问题而不是去搞明白语言本身。

易学:

就如同你即将看到的一样,Python极其容易上手。

前面已经提到了,Python有极其简单的语法。

免费、开源:

Python是FLOSS(自由/开放源码软件)之一。

简单地说,你可以自由地发布这个软件的拷贝、阅读它的源代码、对它做改动、把它的一部分用于新的自由软件中。

FLOSS是基于一个团体分享知识的概念。

这是为什么Python如此优秀的原因之一——它是由一群希望看到一个更加优秀的Python的人创造并经常改进[13]。

高层语言:

当你用Python语言编写程序的时候,你无需考虑诸如如何管理你的程序使用的内存一类的底层细节。

可移植性:

由于它的开源本质,Python已经被移植在许多平台上(经过改动使它能够工作在不同平台上)。

如果你小心地避免使用依赖于系统的特性,那么你的所有Python程序无需修改就可以在下述任何平台上面运行。

这些平台包括Linux、Windows、FreeBSD、Macintosh、Solaris、OS/2、Amiga、AROS、AS/400、BeOS、OS/390、z/OS、PalmOS、QNX、VMS、Psion、AcomRISCOS、VxWorks、PlayStation、SharpZaurus、WindowsCE甚至还有PocketPC、Symbian以及Google基于linux开发的Android平台!

解释性:

这一点需要一些解释。

一个用编译性语言比如C或C++写的程序可以从源文件(即C或C++语言)转换到一个你的计算机使用的语言(二进制代码,即0和1)[14]。

这个过程通过编译器和不同的标记、选项完成。

当你运行你的程序的时候,连接/转载器软件把你的程序从硬盘复制到内存中并且运行。

而Python语言写的程序不需要编译成二进制代码。

你可以直接从源代码运行程序[15]。

在计算机内部,Python解释器把源代码转换成称为字节码的中间形式,然后再把它翻译成计算机使用的机器语言并运行。

事实上,由于你不再需要担心如何编译程序,如何确保连接转载正确的库等等,所有这一切使得使用Python更加简单[16][17]。

由于你只需要把你的Python程序拷贝到另外一台计算机上,它就可以工作了,这也使得你的Python程序更加易于移植。

面向对象:

Python既支持面向过程的编程也支持面向对象的编程。

在“面向过程”的语言中,程序是由过程或仅仅是可重用代码的函数构建起来的。

在“面向对象”的语言中,程序是由数据和功能组合而成的对象构建起来的。

与其他主要的语言如C++和Java相比,Python以一种非常强大又简单的方式实现面向对象编程。

可扩展性:

如果你需要你的一段关键代码运行得更快或者希望某些算法不公开,你可以把你的部分程序用C或C++编写,然后在你的Python程序中使用它们。

可嵌入性:

你可以把Python嵌入你的C/C++程序,从而向你的程序用户提供脚本功能。

丰富的库:

Python标准库很庞大。

它可以帮助你处理各种工作,包括正则表达式、文档生成、单元测试、线程、数据库、网页浏览器、CGI、FTP、电子邮件、XML、XML-RPC、HTML、WAV文件、密码系统、GUI(图形用户界面)、Tk和其他与系统有关的操作。

记住,只要安装了Python,所有这些功能都是可用的。

这被称作Python的“功能齐全”理念。

除了标准库以外,还有许多其他高质量的库,如wxPython、Twisted和Python图像库等等[18]。

概括:

Python确实是一种十分精彩又强大的语言。

它合理地结合了高性能与使得编写程序简单有趣的特色。

规范的代码:

Python采用强制缩进的方式使得代码具有极佳的可读性。

相比其他语言经常使用英文关键字,其他语言的一些标点符号,它具有比其他语言更有特色语法结构,具有以下特色[19]:

1)Python是一种解释型语言:

 这意味着开发过程中没有了编译这个环节。

类似于PHP和Perl语言[20]。

2)Python是交互式语言:

 这意味着,您可以在一个Python提示符,直接互动执行写你的程序。

3)Python是面向对象语言:

 这意味着Python支持面向对象的风格或代码封装在对象的编程技术。

4)Python是初学者的语言:

Python对初级程序员而言,是一种伟大的语言,它支持广泛的应用程序开发,从简单的文字处理到WWW浏览器再到游戏[21]。

2.4本章小结

本章主要介绍了该系统所应用到的关键技术,并对它们的主要来源和功能做了详细的阐述。

3系统需求与总体设计

3.1系统需求概述

从智能家居使用者的角度出发,要做到尽可能少的让使用者参与此系统,将这些模块的状态、数据等能够及时的反馈给该使用者。

并且要做到对这些数据能够直观、易懂、有趣、真实展现出来。

而且还要做到能够根据使用者的习惯来进行工作,比如使用者的作息时间和火焰易产生处等重要参考指标。

在系统建设过程中,系统应该满足以下几方面的功能需求:

3.1.1照明控制模块需求

对于照明控制系统模块,我们利用继电器对灯进行控制,然后加上一些传感器来进行检测人,如果检测到有人,则需要开灯,反之,则需要关灯。

传感器应该可以调节感应距离和延迟时间,这样我们就可以根据实际情况来调节我们的需求。

3.1.2草木智能浇水模块需求

对于智能草木浇水模块,我们利用具有检测土壤湿度的传感器检测我们的草木湿度情况,当湿度低于某个值时,我们就利用开关来来控制抽水机来为我们的草木浇水。

并且应该能够调节灵敏度,这样我们就可以根据不同的情况设置我们所需要的灵敏度,当低于该灵敏度时我们就采取措施,然后就可以利用抽水机进行抽水工作,一段时间后,主动关闭该抽水机。

3

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2