系统总体架构
网络应用的普及以及各种信息家电的产生都使得在家庭内部对Internet的访问不再局限于单个PC,每个家庭都将面临如何在家庭内部传送Internet数据以及如何将各种家电设备连接起来的问题,基于此,智能家居网络应运而生。智能家居网络是信息社会的基本单元。未来的家庭中,各种家电设备将组成一个家庭局域网,并通过智能家居控制器接入互联网。智能家居网络的市场发展潜力极其可观,几家大的厂商Intel、IBM、Microsoft及Sony都早已涉及其中。
智能家居网络指的是在一个家居中建立一个通信网络,将各种家电设备互相连接起来,实现对所有智能家居网络上的家电设备的远程使用和控制及任何要求的信息交换,如音乐、电视或数据等。智能家居网络的构架包括家庭内部网络系统、智能家居控制器以及智能家居网络与外部Internet网络之间的数据通信。其中,智能家居控制器是智能家庭网络的一个重要组成部分,起到核心的管理、控制和与外部网络通讯作用。它是通过家庭管理平台与家居生活有关的各种子系统有机结合的一个系统,也是连接家庭智能内部和外部网络的物理接口,完成家庭内部同外部通信网络之间的数据交换功能,同时还负责家庭设备的管理和控制。
智能家居控制器一方面需要为家庭内部布线提供通讯接口,能够采集家庭设备的信息,并进行处理,自动控制和调节;另一方面智能家居控制器作为家庭网关,也为外部提供网络接口,连通家庭内部网络和外部Internet网络,使得用户可以通过网络等方式访问家庭内部网络,实现监视和控制。此外智能家居控制器还应当具备自动报警等功能,即当发现报警信号如:有人恶意闯入,温度超高等,控制器能立即处理并向用户发出报警信号。
智能家居控制器为系统的核心,可采用ARM嵌入式系统设计,能够自动运行、处理数据,通过RS485总线管理和控制各控制终端。并且控制器通过GPRS模块,实现家庭系统与外部网络的通讯,使用户可以通过短信和互联网等方式实现家庭系统的远程控制,同时,控制器还通过键盘和显示屏为用户提供人机界面,方便用户实现本地控制。控制终端为单片机组成若干小的控制系统控制各家用设备,并通过控制总线将这些小的控制系统组成网络,连接到智能家居控制器,受智能家居控制器控制。
智能家居控制器的具体功能包括:
家用设备的数据采集:采集家用设备包括室内温度,灯具家电,防盗门等设备的状态数据,经控制器处理后反馈给用户。
本地控制:用户通过控制器上的键盘和显示屏,对家用设备进行监控。
远程控制:远程用户可以通过发送手机短信或通过互联网对家庭系统进行控制和查询。
自动报警:当控制器检测到非法闯入或温度超高等报警信号时,及时触发室内报警装置,并通过发送报警短信等方式及时通知用户。
温度查询:用户可以通过控制器查询室内温度。
防盗门密码设置:用户可以通过本地或远程方式修改防盗门的密码,在门外输入正确密码后才可打开门。
红外家电控制:接收用户命令,通过红外发射电路控制电视、空调等红外可控的家电设备。
其它灯具等开关量控制:接收用户命令控制灯具等开关量设备。
智能家居控制器通过GPRS模块,实现家庭系统与外部网络的通讯为系统核心部分,解决以前智能家居系统瓶颈的关键技术。GPRS(通用分组无线业务)的简称,是在现有的GSM系统上新增新GGSN(网关支持节点)和SGSN(服务支持节点)节点发展出来的一种新的分组数据承载业务。GPRS与现有的GSM系统最根本的区别是,GPRS是一种分组交换系统,特别适用于间断的、突发性的或频繁的、少量的数据传输,也适用于偶尔的大数据量传输。GPRS网络传输的主要优点有:永远在线、按流量计费、快速登录、高速传输、覆盖范围内不受限制(传输距离、地形、天气等)、数据传输可靠等。
基于ARM及GPRS智能家居控制器的软硬件实现
GPRS通信模块安装在智能家居控制器中,主要功能为通过GPRS网络连接到Internet网络,并主动与监控中心建立通信链路,进行双向数据通信。GPRS通信模块设计采用了Freescale公司生产的内嵌TCP/IP协议的G24GPRSOEM。该模块尺寸小,功耗低,便于集成。
GPRS通信终端收发模块主要由G24模块、天线、SIM卡、相关的电平转换电路和RS232串口组成。模块的供电电压为5V,可采用USB端口供电。GPRS通信模块通过RS232串行口与智能家居控制器ARM进行通信。
G24收发模块采用AT指令操作,通过RS232串行口进行数据通信。GPRS网络通信原理为:首先通过SGSN节点使通信终端模块附在GPRS网络上;然后通过GGSN节点由PPP(PointtoPointProtocol)协议获得一个随机分配的IP地址,连接到Internet上;最后通信终端模块通过Internet,按照监控中心设定的端口号与监控中心建立通信链路。
(1)测试G24通信是否正常。首先选择串行口并设置波特率,G24波特率的范围为600到460800bit/s,支持自动波特率侦听,能够自动与监控中心通讯模块的波特率保持一致。发送“AT”,如果模块返回“OK”,则通信正常,否则重发。
(2)接入Internet。首先测试当地是否有GPRS覆盖,向模块发送“AT+CGPRS?”,如果返回“+CGPRS:1”,则有GPRS覆盖,否则隔5秒钟后再次检测。然后发送“AT+CGATT=1”使模块附在GPRS网络上。最后发送“AT+MIPCALL=1,cmnet”通过PPP协议建立与GGSN的无线连接,获得一个动态的IP地址,接入Internet。
(3)连接监控中心。向模块发送“AT+MIPOPEN=,,<"DestinationAddress">,,”建立与监控中心通信连接。如果返回“+MIPOPEN:SocketID,1”,则说明与监控中心建立了通信连接,如果返回“+MIPSTAT:1,1”,则说明有物理链接中断,须重新进行连接。其中对AT+MIPOPEN指令的参数作以下说明:
SocketID:G24通信连接的ID号,G24有4个可用Socket,每个Socket有1372Byte缓冲区。
SourcePort:G24的数据传输端口号,其值为0~65535。建议采用1024以上的端口号。
DestinationAddress:目标端的IP地址,也就是监控中心监控服务器的IP地址。
DestinationPort:目标端的数据传输端口号,即监控中心监控服务器设定的传输端口号。
Protocol:传输通信协议,0表示TCP方式,1表示UDP方式。
(4)数据收发。与监控中心建立通信连接后,就可以进行数据收发了。发送数据用“AT+MIPSEND=1,’Data’;+MIPPUSH=1”。“Data”表示要发送的数据,本设计采用了G24默认的ASCII码编码,须用十六进制的ASCII码形式表示。一旦有数据到达,G24模块就会通过RS232串行口返回“+MIPRTCP:,,”。其中Left是一个十进制的数字,表示还有多少个字符在协议栈中尚未接收,如果数据全部接收,则Left为0;接收到的数据“Data”是十六进制的ASCII码形式。
(5)断开通信连接。向模块发送“AT+MIPCLOSE=SocketID”,模块返回“OK”,表示断开成功。
结语
本文提出了基于GPRS无线智能家居系统的总体解决方案。该方案主要是采用GPRS无线通信技术实现远程终端对家庭系统的远程控制;采用RS485总线技术实现家庭系统的组网;采用嵌入式系统方案搭建智能家居控制器的开发平台,并通过该平台实现对家用设备的智能管理和控制。最后本文提供系统核心GPRS芯片软硬件实现方法,为后续及相关工作提供技术基础。