劉利方,羅亞輝,李旭
(湖南農業大學 工學院,長沙 410128)
酒店客房智能管理與控制終端設計*
劉利方,羅亞輝,李旭
(湖南農業大學 工學院,長沙 410128)
設計了一種酒店客房智能控制終端(RCU)。以ARM Cortex-M3微處理器(LM3S6911)和嵌入式實時操作系統RT-Thread作為系統控制核心平臺,詳細介紹了系統軟硬件架構,討論了酒店客房智能控制終端的硬件設計和軟件實現流程。測試和實際應用結果表明,該酒店客房智能控制終端實現了低功耗、 高效率、 高穩定性、 自動化和智能化功能,且便于維護和管理。
客房智能控制; ARM Cortex-M3 ;以太網通信
酒店客房智能管理控制系統是利用計算機控制、通信、網絡等技術,基于客房內的RCU(客房智能控制器)構成的專用網絡,對酒店客房的安防系統、門禁系統、中央空調系統、智能燈光系統、服務系統等進行智能化管理與控制,實時監測客房狀態、賓客需求、服務狀況以及設備情況等,協助酒店對客房設備及內部資源進行實時控制分析的綜合服務管理控制系統。 其自動化水平是酒店現代化和智能化程度的重要標志,體現了酒店對客人的人性化、個性化服務,不僅能夠極大地提高酒店的服務管理水平,而且能夠使客房環境更舒適、安全、便利和節能。
目前市面上主流的RCU終端多基于8位單片機或32位ARM9系列 MCU開發,如參考文獻[1]設計了基于AT89C55 的酒店客房控制系統下位機,參考文獻[2]實現了一種基于S3C2410A(ARM920T)的智能酒店客房管理系統。此外,RCU組網方式多采用RS-485或CAN總線。 由于 RS-485 總線具有帶負載能力差、布線復雜等缺點, 所以系統穩定性、可靠性和擴展性相對較差, 維護成本也較高。而CAN 總線不能與 Internet 互連實現遠程信息共享, 且需要價格昂貴的 CAN 接口卡,通信距離和速率遠不如以太網[1-3]。
隨著高性價比的ARM Cortex-M3內核在嵌入式處理器中得到廣泛的應用,針對現有RCU終端存在的缺陷, 本文設計了一種基于ARM Cortex-M3微控制器和以太網通信技術的酒店客房智能管理與控制終端, 實現對酒店客房的狀態信息及客房內電氣設備的智能監控 。
酒店客房智能管理與控制系統主要由中心、傳輸、前端三部分組成,系統架構如圖1所示。其中心部分由管理電腦及系統軟件組成,實現對前端各客房燈光、電器等設備的監測及控制;傳輸部分主要由網絡交換機及傳輸線纜組成,實現前端與中心設備之間通信;前端部分主要由 RCU和相應的傳感器、控制開關和繼電器等設備組成。

圖1 酒店客房智能管理與控制系統架構圖
RCU是整個智能控制系統的核心,其實現的主要功能包括:
① 房間設備遠程監控。通過與酒店客房智能管理系統的聯網實現遠程監控和管理,實現對客房燈光、 電動窗簾、 溫度運行狀態實現遠程監控及狀態設定與改變。
② 燈光控制。終端以弱電方式實現對客房強電燈具、受控電源插座的控制。采用插卡取電的方式 ,盡可能地節省電能。客人進入房間插卡取電后,能自動打開指定的燈光。當客人離開房間后, 延時(時間可調)關閉上述燈具,其余燈具立即關閉。客人晚上休息時,按下床頭總控開關, 除夜燈外的所有燈具關閉。
③ 空調風機控制。空調是電器中的耗能大戶,控制終端對空調的合理控制能夠極大地降低能源的浪費。當客人在前臺登記時,客房的空調能通過前臺管理系統啟動“歡迎模式 ”,自動調整房間溫度到客人舒適溫度,使客人進房間有一種溫馨感覺。客人入住插卡后,空調完全由客人控 制。客人離開后,房間進入保溫模式,空調自動運行于網絡設定溫度。客人退房后,空調自動關閉。
④ 衛生間紅外開關聯動控制。衛生間頂部的紅外探測器探測到人移動信號,自動開啟浴室燈和排氣扇;如沒有探測到人移動信號,則延時15分鐘關閉浴室燈、鏡前燈、排氣扇。
⑤ 其他控制功能。包括請勿打擾、請即清理、請稍候、請求退房和SOS緊急呼救顯示燈和開關控制。
本文所設計的RCU硬件平臺由主控板和接口板兩個單元組成。采用模塊化設計,一方面將強電和弱電電路分離,另一方面將接口電路和主控單元從物理上分割開來,從而保證系統的穩定性、可靠性和可擴展性。RCU終端硬件框圖如圖2所示。
主控板包含微控制器、電源、以太網通信接口、RS-485通信接口以及開關量輸入接口電路。選用TI公司的LM3S6911作為主控制器。該微控制器是基于ARM Cortex-M3的控制器,為成本尤其敏感的嵌入式微控制器應用方案帶來了高性能的32位運算能力。接口板是一塊強電板,主要包含多路繼電器驅動電路和晶閘管驅動電路。RCU除以太網和RS-485接口外,所有輸入均采用開關量輸入。輸出主要通過繼電器來控制客房內的電器設備,通過采用弱電控制強電的方式,用繼電器控制220 V交流電,保證用電的安全。
軟件平臺基于嵌入式實時操作系統進行開發,由于RCU應用程序比較復雜,特別是上行采用TCP/IP協議與酒店客房控制系統進行交互,因此軟件平臺選擇嵌入式實時操作系統RT-Thread。RT-Thread是一款開源實時操作系統,由國內專業開發人員開發、維護。它不僅僅是一款高效、穩定的實時核心,也是一套面向嵌入式系統的軟件平臺,覆蓋了全搶占式的實時操作系統內核,具有小巧且與底層具體實現無關的文件系統、輕型的TCP/IP協議棧以及輕型的多窗口多線程圖形用戶界面。RT-Thread本身已經很好地支持ARM Cortex-M3平臺和TI的LM3S系列微控制器,移植到本文所設計的RCU硬件平臺相對容易。由于RT-Thread操作系統平臺提供了豐富的API接口資源,大大降低了應用程序開發難度,縮短了產品開發周期[4-5]。

圖2 RCU硬件框圖
RCU終端選用LM3S6911作為主控制器。該芯片針對工業控制應用方案而設計,具有豐富的內部資源和外設接口。芯片內部Flash和SRAM大小分別為256 KB和64 KB。其中Flash可由用戶自定義和管理,即應用程序可使用內部Flash單元存儲數據或運行參數,從而無需另外擴展專門的數據存儲器。
LM3S6911還提供一個10/100M自適應全雙工以太網接口,內部集成了MAC和PHY控制器,特別適合于嵌入式以太網的應用場合。此外,該芯片還提供3個UART、2個I2C和最多46個GPIO接口,為RCU的設計提供了較大的靈活性。
2.1 輸入接口電路設計
為實現高達56路開關量輸入的監測,使用了多路并行轉串行技術,如圖3所示。

圖3 RCU終端輸入接口電路(部分)

2.2 輸出接口電路設計
同輸入接口類似,輸出電路使用SN74HC595實現多路并行轉串行,實現了多達24路繼電器控制邏輯,原理與輸入接口電路相似,不再贅述。
終端軟件采用分層、模塊化設計思想。軟件自頂向下分為3層,即應用層、內核層和BSP層,如圖4所示。
3.1 應用層
應用層由uplink_task、rs485_task、event_poll_task和relay_ctrl_task等4個關鍵任務組成。軟件主流程如圖5所示。
① uplink_task通過socket套接字處理與上位機智能客房管理系統的交互。系統采用C/S架構設計,在本系統中RCU終端為服務器端(Server)。uplink_task首先綁定(bind)一個服務端口,然后監聽是否有客戶端(Client)嘗試建立連接,接著處理客戶端發過來的交互信息或控制命令。
② rs485_task通過RS-485總線處理與門口顯示器、空調控制器和插卡取電單元的信息交互。由于終端需要立即響應插卡取電信息,默認每200 ms輪詢一次,而門口顯示器和空調控制器任務實時性要求不高,其輪詢周期分別設置為1 s和3 s。如此設計能最大程度地兼顧實時性,又不至于使系統負荷過高。

圖4 RCU軟件系統框圖
③ event_poll_task監控開關量輸入事件,并調用相應的事件處理函數。本文所設計的RCU終端最多支持56路開關量輸入和24路繼電器輸出,各開關量和繼電器的功能可以由用戶自定義,開關和繼電器的對應關系也可以自由配置,體現了較大的靈活性。event_poll_task任務周期性地掃描所有的開關量輸入,經過軟件防抖算法處理后,找出變化的開關量(表示開關按下或者釋放),調用相應的處理函數,執行相關的處理邏輯(如驅動對應的繼電器)。

圖5 RCU軟件主流程圖
④ relay_ctrl_task為后臺守護線程,監控遠程控制命令并在后臺執行。若上行任務接收到遠程控制命令后直接執行,可能會造成線程堵塞,導致后續指令無法及時響應,送給relay_ctrl_task執行實際的繼電器操作。
3.2 內核層
內核層即RT-Thread RTOS核心層和TCP/IP層。RT-Thread Kernel內核部分包括了RT-Thread的核心代碼,以及對象管理器、線程管理及調度、線程間通信等的微小內核實現。內核庫是為了保證內核能夠獨立運作的一套小型類似C庫實現,LwIP 是瑞士計算機科學院( Swedish Institute of Computer Science)的Adam Dunkels等開發的一套用于嵌入式系統的開放源代碼TCP/IP協議棧,它在包含完整的TCP協議基礎上實現了小型的資源占用,因此它十分適合于使用到嵌入式設備中,占用的體積大概在幾十KB RAM和40 KB ROM代碼。由于LwIP 資源占用小,且功能也相對完善,用戶群比較廣泛, RT-Thread采用LwIP作為默認的TCP/IP協議棧,同時根據小型設備的特點對其進行再優化,體積相對進一步減小, RAM占用縮小到5 KB左右。
3.3 BSP層
BSP層介于硬件和操作系統內核層之間,包含CPU體系代碼和驅動層代碼兩部分。RT-Thread官方源碼中包含了IM3S8962平臺的移植,并整合了TI官方發布的器件驅動庫。但RT-Thread并不包含LM3S6911的支持代碼,需要根據實際硬件平臺進行BSP移植。對于本文設計的RCU終端,BSP移植的重要工作包括修改UART驅動以支持RS-485總線通信,修改Ethernet驅動以支持MAC地址設置,以及修改MCU時鐘頻率設置和時鐘參數配置等。

[1] 鄧淳,張德源. 基于AT89C55 的酒店客房控制系統下位機設計方案[D]. 成都:電子科技大學,2006.
[2] 付珊珊, 郭家虎, 胡興杰.基于ARM920T 的智能酒店客房管理系統設計[J].現代建筑電氣,2014, 5(4):59-63.
[3] 李鵬,劉旭東,寧福斌. 基于無線數據傳輸的嵌人式智能酒店客房控制系統[J]. 濰坊學院學報,2014, 14(2): 29-31.
[4] 徐小玲, 劉美, 李緒政. 基于STM32 的無線智能家居終端設計[J]. 電子設計工程,2016,24(3):176-180.
[5] 陳俊彥,何燕.RT-Thread 和 Qt的可視化印花機控制系統設計[J].單片機與嵌入式系統應用,2014(7):46-49.
劉利方(工程師),主要研究方向為單片機與嵌入式系統應用;羅亞輝(副教授),主要研究方向為農業電氣化與自動化;李旭(教師),主要研究方向為自動控制。
Design of Intelligent Control Terminal for Hotel Rooms
Liu Lifang,Luo Yahui,Li Xu
(College of Engineering ,Hunan Agricultural University,Changsha 410128,China)
In the paper,a hotel room intelligent control terminal (RCU) is designed,which is based on the ARM Cortex-M3 microprocessor (LM3S6911) and the embedded real-time operating system (RT-Thread).The hardware design and software implementation flow of the intelligent control terminal are discussed.The test and practical application results show that the intelligent control terminal realizes the low-power consumption,high efficiency,high stability,automation and intelligence.The design saves the investment,and is easy to maintain and manage.
guest room intelligent control;ARM Cortex-M3;Ethernet communication
湖南農業大學青年基金項目(項目編號:15QN06)。
TP368
A
?迪娜
2017-03-02)