基于物联网的智能窗帘控制系统的设计苏职大.docx
《基于物联网的智能窗帘控制系统的设计苏职大.docx》由会员分享,可在线阅读,更多相关《基于物联网的智能窗帘控制系统的设计苏职大.docx(15页珍藏版)》请在冰豆网上搜索。
基于物联网的智能窗帘控制系统的设计苏职大
第一章概述
1.1系统概述
随着生活水平的提高,人们希望拥有一个舒适、便捷、安全的家居环境,传统的住宅正向智能化方向转变。
在此背景下,设计了一种基于物联网的智能窗帘控制系统。
给出系统结构及工作原理,着重阐述主要硬件及软件的设计。
该系统以嵌入式操作系统为核心,采用ZigBee无线通信技术实现信号传输,GPRS通信技术实现系统远程监控,实现了对窗帘的本地与远程控制。
测试结果表明该系统运行稳定,数据传输正确率高。
将该系统应用于智能窗帘中,能够使智能窗帘的控制更加多样化与智能化,对智能窗帘未来的发展,具有实际应用价值。
1.2系统名字
基于物联网的智能窗帘控制系统的设计。
1.3基本功能
在集成芯片的触摸屏上设置按键,通过CC2420模块发送数据,实现远程遥控智能窗帘的运行。
也可以通过PC机的界面实现窗帘的控制。
1.4系统模块
●CC2420发送模块
●E-WS-EC模块
●ZIGBEE采集节点模块
●ZIGBEE无线传输模块
1.5实现的原理
本次实训以无线传感器为控制核心,采用ZigBee无线通信技术
实现信号传输,通过CC2420模块发送数据,GPRS通信技术实现系统远程监控、智能控制窗帘的运行,还可以通过个人PC的界面智能控制窗帘运行。
第二章系统硬件组成
2.1系统硬件连接原理图
图2-1-1
2.2协调器
协调器CPU:
采用TI公司LM3S9B96;CORTEXM3内核;主频为80MHz。
所谓协调器,就是网络组织的管理者。
针对一般的应用模式,在一个Zigbee网络形成之后,协调器不是必须的。
它最主要的作用是,依据扫描情况,选择一些合适参数建立一个网络。
基于CC2420的zigbee协调器具有结构简单、功耗低、成本低等特点。
2.3天线
对于短距离无线通信设备(SRD,short range devices)来说,天线的设计关系到通信距离的问题。
辐射模型、增益、阻抗匹配、带宽、尺寸和成本等因素,会影响我们对于天线的选择和设计。
目前,国内普通的ZigBee芯片均工作在2.4G频段,也就是ISM频段。
工作于这个频段的无线技术很多,常见的还有Bluetooth(蓝牙),Wi-Fi(无线局域网)等.一般来说,在这个频段,我们可以选择的天线有PCB天线、Chip天线和Whip天线。
基于CC2420的zigbee天线主要用于电磁波信号的发送和接收。
2.4单片机芯片
主要作用是:
用于控制射频芯片CC2420无线通信的实现。
此处的单片机是8位低功耗、高性能的单片机微处理器具有丰富的资源和极低的能耗。
它具有片内128KB的程序存储器(FLASH),4KB的数据存储器(SRAM,可外扩到64KB)和4KB的EEPRM;有8个10位ADC通道,2个8位和2个16位硬件定时/计数器,并可在多种不同的模式下工作;8个PWM通道、可编程看门狗定时器和片上振荡器、片上模拟比较器;UART、SPI、I2C总线口;JTAG口为开发和调试提供了方便的接口。
2.5计算机(安装有keiluVision4)
KeiluVision4引入灵活的窗口管理系统,使开发人员能够使用多台监视器,并提供了视觉上的表面对窗口位置的完全控制的任何地方。
最新的KeiluVision4IDE,旨在提高开发人员的生产力,实现更快,更有效的程序开发。
uVision4引入了灵活的窗口管理系统,能够拖放到视图内的任何地方,包括支持多显示器窗口。
uVision4在μVision3IDE的基础上,增加了更多大众化的功能。
·多显示器和灵活的窗口管理系统
·系统浏览器窗口的显示设备外设寄存器信息
·调试还原视图创建并保存多个调试窗口布局
·多项目工作区简化与众多的项目
2.6专用的控制模块
2.6.1CC2420模块
作用:
实现无线通信开发模块。
CC2420开发模块采用CC2420芯片,可支持zigbee,IEEE802.15.4等开发,提供兼容802.15.4的物理层和MAC层的协议栈及面向应用层的接口,完全兼容TinyOS1.x及以上版本,用户可以基于TinyOS开发自己的WSN应用。
硬件图如图2-1所示:
图2-1:
CC2420模块
2.6.2E-WS-EC模块
用于接收控制命令及返回状态信息。
如果该模块接收到控制命令则返回状态信息,同时协调器指示灯会闪烁;如果该模块接收不到控制命令则不返回状态信息,同时协调器指示灯也不会闪烁。
2.6.3zigbee采集节点模块
主要作用:
用于接收来自传感器的数据信号并通过天线以电磁波的形势发送给中央节点。
采集节点组成包括:
天线、单片机、传感器。
其中单片机运行所有的程序,实现读传感器数据以及把数据通过天线以电磁波的形势发送给中央节点的作用。
2.6.4zigbee无线传输模块
作用:
通过硬件系统和软件系统,从而实现传输模块与上位机通信的全过程。
经调试,系统运行良好。
实践证明,基于zigbee无线传输协议设计无线数据传输模块来传输数据具有耗资少、安全性高、灵活性较强等优点,值得推广和应用。
2.7窗帘
✧智能窗帘有如下特点:
✧无线密码遥控
✧半自动手动控制
✧环境亮度控制
✧时间自动控制
✧电机工作鸣响提示和整点报时功能
第三章系统设计
3.1标准功能设计
两个协调器触摸屏控制窗帘是在集成芯片的触摸屏上设置按键,通过CC2420模块发送数据,然后通过两个协调器采集和发送数据,E-WS-EC模块判断是否接收到控制命令,从而实现远程遥控智能窗帘的运行。
其系统设计硬件框图如下3-1-1所示:
图3-1-1系统设计硬件框图
3.1.1、实现的功能
通过点击EL-IOT-II试验箱部分的触摸屏上ElectricCurtain按钮进入窗帘控制界面。
点击“open”按钮,窗帘打开并持续动作;
点击“stop”按钮,窗帘停止动作;
点击“close”按钮,窗帘关闭并持续动作;
功能框图如下3-1-2所示:
图3-1-2功能框图
3.1.2、程序的流程(主要实现功能的程序)
CircularButton(g_sCloseBtn,&g_sECPanel,0,0,
&g_sKitronix320x240x16_SSD2119,240,72,20,
PB_STYLE_FILL,ClrDarkBlue,ClrDarkGreen,0,ClrWhite,
&g_sFontCm12,"CLOSE",0,0,0,0,onCloseBtn);
CircularButton(g_sStopBtn,&g_sECPanel,&g_sCloseBtn,0,
&g_sKitronix320x240x16_SSD2119,160,72,20,
PB_STYLE_FILL,ClrDarkBlue,ClrDarkGreen,0,ClrWhite,
&g_sFontCm12,"STOP",0,0,0,0,onOpenBtn);
CircularButton(g_sOpenBtn,&g_sECPanel,&g_sStopBtn,0,
&g_sKitronix320x240x16_SSD2119,80,72,20,
PB_STYLE_FILL,ClrDarkBlue,ClrDarkGreen,0,ClrWhite,
&g_sFontCm12,"OPEN",0,0,0,0,onStopBtn);
//theElectricCurtainpanel
Canvas(g_sECPanel,0,0,&g_sOpenBtn,
&g_sKitronix320x240x16_SSD2119,0,32,320,208,
CANVAS_STYLE_FILL,
ClrBlack,0,0,0,0,0,0);
3.1.3、原理
协调器发送信号给窗帘控制模块,模块发送给窗帘,触发了user.c函数,这个函数触发了控制信号。
从而实现窗帘的智能控制。
3.2扩展功能设计
3.2.1对按钮名称、颜色、大小、位置等的修改
◆实现此功能的主要程序如下图3-2-1
图3-2-1
◆实现此功能的功能图如下图3-2-2:
按钮名称变化按钮颜色变化
按钮大小变化按钮位置变化
图3-2-2
3.2.2stop与open的功能互换
◆实现此功能的改写程序如下图3-2-3:
图3-2-3:
stop与open互换功能实现的程序图
◆实现此功能的功能图如下图3-2-4:
图3-2-4:
实现open与stop功能换的功能图
(此图是实现过stop与open功能互换后实现的按钮颜色的变换功能。
)
3.2.3、控制界面控制按钮增加
◆实现此功能的需改写4部分程序部分如下图3-2-5:
图3-2-5(a)
图3-2-5(b)
图3-2-5(c)
图3-2-5(d)
注:
以上4个图是图3-2-5:
控制界面控制按钮的增加程序
◆实现此功能的功能图如下图3-2-6:
图3-2-6:
控制界面按钮的增加功能图
(此图是在实现3.2.2与3.2.3功能的基础上实现的功能图)
第四章系统测试
4.1测试步骤
1)安装流明若瑞驱动库
在安装好EWARM 集成开发环境后,就可在该环境下新建工程了。
但在新建工程之前,为了使以后的工程更便于管理、工程中的设置更加简单化,在这里就需要一些准备工作,将某些文件拷贝到指定路径下,具体的操作方式将在随后介绍。
至于为什么要这样做,在工程
的设置时就会体会出其优越性。
注意:
本文是以32K 的试用版为例作讲解。
如果用正式版可以参照本文进行设置。
2)打开工程文件ModelControl\IOT\IOT.uvproj.下载至EL-IOT-II试验的协调器,复位,触摸屏上将显示IOT-ModelControl界面。
3)打开工程文件ModelControl\ElectricCurtain\ElectricCurtain.Uvproj.下载至EL-IOTM板卡,复位。
4)将两块CC2420模块分别插到EL-IOT-II试验箱和EL-IOTM板卡的相应位置。
5)将E-WS-EC模块插到EL-IOTM板卡的相应位置;
6)将窗帘电机插座插到电源座上,通电;
复位实验箱和板卡,点击触摸屏上的“ElectricCurtain”按钮进入窗帘控制界面,如下图4-1-1和4-1-4所示;
点击“open”按钮,窗帘打开并持续动作;
点击“stop”按钮,窗帘停止动作;
点击“close”按钮,窗帘关闭并持续动作;
同时触摸屏上显示控制信息‘
当E-WS-EC模块收到控制命令后会返回状态信息,协调器指示灯会闪烁;
当E-WS-EC模块收不到控制命令,则不会返回状态信息,协调器指示灯不会闪烁。
同时触摸屏上显示“Communicationfailed!
”;
图 4-1-1图4-2-2
4.2测试结果
点击触摸屏上的“ElectricCurtain”按钮进入窗帘控制界面,
当点击“open”按钮,窗帘打开并持续动作;
当点击“stop”按钮,窗帘停止动作;
当点击“close”按钮,窗帘关闭并持续动作;
同时触摸屏上显示控制信息‘
当E-WS-EC模块收到控制命令后会返回状态信息,协调器指示灯会闪烁;
当E-WS-EC模块收不到控制命令,则不会返回状态信息,协调器指示灯不会闪烁。
触摸屏上显示“Communicationfailed测试结果的其中一种如下图4-2所示:
图4-2:
close功能框图
注:
点击后窗帘将停止动作并相应显示“Thecurtainisclosing!
”
总结
该基于物联网的智能窗帘控制系统设计的功能模块包括:
"Humidifier"、"Fan"、"Lamp"、"ElectricCurtain"、"DoorLock"5个基本主要功能模块,其中"ElectricCurtain"这一功能模块包含窗帘控制模块,其中可以实现“open”、“stop”、“close”等基本的窗帘控制功能。
由于此系统的工作原理是协调器发送信号给窗帘控制模块,模块发送给窗帘,触发了user.c函数,这个函数触发了控制信号。
从而实现窗帘的智能控制。
通过对user.c函数的理解,我又再此基础上实现了“stop与open的功能互换”、“控制界面控制按钮颜色的变换”、“控制界面控制按钮增加”等扩展功能的实现。
使我对编程又有了进一步的熟悉。
对物联网有了更进一步深入的熟悉与了解。
书到用时方恨少,此次实训是最综合的一次实训,也是最不顺利的一次,更是最严格的一位导师带的,整个过程有种挫折重重的感觉。
不过最终在同学互相讨论下与老师的忠言逆耳的刺激下,最终算是硬着头皮顺利把实验完成。
也最终使我了解物联网控制系统,完成了基于物联网的智能窗帘控制系统的硬件组装;同时掌握uCOS的移植和简单编程与程序改写和扩展功能的实现;也掌握cc2420的收发原理;在一定程度上会利用keil软件完成控制端和智能窗帘端的编程;能够下载软件到开发系统板上,调试程序;更能通过组建的网络,实现远程遥控智能窗帘的运行。
此次实训还令我了解了物联网系统的工作原理;基本掌握了CC2420模块的收发原理;了解了uCOS系统的设计过程。
额外的最深领悟:
师傅领进门,修行看个人。