DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1538|回复: 0
打印 上一主题 下一主题

[待整理] 基于ZigBee无线网络的嵌入式智能家居监控系统

[复制链接]
跳转到指定楼层
楼主
发表于 2014-10-10 07:17:03 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
0.设计摘要
        与普通的家居相比,智能家居(Smart Home)不仅具有传统的居住功能,能够提供舒适安全、高品位且宜人的生活空间,还把原来的被动静止结构转变为具有能动智慧的工具,帮助家庭与外部保持信息交流畅通,优化人们的生活方式,甚至为各种能源支出节约资金家居。无线监控问题是当今国际建筑智能化领域的前沿性研究课题。无线传感网络的出现克服了家庭中布线的烦琐,充分体现了智能家居系统的灵活、方便、高效。本项目研究开发了基于ZigBee技术和Internet技术的智能家居监控系统,将Internet的远程监控与ZigBee短距离控制相结合,实现系统的家居无线控制和数据采集,避免了综合布线,可扩展性好。
         
        整个智能家居监控系统能够对家用电器的完成开关量的控制,还能够对三表(水表、电表、燃气表)进行无线抄表,最重要的是可监测来自家庭安防传感器(火警、煤气泄露)的数据,以备物业等部门监控。通过测试后,证实了设计方案的正确性,结果满足系统设计要求,该设计具有一定的新颖性和实用性。本项目针对目前人们对居住环境的要求越来越高,同时家用设施的管理和安全亟待改善的迫切需要,设计了一种基于嵌入式无线通信技术的智能家居监控系统,以便能够对小区中各家各户的各种情况(煤气泄露、火警等)进行监控,而且还可以对家居设施进行控制。此外,物业管理单位也可以通过此系统为小区居民提供更为方便、人性的服务。
         
        1.系统原理
                        本课题首先进行系统总体设计,结合底层ZigBee无线传感网络的特点和系统总体网络监控的要求,将该系统设计分为四部分:无线传输模块、数据处理模块、以太网传输模块、上位机显示界面。然后对ZigBee协议标准做了全面地研究分析,同时给出了基于CC2430的无线传输模块的软硬件设计和星型网络搭建,并给出了测试结果。接着设计了基于PIC32的数据处理模块,给出了硬件电路和外围辅助电路设计方案,并为其移植了实时操作系统uC/OS-II。本设计完成了基于DP43848C的以太网传输模块设计和系统的以太网通信程序的设计,实现了从底层ZigBee无线传感网络的数据采集最终到监控机的数据传输并测试成功。最后在VC++6.0环境下,应用Windows Sockets套件接口开发显示界面对底层采集的数据分类显示。
                         
       
               

       
                图1 系统设计结构图
                 

                         
                        如上图1所示,本设计主要分为以下部分:
                        (1)无线传输模块:基于CC2430芯片(包括无线收发及传感器)设计无线传感网络模块,并完成各节点模块的软件编写和节点间通信调试。
                         
                        (2)数据处理模块:基于PIC32芯片设计数据处理模块,并完成程序编写,同时在该系统上移植嵌入式实时操作系统uC/OSII。
                         
                        (3)以太网传输模块:利用网络接口芯片DP43848C设计以太网通信模块,并完成通信测试程序编写。
                         
                        (4)上位机显示界面设计:利用VC++6.0基于WindowsSockcts编写上位机界面程序,使经过数据处理模块处理后的数据通过以太网上传到上位机(PC机)界面上,实现统一管理。
                 
         
        1.3.uC/OS-II的移植
        实时系统中任务的执行大多数都是由外部事件触发的。也就是说,实时操作系统的主要工作就是响应并处理各种外部事件。因此,对于每个外部事件都对应有一个处理这个事件的程序模块,这些模块就是任务。在移植前,把问题分析清楚,将问题分割成多个任务,每个任务都是整个应用的一部分,被赋予一定的优先级,有自己的一套CPU寄存器和堆栈空间。任务执行一次后,设置延时OSTDIy,表明经过OSTDIy个定时器中断周期后任务再次运行,然后进行任务切换,让处于就绪态的优先级最高的任务运行。uC/OS-II的任务实际上就是一段程序,在运行该程序时,可以认为CPU就完全属于该程序本身。在本设计中,所移植的系统建立了8个任务(参照见图2):
         
         0号任务,用来监测安防传感器(煤气泄露)。在执行该任务时通过ZigBee网络协调器选择与安防传感器(煤气泄露)终端节点通信,采集传感器数据。
         
         1号任务,用来监测安防传感器(温度)。在执行该任务时通过ZigBee网络协调器选择与安防传感器(温度)终端节点通信,采集传感器数据。
         
        2号任务,与0号任务对应,将安防传感器(煤气泄露)采集的数据最终通过以太网上传到上位机上。
         
        3号任务,与1号任务对应,将安防传感器(温度)采集的数据最终通过以太网上传到上位机上。
         
        4号任务,用来控制冰箱、空调、电视、灯的电源开关,通常情况下,这些开关型控制,只用一个任务就可以完成,只要在执行该任务时,同时通过ZigBee网络协调器同时发送一个16位地址符就可以选择出所要执行开关任务的终端节点。
         
         5号任务,单独为窗帘建立一个任务。因为窗帘的控制是一个闭环控制。
         
         6号任务,为电表、水表、燃气表的数据采集建立一个任务。因为水表、电表、燃气表的数据对实时性要求没有那么高,可以分时采集,在执行该任务时,同时通过ZigBee网络协调器同时发送一个16位地址符就可以选择出所要执行数据采集任务的终端节点,另外,还要为该任务调用一个延时函数,并设置延时时钟周期数,从而最终实现在三表间轮流数据采集。
         
         7号任务,用来对三表数据上传到上位机建立任务。对应于任务6,分别将从水、电、燃气表采集的数据立即上传。  
         
        它们具有各自独立的堆栈空间和不同的静态优先级,0号任务优先级最高,7号任务优先级最低。对于0号任务---3号任务,由于它们是保证家居安全的是不允许中断响应的,所以在这些任务开始执行时,一定要关闭中断。
         
        1.4.基于Visual C++的上位机显示界面设计
        在整个智能家居监控系统的设计当中,上位机(PC机)可以为用户提供一个友好、交互的人机界面。假如管理人员需要调用小区中任意一户的数据记录时,可以查询该上位机的存储的数据即可。这里我们利用Visual C++编写上位机的管理界面,主要采用了Windows Sockets网络接口控件,大大简化了设计难度。
         
        首先,Windows Sockets作为Microsoft Windows的网络程序设计接口,它是从Berkeley Sockets扩展而来的,以动态链接库的形式提供给我们使用。重要的是,Windows Sockets是基于TCP/IP协议的,应用程序调用Windows Sockets的API实现相互之间的通信,而Windows Sockets则是利用下层的网络通讯协议功能和操作系统调用实现实际的通讯工作的。
         
         
        2.软件流程介绍
        2.1智能家居中ZigBee无线传感网络中终端节点流程
        网络建立成功后,需要添加终端设备(终端节点)进入这个网络。允许设备同网络连接的流程图如图4所示。终端设备通过发送NLME-JOIN.request原语来开始执行孤点方式同网络连接,其原语 RejoinNetwork参数设置为TRUE。
       

        图4 终端节点加入网络流程图

         
        首先,终端设备的网络层管理实体将请求MAC层对PHY层所规定的所有有效通信信道进行孤点扫描。通过向MAC层发送MLME--SCAN.request原语开始进行孤点扫描,其扫描的结果通过MLME--SCAN.confirm原语返回到网络层管理实体。然后,如果该终端设备扫描到网络协调器设备,网络层管理实体将通过发送MLME--JOIN.confirm原语向其上层报告请求连接,其原语的状态参数设置为SUCCESS,否则设置为NO-NETWORKS。
         
        整个星型网络的组网的软件流程图如下图5所示。
         
        当网络协调器正常工作后,则建立网络成功。这时候再打开两个或更多终端节点,就能让这些节点加入网络。
       

        图5星型网络组网流程图

         

        推荐阅读: 30例经典检测、监测、监控系统完整解决方案,从实际应用需求出发
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2024-11-23 18:37 , 耗时 0.090420 秒, 21 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表