賀永健,張愛軍,宋高順
(1.南京理工大學機械工程學院,江蘇 南京 210094;2.北京機械設備研究所 北京 100076)
隨著社會經濟的進步,以人為本的生活類服務型行業的需求與日俱增,而酒店服務作為其中的重要組成部分,急需新興技術的研發投入,以實現客房控制系統[1]的智能化。
傳統的客房控制系統多采用RS485 總線[2]、CAN總線[3]和Zigbee[4]等通信方式實現客房內設備的控制,其中RS485 總線和CAN 總線通信具有施工成本大、可擴展性差等特點;Zigbee 通信雖然組網穩定,但搭載設備少,生態系統小,不利于客房控制系統的功能擴展。
針對上述問題,采用藍牙Mesh 技術設計了一種智能酒店客房控制系統。該系統選用ESP32 系列芯片作為硬件控制平臺,對內使用藍牙Mesh 技術通信[5-7]實現客房內設備的組網接入;對外通過MQTT 協議[8]傳輸數據,實現云平臺和客戶端之間的信息交互;同時通過微信小程序的界面設計,極大地便利了房客對客房內設備的遠程控制。整個系統的搭建成本較低、簡單實用,便于功能擴展。
智能酒店客房控制系統以無線通信為主要技術手段,通過對無線網絡通信的設計,完成客房內各設備的智能控制。系統采用藍牙Mesh 無線網絡技術對酒店客房內各設備進行組網通信設計,該方案客房控制系統主要由藍牙Mesh 網關節點、藍牙Mesh子節點、阿里云物聯網平臺和手機微信小程序四部分組成,其總體設計方案如圖1 所示。

圖1 總體設計方案
系統對客房內各個子節點的配網、配置、數據上傳、控制命令下發及客房通斷電等工作由網關節點來完成;網關節點與各個子節點間采用藍牙通信,使用藍牙Mesh 技術構建一種泛洪網絡;網關節點與云平臺采用WiFi 通信,通過MQTT 協議來訂閱和發布消息[9]。
網關節點采用ESP32S3 芯片作為處理器,該芯片支持2.4 GHz WiFi 和Bluetooth 4(LE)技術,搭載Xtensa? 32 位LX7 雙核處理器,主頻高達240 MHz,內置512 kB SRAM,支持更大容量的高速Octal SPI flash 和片外RAM,具有豐富的通信接口。網關節點硬件結構如圖2 所示。

圖2 網關節點硬件結構
1)燈、開關節點均選用ESP32C3 芯片作為微處理器,其中燈節點通過的I/O 端口輸出高低電平來控制繼電器開閉,進而控制220 V 用電回路,同時控制照明燈設備工作[10];而開關節點則通過檢測多個I/O 端口輸入電平來控制發送燈光亮滅控制的命令數據。
2)紅外發射節點由YK-003 紅外發射模塊和ESP32C3 通信模塊組成,負責接收空調工作指令,繼而通過串口通信控制紅外發射模塊發射紅外信號,實現空調控制工作,硬件結構如圖3 所示。

圖3 空調紅外發射節點硬件結構
3)人體存在監測節點由R24DVD1 型號24 GHz毫米波雷達模塊和ESP32C3 通信模塊組成,硬件結構如圖4 所示。該節點的主要功能是監測客房內人員活動狀態,判斷室內有無人員存在。

圖4 人體存在監測節點硬件結構
4)環境信息采集節點:主要集成有SHTC3 溫濕度傳感器、APM10 顆粒物傳感器、ZE08-CH2O 甲醛傳感器、MG812 二氧化碳傳感器、MQ2 煙霧傳感器及ESP32C3 微控制器,用于室內環境數據采集和處理[11]。硬件結構如圖5 所示。

圖5 環境信息采集節點硬件結構
藍牙Mesh 技術是基于低功耗藍牙廣播報文來實現的,采用洪泛機制進行信息傳遞。系統客房內各節點在通信過程中采用消息訂閱的方式,通過訂閱不同的組播地址,實現設備的分組控制。
藍牙Mesh 網絡[12-13]中包括配網器和節點兩種設備成分,其中配網器負責未入網設備的配網工作,新設備通過配網加入藍牙Mesh 網絡中成為入網節點。在系統中,網關節點[14]被設計為配網器,其他子節點設備設計為入網節點。在網關節點完成初始化工作后,等待其他子節點設備上電,通過匹配子節點設備的唯一標識特征值,控制子節點設備加入該客房的藍牙Mesh 網絡;之后,網關節點對入網節點進行應用密鑰的分發、元素模型的應用密鑰綁定和組播地址的添加等配置工作,最終完成藍牙Mesh 的組網工作,配網過程如圖6 所示。

圖6 節點配網過程
系統中,網關節點負責客房內外的通信協議轉換,對內采用藍牙Mesh 技術與客房內其他設備通信,對外采用WiFi通信實現數據收發遠程控制。
具體網關節點工作實現流程如圖7 所示,網關節點在完成WiFi初始化后,判斷芯片Flash 內部是否保存有WiFi 熱點和密碼信息,如果已保存,則直接入網;否則smartConfig 任務開始配網工作。在網絡連接成功后,開始執行MQTT 連接、藍牙Mesh 組網和協議轉換等任務。各節點之間的藍牙Mesh 網絡搭建成功后,網關節點可以接收來自子節點設備的數據,同時通過MQTT 協議上傳到物聯網平臺中,并轉發至微信小程序;微信小程序同樣采用MQTT 協議發送用戶操作命令至物聯網平臺,而后轉發至網關節點,此時協議轉換任務負責解析處理,并發送不同指令,控制客房內各設備正常工作。

圖7 網關節點工作流程
在整個系統的MQTT 傳輸實現過程中,物聯網平臺作為代理服務器,網關節點和微信小程序都為客戶端;通過訂閱和發布相關主題,實現數據通信。其中,網關節點訂閱燈光控制和空調控制相關主題,并向環境信息的主題發布數據;微信小程序則訂閱環境信息發布主題,以及向燈光控制和空調控制相關主題發布數據。MQTT 傳輸的相關主題和數據格式如表1 所示。

表1 MQTT主題和數據格式
系統使用阿里云物聯網平臺作為云平臺[15-16],采用MQTT 協議進行數據信息交互。在平臺上完成產品和設備創建,并將得到的產品密鑰、設備名稱和設備密鑰與軟件開發包綁定,同時設置好規則引擎,從而實現設備與云平臺之間的數據信息傳輸。
微信小程序使用微信開發者工具進行開發,主要進行燈光控制、空調控制和室內信息等界面設計,通過在MQTT 傳輸中訂閱和發布主題,實現遠程控制。
系統是基于藍牙Mesh 技術搭建的通信網絡,因此首先需要驗證和確保藍牙Mesh 網絡的穩定性,系統測試實驗設置傳輸延時、丟包率來反映系統的藍牙Mesh 通信數據傳輸控制功能。平均端到端延遲是指數據包從源節點傳輸到目的節點所花費的時間;丟包率是指通信測試中所丟失數據包數量占所發送數據包數量的比率,計算公式如下:
式中,D為平均端到端延遲,i為數據包標識符,Tri接收時間,TSi為發送時間,n為成功交付的數據包數量。
式中,ηloss為丟包率,Nsend為發送數據包數量,Nreceive為接收到數據包數量。
在常溫常壓室內進行系統測試,物聯網平臺選用阿里云物聯網平臺,使用微信小程序進行真機模擬調試。硬件系統上構建的藍牙Mesh 網絡中包含一個網關節點設備和四個子節點設備,其中網關節點和一個子節點設備分別連接一臺筆記本電腦,通過串口打印調試信息;其余三個子節點設備采用移動電源供電,隨機布置于室內。從網關節點向其中一個子節點設備以3 s 為間隔發送四組200 個左右大小分別為5 字節、8 字節、10 字節和16 字節的上傳輸層PDU 有效載荷數據,測試節點間數據傳輸的丟包率,其中前兩組以單包形式發送,后兩組以分兩包形式發送,測試結果如表2所示。

表2 系統通信丟包率統計
在測試數據中每組選取20 個通信成功的數據來統計節點間單跳通信延遲時間,結果如圖8 所示。最后對微信小程序界面功能進行驗證,測試MQTT 通信功能是否正常,微信小程序中室內信息狀態顯示如圖9 所示。

圖8 藍牙Mesh通信延時測試

圖9 微信小程序顯示圖
根據表2 和圖8 的測試結果可知,單次通信的分包發送相比于單包發送,通信延時和丟包率都會增加。在單包發送測試中,測試節點通信質量良好,5 字節的傳輸延時在22 ms 左右,成功率為99%。在分包發送時出現一定丟包,但對整體通信質量影響不大,16 字節的成功率約為89.5%,傳輸延時為250 ms 左右。如圖9 所示,微信小程序正常獲取到人體存在監測節點和環境信息采集節點采集到的參數,網關節點的通信功能正常。總體而言,系統的數據傳輸測試總體效果良好,測試結果在預期范圍內,并且對于以開關量控制居多的酒店客房控制,系統能夠滿足要求。
該文設計了基于藍牙Mesh 技術的酒店客房控制系統,利用藍牙Mesh 技術完成整個客房內各設備的智能組網工作,并且在網關節點上實現了客房內外的數據信息傳輸;利用微信小程序實現手機端的遠程操作,有效改進了傳統酒店客房系統,實現了客房內設備的智能化控制;同時具有改造成本低、功能易擴展和施工難度小等特點。