智能家居晾衣架设计说明.docx
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 智能家居 晾衣架 设计 说明
- 资源描述:
-
智能家居晾衣架设计说明 15 2020年4月19日 文档仅供参考 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-server 2.1.1 HTTP服务器 集成了HTTP服务器,在10001端口映射sitemap,当浏览器向服务器发送request请求时,服务器经过sitemap向浏览器做出相应的response。具体而言,设置了如下两个handler来处理request: <handler path="/envData"> <behavior> <method id="onInvoke" params="handler,message"><![CDATA[ message.status = 200; message.responseText=JSON.stringify(envData); message.setResponseHeader("Content-Type", "application/json"); ]]> </method> </behavior> </handler> 第一个handler设置response的头,类型以及状态编码,使得在html网页中利用JQuery中的$.getJSON方法能够获取从传感器传回的JSON数据。分别在网页的两个chart中进行显示。 <handler path="/StateCtl"> <behavior> <method id="onInvoke" params="handler,message"> <![CDATA[ if (message.method == "GET") { message.setResponseHeader("Content-Type", "application/json"); message.responseText = message.query; if(message.responseText=="state=1") trace("1"); else trace("0"); } else { message.status = 405; // method not allowed } ]]> </method> </behavior> </handler> 第二个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-client 2.2.1手机app端 手机app端经过 Websocket服务器实时获取温湿度和衣架状态数据,不断地更新 app 端的显示以及按钮情况。如下图,温湿度数据是不断接受服务器端发的数据而不断刷新的。而控制按钮是能够捕捉底层对衣架进行的操作,即当衣架的状态发生改变后,控制按钮会变为黄色,说明衣架状态改变过,而且已经达到稳定,此时你能够按下该键来控制衣架进行伸缩。而当衣架正在运行中时,按钮的颜色是蓝色,说明此时,衣架正在进行某一动作,不适合对其进行操作,待衣架稳定,按键重新变为黄色时才能够进下一步行操作。 此时衣架正在运动,不适合控制 此时衣架处于稳定停止状态,能够控制 图4 手机app界面 当用户选择了 Manual mode 模式(手动模式),就能够经过 FOLD/STRETCH按键来对衣架进行远程操控,这是经过向服务器发送相应的指令来实现的,主要程序如下: <method id="clicked" params="content, action"><![CDATA[ var 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底层BLL逻辑流程图 至此,本智能家居-晾衣架减少完毕,综上所述,本系统涵盖了手机客户端、网页web端、控制软件设计、底层硬件设计、机械设计等知识。具有较强的稳定性和实用性,更关键的是其扩展性很强,今后能够将更多的家居产品连接到kinoma上,并能够经过网页、手机远程控制,最终实现构建一整套智能家居系统。 Dream_High -8-10展开阅读全文
咨信网温馨提示:1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。




智能家居晾衣架设计说明.docx



实名认证













自信AI助手
















微信客服
客服QQ
发送邮件
意见反馈



链接地址:https://www.zixin.com.cn/doc/677171.html