结合嵌入式系统、ZigBee、RFID、GPRS和以太网技术,提出一种基于ARM920T的智能酒店客房管理系统的设计方案。给出了智能酒店客房管理系统的总体架构,详细讨论了客房管理装置控制器的硬件设计和软件实现流程。管理系统实现了对酒店门禁和客房内各种设备的集中控制和管理。实际应用结果表明,管理系统实现了低功耗、高效率、高稳定性、自动化和智能化,节省了投资,且便于维护和管理。
关键词:客房管理系统;嵌入式系统;以太网;集中控制;
作者简介:付珊珊(1988—),女,硕士研究生,研究方向为嵌入式系统、计算机控制、智能家居等。
0引言
酒店客房管理系统是对酒店客房内所有灯光和电气设备进行集中监控和管理的系统,其自动化水平是酒店现代化和智能化程度的重要标志[1]。目前客房管理装置大多采用单片机作为客房管理主控制器。控制器外围电路复杂,可扩展性差,稳定性差。文献[2]提出了一种基于AT89C55的酒店客房控制系统下位机设计方案,每间客房的下位机与上位机的通信子系统采用RS-485总线。由于RS-485总线具有利用率低、易瘫痪等缺点,所以系统网络稳定性和可靠性相对较差,后期维护成本也较高。文献[3]提出了一种基于CAN总线的客房通信控制器的设计方案。由于CAN总线不能与Internet互连实现远程信息共享,且需要价格昂贵的CAN接口卡,通信距离和速率远不如以太网[4]。
本文针对现有的酒店客房管理装置存在的缺陷,设计了一种基于嵌入式系统及物联网技术的智能酒店客房管理系统,实现对酒店客房的状态信息及客房内电气设备的智能监控。
1智能酒店客房管理系统总体设计
本文设计的智能酒店客房管理系统采用集中管理和分散控制的系统结构,利用ARM嵌入式控制器、ZigBee、GPRS和以太网技术,将酒店客房内独立的电气设备升级成实时在线的网络设备,来完成对酒店客房的智能管理。智能酒店客房管理系统主要由两部分组成,分别是系统数据中心设备和客房管理装置,如图1所示。
系统数据中心设备包括酒店数据管理中心服务器,前台、客房部、工程部、保安部、经理室管理计算机,交换机,系统管理软件等几个部分。酒店各部门管理计算机通过访问酒店数据管理中心服务器,即可实现对客房的状态信息查询和客房内各网络设备的智能监控和管理,从而实现集中管理。客户只要在电脑和智能手机上装上相应的系统管理软件,拥有了相应的权限,也可以访问酒店数据管理中心服务器,实现远程自主预定客房等功能。
客房管理装置包括客房管理装置控制器、信息终端、监控设备、电子门锁、空调、电动窗帘、传感器、插卡取电开关和一些服务功能按钮。客房管理装置控制器主要功能包括转发酒店数据管理中心服务器下发的控制命令至客房内各个电气设备,并采集客房内各个电气设备的状态信息发送至酒店数据管理中心服务器,再反馈到酒店相应部门管理计算机,便于工作人员及时了解房间的状态,提供相应的服务。
酒店客房管理系统采用两级网络通信机制,即高层的以太网、GPRS网络和底层的ZigBee网络。通过以太网交换机将酒店数据管理中心服务器、各部门管理计算机和每间客房里的电脑、客房管理装置控制器相连,形成酒店内部局域网,实现酒店内部资源共享[5]。为了保障酒店内部管理数据信息的安全,建立了防火墙将酒店内部局域网与Internet隔开,客户只要拥有权限还可以通过Internet来访问酒店数据管理中心服务器。客房管理装置控制器还可以与智能手机通过GPRS网络或短信方式通信。客房管理装置控制器上嵌有ZigBee网络协调器,用来查询和控制客房内电子门锁等ZigBee网络终端节点;ZigBee网络各终端节点会立即返回查询信息和控制命令成功与否的标志;刷卡信息和服务功能按钮信息会通过ZigBee网络主动上报酒店相应部门管理计算机。
2客房管理装置控制器的硬件设计
客房管理装置控制器框图如图2所示。以S3C2440A核心板作为主控制器,采用核心板加底板的设计。模块化的设计保证了稳定性和可扩展性,也缩短了开发周期。主控制器采用6层PCB板设计,经过长期强电磁环境测试,性能稳定。底板上设计了电源模块、USB摄像头、CC2530核心板模块、GPRS模块、以太网模块和液晶显示模块。底板采用两层PCB板设计,保证系统正常工作的同时降低了成本。
2.1USB摄像头
为了实时采集客房内的视频图像信息,引出了S3C2440A的DN0、DP0,设计了USBHOST接口来连接USB摄像头。还引出了S3C2440A的DN1、DP1,使PC机和客房管理装置控制器采用USB方式实现在线调试和下载应用程序。
2.2液晶显示模块
客房管理装置控制器上设有信息终端(即液晶显示模块),方便客户在线查询。在系统初次组建ZigBee无线通信网络时,需要开发工作人员通过信息终端设置房间号。S3C2440A内部集成了LCD控制器,将所有的LCD信号线用插座接口引出来,方便液晶显示屏插入使用。设计中采用了标准四线电阻式触摸屏,50针LCD接口电路。测试发现S3C2440A最大可支持8英寸TFT-LCD液晶显示屏AT080TN52。设计中采用了跳帽选择3.3V或5V为LCD供电,对更多款液晶显示屏予以电压支持。
2.3CC2530核心板模块
以往采用客房管理装置控制器的串口与电子门锁节点进行通信读取用户卡信息。该带有门锁线的电子门锁节点安装极其不便。也有采用在客房管理装置控制器和电子门锁节点上嵌入NRF905等无线射频通信模块组网实现通信的。但酒店客房还需要布设大量其他节点,如空调、电动窗帘、灯光、温度、烟雾、红外传感器等。另外考虑到ZigBee技术功耗更低,节点可多达65000个,还具有超强的自组网能力[6],故选用ZigBee芯片CC2530核心板模块作为ZigBee网络的协调器。CC2530核心板有2个20针的接口,设计了S1按键低电平复位电路,P0.2、P0.3、P0.4、P0.5分别与S3C2440A的SPI1通道相连。CC2530作为从机,P0.4作为芯片片选信号引脚,P0.5作为SPI时钟信号引脚,P0.2、P0.3作为SPI数据线传送数据。
2.4GPRS模块
通过GPRS模块,酒店工作人员和客户可以利用手机短信或GPRS网络方式连接酒店管理数据中心服务器申请预订房间、查询客房状态信息等。设计中采用了内置有TCP/IP协议栈的MG2639无线模块。MG2639的PWKEY_N引脚对地接1kΩ电阻实现上电自动开机,也可以通过S3C2440A的EINT1/GPF1引脚实现软件方式开机或者关机;RS_LED引脚连接LED2,通过LED2的不同闪烁频率来指示GPRS模块的工作状态。另外MG2639的11、12、13、14引脚用来连接SIM卡,15、16引脚与S3C2440A的串口相连,实现串口通信和AT指令的输入。
2.5以太网模块
以往客房控制器多用单片机和RS-485总线或者CAN总线布线,需要信号中继器和通信控制器,耗费很多人工和材料费用,且通信距离和速度都不及以太网。以太网设备易于组网的特点使得系统安装、调试和维修方便,此外通信速度快、稳定性高,方便连接Internet实现资源共享[4]。在嵌入式领域,常见的以太网控制器有CS8900A、RTL8019AS、DM9000A等。其中CS8900A的接线比较复杂;RTL8091AS功能比CS8900A强大,驱动简单,接线相对简单;DM9000A功能最强大,自适应以太网速度(10Mb/100Mb),接线最简单。故选用高速以太网控制芯片DM9000A。S3C2440A的NGCS4引脚与DM9000A的37号引脚片选信号相连实现片选;S3C2440A的EINT7引脚来响应DM9000A的中断信号;S3C2440A的NOE、NEW引脚连接DM9000A的IOR#、IOW#读写引脚,设置S3C2440A的引脚OM[1∶0]=01,使数据总线宽度为16位,数据线DATA[15∶0]与DM9000A的SD[15∶0]相连,实现DM9000A与S3C2440A的数据传输;DM9000A的RXD+、RXD-、TXD+、TXD-引脚和网络隔离变压器HR911105A相连实现与RJ45接口数据的接收和发送。
2.6电源模块
由于客房管理装置控制器底板上的GPRS模块MG2639工作电压需要约3.9V,且保证输出电流大于2A。此外底板上的USB摄像头接口需要5V电压供电,CC2530核心板模块需要3.3V电压供电。故系统采用了大电流低压差稳压器LM1084-5和正向低压降稳压器AMS1117-3.3作为电源芯片,满足客房管理装置控制器各模块工作电流电压需求。
3客房管理装置控制器的软件实现
3.1通信协议设计
采用了两级网络通信机制,故需分别设计通信协议。客房管理装置控制器与酒店数据管理中心服务器之间的数据帧结如表1所示。
这是一个长度可变的数据帧,其中:
(1)长度为1Byte,从门店房间编号到校验的字节数。
(2)门店房间编号为4Byte,门店编号是为连锁酒店设计的,用高2个字节表示各连锁酒店编号,用低2个字节表示酒店房间编号。
(3)设备为2Byte,用高1个字节表示设备类型(如电子门锁、空调等),用低1个字节表示设备编号(如1#电子门锁、2#电子门锁等)。
(4)命令参数为2Byte,用高1个字节高4位表示请求、响应,低4位表示命令类型(如控制、查询等),用低1个字节表示命令(如预订房间、退房等)。
(5)参数字节长度可变,当表示设置房间门锁用户卡信息时,可用27Byte表示,控制命令是否成功返回参数可用1Byte表示。
客房管理装置控制器S3C2440A核心板与CC2530核心板之间的通信协议与表1类似,只需将门店房间编号和设备这两个参数转换成终端节点的短地址。S3C2440A核心板的操作系统根文件里存有门店号、房间号、设备类型、设备编号、设备短地址对应的列表,酒店数据管理中心服务器下发命令时,只需指定门店房间编号和设备就可以通过查表获取指定终端节点的短地址,实现与指定终端节点的通信。
3.2软件设计
由于WindowsCE操作系统具有开发环境简单易用,应用软件丰富,与计算机Windows操作系统连接性好的优点[7],所以酒店客房管理装置的软件平台采用了微软的PlatformBuilder来定制WindowsCE5.0操作系统,在VisualStudio2005开发环境下利用基于VisualC++智能设备的MFC智能设备应用程序模板编写了客房管理装置控制器的应用程序软件。客房管理装置控制器有多个任务需要同时进行处理,故选择多线程编程来实现通信功能。利用MFC类库创建了3个WorkersThreads(工作者线程)专门用于查询、读取和处理CC2530核心板、GPRS模块、以太网模块的数据。客房管理装置控制器的主程序流程图如图3所示。
设计客房管理装置控制器的应用程序时,CC2530协调器、GPRS模块、以太网模块开始需要初始化,调用CreateThread函数创建3个工作者线程,若成功创建,再调用CloseHandle函数关闭线程。这些工作都在InitInstance()函数中实现,如果不成功,则返回错误代码。客房管理装置控制器需要设计一个用户登录验证界面,酒店管理员需要输入用户名和密码,根据用户信息数据库验证其合法性,才拥有相应的操作权限。
当终端节点需加入ZigBee网络时,点击客户区的开启网络按钮,节点成功加入网络后,用户可以通过键盘设置对应的房间号,并把门店号、房间号、设备类型、设备编号、设备短地址对应的列表存入S3C2440A核心板的操作系统根文件下。这样才能确保每个ZigBee网络终端节点能与酒店数据管理中心服务器正常通信。
当客户智能手机或者酒店管理计算机通过GPRS网络或者以太网下发指令时,操作系统检测到有数据帧事件,会选择唤醒GPRS任务工作者线程或者以太网任务工作者线程,线程函数读取该数据帧。当数据帧正确接收,自定义的消息便通知消息处理函数来解析和处理该数据帧。在消息处理函数中,判断是否是图像传输请求,若是则选择调用GPRS发送数据函数或者以太网驱动发送视频图片数据帧;否则调用CC2530发送数据函数来转发该数据帧,通过ZigBee网络最终到达对应的终端节点,从而执行该指令。
当房间内客户有服务请求或者传感器有数据需要上报,相应的终端节点会通过ZigBee网络上报至客房管理装置控制器。操作系统检测到有数据帧事件,唤醒CC2530任务工作者线程,线程函数会读取该数据帧,当数据帧正确接收,自定义的消息便通知消息处理函数来解析和处理该数据帧。在消息处理函数中,判断是否采用以太网发送,若是则选择调用以太网驱动转发这个数据帧,上报至酒店管理计算机;否则调用GPRS发送数据函数来转发这个数据帧,上报至客户智能手机。
4结语
在现场测试了系统的性能,实际应用结果表明,基于ARM920T的智能酒店客房管理系统结构简单,易于搭建,功能强大。设计的以太网和GPRS模块使得客房管理控制器与酒店管理计算机和客户智能手机通信的可靠性更高,系统也便于调试、维护和管理。客房内的电气设备采用ZigBee无线网络组网,避免了单独布线所耗费的材料费和人工费。客房管理控制器对空调、灯光等设备的智能控制策略大大节约了电能。