APP下载

基于GPRS 网络的智能家居控制系统*

2012-12-22沈舒海王晓东胡珊逢张陈梅

电子器件 2012年2期
关键词:串口智能家居客户端

沈舒海,王晓东 ,胡珊逢,张陈梅

(宁波大学信息科学与工程学院,浙江 宁波315211)

近年来,物联网成为全球关注的热点领域,被认为是继互联网之后最重大的科技创新。物联网通过射频识别(RFID)、红外感应器、全球定位系统、激光扫描器等信息传感设备,按约定的协议把任何物品与互联网连接起来进行信息交换和通讯,以实现智能化识别、定位、跟踪、监控和管理。物联网的发展也为智能家居引入了新的概念及发展空间,智能家居可以被看作是物联网的一种重要应用。基于物联网的智能家居,表现为利用信息传感设备(同居住环境中的各种物品松耦合或紧耦合)将家居生活有关的各种子系统有机地结合在一起,并与互联网连接起来,进行监控、管理信息交换和通讯,实现家居智能化。其包括:智能家居(中央)控制管理系统、终端(家居传感器终端、控制器)、家庭网络、外联网络、信息中心等。中国智能化住宅的发展,在经历了近10 年的探索阶段之后,建筑面积目前已达到400×108m2,预计到2020 年还将新增300×108m2[1]。

本文基于GPRS 无线网络及单片机控制技术提出了一种新型、低成本、方便实用的远程家居控制系统,面向智能家居行业,具有广阔的市场发展前景,对改善民生、方便百姓、提高生活质量和幸福指数的巨大促进作用[2]。

1 系统总体构架

1.1 系统实现目标

本系统所设计的功能即实现通过GPRS 网络,用户只需要对手机软件操作即可控制家庭里各种家电的开关以及窗帘、晾衣架的拉合、伸缩。

功能示意图1 所示。

图1 系统功能示意图

1.2 系统结构

系统结构如图2 所示。

图2 系统结构示意图

1.3 系统各组成模块

1.3.1 主控制器

出于性价比及系统功能的考虑,本系统选用Silicon Labs 公司的51 系列单片机C8051F040 为主控制器。C8051F040 是目前应用较多的一类高性能单片机[3],具有运算主频高(最高可达到40 MHz)、内置模块多(CAN 控制器、高速串行端口UART、SPI 模块等)、事物处理能力强等特点,对于一般运算处理,完全能够满足要求[4]。芯片上有1 个12 bit 多通道ADC,2 个12bit DAC,2 个电压比较器,1 个电压基准,1 个32 kbyte 的FLASH 存储器,与MCS-51 指令集完全兼容的高速CIP-51 内核,峰值速度可达25 MI/S,并且还有硬件实现的UART 串行接口和完全支持CAN2.0A 和CAN2.0B 的CAN 控制器。C8051F040在I/O 端口方面有较大的选择空间,方便系统的拓展,除具有4 个标准的8051 端口P0、P1、P2、P3 外,还附加了4 个端口P4、P5、P6、P7。这64 个多功能的I/O 端口每个引脚都可以被配置为漏极开路或推挽输出方式,并且每个I/O 端口都支持位操作。

系统启动之后,主控制器控制GPRS 通信节点拨号上网,完成拨号之后进入实时接收指令工作模式,对手机客户端传送过来的指令进行辨别,执行相应的操作,并进行反馈确认,确保系统工作准确无误。

1.3.2 继电器

本系统选用4 路T73_SRD_5V 继电器模块,该模块触点负载为10 A/250 V AC,满足大多数家庭电器的工作电流及电压。输入信号支持3.3 V 或5 V,适用于单片机I/O 端口。该模块电路设计为输入高电平断开、低电平触发。

选用继电器模块的目的为控制家庭电器的电源开关,通过I/O 端口向继电器模块输入高低电平即可控制其触点的吸合、断开,从而控制电器的开关。

1.3.3

本系统选用42BYG250-33 两相步进电机步进电机,步进电机在运行中精度没有积累误差的特点[5],适用于本系统。该步进电机有着体积小、转动平稳、噪声小的优点,适用于家庭环境。步进电机驱动器采用TB6560 电机驱动模块,该模块其中三个端口连接单片机的I/O 端口:使能端(EN)、正反转输入端(CW)、脉冲输入端(Clk)。

当使能端为低的时候,步进电机锁定,窗帘不能拉合;使能端为高时,单片机向脉冲输入端输入脉冲信号,即可驱动电机转动,达到窗帘拉合、晾衣架伸缩的目的。正方转输入端控制电机的转动方向。

1.3.4 显示模块

本系统选用一块2.4 inch 320×240 TFT 彩色液晶,设计功能为显示各种家具的的当前状态;在系统联调时,由于RS232 串口不能实现一接二,不能用PC 机显示系统各模块间的数据的传输,因此可以用液晶模块接入单片机,通过其显示收发数据,使得调试系统更加便捷准确。

1.3.5 GPRS 通信节点

本系统采用GPRS 网络作为无线通信方式,这种通讯方式稳定性强,面对将来的3G 网络可平滑技术升级,耗费流量较少,同时GPRS 网络支持TCP/IP 协议,使得无线数据的传输变得更加轻松,更容易扩展功能[6]。选用了BENQ_M23_GPRS 模块作为通信系统中安放在家庭的通信节点。BENQ公司的M23 模块是目前市场上的主流GSM/GPRS模块之一,可以应用于GSM 短信息通信以及语音通信。其中,短信息适合对实时性要求不高,数据量不大的数据通信。由于支持GPRS 和嵌入式的TCP/IP,M23 还可以用于实时性要求较高,数据量相对较大,传输速度相对较快的数据通信领域[7-8]。模块与主控制器通过RS232 串口通信,由主控制器控制其向公网服务器拨号,拨号成功后系统进入实时工作状态,通过该通信节点实现手机客户端与主控制器之间指令包以及反馈确认包的传输。

1.3.6 服务器

本项目采用一台独立的基于Linux 操作系统的PC 服务器,具有公网的IP,分别与GPRS 模块和手机客户端进行通信。该服务器是在Linux 操作系统下使用C 语言的网络编程,用GCC 编译器进行命令语编译和运行,通过可靠的面向连接的TCP 协议通信。服务器主要功能是:GPRS 模块和手机客户端使用TCP 协议连接服务器,服务器将GPRS 模块的动态IP 发送到手机客户端,建立一个提供数据透明传输的平台,使得手机客户端与GPRS 模块进行点对点通信。该服务器在本项目通信中起着连接任务的中间环节,手机客户端与GPRS 模块通过服务器可以时时地通信,避免了重复拨号、两点不同时在线等问题。

1.3.7 手机客户端

本系统的手机客户端是基于J2ME 移动开发的环境下的JAVA 软件平台,并用SUN 发布的官方版MIDlet 开发工具J2ME Wireless Toolkit[9]集成手机模拟器(Emulator)来进行程序测试工作,这款手机模拟器适合SUN 公司的手机,由于各大手机厂商都拥有多种型号的手机模拟器,所以可以根据自己所用的手机型号选择相应的手机模拟器进行编程即可使用。客户端主要功能是与GPRS 模块进行通信,远程控制家居,要实现这样的功能需要解决两大问题,(1)GPRS 模块每次拨号成功后所获得的动态IP地址是不同的,客户端要如何获得该IP 地址;(2)使用什么传输层协议来进行与GPRS 模块通信才能确保通信的可靠和安全以及程序的优化。

针对第1 个问题本系统建立一个独立的、总是在线的公网PC 服务器,GPRS 模块拨号成功获得一个动态IP后,服务器可以保存GPRS 模块的当前的IP,同时把发送给手机客户端,手机客户端需要开通一个线程与服务器通信时时得到GPRS 模块的IP,根据这个IP 与GPRS 模块进行时时点对点的通信。针对第2 个问题本系统在选取通信协议时锁定在UDP 与TCP 传输层协议,UDP是面向无连接的,可靠性较差,但是速度快,实现简单,而本系统要求手机客户端准确可靠地将指令发送到GPRS 模块,进行一个远程控制操作,因此选用面向连接的、可靠安全的TCP 协议[10]。这样手机客户端需要开通另外一个线程与GPRS 模块通信,把用户信息确切的传达给GPRS 模块,让单片机进行相应的操作。实际程序编程的流程图如图3。

图3 手机客户端编程流程图

2 系统功能的实现及其关键技术

2.1 控制模块对GPRS 模块的拨号操作

主控制器通过发送AT 到BENQ_M23_GPRS 模块控制其拨号操作,连接上公网服务器之后服务器分配给GPRS 模块一个临时IP 地址,手机客户端便可以通过这个IP 地址与其进行透明传输。部分AT指令如下:

2.2 GPRS 模块与客户端的通信

在BENQ_M23_GPRS 模块成功拨号连接上公网服务器后便可获得一个临时IP,每次拨号获得的IP 是不同的,但是这个IP 会储存在服务器上面。手机客户端连接上服务器后,服务器会把这个IP 地址发送给手机客户端,这样手机客户端便可以根据这个IP 地址与GPRS 模块进行时时的点对点通信。

手机客户端设定好每个操作分别有自己特定的字符串发送到GPRS 模块,如开灯操作对应的字符串为:kaideng,该字符串发送到GPRS 模块后,通过RS232 串口发送给主控制器,主控制器可以进行字符串对比,即运行Strcmp 函数,如果传输过程没有出现乱码等错误,字符串准确无误地发送到主控制器,该函数返回的值为0,即可让电灯对应的继电器与主控制器连接的I/O端口为低电平,触发该继电器,电灯即可点亮。

2.3 系统的反馈确认机制

针对客户端发送的字符串在传输过程中可能出现的丢包、乱码等情况,本系统设定一个反馈确认机制:

(1)当手机客户端所发送的指令成功到达主控制器,并且所有操作都顺利完成,主控制器立即发送“OK”字符串到GPRS 模块,通过透明传输发送到手机客户端,客户端获得该字符串,即可显示“操作成功”字样;

(2)超时限制,如果手机客户端等待“OK”确认包的时间超过正常范围,客户端立即重发指令,直到收到“OK”确认包为止;

(3)针对字符串在传输过程中乱码的情况,主控制器通过Strcmp 函数进行辨别,返回值不为0,立即向GPRS 模块返回“ERROR”字符串,手机客户端接收到该字符串,同样会重发指令,直到收到“OK”确认包为止;

通过反馈确认机制,可避免网络信号不加、传输过程受干扰等意外情况所导致的无效操作。

3 系统测试

3.1 测试准备及工具

该项测试中GPRS 模块与单片机通过RS232 串口连接,单片机将接收到的数据通过另一个RS232串口发送到PC 机。单片机控制GPRS 模块拨号成功进入数据透明传输模式后,PC 机开启AccessPort串口监听软件对串口发送的数据进行记录;手机客户端采用集成手机模拟器(emulator)模拟手机软件,同时开启Wireshark 软件进行抓包操作,记录接收的TCP 数据包;分配另一台PC 机作为服务器。

3.2 GPRS 模块数据发送测试

启动单片机,向GPRS 模块发送相应AT 指令控制其拨号成功进入数据透明传输模式,开启AccessPort 串口监听软件,单片机烧录程序设定为循环发送模式,时间间隔5 s,远端PC 机运行手机模拟器,开启Wireshark 进行抓包,数据发送即可开始。

本次测试单片机向GPRS 模块间隔5 s 发送共500 个字符串,通过观察手机模拟器端抓包信息,丢包仅1 个,误码0 个,传输时间随机抽取50 个包进行计算,以下为数据处理:

3.3 GPRS 模块数据接收测试

启动单片机,向GPRS 模块发送相应AT 指令控制其拨号成功进入数据透明传输模式,开启AccessPort串口监听软件,远端PC 机运行手机模拟器,设定4.5 s 时间间隔循环发送,开启Wireshark 进行抓包,数据发送即可开始。

本次手机模拟器间隔5 s 循环发送302 个数据包,通过观察AccessPort 所记录的数据,丢包0 个,误码0个,传输时间通过随机抽取50 个包进行计算,以下为数据处理:

?

4 结论

由于研究周期以及知识水平的限制,本系统只是初步实现了远程控制家庭电器的开关功能以及窗帘的拉合功能,而对于各种电器的复杂功能还不能实现操控。因此本系统还只是智能家居系统的一个雏形,可以扩展的地方很多,不仅在电器功能操控方面可以拓展,还有手机软件平台、通信网络制式的选择、控制器的升级等。在信息技术的支撑下,物联网正在引发新一轮的生活方式变革,已成为一个发展迅速规模巨大的市场[11],其中,智能家居的物联网应用,将是广电网络的发力点,是发挥广电网络长处的领域[12]。虽然本系统尚存不足,但这是一个好的开始,也希望今后能沿着这条路线继续研发下去,追赶物联网的潮流。

[1] 童晓渝,房秉毅,张云勇.物联网智能家居发展分析[J]. 移动通信,2010,34(9):16-20.

[2] 王涛,周丽丽,陈庆文.中国物联网未来发展探讨[J]. 林业机械与木工设备,2011,39(9):26-27.

[3] 童长飞.C8051F040 系列单片开发与c 语言编程[M].北京:北京航空航天大学出版社,2000,191-252.

[4] 刘敬彪,艾勇福,盛庆华. 基于C8051F040 的数据传输嵌入式系统开发[J].计算机系统应用,2010,19(4):116-119.

[5] 石东峰.步进电机的原理及选型[J].科技与企业,2011(09X):44-44.

[6] 陈愚,吴旭光,苏冉,等.车辆监控系统的GPRS 网络通讯技术与实现[J].国外电子测量技术,2011,30(9):72-75.

[7] 徐秀丽,欧阳斌林.GPRS 无线终端在收获机上的应用[J]. 东北农业大学学报,2008,39(10):121-126.

[8] 魏芬.GPRS 模块M23 在无线数据传输方面的应用设计[J].工业控制计算机,2009(5):5-6.

[9] 李康满,陈溪辉. 基于J2ME 技术的手机应用软件开发技术[J].衡阳师范学院学报,2006,27(3):87-90.

[10] Kurose James F,Rose Keith W. COMPUTER NETWORKING:A TOP-DOWN APPROACH(Fourth Edition)[M].北京:高等教育出版社,2009:221-305.

[11] 吴一平.物联网发展需要解决的若干问题[J]. 信息化观察.2011(4):64-66.

[12] 罗峰.物联网智能家居的新型人机互动[J].广播与电视技术,2011,38(9):86-88.

猜你喜欢

串口智能家居客户端
浅谈AB PLC串口跟RFID传感器的通讯应用
基于PLC的智能家居控制系统研究
如何看待传统媒体新闻客户端的“断舍离”?
县级台在突发事件报道中如何应用手机客户端
孵化垂直频道:新闻客户端新策略
大枢纽 云平台 客户端——中央人民广播电台的探索之路
基于Zigbee的无线通信技术在智能家居中的应用
关于智能家居真正需求的探讨
数字电源内部数据传输的串口通信方法实现
USB接口的多串口数据并行接收方法探索