摘 要:为了使家居系统更加人性化,设计了一种基于场景模式的智能家居系统。该系统以Android手机为监控终端,以USB无线网卡、GPRS模块和S3C2440构成家庭网关,以nRF24LE1为家庭节点组网模块。介绍了该系统的无线组网协议、节点及网关硬件组成、网关服务程序设计和Android监控界面设计。
关键词:智能家居;Android;家庭网关
在欧美等西方经济发达的国家,智能家居已经相当普及。在中国,随着社会经济的快速发展和人们生活水平的不断提高,智能家居也将成为家居发展的必然趋势[1]。
目前部分智能家居集控装置一般不具有场景模式功能,每次都需要对家电进行单独控制;同时部分具有场景模式功能的智能家居集控装置中场景模式下的各个参数通常是固定不变的,使用极为不便[2]。
本文设计的基于场景模式的智能家居系统不仅具有场景控制功能,而且用户可以根据自己的需求设置场景模式的参数。因此,本设计将为人们提供一个更加舒适的居住环境。
本文将无线组网技术与Android应用开发相结合,通过以S3C2440为核心的家庭网关将Android手机与家庭设备节点进行整合,从而实现基于场景模式的智能家居系统。
1 总体设计方案
本系统主要由监控终端、智能家庭网关和家庭设备节点组成,如图1所示。
监控终端可以显示和控制家庭内部设备的运行状态;家庭网关是监控终端和家庭内部设备之间通信的枢纽,并存储整个系统的配置文件,是整个系统的核心;家庭设备节点实现对设备的实际监控。
2 家庭设备节点
2.1 节点硬件组成
系统家庭内部组网所用的无线模块是nRF24LE1。nRF24LE1采用了Nordic最新的无线和超低功耗技术,在一个极小封装中集成了包括2.4 GHz无线传输、增强型51 Flask高速单片机、丰富外设及接口等的单片Flash芯片,是一个综合了性能及成本的完美结合,很适合应用于各种2.4 GHz的产品设计[3]。
设备节点的组成如图2所示。
节点中无线模块用来接收网关发送的无线控制命令,并将监控电路上传的参数无线发送给家庭网关;监控电路是真正监控家庭设备的功能实现体,其作用就是根据命令实施具体控制或者为用户提取设备状态;家庭设备包含家电设备(灯、空调等)、机械设备(水阀、机械按钮等)和消防安防设备(如烟雾传感、红外人体感应等)。
下面的示例节点可以简单地说明设备节点的硬件组成及工作原理。
图3为照明控制节点原理图。照明控制节点的无线控制模块为nRF24LE1;控制电路由继电器HRS4H-S-DC 5 V、三极管C8050和电阻R组成;家庭设备为一盏照明用灯。nRF24LE1内部集成单片机的P0.0引脚向控制电路输出0或1的控制信号,进而控制照明灯供电线路的通断。
图3中的nRF24LE1代表完整的nRF24LE1应用电路,包含了芯片外围器件及线路。
2.2 无线模块组网设计
系统中所采用的无线模块nRF24LE1内置了点对点无线通信协议控制和CRC纠错硬件电路, 数据编解码和CRC产生及校验均由硬件完成。
但nRF24LE1不像ZigBee那样有着成熟的组网标准。虽然Nordic为无线桌面及其他应用设计推出了一套完整的无线通信协议——Gazell协议,但其所能承受的网络最多为1个主机和6个外设,且主机只有收到外设数据包后才能发送数据到外设。其他研究机构也有发表相关通信协议的论文,但他们所述的协议一般适用于数据量大、需要连续传输时的情况[3]。而此系统通信的特点是节点多、数据量小。
所以,本系统设计一个适用于此系统的简单组网协议。鉴于此无线模块所具有的一些通信协议功能,系统组网协议主要从冲突避免的角度来考虑。设备节点的上传数据流程如图4所示。
微处理器S3C2440为用户提供了低价格、低功耗、高性能的小型微控制器解决方案。通过提供一套完整的通用系统外设,S3C2440减少了整体系统成本,无需配置额外的组件[6]。
处理器上所运行的Linux系统支持多用户、多任务,具有良好的用户界面和丰富的网络功能,能够可靠、稳定、安全地运行[7]。
家庭网关中的协调器与设备节点中的无线模块同样也是nRF24LE1。它一方面通过无线网络协调设备节点的运行与通信,另一方面还通过串口与网关处理器进行数据交互。
USB无线网卡和GPRS模块为两种外界通信路径。无线网卡避免了网线对家庭环境的破坏;GPRS为用户提供了另外一种不依赖于因特网的监控方式,使得用户在任何移动网络普及的场所(当下移动网络几乎已经遍布每个角落)都能实现家庭监控。
网关程序的流程如图6所示。初始化包括串口初始化、网络初始化和GPRS初始化。初始化完成后,网关服务器就会进入等待用户连接请求的循环中。
网关会为每个登录用户创建一个处理线程。因此,此网关支持多用户同时操作。
4 监控终端
本系统采用一部Android手机作为监控终端。在Windows系统搭建Android开发环境的步骤为:安装JAVA JDK,解压Eclipse,解压Android SDK,在Eclipse下安装ADT,设置Android SDK路径。
用户要监控家庭设备,就必须与家庭网关建立连接。网关登录界面如图7所示。
界面输入信息中除了网关的IP和port,还有用于验证用户信息的用户名和密码。这样可以有效提高系统的安全等级。
网关登录分为网络登录和短信登录。在有WIFI信号时,可以直接用网络登录。但是在一些没有无线网络可用的场合,用户就只能通过短信的方式登录网关。在短信登录时,用户只需输入正确的用户名和密码即可。
当用户成功登录到家庭网关,网关就会为用户建立服务线程。此时,用户可以在监控界面对家庭设备进行监控。
为了方便用户操作,将控制、监测、场景和设置分为4个界面,并将其放在一个TabHost中,如图8所示。
本系统中,用户可以在控制界面单独控制每个家电,可以在监测界面采集家庭温湿度、获取家庭烟雾和人体感应的报警信息。
场景界面是根据用户的点击进入相应场景模式,并控制相应家庭设备进入这一种场景进行协调运作。
设置界面是设定每一种场景模式可监控哪些家电设备,在界面上可对每一种设备添加或删除。这种添加或删除通过修改网关的配置文件来实现。
5 系统设计的实现与结论
本系统共实现7个节点:灯(3盏)、窗帘、空调、投影仪、烟雾报警、温湿度传感、红外人体感应;共设计6种模式:起床、上班、下班、晚餐、影院和睡眠。
在每一种模式下,对应不同的电器协调运作方式。如起床模式:1号灯打开,窗帘打开,安防系统撤防。当某一模式不符合用户需求时,用户可以根据自身要求来修改模式内容。而进入场景模式是通过简单的Android手机界面按键触发。所以,本文中的基于场景模式的智能家居系统,不但具有了一般智能家居系统的智能化监控功能,还更加符合人性化需求。
参考文献
[1] 叶国伟.智能家居市场现状与趋势[J].中国建设信息,2012(9):54-55.
[2] 厦门万安智能股份有限公司.具有环境适应情景模式的智能家居集控装置:中国,201110425089.2[P].2011.12.19.
[3] 谭晖.nRF无线SOC单片机原理与高级应用[M].北京:北京航空航天大学出版社,2009.
[4] 蒋增文.一种基于 nRF24xx 的混合无线通信协议[J].通信技术,2010,10(43):78-80.
[5] Samsung.S3C2440 user’s manual[S].2004.
[6] 刘海亮,曹家年,郭逢丽.嵌入式智能家居安防系统的研究与实现[J].应用科技,2011,38(2):61-66.
[7] 蔡俊宇.基于Linux的智能家居系统设计与实现[D].武汉:武汉理工大学,2010.