智能家居晾衣架设计说明精编版Word格式文档下载.docx
- 文档编号:16872584
- 上传时间:2022-11-26
- 格式:DOCX
- 页数:15
- 大小:170.46KB
智能家居晾衣架设计说明精编版Word格式文档下载.docx
《智能家居晾衣架设计说明精编版Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《智能家居晾衣架设计说明精编版Word格式文档下载.docx(15页珍藏版)》请在冰豆网上搜索。
图1系统整体框图
第一章:
硬件模块
硬件部分主要有以下器件组成:
电源稳压模块:
S-350-24,输出24V直流稳压为电机供电,经7812,7805转为5V稳压为系统供电。
KinomaCreate
微处理器:
STC89C52
温湿度传感器:
DHT11
光敏传感器:
TLS2561
电机控制模块:
控制器,步进电机
机械部分:
木板,木条,油漆,螺钉,渔线
运动控制模块:
微动开关,G6K-P-2Y欧姆龙继电器
采用折叠支架设计,步进电机配转轴将圆周运动转换为直线运动,卷绕绳子使衣架折叠伸缩
硬件框图如下:
图2硬件框图
微处理器获取到各类传感器的数据,然后通过串口上传给kinoma,kinoma根据获取的温湿度光照数据与设定的双阈值的比较来自动控制电机的运动,若是湿度大于80就会执行收缩衣架的程序,若是湿度小于60就会执行伸展衣架的程序,这两种运动都是通过控制电机来实现的,并根据限位开关的状态来决定电机的运行时间。
同时kinoma会通过服务器把温湿度和衣架状态发送给手机app端和电脑web端,并接收它们返回的指令。
第二章:
软件模块
本系统软件模块是基于Kinomastudio开发的,主要有底层电机、传感器控制BLL以及rack-client和rack-server两套软件。
软件框图如下所示:
图3软件框图
2.1rack-server
2.1.1HTTP服务器
集成了HTTP服务器,在10001端口映射sitemap,当浏览器向服务器发送request请求时,服务器通过sitemap向浏览器做出相应的response。
具体而言,设置了如下两个handler来处理request:
<
handlerpath="
/envData"
>
<
behavior>
<
methodid="
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中进行显示。
/StateCtl"
if(message.method=="
GET"
){
message.setResponseHeader("
message.responseText=message.query;
if(message.responseText=="
state=1"
)
trace("
1"
else
0"
}
else{
message.status=405;
//methodnotallowed
}]]>
<
第二个handler与第一相反,用于KinomaCreate获取服务器传来的JSON数据,代表按钮状态,做判断后可将返回值赋予控制电机的全局变量。
与之对应,在html中用JQuery监听按钮动作,并用$.ajax来发送一个JSON格式的控制数据,代表此时的衣架状态。
2.1.2Websocket服务器
集成了Websocket服务器,用于多客户端的指令接收,具体而言,它可以通过以下语句来接收来自客户端的控制指令,解析其中的指令,然后调用相应的函数改写底层bll文件中的状态数据,从而控制电机进行相应的运动。
conn.onmessage=function(e){
application.distribute(e.data);
};
同时通过以下语句不断地调用底层bll文件中的control_motor函数来采集温湿度数据,并得到返回的温湿度数据以及此时的衣架状态信息。
这些数据一方面通过http服务器发送给web端显示,一方面通过Sendtoclient函数发送给app服务器,最后改变此时kinoma界面上的温湿度显示以及衣架状态显示。
application.invoke(newMessageWithObject("
pins:
/motor/control_motor?
repeat=on&
callback=/gotAnalogResult&
interval=500"
));
functiononInvoke(handler,message){
varresult=message.requestObject;
//datafrombll(sensor)
envData.TData=result.TData;
//datawhichsenedtoHTTPserver
envData.RHData=result.RHData;
application.distribute("
Sendtoclient"
result);
onTemValueChanged"
onHumValueChanged"
application.distribute("
rackStateChanged"
}
2.2rack-client
2.2.1手机app端
手机app端通过Websocket服务器实时获取温湿度和衣架状态数据,不断地更新app端的显示以及按钮情况。
如下图,温湿度数据是不断接受服务器端发的数据而不断刷新的。
而控制按钮是可以捕捉底层对衣架进行的操作,即当衣架的状态发生改变后,控制按钮会变为黄色,说明衣架状态改变过,并且已经达到稳定,此时你可以按下该键来控制衣架进行伸缩。
而当衣架正在运行中时,按钮的颜色是蓝色,说明此时,衣架正在进行某一动作,不适合对其进行操作,待衣架稳定,按键重新变为黄色时才可以进下一步行操作。
此时衣架正在运动,不适合控制此时衣架处于稳定停止状态,可以控制
图4手机app界面
当用户选择了Manualmode模式(手动模式),就可以通过FOLD/STRETCH按键来对衣架进行远程操控,这是通过向服务器发送相应的指令来实现的,主要程序如下:
clicked"
content,action"
varserversTable=this.serversTable;
for(varuuidinserversTable){
varserver=serversTable[uuid];
server.conn.send(action);
}
2.2.2网页web端
网页web端设计:
使用html5中canvas和RGgraph包生成两个动态图表,利用JQuery和Ajax获取和发送JSON数据与KinomaCreate进行数据通讯。
布局采用CSS+Bootstrap使界面简洁明了,同时支持手机浏览器与电脑浏览器。
图5网页web端界面设计
2.3底层BLL设计
底层bll主要是对传感器数据的采集以及对电机的控制,需要判断是否自动,控制端是否有指令。
逻辑流程图如下:
图6底层BLL逻辑流程图
至此,本智能家居-晾衣架减少完毕,综上所述,本系统涵盖了手机客户端、网页web端、控制软件设计、底层硬件设计、机械设计等知识。
具有较强的稳定性和实用性,更关键的是其扩展性很强,今后可以将更多的家居产品连接到kinoma上,并可以通过网页、手机远程控制,最终实现构建一整套智能家居系统。
Dream_High
2015-8-10
...............................................................................................................
智能家居晾衣架设计说明[精编版]
KinomaCreate应用为在Mac和Windows系统上的Kinoma开发提供了应用环境。
第二章:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 智能家居 晾衣架 设计 说明 精编