基于Web技术的嵌入式智能家居系统设计

2013-09-17 10:25南春辉
电视技术 2013年3期
关键词:服务器端智能家居嵌入式

南春辉,李 博,武 颖

(中北大学图像处理与智能控制研究室,山西太原 030051)

基于Web技术的嵌入式智能家居系统设计

南春辉,李 博,武 颖

(中北大学图像处理与智能控制研究室,山西太原 030051)

根据人们对智能家居的需求,提出了一种嵌入式智能家居控制系统的解决方案。系统采用S3C6410微处理器和嵌入式Linux操作系统作为软硬件平台,通过构建Web服务器实现对家居设备工作状态的记录和控制,Web客户端利用浏览器即可登录到服务器的监控界面,完成用户认证、门窗控制、照明控制、湿度控制和视频监控等功能。通过对系统进行性能测试,结果表明,系统运行稳定,实时性好,性价比高,具有一定的实用价值。

智能家居;嵌入式系统;Web技术;远程监控

【本文献信息】南春辉,李博,武颖.基于Web技术的嵌入式智能家居系统设计[J].电视技术,2013,37(3).

近年来,随着电子技术、智能控制技术、物联网技术的飞速发展,传统住宅已经不能满足人们的需要,人们对住宅的智能化和安全性的要求越来越高[1]。为此,本系统实现了基于Web Service的远程智能家居系统。系统以Web技术为核心,在基于S3C6410微处理器和嵌入式Linux操作系统的软硬件平台上构建Web服务器,远程客户端通过调用Web服务方法即可实现对家居设备的远程控制。

1 系统结构

整个系统分为3个部分,即现场监控终端、本地控制终端(Web服务器端)和移动终端(Web客户端)。系统结构如图1所示。

系统的3个部分之间通过Web Service来实现数据传输。本地控制终端与现场监控终端进行通信时,本地控制终端是客户端,现场设备终端是服务器端;本地控制终端与移动终端进行通信时,本地控制终端是服务器端,移动终端是客户端。所以在系统中,本地控制终端既担当客户端的角色,也担当了服务器端的角色。

1)现场监控终端

现场监控终端包括对空调、湿度机、电饭锅和视频监控设备的控制。通过接收监控中心的控制数据,控制被监控设备的状态,同时,采集设备的相关信息,当监控中心请求这些数据时发送到监控中心。

图1 系统结构图

2)监控中心

监控中心是整个系统的中心部件,对系统中的数据进行处理、存储,完成数据的路由和分发并监视系统中各个设备的状态,为进行故障诊断与维护作准备。

3)移动终端

移动终端只对设备进行监控,从监控中心获取现场设备信息并进行显示,用户根据这些信息,调节设备控制数据,发送至监控中心控制、调节设备的运行状态。

2 系统设计

2.1 系统硬件设计

系统中的现场监控终端采用三星公司的S3C6410微处理器作为控制芯片,S3C6410是一款高性能的嵌入式处理器,基于ARM11内核,可以稳定运行在667 MHz主频上,支持Mobile DDR和NAND Flash。并且监控终端集成了多种外设接口,如以太网、摄像头、USB等,并配备了温湿度传感器和红外接收头,这些接口完全可以满足对家居设备的控制要求[2-5]。现场监控终端硬件结构如图2所示。

图2 监控终端硬件结构图

2.2 系统软件框架设计

智能家居系统的3个主要组成部分即现场监控终端、监控中心与移动终端之间的通信,是实现远程设备监控的关键。软件框架如图3所示,移动终端通过互联网与监控中心相连,用户家居设备通过Socket技术与监控中心相连,其中监控中心是整个系统的核心。其通信过程如下:

1)用户通过移动终端向监控中心发送请求;

2)监控中心对接收到的请求进行解析,并根据解析结果,向现场监控终端发送相关操作命令;

3)现场监控终端收到命令后对家居设备进行操作,并将操作结果提交给监控中心;

4)监控中心向用户反馈操作结果。

图3 软件框图

由此可见,监控中心在通信过程中既是Web服务器端也是客户端。其中,Web服务集和Web Socket分别负责监测中心与现场监测终端盒移动终端之间的通信。

3 通信过程设计

本系统通过Socket来实现监控中心与现场监控终端之间的通信。在通信过程中,现场监控终端作为Socket服务端,监控中心作为Socket客户端,其通信流程如图4所示。

图4 Socket通信流程图

1)在服务器端,首先建立服务器端的主套接字Socket,来侦听整个网络中的连接请求。当检测到客户端的请求后,向客户端发送收到请求的信息,并建立客户端的连接。然后创建线程用于响应客户端的请求并作出响应。处理完后,如果程序结束,则关闭主套接字,释放资源,退出程序。

2)在客户端,首先建立客户端的套接字Socket,确定要连接的服务器的主机名和端口号。然后发送连接请求到服务器,并等待服务器的反馈。连接成功后,与服务器进行数据交互。数据处理完后,关闭自身的套接字。

3.1 Socket请求消息格式设计

智能家居系统涉及到各种各样的终端设备,如摄像头、灯、空调等。不同设备的控制方式和所需参数也各不相同。要实现对多种设备的操作,必须解决以下问题:监控中心如何针对不同的设备发出特定的操作命令;现场监控终端如何对命令进行解析,完成设备操作并提交设备相关的反馈信息。

系统采用如下解决方法:在程序中构造两个结构体分别表示请求消息和响应消息,这两种消息中都包含了对设备类型的编码及设备相关的参数。

1)请求消息格式

请求消息的格式如图5所示。

图5 请求消息格式

图5中各个域含义如下:

(1)二值参数表示设备状态,占1 bit,取值为“1”表示打开设备,为“0”表示关闭设备。

(2)设备类型码表示当前请求操作的设备对象,由4位组合表示,如表1所示。

表1 设备类型表

(3)操作类型码表示当前请求操作的类型,由3位组合表示,如表2所示。

表2 操作类型表

(4)整型数组针对不同设备,不同操作具有不同的取值及含义。例如,在设备配置中表示新的配置参数等,占用4 byte。

2)请求消息结构体

Socket请求消息格式是针对Socket客户端与服务器端之间的信息传输而定义的,其对应的结构体包含了消息中各个字段信息:

RequestMsg结构体封装了请求消息的各个域,在程序中通过对结构体各个字段的读写即可完成对请求消息的编解码。

3.2 Socket响应消息格式设计

3.2.1 响应消息格式

服务器端根据请求完成设备的操作之后,需要向客户端发送响应信息,响应消息包括了操作设备的类型及返回的参数。客户端(即监控中心)将这些消息存入数据库,以便用户通过移动终端进行查询。

响应消息格式定义如图6所示。

图6 响应消息格式

图6中的各个域含义如下:

1)操作结果占1 byte,结果为真,表示设备操作成功,为假,表示失败。

2)整型数据占4 byte,用于返回设备操作参数,包括设备状态、配置等信息。

3)消息长度占4 byte,用于表示响应消息的长度。

4)操作信息表示操作成功或失败的消息。

5)整型参数保存系统配置参数值,第一个元素表示该数组的长度。

3.2.2 响应消息结构体

程序中定义了用于表示响应消息的数据类型,结构体及各字段对应关系如下:

4 系统实现

4.1 现场监控终端设计

现场监控终端除了要对监控中心的命令进行识别和应答,更主要的是完成对具体设备的硬件操作。包括配置设备、打开/关闭设备、查询设备参数、调节设备等。下文具体介绍函数原型设计。

1)配置设备

相关程序段如下:

此函数配置由dev参数指定设备,配置信息包含在参数val和inf中,配置结果由res参数返回,函数执行成功返回true,否则返回false。

2)设备开关操作

相关程序段如下:

此函数打开或关闭参数dev指定的设备,bstate为真打开,否则关闭。res用于返回响应消息。函数执行成功返回true,否则返回false。

3)查询参数

相关程序段如下:

此函数查询dev指定设备的参数,type代表参数类型,res代表查询结果。

4)调节控制操作相关程序段如下:

此函数调节dev指定设备的参数,参数类型为type,新的参数值为val。

4.2 Web 服务器端

整个系统功能是客户端通过对Web服务器提供的服务调用来实现的,其中所涉及的核心数据保存在Web服务器端的数据库中[6]。服务器端使用了SQL Server数据库。根据本系统的功能需要,数据库中包含9个表,分别是注册用户表、在线用户表、财务信息表、物资信息表、菜谱信息表、健康信息表、事务信息表、配置表和日志表。服务器端以该数据库为数据核心向客户端提供了查询、更新家庭各种信息等服务方法,如图7所示。

图7 Web服务方法

1)用户登录与注销

为了提高系统的安全性,系统设置了用户登录功能。Web客户端访问Web服务器之前先要登录,验证合法后才能进行操作。登录成功后,成为在线用户,Web服务器通过唯一的字符串来标识在线用户。注销即在服务器端删除与客户绑定的唯一标识。

2)用户管理

包含以下功能:注册、增加和删除用户,修改用户信息,设置用户权限。

3)家庭管理

包括家庭财产和物品的管理,用户必须具有特殊权限才能查看或者改变这些信息。

4)设备管理

Web服务器中的数据表包含了各种终端设备的工作状态和配置参数,用户登录服务器即可查询或修改设备信息。

5)系统配置

服务器端的数据库包含了整个系统的配置信息,包括现场监控终端和Web客户端。用户可以随时监控系统各个部分的工作状态。

4.3 Web 客户端

Web客户端,也就是移动监控终端,是一个采用无线通信的PPC手持设备,也可以通过本地PC机的浏览器来模拟。

家居设备信息的管理涉及对监控中心数据库的查询与更新操作,系统将这些操作包含在Web服务器端的服务方法中,Web客户端通过远程调用这些服务方法来实现上述数据库操作,从而实现对设备的开关控制以及状态的监控。Web客户端界面如图8所示。

图8Web客户端界面(截图)

5 结论

本文设计了一种基于Web Service的嵌入式智能家居控制系统,以ARM11微处理器为核心,结合嵌入式Linux操作系统和Web技术,实现了家居设备的远程监控。经过测试,系统运行稳定,且操作界面友好,满足了设计要求。

【本文献信息】郭宇.基于物联网技术的无线医疗监控系统

:

[1]任博,郭佳,张侃谕.基于ARM+MCU的智能温室控制系统的设计[J].自动化与仪表,2010(10):34-37.

[2]许志飞,姚正林.基于ARM的远程视频监控系统的设计[J].微计算机信息,2010(9):105-106.

[3]唐永彬,杨恢东.基于ARM11的嵌入式Web网络监控系统设计[J].电视技术,2011,35(9):122-124.

[4]黄倩,闵华松.基于ARM的远程视频监控系统[J].现代电子技术,2010(1):148-152.

[5]王海燕,魏洪波.嵌入式WEB中TCP/IP协议栈的设计与实现[J].微计算机信息,2007(12):75-77.

[6]杨水清,张剑,施云飞.ARM嵌入式Linux系统开发技术详解[M].北京:电子工业出版社,2008.

Application of Web Technology in Embedded Smart-home System

NAN Chunhui,LI Bo,WU Ying

(Image Processing and Intelligent Control Research Laboratory,North University of China,Taiyuan 030051,China)

In accordance with the requirement of smart-home,a solution for smart-home is proposed based on the embedded system.The hardware system is based on S3C6410 CPU,and the operation system is embedded Linux.By constructing a Web server,the system achieves the work state of the household equipments.Web client uses the browser to log in to the server monitoring interface,complete user authentication,door window control,lighting control,humidity control and video monitoring etc.Through the system performance testing,the results show that the system runs stably with good real-time,high performance/price ratio,and has a certain practical value.

smart home;embedded system;Web technique;remote monitoring

TN919.5

A

南春辉(1987— ),硕士生,研究方向为嵌入式系统、总线技术。

责任编辑:许 盈

2012-05-30

猜你喜欢
服务器端智能家居嵌入式
Linux环境下基于Socket的数据传输软件设计
基于PLC的智能家居控制系统研究
TS系列红外传感器在嵌入式控制系统中的应用
搭建基于Qt的嵌入式开发平台
基于Zigbee的无线通信技术在智能家居中的应用
浅析异步通信层的架构在ASP.NET 程序中的应用
基于Qt的安全即时通讯软件服务器端设计
嵌入式软PLC在电镀生产流程控制系统中的应用
关于智能家居真正需求的探讨
基于C/S架构的嵌入式监控组态外设扩展机制研究与应用