ImageVerifierCode 换一换
格式:DOC , 页数:72 ,大小:1.74MB ,
资源ID:2396391      下载积分:18 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/2396391.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(基于树莓派的智能家居.doc)为本站上传会员【精****】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

基于树莓派的智能家居.doc

1、完整word)基于树莓派的智能家居 摘要 随着物联网技术的发展,智能家居产业迅速崛起。在此背景下,我们研究了智能家居管理系统的设计与实现。 本文所设计的智能家居管理系统采用分层架构设计,分别为感知层、中间层以及应用层。感知层利用温湿传感器、火焰探测器、土壤湿度检测器等来采集我们需要的数据。中间层利用数据平台为我们采集到的数据进行存储与展示。应用层利用树莓派来对采集到的数据进行分析处理,如果发现异常则采取相对应的措施。在Linux环境下,以树莓派为硬件平台,实现智能家居管理系统。 在树莓派的平台上完成对智能家居系统设计与实现后,能够较好的实现设计的基本功能,采集数据都正确,系统比较

2、稳定,并且该系统较好的完成异常处理。 关键字:智能家居,树莓派,传感器,Python Abstract With the development of Internet of things technology, smart home industry have rapid rise. In this context, we study the design and implementation of intelligent home management system. In this paper, the intelligent home management system ado

3、pts the hierarchical architecture design, which is the sensing layer, the middle layer and the application layer respectively。 The sensing layer uses temperature and humidity sensors, flame detectors, soil moisture detectors and other sensors to collect the data that we need。 The middle layer uses t

4、he data platform to store and display the data we collect。 Application layer use Raspberry Pi to analysis the data that we collect, and it take corresponding action if found the exception. Under the Linux environment and Raspberry as the hardware platform, we achieved intelligent home management sys

5、tem. In the raspberry pi platform to complete the intelligent home system design and implementation, to better achieve the basic functions of the design, data collection are correct, the system is relatively stable, and the system better to complete the exception handling. Keywords: Smart home,Ras

6、pberry Pi, 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。2 Yeelink数据平台 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 厨房火焰探测模块需求

7、 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.1 Yeelink获取数据

8、 30 4.4。2 Yeelink修改编辑数据 31 4。5 照明系统控制模块实现 33 4。5。1 Python控制继电器 33 4。5.2抖动 35 4。5。3 Python控制HC—SR501模块 35 4.5。4 照明系统控制组合 38 4.6 智能浇水模块实现 39 4.6.1 Python控制土壤湿度传感器 39 4。6.2利用继电器控制抽水机 40 4。6。3 智能浇水模块组合 41 4。7 厨房火焰检测模块 41 4.7。1 Python控制火焰探测器 41 4。7。2 利用Yeelink发送邮件 43 4.7。3 厨房火焰检测模块组合 44 4.

9、8 窗帘控制模块 44 4。8.1 Python控制L289N模块 44 4。8.2 Python获取系统时间 47 4.8.3 Python控制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],它的概念最早出现于美国,利用先进的计算机、嵌入式、网

10、络通信、综合布线技术等技术,将与家居生活有关的各种子系统有机的结合在一起。随着大数据[2],云计算,可穿戴设备,人机交互,物联网等技术的不断兴起和发展,智能家居开始由概念逐步的进入到现实生活中。智能家居在美国、日本、新加坡、德国已经得到了广泛的运用[3],并且获得了很快的发展。由于诸多原因,中国的智能家居的发展相对缓慢,但是随着国家的政策的扶持与规范引导、消费观念的形成、智能城市建设的逐步深入和完善、物联网技术的发展与兴盛,我国的智能家居前景非常广阔。根据《中国智能家居设备行业发展环境与市场需求预测分析报告前瞻》预计[4],国内的智能家居行列将以年均19。8%的速率增长.所以这就对人才的需求更

11、加紧迫。 本课题的意义: 1) 保持了传统的居住功能的基础上,摆脱了被动模式,成为具有能动性智能化的现代工具。 2) 提供高效、舒适、安全、便利、环保的居住环境。 3) 以住宅为平台,兼备建筑设备、网络通讯、信息家电和设备自动化,集系统、结构、服务、管理为一体。 4) 可以节约用电量的使用,并实时的提供服务。 1。2 国内外研究现状 2017年,随着智能化产业进入新的市场格局,国内厂家迎来全面的升级,致力为智能产业生态链,提供更全更新更深度的行业分析和品牌数据监测服务[5]。据市场调研公司《Markets And Markets》近日发布报告称,全球智能家居市场规模将在2022

12、年达到1220亿美元,2016-2022年年均增长率预测为14%.智能家居产品分类涵盖照明、安防、供暖、空调、娱乐、医疗看护、厨房用品等[6]。智能家居行业发展的潜力吸引众多资本加入,包括传统硬件企业、互联网企业、房地产家装企业纷纷抢滩智能家居市场。谷歌、苹果、微软、三星、华为、小米、魅族等众多科技公司入局,在其努力之下,全球智能家居行业前景看好。同时,移动通信技术的不断发展不断地给智能家居行业提供强而有力的技术支持,包括5G技术、蓝牙5、下一代wifi标准等都有明确的商业化时间表。越来越多的新技术涌现出来,与智能家居的融合将产生强大的合合力,如人工智能技术、语音识别技术、深度学习技术等,他们

13、都不断发力智能家居行业,争取与智能家居技术深度融合。智能家居产品将会越来越普及,分类越来越细化,所涉及的产品种类会更多[7]。远程控制会有一定的发展,但终究会被完整的智能家居系统所代替.智能家居市场的未来广阔,但智能家居平台市场大战也是必不可少的。 国外状况:自从世界上第一幢智能建筑1984年在美国出现后,美国、加拿大、欧洲、澳大利亚和东南亚等经济比较发达的国家先后提出了各种智能家居的方案。智能家居在美国、德国、新加坡、日本等国都有广泛应用. 国内状况:智能家居作为一个新生产业,处于一个导入期与成长期的临界点,市场消费观念还未形成,但随着智能家居市场推广普及的进一步落实,培育起消费者的使用

14、习惯,智能家居市场的消费潜力必然是巨大的,产业前景光明。 正因为如此,国内优秀的智能家居生产企业愈来愈重视对行业市场的研究,特别是对企业发展环境和客户需求趋势变化的深入研究,一大批国内优秀的智能家居品牌迅速崛起,逐渐成为智能家居产业中的翘楚!智能家居至今在中国已经历了近12年的发展,从人们最初的梦想,到今天真实的走进我们的生活,经历了一个艰难的过程[8]。 现在我国的智能家居主要是两个发展方向.一种是做终端的产业,从控制对象、控制方式和控制电路的设计与实现都是一体化、集成化、流水型的,该方面主要要求系统的个性化和安全性。另一种是做数据的通信接口的设计和控制对象的控制,为所有的控制对象提供

15、数据的储存,该方面主要要求各类数据的有效存储和各模块的工作机制的了解。 1.3 课题的主要工作 1) 对树莓派的硬件组成、GPIO的构成做到全面了解,对树莓派的操作系统安装完成以达到正常的使用,并且要对Linux操作系统的基本操作做到得心应手。 2) 对传感器的工作原理做到了解,并且能够正确使用传感器来达到我们需要它们达到的效果。并对一些协议做到大体了解,比如串行、UART、SPI、I2C等. 3) 对Python的基本数据类型和语法熟练掌握,并能够应用python进行GPIO、网络请求、时间戳、邮件发送等模块的使用。 4) 对电机驱动的连接和控制电机等模块进行有效的控制。并且要做到

16、能够根据传感器采集的信息做出联动的效果. 5) 对于不同的功能如何做到不受代码执行顺序的限制,而达到并行的效果。Python中的GPIO中有一个异步事件,可以根据GPIO的高低电平达到并行效果.效果要比多线程和多进程优秀很多,这是由于树莓派的结构所限制。 6) 使用数据存储平台来对我们采集的数据进行共享和同步,从而可以是我们可以从网站、手机、微信等获得数据。实现对数据上传和下载。 1。4 本文的组织结构 本文以树莓派为硬件平台、数据存储平台为软件,分析各传感器的功能,并利用合适的传感器来实现不同的功能模块,不同模块具有不同的功能,实现了四个方面的功能. 本文分为五章,内容安排如下

17、 第一章,绪论。主要介绍了论文的选题背景和其相关意义,介绍了智能家居的国内外研究现状,详细说明了整个平台所需要解决的主要问题和本文的主要工作以及组织结构. 第二章,系统关键技术介绍。主要介绍系统开发所应用到的关键技术。采用各种传感器对数据进行实时的数据采集;采用Python对收集的数据进行相互关联和处理;采用数据存储平台进行数据的收集和展示;根据采集的各数据结果利用继电器控制家电表现出来. 第三章,系统需求与总体设计。详细分析了系统的各类功能性需求和非功能性需求,根据需求对系统进行详细设计,分别从系统架构设计、数据库设计、功能模块设计来进行描述. 第四章,系统详细设计

18、与实现。详细阐述了系统实现过程,完整的给出了火焰检测模块、自动浇水模块、窗帘智能模块、照明控制模块等功能实现. 第五章,测试与评价。针对本文进行了总结,根据课题整体完成度提出了改进的方向,对下一步开发工作提出了想法。 1.5 本章小结 本章主要对我们系统总体进行了总的阐述,从研究背景及意义、国内外研究状况、本系统主要工作以及本系统的组织结构。 2 系统关键技术介绍 2。1 树莓派硬件应用 Raspberry Pi[9] (中文名为“树莓派",简写为RPi,(或者RasPi / RPI)[1]  是为学习计算机编程教育而设计,只有信用卡大小的微型电脑,其系统基于Lin

19、ux。树莓派视频、音频、摄像头接口等功能都具有,可谓是“麻雀虽小,五脏俱全”.不同的版本具有不同的功能、价格等.具体版本的功能、功耗等如2—1所示. 图2—1 树莓派各版本硬件比较 Figure2-1 Raspberry Pi version hardware comparison 树莓派之所以这么受欢迎,还有一个重要原因,那就是其GPIO引脚,利用这些引脚可以控制传感器、继电器、家电等许多东西,既可以学到知识,又可以做自己喜欢的小创意[10]。有人曾说:当你拥有树莓派和Python之后,限制你的只有你的想象力。图2—2展示了树莓派的GPIO各功能: 图 2—2 树莓派引脚对比图

20、 Figure2-2 Comparison of Raspberry pin 就像其他任何一台运行Linux 系统的台式计算机或者便携式计算机那样,利用Raspberry Pi 可以做很多事情.但是Raspberry Pi 来说使用SD 卡作为“硬盘",你也可以外接USB 硬盘。Raspberry Pi 的低价意味着其用途更加广泛,将其打造成卓越的多媒体中心也是一个不错的选择.利用Raspberry Pi 可以播放视频,甚至可以通过电视机的USB 接口供电.但是需要注意的是,树莓派有时候非常脆弱、非常容易被一击致命,比如GPIO引脚承受电压、静电对树莓派一击瘫痪等.所以树莓派指南建议,一定不

21、要带电接线,等检查确保无误时,才可以接通电源。 2。2 Yeelink数据平台 平台提供统一的物联网数据服务接口,家庭设备可讲采集数据通过接口上传,以通过数据模型形式存储,可预设规则执行触发动作,实现特定事件监测和预警.平台还提供可定制的数据可视化界面,以图表形式呈现动态变化的家庭物联网数据[11]。 YeeLink:物联网的云服务平台是一家为硬件开发者提供公共物联网接入平台的公司,是一群热爱互联网, 创意设计与电子产品的年轻人,主要成员曾经在国际知名的电信, 家电和互联网公司工作.为用户提供传感器云服务; 并通过实时数据处理, 为您提供安全可靠的状态监控。 图 2—3 Yeel

22、ink登陆首页 Figure 2—3 The login page of Yeelink YeeLink是一群热爱互联网, 创意设计与电子产品的年轻人, 主要成员曾经在国际知名的电信, 家电和互联网公司工作。 2012年5月正式离职开始Yeelink的创办和研发,并于同年6月份正式上线国内第一个开放的物联网平台, 于9月份开始智能照明产品Yeelight的研发。 产品和平台在13年初接受硬件创业孵化器HAXLR8R孵化, 并于5月在旧金山demo day成功发。 YeeLink是一群热爱生活, 憧憬美好未来的年轻人,YeeLink用自己的激情去打造服务生活的联网电子产品及物联网服务。 相

23、信我们在APP, 互联网, 通信和硬件全面的研发能力, 能够为用户带来更加贴心的智能生活方式. Yeelink是一个开放的通用物联网平台,主要提供传感器数据的接入、存储和展现服务,为所有的开源软硬件爱好者、制造型企业,提供一个物联网项目的平台。使得硬件和制造业者能够在不关心服务器实现细节和运维的情况下,拥有交付物联网化的电子产品的能力.Yeelink侧重于成为物联网的middleware和Enabler,是传统电子电器制造业者的朋友和伙伴。 平台已支持数值型、图像型、GPS型和泛型等多种数据的接入,并提供完备的API文档和代码示例。通过API接口,您只需要简单的几步操作就能将传感器接入Ye

24、elink平台,实现传感器数据的远程监控。 Yeelink独有设计的高并发接入服务器和云存储方案,能够同时完成海量的传感器数据接入和存储任务,确保您的数据能够安全的保存在互联网上,先进的鉴权系统和安全机制,能够确保数据只在您允许的范围内共享。 当您的数据达到某个设定阈值的时候,Yeelink平台会自动调用您预先设定的规则,发送短信,微博,或者是邮件,您还可以充分利用平台的计算能力,定期的将统计分析数据发送到邮箱内,这一切仅需在网页上简单的点击几个按钮 Yeelink平台的最大特点,在于不仅仅能够提供数据的上行功能,还能够实现对家庭电器的控制功能,快要到家前想洗个热水澡,还是要提前把空调打

25、开?很简单,用手机的智能App,这些就是举手之劳. 在Yeelink上,数据不再是孤单的节点,存储在Yeelink的数据,可以简单的被API取回,放置到您的个人博客上,或者根据规则自动转发到您指定的微博上,在这里,您将会感受到数据和人之间的全面融合。 2.3 面向对象Python Python是由荷兰人Guido van Rossum发明,是为了避免重蹈ABC语言的不流行道路,采用了开源的做法,主要受到了Modula-3(另一种相当优美且强大的语言,为小型团体所设计的)的影响。并且结合了Unix shell和C的习惯[12].它具有以下特点: 简单:Python是一种代表简单主义思想

26、的语言。阅读一个良好的Python程序就感觉像是在读英语一样,尽管这个英语的要求非常严格!Python的这种伪代码本质是它最大的优点之一.它使你能够专注于解决问题而不是去搞明白语言本身. 易学:就如同你即将看到的一样,Python极其容易上手。前面已经提到了,Python有极其简单的语法。 免费、开源:Python是FLOSS(自由/开放源码软件)之一。简单地说,你可以自由地发布这个软件的拷贝、阅读它的源代码、对它做改动、把它的一部分用于新的自由软件中。FLOSS是基于一个团体分享知识的概念。这是为什么Python如此优秀的原因之一——它是由一群希望看到一个更加优秀的Python的人创造并

27、经常改进[13]。 高层语言:当你用Python语言编写程序的时候,你无需考虑诸如如何管理你的程序使用的内存一类的底层细节。 可移植性:由于它的开源本质,Python已经被移植在许多平台上(经过改动使它能够工作在不同平台上)。如果你小心地避免使用依赖于系统的特性,那么你的所有Python程序无需修改就可以在下述任何平台上面运行.这些平台包括Linux、Windows、FreeBSD、Macintosh、Solaris、OS/2、Amiga、AROS、AS/400、BeOS、OS/390、z/OS、Palm OS、QNX、VMS、Psion、Acom RISC OS、VxWorks、Play

28、Station、Sharp Zaurus、Windows CE甚至还有PocketPC、Symbian以及Google基于linux开发的Android平台! 解释性:这一点需要一些解释。一个用编译性语言比如C或C++写的程序可以从源文件(即C或C++语言)转换到一个你的计算机使用的语言(二进制代码,即0和1)[14]。这个过程通过编译器和不同的标记、选项完成.当你运行你的程序的时候,连接/转载器软件把你的程序从硬盘复制到内存中并且运行。而Python语言写的程序不需要编译成二进制代码。你可以直接从源代码 运行 程序[15]。在计算机内部,Python解释器把源代码转换成称为字节码的中间形式

29、然后再把它翻译成计算机使用的机器语言并运行。事实上,由于你不再需要担心如何编译程序,如何确保连接转载正确的库等等,所有这一切使得使用Python更加简单[16] [17]。由于你只需要把你的Python程序拷贝到另外一台计算机上,它就可以工作了,这也使得你的Python程序更加易于移植。 面向对象:Python既支持面向过程的编程也支持面向对象的编程。在“面向过程”的语言中,程序是由过程或仅仅是可重用代码的函数构建起来的。在“面向对象”的语言中,程序是由数据和功能组合而成的对象构建起来的。与其他主要的语言如C++和Java相比,Python以一种非常强大又简单的方式实现面向对象编程。 可

30、扩展性:如果你需要你的一段关键代码运行得更快或者希望某些算法不公开,你可以把你的部分程序用C或C++编写,然后在你的Python程序中使用它们。 可嵌入性:你可以把Python嵌入你的C/C++程序,从而向你的程序用户提供脚本功能。 丰富的库:Python标准库很庞大.它可以帮助你处理各种工作,包括正则表达式、文档生成、单元测试、线程、数据库、网页浏览器、CGI、FTP、电子邮件、XML、XML-RPC、HTML、WAV文件、密码系统、GUI(图形用户界面)、Tk和其他与系统有关的操作。记住,只要安装了Python,所有这些功能都是可用的。这被称作Python的“功能齐全”理念。除了标准库

31、以外,还有许多其他高质量的库,如wxPython、Twisted和Python图像库等等[18]. 概括:Python确实是一种十分精彩又强大的语言。它合理地结合了高性能与使得编写程序简单有趣的特色。 规范的代码:Python采用强制缩进的方式使得代码具有极佳的可读性。 相比其他语言经常使用英文关键字,其他语言的一些标点符号,它具有比其他语言更有特色语法结构,具有以下特色[19]: 1) Python 是一种解释型语言: 这意味着开发过程中没有了编译这个环节。类似于PHP和Perl语言[20]。 2) Python 是交互式语言: 这意味着,您可以在一个Python提示符,直接互动执

32、行写你的程序。 3) Python 是面向对象语言: 这意味着Python支持面向对象的风格或代码封装在对象的编程技术。 4) Python 是初学者的语言:Python 对初级程序员而言,是一种伟大的语言,它支持广泛的应用程序开发,从简单的文字处理到 WWW 浏览器再到游戏[21]。 2.4 本章小结 本章主要介绍了该系统所应用到的关键技术,并对它们的主要来源和功能做了详细的阐述. 3 系统需求与总体设计 3。1 系统需求概述 从智能家居使用者的角度出发,要做到尽可能少的让使用者参与此系统,将这些模块的状态、数据等能够及时的反馈给该使用者.并且要做到对这些数据能够直观、

33、易懂、有趣、真实展现出来。而且还要做到能够根据使用者的习惯来进行工作,比如使用者的作息时间和火焰易产生处等重要参考指标。 在系统建设过程中,系统应该满足以下几方面的功能需求: 3。1.1 照明控制模块需求 对于照明控制系统模块,我们利用继电器对灯进行控制,然后加上一些传感器来进行检测人,如果检测到有人,则需要开灯,反之,则需要关灯. 传感器应该可以调节感应距离和延迟时间,这样我们就可以根据实际情况来调节我们的需求。 3。1。2 草木智能浇水模块需求 对于智能草木浇水模块,我们利用具有检测土壤湿度的传感器检测我们的草木湿度情况,当湿度低于某个值时,我们就利用开关来来控制抽水

34、机来为我们的草木浇水。并且应该能够调节灵敏度,这样我们就可以根据不同的情况设置我们所需要的灵敏度,当低于该灵敏度时我们就采取措施,然后就可以利用抽水机进行抽水工作,一段时间后,主动关闭该抽水机。 3。1。3 窗帘控制模块需求 对于窗帘控制系统模块,我们利用电机来控制窗帘,然后根据使用者的作息时间和光照等来为窗帘的转动作为阈门.通过使用者的作息安排,我们可以对窗帘的开关时间进行控制,如果当光照达到一定的强度,我们就需要关闭窗帘。然后我们必须对窗帘当前的状态进行标记,以达到对窗帘进行有效的控制。如果处于关闭状态,当需要关闭时我们就不需要对窗帘采取任何行动了。我们还增加了对室内温度和湿度采集的功

35、能,使用者可以实时的获得到信息。 3。1。4 厨房火焰探测模块需求 对于厨房火焰检测模块,我们利用传感器来检测火焰可能会发生的地方,并且要通过有效的方式来通知使用者来让他实时了解情况.把传感器放到合适的位置,当检测到了火焰时,我们通过比较及时的方式告诉使用者并且应该做出一些动作来告知周围的人。 3.1。5 展示需求 为了让使用者能够及时的获得消息,我们可以让用户通过微信、手机端的两大操作系统的APP、网页等方式来获得消息.所以我们必须开发一套这样的应用. 3.1.6数据存储需求 让我们采集的数据能够及时的得到保存和方便调用,并且能够使数据的冗余性缩小到最小.使数

36、据获取的速度和存储的速度变快。 3.1.7 异步事件 当这四个模块整合在一起时,不能通过分时来让这四个模块工作,因为这样做既浪费时间,又达不到我们的需求和性能呢,所以需要利用某个模块中的功能来达到类似于并行处理的效果,使我们的不同模块可以在他们本应该报警时来报警.利用某些模块中的函数来对这些模块达到并行的效果。 3.1.8 性能 系统正常运行中应该快速的接受异常且数据正确,并且能够及时的处理或者报告给使用者.适当的模块划分可以使系统反应速度不那么慢甚至出现崩溃的情况。 3.1。9易用性 本系统只需要前期使用者的基础配置,当系统运行起来之后,此系统几乎不需要用户来参与,并

37、且能够当出现异常的时候让用户及时的获取信息,或者使用者自己可以查看一些情况。 3。2 整体系统概述 系统层次结构图和功能结构图如图3—1所示: 图 3-1 系统层次结构图 Figure 3—1The Structure of system level 系统采用了树莓派+各种传感器+Python+Yeelink来实现,分为感知层、中间层、应用层三层结构.其中传感器作为感知层,类似于人的五官和皮肤,负责收集数据。树莓派+Python作为中间层,主要解决传感器的数据存储,处理分析、汇总以及网络通信等功能。Yeelink作为应用层,主要负责数据的展示,能够让数据以便于接受的形式显示出来。

38、传感器获得数据 树莓派存储数据 Python处理和分析数据 数据存储与展示平台 图3—2 系统数据流程图 Figure3-2 The flow chart of system data 3.2。1 系统硬件架构设计 本系统为了使布局尽量的不显得那么乱,那么我们按照以下的图来连接我们的传感器和树莓派,中间我们利用面包板来连接,这样做是因为我们可以方便连接和扩展。 图3-3 硬件结构设计图 Figure 3—3 The design of hardware structure 3。2。2系统软件架构设计 智能家居系统的软

39、件架构主要分为三部分: 前台页面展示:往Yeelink上定时传送数据,我们就可以在手机APP、网页、微博等方式来访问和查看我们的数据,对于开关型的传感器来说,我们还可以手动去控制它的状态。 后台处理:我们把收集到的数据在树莓派上进行处理,并做出相应的动作,然后上传至Yeelink共使用者查看。 数据收集:利用传感器来为我们的系统提供实时准确的数据。 3.3 功能模块设计 树莓派硬件 连接平台 草木智能 浇水模块 数据存储 展示平台 微信 窗帘控 制模块 厨房火焰 检测模块 照明系统 控制模块 APP 网页 图 3-4 系统功能结构

40、图 Figureure 3—4 The structure of system functions 智能家居系统包括窗帘控制模块、厨房火焰检测模块、照明系统控制模块、草木智能浇水模块以及数据存储和展示模块等五个方面. 草木智能浇水模块让我们的草木在干旱的情况下,让树莓派控制继电器来启动抽水机让草木及时的获得营养,可以省去繁琐的事情。 厨房火焰检测模块会在发生火焰时,通过网络传送至Yeelink,然后通过该平台发送邮件至使用者。这样使用者就会及时的得到信息。 照明系统控制模块会在发现人的时候,打开电灯,可以设置探测距离和延时时间来适应不同的需求。 窗帘控制模块会在使用者睡觉时关闭掉,

41、然后如果在使用者活动时光照强度过于强烈的话,也会主动关闭窗帘。在该模块中,我们使用DTH11模块来定时的获得温度和湿度,并且上传至Yeelink平台。 前台页面展示模块我们利用Yeelink,可以通过APP、网页、微博等途径来让用户获得数据或者执行相关操作。 3。4 本章小结 本章主要介绍系统的基本需求和系统的软硬件的总体结构.从用户的角度提出了一些需求;从设计者的角度提出了系统的硬件和软件大体框架,并大体为每个模块和层次进行了阐述。 4 系统详细设计与实现 4.1数据库设计 数据存储和展示主要涉及用户表、设备表、传感器表、数据点表这四个表,各表包含的内容如表4—1、4—2

42、4-3、4-4所示. 表4—1用户表: Table 4—1 User table 参数名 必需 类型 说明 user_id True String 用户ID user_pass True String 用户密码 user_apikey True String API_KEY user_email True String 用户电子邮箱地址 user_describe False String 用户描述 此表包括了用户的基本信息. 表4-2设备表: Table 4-2 Device table 参数名 必需 类型 说明 devi

43、ce_id true String 设备ID Title true String 设备标题 about false String 设备简介 此表主要是介绍了一个设备应该有的基本信息。 表4—3传感器表: Table 4-3 Sensor table 参数名 必需 类型 说明 sensor_id true String 设备ID Type true String 传感器类型 Title true String 传感器标题 about false String 传感器简介 Tags false Array 标签

44、数组 Tags false Array 标签数组 unit(仅限数值型的传感器) false Json name:string温度 symbol:float 摄氏度 此表主要介绍了一个传感器应该具有的基本信息。 表4-4 数据点表: Table 4-4 Datapoint table 参数名 必需 类型 说明 Key True timestamp 键 Value True Binary 值 此表主要介绍了一个数据点应具备的基本信息. 数据读写利用URL来请求获得数据,每个URL都需要指定设备号、传感器号等。它们的数据表关联如图4—1所示:

45、 图4-1 数据表的关联关系图 Figure 4—1 The connection relation of date table 设备表中通过外键user_id和用户表进行关联,传感器表中通过外键device_id和设备表进行关联,数据点表中通过sensor_id和传感器表进行关联。 4。2 数据读写接口 本节主要介绍此系统中所用的数据读写接口的介绍和原理实现。 1) API Key用来授权对用户的设备,,传感器, 数据等的操作。 2) 数据点datapoints 一个datapoint是由key和value组成的键值对。 (1)

46、 创建数据点 URL: http://api.yeelink。net/device/〈device_id〉/sensor/〈sensor_id〉/datapoint/〈key> 数据格式:JSON Method:POST 返回:HTTP Headers only 对该URL的一个HTTP POST请求会为指定的传感器创建一个新的数据点,使用此API来为传感器存储历史数据。 一个datapoint是由key和value组成的键值对: 数值型传感器 key为timestamp, value为数值; gps型传感器 key为timestamp,value为JSON格式, 由经度、纬

47、度、速度等GPS信息组成; 同时可以指定是否修正地图上显示的偏移。 泛型传感器 key为用户自定义字符串,大小限定为128个字符; value为JSON格式,由用户自定义具体内容, 大小限定为1024个字符. 图像型传感器 key为timestamp, value为图像二进制信息; 对于数值型传感器和gps型传感器, 如果上传的数据和历史数据的timestamp相同, 则会被丢弃。 若未指定timestamp, 服务器会自动加上当前时间. 由于我们只用到了数值型传感器,所以我们主要介绍一下数值型传感器的数据点操作。 单个上传数据例子(JSON): 数值型传感器格式如下: {

48、 "timestamp”:"2012—03-15T16:13:14" "value":294.34 } 批量上传数据例子(JSON): 数值型传感器格式如下: [ {”timestamp": ”2012—06-15T14:00:00”, ”value":315.01}, {"timestamp”: "2012-06-15T14:00:10”, "value":316.23}, {”timestamp”: "2012-06—15T14:00:20”, ”value":317。26}, {”timestamp”: ”2012—06-15T14:00:30

49、 "value”:318}, {"timestamp": ”2012-06—15T14:00:40", ”value”:317} ] (2) 编辑数据点 URL: http://api.yeelink。net/device/〈device_id>/sensor/

50、9.4 } 只需将要修改的数据值放到datafile.txt中,需要在HTTP Header中增加API Key来授权写入操作。 (3) 查看数据点 URL: http://api.yeelink。net/device//sensor/〈sensor_id〉/datapoint/

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服