第二章 系统的总体设计
智能家居就是利用计算机、网络、通信、传感与自动控制等技术,将与家庭生活有关的各种应用子系统有机的结合在一起。通过综合管理,让家庭生活更舒适、安全、有效和节能。智能家居一般包括以下系统:可视对讲、家庭安防、网络通信、互动娱乐、智能照明、家电控制等。
2.1 设计要求
智能家居系统主要以ZigBee技术为核心;设计围绕网络协调器的网状拓扑线路,例如温度传感器模块、煤气传感器模块、人体红外感应器等模块,最后在上位机上建立家庭信息管理平台。通过监测子网监测环境温度、照度、煤气泄漏以及红外入侵等信息,可以直接联动控制相关受控设备或将信息发送至管理平台,由信息管理平台决策如何处理这些信息。整个系统的设计包括硬件和软件两个部分。
本次设计主要容:
1、采用ZigBee技术,构建无线传感器网络,研究无线传感器网络的通信机理; 2、设计基于单片机控制的节点单元控制软件; 3、研究各节点进行数据传输的通信软件。
2.2 智能家居相关技术
智能家居系统中的关键技术是信息传输与智能控制。电力载波技术、综合布线技术、无线网络技术,是当前智能家居系统息传输和智能控制的三大主要技术。
电力线载波技术可通过电线互相“说话”,无需重新布线,但存在噪声干扰强、信号会在传输过程中衰减等缺点。
综合布线技术需要重新额外布设弱电控制线,信号比较稳定,比较适合于楼宇和小区智能化等大区域围的控制。但安装比较复杂,造价较高,工期较长。
无线网络技术通过红外线、蓝牙、ZigBee等技术实现各类电子设备的互联互通与智能控制。无线网络可提供更大的灵活性、流动性,省去了花在综合布线上的费用和精力,无线网络技术应用于家庭网络已成为势不可挡的趋势。红外IrDA技术比较成熟,但必须直线视距连接;蓝牙适合于语音业务及需要更高数据量的业务,如移动、耳机等;ZigBee作为一种低功耗、低数据速率、低成本的技术,更适合于家庭自动化、安全保障系统及进行低数据率传输的低成本设备,ZigBee是智能家居的最理想选择[9]。
2.3 ZigBee智能家居系统
本智能家居系统旨在运用ZigBee技术构建一个模拟的家居监测控制系统。系统拓扑结构如图1所示。从图中可以看出,本系统大致由安防传感子网、家电控制子网、信息管理平台及远程终端等部分组成。
图1 智能家居系统拓扑结构图
其中,安防子网由温度传感器、煤气传感器、人体红外感应传感器等各种传感器模块组成。家电控制子网的设备基本为受控设备。通过监测环境温度、照度、煤气泄漏以及红外入侵等信息,可直接联动控制相关受控设备或将信息发送至管理平台,由信息管理平台决策如何处理这些信息。
2.4 系统总体设计
2.4.1 硬件设计
系统采用华凡公司的HFZ—SmartRF04EB+CC2430EM模块作为协调器。为了简化系统,突出ZigBee的框架性,节点硬件采取了简化措施,具体如下。 ? 温度传感器采用DS18B20,信号引脚接在P0.0上。
? 无线灯控、电动窗帘、空调开关、换气扇都都由单一IO口P1.4控制,模拟开
关动作。
? 防盗报警和门迎都采用热释红外传感技术,电路结构相同。 ? 煤气报警采用催化燃烧式可燃气体传感器。
? 照度监测使用电池做传感器。
图2 为节点通用的硬件系统组成框图
图2 节点通用的硬件系统组成框图
2.4.2 软件设计
网络协调器负责建立无线网络,接收终端节点的状态信息并报警或显示,发送命令控制节点的状态。系统应用层的程序主要包括安防、家电控制、传感、无线数据传输好人机交互模块等模块。终端节点负责数据采集,报警或显示,发送状态信息给协调器。系统应用层的程序主要包括传感、报警、无线数据传输和人机交互模块。系统应用层功能框图如图3所示。
协调器系统应用层程序功能框图 终端节点系统应用层程序功能框图 建网模块 安防模块 入网模块 报警模块
图3 系统应用层功能框图
2.5 本章小结
本章主要介绍了本次设计的主要要求和智能家居系统的总体设计。系统的总体设计分为两部分:硬件设计和软件设计。我负责软件设计,方舟负责硬件设计。智能家居系统主要以ZigBee技术为核心;设计围绕网络协调器的网状拓扑线路通过监测子网监测环境温度、照度、煤气泄漏以及红外入侵等信息,可以直接联动控制相关受控设备或将信息发送至管理平台,由信息管理平台决策如何处理这些信息。
第三章 软件设计
本次设计划分为软件和硬件两人合作制,硬件部分是由方舟设计,软件部分是由我主要进行设计,在与硬件进行合作的条件下,我们考虑各种器件的价格,芯片的价格,在芯片上我们主要选择CC2430来作为这次设计的芯片。
3.1 ZigBee开发软件介绍
主要软件编程在ZigBee开发软件上编译和调试,即IAR EW8051开发软件,IAR Embedded Workbench是一套卡发工具,用于对汇编、C或C++编写的嵌入式应用程序进行编译和调试。IAR Embedded Workbench是一套高度精密且使用方便的嵌入式应用编程开发工具。该集成环境包含了IAR的C/C++编译器,汇编器,器,文件管理器,文本编辑器,工程管理器和C—SPY调试器。通过其置的针对不同芯片的代码优化器IAR Embedded Workbench可以为ARM芯片生成非常高效可靠的FLASH/PROMable代码[10]。
完成安装软件后,在开始菜单里找到安装好的IAR软件,以下为其主要组成部分:
? 集成项目管理器和编辑器的IDE; ? 高度优化的C/C++编译器; ? 芯片的胚子文件;
? 高性能的C—SPY调试器和硬件调试工具; ? 支持RTOS核识别调试; ? 汇编器; ? Run—time库; ? 器和库管理工具; ? 现成的代码例程;
? 印刷电路板以及电子版的用户手册; ? 网上帮助文档。
下面为IAR集成开发软件各组成部件的特点: (1)集成开发环境(IDE) ? 层次化的工程表示方法;
? 强大的工程管理允许在同一工作区管理多个工程;