汪建春,胡晓进
随着计算机技术、网络技术和自动控制技术的迅猛发展,家庭智能化和信息化应运而生,它为人们提供集信息安全、生活舒适、通讯快捷为一体的居住空间,使家居智能化、信息化、数字化及网络化成为现实。随着3G、4G时代的到来,移动数据传输能力得到提高,使得人们通过移动终端实时、快速监测家居环境成为可能[1,2]。
移动终端远程控制作为一个崭新课题与常规的遥控方式相比,显示出一定的优越性。短消息、彩信通过GSM(Global System for Mobile Communication)或GPRS(General Packet Radio Service)服务中心提供文本信息、多媒体信息的收发服务,其中服务中心完成存储和转发功能。利用服务中心进行无线通信具有双向数据传输功能,性能稳定,为远程数据传输和监控设备的通信提供一个强大的支持平台[3,4]。
图1为智能家居系统架构示意图。当移动终端想获取家居控制系统实时数据,通过GSM网络发送文本短消息SMS到控制器。控制器根据文本内容,控制器选择不同IP地址和网络端口,通过局域网将控制数据包发送到各监控设备。监控设备根据控制数据包进行监控动作,并将数据进行打包,回送给控制器。控制器获得数据后解包并将相应的数据通过GPRS网络发送到移动终端。
当各监控设备检测到异常情况时,通过局域网络将监测到异常数据,如家中有人闯入、电器设备异常等,发送到控制器。控制器通过GPRS将异常发送到移动终端。
图1 智能家居系统架构示意图
整体硬件架构如图所示,控制器采用嵌入式S3C2440模块通过串口与TC35模块实现数据传输。TC35模块通过GPRS/GSM网络将监控数据传输到移动终端。各监控设备通过S3C2440模块的网络端口与控制器S3C2440模块网络端口组建局域网络,实现数据的传输与交互,如图2所示。
图2 数据传输与交互
TC35是西门子推出的一款无线通信模块,设计紧凑。TC35与GSM 2/2+兼容,双频(GSM900/GSM1800)工作,带有RS232数据口。符合ETSI标准GSM0707和GSM0705,且易于升级为GPRS模块。该模块集射频电路和基带于一体,向用户提供标准的AT命令接口,为数据、语音和短消息提供快速、可靠、安全的传输,方便用户的应用开发及设计。在系统中S3C2440通过RS232与其相连。
图3 系统流程图
嵌入式处理芯片S3C2440芯片是三星公司以ARM为架构所推出的ARM920T的微处理器核心。具备16KB的指令缓存和16KB 数据缓存。内存管理单元协处理器进行内存存储管理,外部存储控制器进行SDRAM控制和片选控制。提供1通道LCD控制器并支持DMA数据传输。3通道通用异步接受发送器UART。8通道10位模数转换和触摸屏接口,130个通用I/O口和24通道外部中断源。系统电源管理模块具备普通,慢速,空闲和掉电模式,使系统运行更省电。
控制器及监控设备软件是基于LINUX操作系统上开发,LINUX操作系统是一款源代码开放的自由软件。LINUX具有良好的软件开发工具、可移植性并支持多线程和多进程编程[5]。针对系统特点,软件采用多线程编程方式,多线程具备并发执行、共享主进程资源等特性。
系统上电后,初始化串口、TC35无线通讯模块。通过函数pthread_create创建TC35监控及局域网络监控子线程。利用条件变量pthread_cond_init实现子线程的调度。主控制器通过循环监测各子线程的条件变量,当TC35模块收到信息,系统解析信息内容,并判断终端想获取的监控模块数据。主控制器停止TC35监控线程、网络监控线程的运行。通过局域网向监控模块发出数据请求。监控模块通过局域网将监控数据回传给系统,主控制器将数据通过串口将数据经TC35无线通讯模块发送到移动终端。重新启动TC35监控线程、网络监控线程。
当监控模块检测到异常,向上请求数据传输。网络监控子线程接受到异常信号后,主控制器暂停TC35监控线程、网络监控线程,并获得异常监控设备的IP地址及终端号。主进程通过IP地址及端口号,与监控设备建立网络联结,进行监控数据传输。主控制器将获得的数据通过TC35模块发送到移动终端,如图3所示。
系统依靠局域网络,通过TCP/IP编程实现监控模块与主控制器实现数据传输。通过函数socket创建面向TCP/IP协议、流套接字,bind函数套接字绑定在一个固定的端口上,listen函数将套接字转换为被动倾听套接字,accept函数从建立连接的队列中接受一个连接,read/write函数用于数据接收和发送,如图4所示。
图4 数据接收和发送
本文叙述一种新型的智能家居系统架构。通过主控制器控制无线通讯模块,和移动终端实现数据交互。主控制器通过局域网络与监控设备数据交互,从而实现了移动终端与监控设备双向互动,即监控设备监测到异常,主控制器主动发送监控数据到移动终端;和移动终端想获得监控数据,发送文本短消息到主控制器,主控制器启动监控设备,并将监控数据回送移动终端。
[1] 董翠英. 基于ARM与GSM的智能家居控制器设计[J]. 唐山学院学报. 2010, 23(3): 37-39.
[2] 马鸿雁. 我国智能化住宅小区发展综述[J]. 北京建筑工程学院学报, 2003, 19(1): 88-93.
[3] 王艺. 基于GPRS的嵌入式智能家居终端的设计与实现[J]. 微计算机信息, 2007(26): 23-25.
[4] 黄尔烈, 等. GSM技术的智能家居控制[J].辽宁工程技术大学学报: 自然科学版, 2008(27): 239-241.
[5] 杨水清, 等. ARM潜入式Linux系统开发技术详解[M]. 北京: 电子工业出版社, 2008.