1 引言
智能家居是近几年产生并迅速崛起的一种新型家居住宅,家居的智能化为住户提供了一种更加安全、舒适、方便、快捷和开放的智能化、信息化的生活空间。它不仅已经成为一个国家经济实力和科学技术的综合标志之一,而且也是人类社会住宅发展的必然趋势。
随着EDA技术的高速发展,智能家居的实现也得到了更好的解决。本系统采用三星公司的S3C44B0X芯片,使用uC/OS-II实时操作系统以及先进的蓝牙无线通信技术给出了智能家居的一种合理的、高性能的实现。
2 总体方案设计
本控制系统采用分布式控制方式对智能家居的各部分进行统一的控制,主要包括信息家电部分、环境控制(包括室温,照明,窗帘等)部分、安防报警部分、远程操作部分。各部分又包含多个节点,每个节点即为通讯的一个终端。各节点之间相互独立,某一个节点出现故障时不影响到其他节点的运行。智能家居系统总体架构框图如图1所示。
从图中1可以看到,远程操作部分与主控制器以串口连接,家居中各节点与主控制器形成一个蓝牙网络相互通信,所以通过外部计算机或网络就可以实现和主控制器的通讯从而实现对家居中各节点的控制。当然也可以由主控制器来直接控制各节点的运行,这样更快捷。主控制器通过发送控制命令给节点,各节点收到命令后进行相应分析并做出相应动作,然后返回最终的状态给主控制器,主控制器再通过串口将各节点的信息发送到远程操作系统或直接显示到自带的显示液晶上。系统中各部分都预留有扩展的节点,以备将来设备的增加。
3 硬件设计
3.1 蓝牙技术
蓝牙技术是一种无线数据与数字通信的开放性规范,用微波无线通信技术取代数据电缆来完成点对点或点对多点短距离通信。蓝牙技术的主要优点有:可以随时随地用无线接口来代替有线电缆连接;具有很强的移植性,可用于多种通信场合;功耗低,对人体危害小;蓝牙集成电路应用简单,成本低廉,实现容易,易于推广。蓝牙技术应用了全球统一的频率(ISM频段)设置,ISM频段是对所有无线电系统都开放的频段,使用其中的某个频段都会遇到不可预测的干扰源。因此蓝牙技术特别设计了快速确认和跳频方案以确保链路稳定。
蓝牙协议栈如图2所示。蓝牙体系结构中的协议可分为4层:核心协议、电缆替代协议、电话传送控制协议和可选协议。除了这些协议层外,规范还定义了主机控制器接口(HCI),它为基带控制器、链路管理器、硬件状态和控制寄存器提供命令接口。蓝牙核心协议包括基带、LMP、L2CAP、SDP。
在蓝牙协议栈中,HCI以上部分通常用软件实现,包括逻辑链路控制和适配协议L2CAP、串行仿真RFCOMM、电话替代协议和选用协议;而HCI以下部分则用硬件实现,包括基带协议和链路管理协议(LMP),这部分也叫蓝牙协议体系结构中的底层硬件模块。
在家居控制器上使用蓝牙技术主要是为了给家居控制器的各个功能模块提供无线传输的方式,对蓝牙的高层协议并没有太大的需求,因此在家居中央控制器上可以采用蓝牙模块加开放蓝牙协议的方式开发蓝牙功能。综合考虑成本、结构等因素,信息家电可以采用蓝牙模块加单片机的方式实现蓝牙功能。将整个蓝牙核心协议栈移植到单片机中显然不合实际。可以采用这样的开发方案:在蓝牙HCI层的基础上,根据信息家电信息传输的实际需求,建立相关协议,利用单片机直接和蓝牙硬件模块交换HCI指令,实现信息交互。单片机采集信息家电的相关信息通过蓝牙模块发送出去,蓝牙模块也可以将接收到的命令用HCI指令传递给单片机执行。
3.2 硬件平台结构
本系统的硬件平台主要是在EV44B0II开发板上实现的,它采用三星公司生产的S3C44B0X32位高性能芯片,具有很高的性价比,且能很好的满足本系统的需求。蓝牙通信模块采用爱立信公司的蓝牙模块ROK101007。该模块是一款适合短距离无线通信的射频/基带模块,集成度高、功耗小,完全兼容蓝牙协议Version1 1,可嵌入任何需要蓝牙功能的设备中。硬件结构如图3所示。
其中,主CPUS3C44B0X与ROK101007模块通过UART口连接,其连接电路如图4所示。
从图4中可以看到,主控制器连接到一个蓝牙主模块,通过它与各节点的蓝牙从模块进行通信来实现各种控制功能。同时主控制还带有LCD以及键盘输入的功能。即可在主控制器进行命令和数据的输入然后通过蓝牙主模块发送到节点,从各节点返回的状态信息也可即时的在LCD上显示。
4 软件设计
根据智能家居中各部分的划分,软件也相应的对各部份进行了模块化的设计。包括远程控制模块,安防报警模块,环境控制模块,信息家电模块。而其中安防报警模块的优先级是最高的,其次是环境控制模块(因为需要实时的环境状态),然后才是远程控制模块和信息家电模块。
本系统中采用的操作系统是uC/OS-II.它是一个嵌入式多任务实时操作系统,具有简洁高效,易于移植,可裁剪等特点。它可以最多管理63个任务,且提供良好的任务控制API使得用户可灵活简便的控制各任务的运行。针对本系统各模块我们设计了相应的独立任务完成所需的功能。主要包括主程序任务、安防报警任务、环境控制任务、远程控制任务和信息家控制任务。主程序任务是其他各任务的创建者,由它来管理各个任务的创建及运行。故程序运行时首先创建主程序任务,它的显示界面将提供其他各任务的进入菜单。当需要对某个节点进行控制或状态查看时,就进入它所在的模块菜单,主程序就创建此模块任务进行对此节点的控制。主程序任务默认首先创建安防报警任务,因为它需要最高的优先级。
整个程序运行过程如图5所示。
从图中可以看到,系统上电后,首先进行系统初始化(包括LCD,中断,串口等的初始化),再进行蓝牙网络的硬件初始化,再进入操作系统uC/OS-II的载入及初始化,接下来uC/OS-II利用OSTaskCreat()创建主程序任务。主程序任务默认又创建安防报警任务并进入运行状态。当要进行其它模块任务的创建时就需将安防报警任务挂起,等其他模块任务退出后再恢复运行安防报警模块。每一时刻在uC/OS-II最多只有两个任务处于运行状态,这样做很好的保证了系统的实时性。
5 结语
本系统采用了蓝牙技术和32位微控制器对终端控制进行了设计,使其控制系统性能优越、结构清晰、成本低并具有较好的扩展性。与有线家居网络相比,本系统摆脱了布线系统的束缚,提高了系统的抗干扰能力。用户在增加电器或其他设备时,只需要增加相应的设备识别号,无须增加连线。随着计算机、通信和网络技术的飞速发展,可以预见,不远的将来智能家居市场必将迎来它的繁荣发展阶段。