智能家居晾衣架设计说明.docx_第1页
智能家居晾衣架设计说明.docx_第2页
智能家居晾衣架设计说明.docx_第3页
智能家居晾衣架设计说明.docx_第4页
智能家居晾衣架设计说明.docx_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Kinoma Create智能家居-晾衣架设计说明前言 本作品的亮点在于,采用HTTP服务器,WebSocket服务器进行Web端,手机App端多客户端与Kinoma远程通信,底层控制层与数据层分离,模块化开发,所以我们的作品在硬件和软件上均具有可拓展性。智能家居的概念在现下是非常热门的话题,所谓智能家居是以住宅为平台,利用综合布线技术、网络通信技术、安全防范技术、自动控制技术、音视频技术将家居生活有关的设施集成,构建高效的住宅设施与家庭日程事务的管理系统,提升家居安全性、便利性、舒适性、艺术性,并实现环保节能的居住环境。Kinoma Create有着开放的开发环境,开发者可以将他们的理念融入到Kinoma Play软件,从创建一个嵌入操控界面的程序到设计一整套应用程序。Kinoma Create应用为在Mac 和 Windows系统上的Kinoma开发提供了应用环境。Kinoma应用程序采用的编写语言是Kinoma Play Script (KPS)。与HTML5一样,都使用JavaScript语言,为开发者提供了一个熟悉的起点。优化的KPS运行时间能提供高性能、多媒介、可移动和集成的应用体验。KPS最大的创新是它对传统的事件驱动编程模式进行转换,KPS应用遵循内容驱动模式,在这种模式中,首要的任务是收集信息用于显示,而不是显示信息和对事件进行回应。这种方式更好地反应出当今连接式的应用程序重点,实现开发的简化。系统整体框图如下:图1 系统整体框图第一章:硬件模块硬件部分主要有以下器件组成:电源稳压模块:S-350-24,输出24V直流稳压为电机供电,经7812,7805转为5V稳压为系统供电。Kinoma Create微处理器:STC89C52温湿度传感器:DHT11光敏传感器:TLS2561电机控制模块:控制器,步进电机机械部分:木板,木条,油漆,螺钉,渔线运动控制模块:微动开关,G6K-P-2Y欧姆龙继电器采用折叠支架设计,步进电机配转轴将圆周运动转换为直线运动,卷绕绳子使衣架折叠伸缩硬件框图如下:温度传感器湿度传感器光敏传感器微处理器Kinoma手机App端电脑web端电机驱动器限位开关1限位开关2图2 硬件框图微处理器获取到各类传感器的数据,然后通过串口上传给kinoma,kinoma根据获取的温湿度光照数据与设定的双阈值的比较来自动控制电机的运动,若是湿度大于80就会执行收缩衣架的程序,若是湿度小于60就会执行伸展衣架的程序,这两种运动都是通过控制电机来实现的,并根据限位开关的状态来决定电机的运行时间。同时kinoma会通过服务器把温湿度和衣架状态发送给手机app端和电脑web端,并接收它们返回的指令。第二章:软件模块本系统软件模块是基于Kinoma studio开发的,主要有底层电机、传感器控制BLL以及rack-client和rack-server两套软件。软件框图如下所示:微处理器循环采集传感器数据上传温湿度数据和衣架状态kinoma显示温湿度和衣架状态发送数据给web端、手机端手机App端自动/手动模式切换手机App端/web端显示温湿度Kinoma控制电机手机App端/web端控制指令更改手机app端按键状态自动/手动模式?客户端指令?图3 软件框图2.1 rack-server2.1.1 HTTP服务器集成了HTTP服务器,在10001端口映射sitemap,当浏览器向服务器发送request请求时,服务器通过sitemap向浏览器做出相应的response。具体而言,设置了如下两个handler来处理request: 第一个handler设置response的头,类型以及状态编码,使得在html网页中利用JQuery中的$.getJSON方法可以获取从传感器传回的JSON数据。分别在网页的两个chart中进行显示。 第二个handler与第一相反,用于Kinoma Create获取服务器传来的JSON数据,代表按钮状态,做判断后可将返回值赋予控制电机的全局变量。与之对应,在html中用JQuery监听按钮动作,并用$.ajax来发送一个JSON格式的控制数据,代表此时的衣架状态。2.1.2 Websocket服务器集成了Websocket服务器,用于多客户端的指令接收,具体而言,它可以通过以下语句来接收来自客户端的控制指令,解析其中的指令,然后调用相应的函数改写底层 bll 文件中的状态数据,从而控制电机进行相应的运动。conn.onmessage = function( e ) application.distribute( e.data );同时通过以下语句不断地调用底层bll 文件中的control_motor函数来采集温湿度数据,并得到返回的温湿度数据以及此时的衣架状态信息。这些数据一方面通过 http 服务器发送给 web 端显示,一方面通过Sendtoclient函数发送给 app 服务器,最后改变此时 kinoma 界面上的温湿度显示以及衣架状态显示。application.invoke(new MessageWithObject ( pins:/motor/control_motor? repeat=on& callback=/gotAnalogResult &interval=500); function onInvoke( handler, message ) var result = message.requestObject; /data from bll(sensor) envData.TData=result.TData; /data which sened to HTTP server envData.RHData=result.RHData; application.distribute( Sendtoclient, result ); application.distribute( onTemValueChanged, result ); application.distribute( onHumValueChanged, result );application.distribute( rackStateChanged, result ); 2.2 rack-client2.2.1手机app端手机app端通过 Websocket服务器实时获取温湿度和衣架状态数据,不断地更新 app 端的显示以及按钮情况。如下图,温湿度数据是不断接受服务器端发的数据而不断刷新的。而控制按钮是可以捕捉底层对衣架进行的操作,即当衣架的状态发生改变后,控制按钮会变为黄色,说明衣架状态改变过,并且已经达到稳定,此时你可以按下该键来控制衣架进行伸缩。而当衣架正在运行中时,按钮的颜色是蓝色,说明此时,衣架正在进行某一动作,不适合对其进行操作,待衣架稳定,按键重新变为黄色时才可以进下一步行操作。 此时衣架正在运动,不适合控制 此时衣架处于稳定停止状态,可以控制图4 手机app界面当用户选择了 Manual mode 模式(手动模式),就可以通过 FOLD/STRETCH按键来对衣架进行远程操控,这是通过向服务器发送相应的指令来实现的,主要程序如下:!CDATAvar serversTable = this.serversTable;for ( var uuid in serversTable ) var server = serversTable uuid ;server.conn.send( action);2.2.2 网页web端网页web端设计:使用html5中canvas 和RGgraph包生成两个动态图表,利用JQuery和Ajax获取和发送JSON数据与Kinoma Create进行数据通讯。布局采用CSS+Bootstrap使界面简洁明了,同时支持手机浏览器与电脑浏览器。图5 网页web端界面设计2.3 底层BLL设计底层bll主要是对传感器数据的采集以及对电机的控制,需要判断是否自动,控制端是否有指令。逻辑流程图如下:图6底层

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论