以太网单片机的酒店客房网络集中控制方案

2018-01-15 06:18
单片机与嵌入式系统应用 2018年1期
关键词:客房浏览器中断

(江苏沁恒股份有限公司,南京 210000)

引 言

酒店客房控制系统就是嵌入式Internet的一个典型应用,酒店客房控制系统是利用计算机控制、通信、管理等技术,基于客房内RCU(客房智能控制器)构成的专用网络,对酒店的灯光、空调、门禁、消防、服务等系统进行智能化管理与控制,协助酒店对客房进行实时监控与分析。由于其功能丰富、兼容性强,已成为酒店智能化必不可少的一部分。

嵌入式TCP/IP协议栈的出现使得普通的嵌入式设备能够和计算机PC进行网络通信,基于CH563的RCU,接口资源丰富,可控制客房内多种设备,自带以太网接口,组网方便。基于CH563的Web Server替代传统的电脑服务器,管理员可以通过浏览器直接访问CH563,查看相关网页。与电脑服务器相比,CH563Web Server成本低、体积小,但可以实现相同的Web功能,而且CH563自带TCP/IP协议栈库,开发实现比较容易。

1 总体设计

完整的酒店客房智能控制方案主要由四部分组成:单客房控制系统(以CH563RCU为核心)、控制服务器(CH563Web Server)、管理员控制端(浏览器)、通信传输系统。

1.1 单客房控制系统

RCU(客房控制器)是单客房控制系统的核心部件,RCU可以连接客房内部所有设备开关,集中控制。CH563外设接口数量多、种类丰富,自带以太网接口,方便组网,可以很好地满足RCU的各项指标需求,基于CH563设计的RCU如图1所示。

图1 RCU内部结构框图

1.2 控制服务器

CH563作为Web Server接入到酒店局域网中,内置相关网页文件。它不但要通过网络收集各个房间内部智RCU传来的数据信息,显示在管理员的网页上,还要负责向各个房间传递浏览器下发的控制命令。另外,CH563 Web 界面可以实现定时刷新或由用户手动刷新,可以即时更新客房信息,实时监测。

CH563 Web Server支持管理员权限分级,可以根据不同登录账号设置不同的Web界面。不同等级的管理员拥有不同级别的控制权限,例如:安保人员只显示客房门禁与消防控制,前台只显示客房入住信息管理,客房服务人员只显示客房灯光、空调、通风调节,高级管理人员(例如酒店经理)拥有全部的控制权限。

1.3 管理员控制端

控制端可以是局域网内任意网络设备(例如电脑、手机、平板)的浏览器,管理员凭借管理账号密码可以在控制端设备上登录CH563服务器,查询并控制各客房内部状态。

1.4 通信传输系统

控制端与CH563 Web Server之间的数据通信采用HTTP协议,这是一种基于可靠性传输的TCP应用层协议,CH563在这个系统中作为Web Server,可以响应管理员从网页上发过来的各项请求。网页用户名与密码登录方式保证了数据通信的安全性,管理员可以通过局域网内带浏览器的网络设备,密码登录Web Server,另外,Web Server也支持多个管理员同时登录,但是受限于CH563内存资源的大小,同时支持的登录端数量比不上电脑服务器。

CH563Web Server与各个房间内部RCU之间进行数据通信,采用基于可靠传输的TCP协议。CH563另开一个Socket,用作TCP Client,各房间内RCU做TCP服务器。当Web Server接收到一个客房的控制请求时,CH563即与该房间内RCU建立TCP连接, RCU接收到CH563发送的控制命令后就可以控制房间内的设备或者上报房间的状态信息。当管理员退出该客房的Web界面后,CH563随即关闭与该客房的TCP连接。

该系统还支持突发紧急情况的主动上报。CH563 Web Server新开一个Socket,用作TCP Server,当有消防、门禁异常情况出现时,客房内的CH563RCU会主动与CH563TCP Server建立TCP连接,上传警报信息。CH563 Web Server会将收到的警报信息及时刷新到浏览器上提醒管理员采取相应的应对措施。总体架构如图2和图3所示。

图2 系统连接框图

图3 控制传输关系图

2 具体实现

2.1 CH563简介

CH563系列单片机是 32 位 RISC 精简指令集 CPU,指令集兼容 ARMv5TE,支持 16 位 Thumb 指令和增强 DSP 指令。默认系统主频为 100 MHz,最高可达 130 MHz。高度集成的外设以及高性能,使其可以广泛地应用于各种嵌入式应用。

CH563的外设组件包含最高 224 KB的 Flash闪存、64 KB的SRAM、28 KB的DataFlash、百兆以太网、高速/全速 USB 主机/从机接口、2 个 SPI 接口、2 个 UART 接口、3 通道 10 位 ADC、4 个通用定时器、8 位被动并行接口、8/16/32 位 Intel 时序的总线接口、在系统编程 ISP 接口和多达 74 个通用 I/O引脚[1]。

CH563芯片自带以太网 MAC 和 PHY,支持 10/100 M、全双工、半双工、自动协商、线路自动转换等功能,兼容 IEEE 802.3,802.3u和FDDI-TP-PMD协议,收发各独立的2 KB FIFO,可以直接和网络终端如 PC、嵌入式设备进行数据交互。CH563NET.LIB 提供了 TCP/IP 子程序库,集成了 TCP、UDP、ICMP、ARP、RARP、ICMP、IGMP 等以太网协议栈。可以同时支持 TCP、UDP和IPRAW三种模式,最大支持 31个Socket。网络库函数可以由用户直接调用,大大降低了网络开发者的使用难度。

2.2 TCP/IP协议简介

TCP/IP协议是一套把因特网上的各种系统互连起来的协议组,以保证因特网上数据的准确、快速传输。参考开放系统互连(OSI)模型,TCP/IP通常采用一种简化的4层模型,分别为:应用层、运输层、网络层、链路层[2]。

链路层首要工作是在本地范围内实现网络,为在面向硬件的物理层以及更抽象的面向软件的网络层及上面各层的功能提供接口。网络层的主要协议是IP(Internet Protocol),主要用于设备之间数据交互。运输层主要包括两个协议:传输控制协议(TCP)和用户数据报协议(UDP),该层负责完成将数据从一个地方传送到另一个地方的具体工作细节部分。应用层负责处理特定的应用程序细节,它需要有一个定义清晰的会话过程。在本系统中,运输层使用TCP,应用层使用HTTP。

2.3 HTTP协议简介

HTTP(Hyper Text Transfer Protocol,超文本传输协议)基于TCP协议,是客户端浏览器与Web服务器之间的应用层通信协议[3]。在Web服务器上存放的都是超文本信息,客户机需要通过HTTP协议传输所要访问的超文本信息,浏览器接收Web服务器上的网页代码,并翻译成网页界面。

HTTP协议是基于请求/响应格式的,客户端与服务

图4 HTTP通信过程示意图

器之间的信息交互分为4个过程:建立连接、发送请求信息、发送响应信息、关闭连接。通常,由HTTP客户端(浏览器)发起一个连接请求,建立一个到服务器指定端口(默认是80端口)的TCP连接。HTTP服务器(Web Server)端口监听客户端发过来的HTTP请求。一旦接收到请求,服务器向客户端返回一个状态行和响应消息,该消息可以是请求的文件,比如:HTML文件或者图片。客户端请求的文件传输完毕后,TCP连接随即断开,本次HTTP传输过程结束,浏览器可以随时发起下一次HTTP请求。完整的HTTP通信过程如图4所示。

2.4 硬件设计

硬件主要由CH563芯片以及其外围电路组成,整个硬件结构简单、成本低、功能强。

CH563单片机自带以太网 MAC 和 PHY,无需外接其他网络芯片,支持 10/100M速度、全双工、半双工、自动协商、线路自动转换等功能。芯片的网络差分信号引脚经过网络变压器,通过RJ45网络接口便可以直接与外部使网络设备进行通信。硬件原理图如图5所示。

图5 硬件原理图

2.5 软件设计

2.5.1 主程序流程图

CH563NET.LIB提供了 TCP/IP 子程序库,集成了TCP、UDP、ICMP、ARP、RARP、ICMP、IGMP等以太网协议栈。CH563上电后先完成单片机与网络功能的初始化,设置好CH563的IP地址、子网掩码、网关。然后打开三个socket,分别建立两个TCP Server与一个TCP Client。TCP Server本地端口设为80,用作Web服务器;另一个TCP Server 用作监听警报信息,端口1000,TCP Client端口随机,与各房间内RCU建立通信。

图6 主程序流程图

CH563NET初始化后,应用层需要开启以太网中断和全局中断,并在相应的中断函数中调用中断服务函数,另外库函数需要外部提供时钟,用于和时间相关的任务,例如刷新 ARP 列表、TCP 超时等,所以还需要应用程序初始化一个定时器,在定时器溢出中断中调用定时器中断服务函数。

主程序中循环查询网络中断状态,中断状态主要分为两大类:全局中断与Socket中断,Socket中断主要有TCP连接、关闭,数据接收中断。CH563查询当前状态并进入相应的处理函数。主程序流程图如图6所示。

2.5.2 Web Server处理流程

CH563实现Web Server功能,需要先打开Socket建立TCP Server,端口80,在此基础上,通过程序实现HTTP协议,完成从浏览器到563的网页信息交互。CH563会分析接收到的数据内容,如果解析的数据内容符合HTTP请求规范,那么CH563就会发送相应的HTTP消息,向浏览器返回网页界面与显示信息。如果浏览器的HTTP请求中包含了对客房的控制命令,那么CH563就会执行RCU处理函数,转发浏览器的控制命令到各个房间的RCU。CH563的Web Server处理流程如图7所示。

图7 Web Server处理流程图

2.5.3 TCP Client处理流程

图8 TCP Client处理流程

CH563要想实现对客房的远程控制,需要与房间内RCU建立TCP通信,传输控制命令。CH563从浏览器的HTTP请求中解析出控制命令以及对应的房间号,然后,CH563会建立TCP client连接到该房间的RCU控制器,房间内RCU会接收控制命令,控制继电器、开关等完成相应的动作。TCP Client的处理流程如图8所示。

3 实用效果

酒店管理人员在局域网内使用任意带浏览器的网络设备(如电脑、手机、平板电脑),都可以登录CH563 Web Server,通过浏览器网页查看各房间信息,控制房间内设备的运转。

基于HTTP和TCP的信息传输稳定、可靠、快速,使用起来十分方便,方便与远程监控管理,不影响房客的正常休息,可随时监控房间温湿度以及设备运转情况。同时,通过网页可以实现酒店客房集中式的远程管理,节省了大量的人力与时间,图9是酒店经理(拥有全部权限)登录CH563 Web Server之后的网页酒店管理界面显示。

图9 酒店管理页面效果图

结 语

[1] 江苏沁恒股份有限公司.CH563DS1.PDF,2017.

[2] Kevin R Fall,W. Richard Stevens. TCP/IP详解(卷一)[M].北京:机械工业出版社,2016.

[3] RFC2616-Hypertext Transfer Protocol—HTTP/1.1[EB/OL].[2017-10]. http://www.docin.com/p-70057432.html&endpro=true.

猜你喜欢
客房浏览器中断
反浏览器指纹追踪
酒店智能客房影院系统构建指引
第28次瑞典冰旅馆
烟囱里的客房
跟踪导练(二)(5)
千里移防,卫勤保障不中断
环球浏览器
纽约有家“图书馆饭店”:有60间客房6000本藏书
AT89C51与中断有关的寄存器功能表解
FPGA内嵌PowerPC的中断响应分析