kinomacreate智能家居-晾衣架设计商业计划书大学生创业大赛项目(doc7页).docx

发布时间:2019-08-12 11:23:03   来源:文档文库   
字号:

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欧姆龙继电器

采用折叠支架设计步进电机配转轴将圆周运动转换为直线运动卷绕绳子使衣架折叠伸缩

硬件框图如下:

2 硬件框图

微处理器获取到各类传感器的数据,然后通过串口上传给kinomakinoma根据获取的温湿度光照数据与设定的双阈值的比较来自动控制电机的运动,若是湿度大于80就会执行收缩衣架的程序,若是湿度小于60就会执行伸展衣架的程序,这两种运动都是通过控制电机来实现的,并根据限位开关的状态来决定电机的运行时间。同时kinoma会通过服务器把温湿度和衣架状态发送给手机app端和电脑web端,并接收它们返回的指令。

第二章软件模块

本系统软件模块是基于Kinoma studio开发的,主要有底层电机、传感器控制BLL以及rack-clientrack-server两套软件。

软件框图如下所示:

3 软件框图

2.1 rack-server

2.1.1 HTTP服务器

集成了HTTP服务器,在10001端口映射sitemap,当浏览器向服务器发送request请求时,服务器通过sitemap向浏览器做出相应的response具体而言设置了如下两个handler来处理request

message.status = 200;

message.responseText=JSON.stringify(envData);

message.setResponseHeader("Content-Type", "application/json");

]]>

第一个handler设置response的头,类型以及状态编码,使得在html网页中利用JQuery中的$.getJSON方法可以获取从传感器传回的JSON数据分别在网页的两个chart中进行显示

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

} ]]>

第二个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按键来对衣架进行远程操控,这是通过向服务器发送相应的指令来实现的,主要程序如下:

id="clicked" params="content, action">

var serversTable = this.serversTable;

for ( var uuid in serversTable ) {

var server = serversTable[ uuid ];

server.conn.send( action);

}

2.2.2 网页web

网页web端设计:使用html5canvas RGgraph包生成两个动态图表,利用JQueryAjax获取和发送JSON数据与Kinoma Create进行数据通讯。布局采用CSS+Bootstrap使界面简洁明了,同时支持手机浏览器与电脑浏览器。

5 网页web端界面设计

2.3 底层BLL设计

底层bll主要是对传感器数据的采集以及对电机的控制,需要判断是否自动,控制端是否有指令。逻辑流程图如下:

6底层BLL逻辑流程图

至此,本智能家居-晾衣架减少完毕,综上所述,本系统涵盖了手机客户端、网页web端、控制软件设计、底层硬件设计、机械设计等知识。具有较强的稳定性和实用性,更关键的是其扩展性很强,今后可以将更多的家居产品连接到kinoma上,并可以通过网页、手机远程控制,最终实现构建一整套智能家居系统。

Dream_High

2015-8-10

品 味 人 生

1、 很多时候,看的太透反而不快乐,还不如幼稚的没心没肺。

2、 睡吧,合上双眼,世界就与我无关。——顾城《生命幻想曲》

3、 你来人间一趟,你要看看太阳,和你的心上人,一起走在街上。

4、 我不唱声嘶力竭的情歌,不表示没有心碎的时刻。我不曾摊开伤口任宰割,愈合就无人晓得我内心挫折。

5、 永远不要隔着屏幕说分手,最大的遗憾是连离开都不能当面说清。

6、 最先道歉的人最勇敢,最先原谅的人最坚强,最先释怀的人最幸福。

7、 好像每次都是这样,没有例外。在我们最需要有一个人去依靠的时候,往往到最后都是自己一个人挺过去。

8、 对我不满意,请直接来给我说,别到别人那里去宣泄你无处安放的情绪。

9、 有些事,你把它藏到心里,也许还更好,等时间长了,也就变成了故事。

10、 不要对自己太过苛刻,对自己太苛刻的人只会消耗掉更多让自己幸福的能力。

11、 人,相互帮扶才感到温暖;事,共同努力才知道简单;路,有人同行才不觉漫长;爱情,要相互记挂才体味情深。

12、 只有当痛苦在可以承受的时候,我们会自怨自艾。当痛苦无法承受,我们就只会一笑置之。

13、 爱情是一颗心找到另一颗心,而不是一张脸找到另一张脸。为了找到那颗心,我们要学会不要脸。

14、 比失去你更令我伤心的事是,你都没有为了和我在一起而努力过。

15、 这世上有一条路无论如何也不能走,那就是歧途,只要走错一步结果都会是粉身碎骨。——《千与千寻》

16、 保持一份自信,做最好的自己,宁可高傲地发霉,不要低调地恋爱。

17、 亲爱的,我在这座陌生的城市,流浪流浪。灯火阑珊或是烟火灿烂,我总是愣在某个角落,静静的等你走来。

18、 其实爱情里处得好不好,标准就两个字:不累。因为,对的人,不会让你觉得累。

19、 明知是错的,也要去坚持,因为不甘心;有些人,明知是爱的,也要去放弃,因为没结局;有时候,明知没路了,却还在前行,因为习惯了。

20、 如果曾有那么一个人,跟我说只要心里想一想我,就会铺天盖地地难受。那么不管是拿前程作赌也好,还是拿幸福下注也好,我都会心甘情愿。

做学问要花功夫,持之以恒,日积月累。

21、我们最大的弱点在于放弃。成功的必然之路就是不断的重来一次。——托马斯·爱迪生

22、点点滴滴的藏,集成了一大仓。——德国谚语

23、成大事不在于力量的大小,而在于能坚持多久。

24、喷泉的高度不会超过它的源头;一个人的成就不会超过他的信念。——美国

25、生活真象这杯浓酒,不经三番五次的提炼呵,就不会这样可口!——郭小川

26、一个在奋斗途径上努力的人,要是不把步骤分清楚,等于你旅行一个地方,不先规定睡眠和行程一般。分清步骤,是十分重要的。——戴尔·卡耐基

本文来源:https://www.2haoxitong.net/k/doc/b388632baff8941ea76e58fafab069dc51224731.html

《kinomacreate智能家居-晾衣架设计商业计划书大学生创业大赛项目(doc7页).docx.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式