趙 炯,畢莊陽(yáng),熊肖磊,周奇才
(同濟(jì)大學(xué) 機(jī)械與能源工程學(xué)院,上海 201804)
近年來(lái),隨著我國(guó)自動(dòng)扶梯保有量的提升,自動(dòng)扶梯設(shè)備安全問(wèn)題也逐漸引起了社會(huì)各界的關(guān)注。作為大型的公共交通設(shè)備,自動(dòng)扶梯分布在商場(chǎng)、軌道交通站點(diǎn)以及機(jī)場(chǎng)等人流密集的場(chǎng)所,一旦出現(xiàn)故障,輕則影響出行秩序,重則導(dǎo)致人員傷亡。目前的自動(dòng)扶梯已經(jīng)具備了主機(jī)超速及逆轉(zhuǎn)檢測(cè)、梯級(jí)缺失檢測(cè)、扶手帶欠速檢測(cè)及蓋板缺失檢測(cè)等功能。但是隨著設(shè)備及檢測(cè)裝置的老化,原有的檢測(cè)裝置具有一定的失效風(fēng)險(xiǎn);原有的自動(dòng)扶梯檢測(cè)裝置主要用于針對(duì)突發(fā)故障的及時(shí)制停,對(duì)于數(shù)據(jù)的保存及遠(yuǎn)程監(jiān)測(cè)方面尚存在欠缺。
基于WiFi Mesh技術(shù),可以在無(wú)需使用大功率WiFi信號(hào)發(fā)生器的情況下,實(shí)現(xiàn)具有WiFi功能設(shè)備的連接及自組網(wǎng)功能。ESP-WIFI-MESH 是樂(lè)鑫信息科技(上海)股份有限公司基于樂(lè)鑫SoC和ESP-IDF等開(kāi)源框架以及標(biāo)準(zhǔn)的Wi-Fi協(xié)議開(kāi)發(fā)的樹(shù)狀拓?fù)浣Y(jié)構(gòu)的無(wú)線通信網(wǎng)絡(luò),具有低成本、廣覆蓋、易部署、可擴(kuò)展等優(yōu)勢(shì)。在無(wú)需使用昂貴的大范圍網(wǎng)關(guān)的情況下可以實(shí)現(xiàn)較大范圍內(nèi)的數(shù)據(jù)傳輸。利用這些特性,可以很好地解決自動(dòng)扶梯這類大型設(shè)備的數(shù)據(jù)采集問(wèn)題,而且利用嵌入式設(shè)備可以大幅度降低系統(tǒng)的構(gòu)建成本。本文基于ESP-WIFI-MESH網(wǎng)絡(luò)實(shí)現(xiàn)了用于自動(dòng)扶梯遠(yuǎn)程狀態(tài)監(jiān)測(cè)的數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)。
扶梯數(shù)據(jù)采集系統(tǒng)的架構(gòu)如圖1所示。該采集系統(tǒng)主要由中心節(jié)點(diǎn)部分和邊緣節(jié)點(diǎn)部分組成,邊緣節(jié)點(diǎn)與傳感器通過(guò)傳感器所提供的通信接口相連接,主要負(fù)責(zé)采集傳感器的數(shù)據(jù),并將數(shù)據(jù)及節(jié)點(diǎn)相關(guān)信息上傳至中心節(jié)點(diǎn);中心節(jié)點(diǎn)通過(guò)有線或者無(wú)線的方式接入互聯(lián)網(wǎng),同時(shí)通過(guò)ESP-WIFI-MESH網(wǎng)絡(luò)與邊緣節(jié)點(diǎn)進(jìn)行數(shù)據(jù)傳輸。中心節(jié)點(diǎn)在收到邊緣節(jié)點(diǎn)采集到的數(shù)據(jù)后,將數(shù)據(jù)及其采樣頻率等相關(guān)信息以JSON格式打包上傳至MQTT服務(wù)器,用于后續(xù)的分析及處理;同時(shí),中心對(duì)收到的數(shù)據(jù)進(jìn)行緩存,便于維保人員在現(xiàn)場(chǎng)查看近期采集的數(shù)據(jù),對(duì)設(shè)備運(yùn)行狀態(tài)進(jìn)行現(xiàn)場(chǎng)評(píng)估。

圖1 扶梯采集系統(tǒng)架構(gòu)圖
ESP-WIFI-MESH網(wǎng)絡(luò)具備良好的可擴(kuò)展性,對(duì)于每一個(gè)需要加入網(wǎng)絡(luò)的節(jié)點(diǎn),只要在其可通信范圍內(nèi)有任意一個(gè)已經(jīng)在網(wǎng)絡(luò)中的節(jié)點(diǎn),就可以通過(guò)與該節(jié)點(diǎn)的通信來(lái)接入整個(gè)ESP-WIFI-MESH網(wǎng)絡(luò),無(wú)需考慮網(wǎng)絡(luò)中其他節(jié)點(diǎn)的位置。完成ESP-WIFI-MESH網(wǎng)絡(luò)的構(gòu)建后,如果有新增監(jiān)測(cè)點(diǎn)的需求,只需再配置該監(jiān)測(cè)點(diǎn)的相關(guān)信息以及完成傳感器網(wǎng)絡(luò)的安全驗(yàn)證,即可接入該設(shè)備的數(shù)據(jù)采集網(wǎng)絡(luò),完成數(shù)據(jù)采集以及上傳的功能。
基于ESP-WIFI-MESH的自動(dòng)扶梯狀態(tài)監(jiān)測(cè)數(shù)據(jù)采集系統(tǒng)的邊緣節(jié)點(diǎn)及中心節(jié)點(diǎn)的控制單元,均采用樂(lè)鑫科技的ESP32作為控制芯片。ESP32具有高性能Xtensa 32位LX6雙核處理器、2.4 GHz Wi-Fi、UART、ADC等多種外設(shè),可以實(shí)現(xiàn)與傳感器的通信以及利用無(wú)線信號(hào)傳輸數(shù)據(jù)的功能。系統(tǒng)的軟件開(kāi)發(fā)框架為ESP-MDF開(kāi)發(fā)框架,采用FreeRTOS操作系統(tǒng),提供了對(duì)ESP-WIFI-MESH協(xié)議棧以及ESP-IDF中相關(guān)組件的支持,用于實(shí)現(xiàn)基于ESP-WIFI-MESH網(wǎng)絡(luò)的應(yīng)用開(kāi)發(fā)。
ESP-WIFI-MESH網(wǎng)絡(luò)是樹(shù)形拓?fù)浣Y(jié)構(gòu),如圖2所示。網(wǎng)絡(luò)中的每一個(gè)節(jié)點(diǎn)同時(shí)具備站點(diǎn)(Station)和接入點(diǎn)(Access Point,AP)的功能。節(jié)點(diǎn)的站點(diǎn)功能,使得節(jié)點(diǎn)可以作為接入網(wǎng)絡(luò)的一個(gè)設(shè)備,利用網(wǎng)絡(luò)向上傳遞數(shù)據(jù);節(jié)點(diǎn)的接入點(diǎn)功能,使得網(wǎng)絡(luò)中的節(jié)點(diǎn)能夠作為其他節(jié)點(diǎn)接入網(wǎng)絡(luò)的中繼,以此擴(kuò)大整個(gè)網(wǎng)絡(luò)的規(guī)模。直接接入路由器網(wǎng)絡(luò)的節(jié)點(diǎn)為根節(jié)點(diǎn),作為整個(gè)MESH網(wǎng)絡(luò)的第一層,是MESH網(wǎng)絡(luò)與外界的直接接口。所有發(fā)往互聯(lián)網(wǎng)的數(shù)據(jù)包都需要經(jīng)過(guò)根節(jié)點(diǎn),因此根節(jié)點(diǎn)可以用于整個(gè)網(wǎng)絡(luò)的數(shù)據(jù)緩存與數(shù)據(jù)打包。直接接入根節(jié)點(diǎn)的MESH網(wǎng)絡(luò)的節(jié)點(diǎn)成為網(wǎng)絡(luò)的第二層節(jié)點(diǎn),再連接第三層節(jié)點(diǎn),以此類推,形成整個(gè)MESH網(wǎng)絡(luò)。

圖2 ESP-WIFI-MESH網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)
ESP-WIFI-MESH網(wǎng)絡(luò)可以自定義根節(jié)點(diǎn),也可以利用自定義規(guī)則在網(wǎng)絡(luò)中選取根節(jié)點(diǎn)。例如,比較各節(jié)點(diǎn)所接收到的路由器的信號(hào)強(qiáng)度,選擇其中信號(hào)強(qiáng)度最高的節(jié)點(diǎn)作為根節(jié)點(diǎn)。其余節(jié)點(diǎn)的層次結(jié)構(gòu)主要根據(jù)其所能感知到的Wi-Fi信號(hào)的強(qiáng)度以及網(wǎng)絡(luò)的中繼層數(shù)決定,每一個(gè)非根節(jié)點(diǎn)都優(yōu)先與層數(shù)較低、Wi-Fi信號(hào)較強(qiáng)的節(jié)點(diǎn)建立連接。進(jìn)行數(shù)據(jù)傳輸時(shí),子節(jié)點(diǎn)的數(shù)據(jù)經(jīng)過(guò)中繼發(fā)送至根節(jié)點(diǎn),再由根節(jié)點(diǎn)轉(zhuǎn)發(fā)至網(wǎng)絡(luò)。
系統(tǒng)邊緣層主要完成以下功能:
(1)對(duì)傳感器通信接口的適配。用于數(shù)據(jù)采集的傳感器具有多種通信接口,例如UART、ADC、I2C等,系統(tǒng)邊緣層需要對(duì)這些接口進(jìn)行適配,能夠在配置好設(shè)備通信方式以及通信參數(shù)的情況下,與不同傳感器進(jìn)行通信。
(2)對(duì)傳感器采樣頻率與采樣數(shù)量設(shè)置的支持。對(duì)于振動(dòng)、噪聲等高頻信號(hào),不同的監(jiān)測(cè)點(diǎn)有不同的監(jiān)測(cè)頻率與數(shù)據(jù)量的要求,因此需要系統(tǒng)邊緣層支持可設(shè)置的采樣頻率與采樣數(shù)量。
(3)數(shù)據(jù)打包與上傳功能。對(duì)于每一個(gè)邊緣層的節(jié)點(diǎn),在向上發(fā)送數(shù)據(jù)時(shí),需要同時(shí)在數(shù)據(jù)包中注明傳感器種類、傳感器ID、傳感器數(shù)據(jù)格式等信息,便于采集系統(tǒng)根節(jié)點(diǎn)對(duì)收到的信息進(jìn)行分類和處理。
(4)對(duì)系統(tǒng)邊緣層節(jié)點(diǎn)的控制單元進(jìn)行程序燒錄前,需要對(duì)該節(jié)點(diǎn)所要接入網(wǎng)絡(luò)的網(wǎng)絡(luò)信息、傳感器的信息以及數(shù)據(jù)采集的相關(guān)信息進(jìn)行配置,如圖3所示。其中,網(wǎng)絡(luò)部分需要配置MESH網(wǎng)絡(luò)的ID和密碼;傳感器部分需要配置傳感器的ID(用于區(qū)分同一類型的不同監(jiān)測(cè)點(diǎn)上的傳感器)、傳感器的接口信息以及該傳感器需要上傳的數(shù)據(jù)的類型;數(shù)據(jù)采集相關(guān)的信息包括采集頻率和采集數(shù)量。

圖3 邊緣層節(jié)點(diǎn)控制單元的配置信息
邊緣層節(jié)點(diǎn)控制單元的程序流程圖如圖4所示,首先完成對(duì)ESP-WIFI-MESH網(wǎng)絡(luò)及其他硬件接口的初始化,實(shí)現(xiàn)底層Wi-Fi外設(shè)的硬件配置、上層Wi-Fi MESH網(wǎng)絡(luò)的構(gòu)建以及用于與傳感器通信的硬件接口的初始化。為了實(shí)現(xiàn)對(duì)采樣頻率的控制,需要增加一個(gè)定時(shí)器,在進(jìn)行每一次采樣之前,都需要等待由該定時(shí)器中斷中給出的信號(hào)量,以此來(lái)控制采樣的周期。完成硬件以及Wi-Fi功能的初始化后,需要根據(jù)前面的設(shè)置對(duì)該定時(shí)器的中斷周期進(jìn)行配置,實(shí)現(xiàn)對(duì)于采用頻率的控制。接下來(lái)進(jìn)行傳感器的數(shù)據(jù)采集過(guò)程。在收到定時(shí)器中斷發(fā)送的信號(hào)量以后,控制單元開(kāi)始一次采樣,在達(dá)到設(shè)定的采樣次數(shù)后,將邊緣節(jié)點(diǎn)的相關(guān)信息以及采集到的數(shù)據(jù)發(fā)送至根節(jié)點(diǎn)。邊緣節(jié)點(diǎn)發(fā)送的數(shù)據(jù)包格式如表1所示。

表1 邊緣層節(jié)點(diǎn)數(shù)據(jù)包格式

圖4 邊緣層節(jié)點(diǎn)控制單元的程序流程圖
系統(tǒng)中心層節(jié)點(diǎn)主要完成數(shù)據(jù)打包以及數(shù)據(jù)緩存的功能。作為ESP-WIFI-MESH網(wǎng)絡(luò)的根節(jié)點(diǎn),系統(tǒng)中心層節(jié)點(diǎn)需要接收所有來(lái)自邊緣層節(jié)點(diǎn)的數(shù)據(jù)包,解析并按照J(rèn)SON格式重新打包數(shù)據(jù),將該扶梯的所有數(shù)據(jù)發(fā)送至服務(wù)器;同時(shí)通過(guò)SD卡緩存接收到的數(shù)據(jù)。系統(tǒng)中心層節(jié)點(diǎn)控制單元的配置信息如圖5所示,需要配置與外界網(wǎng)絡(luò)建立連接的路由器的ID、密碼及MESH網(wǎng)絡(luò)的ID、密碼;MQTT服務(wù)器的URL及端口號(hào)、MQTT客戶端的客戶ID、用戶名及密碼。

圖5 中心層節(jié)點(diǎn)控制單元的配置信息
中心層節(jié)點(diǎn)控制單元的程序流程圖如圖6所示。首先,進(jìn)行ESP-WIFI-MESH網(wǎng)絡(luò)的初始化,連接路由器的Wi-Fi,將MESH網(wǎng)絡(luò)與互聯(lián)網(wǎng)建立連接。緩存數(shù)據(jù)時(shí)需要利用時(shí)間來(lái)對(duì)數(shù)據(jù)進(jìn)行標(biāo)記,因此在與外部網(wǎng)絡(luò)建立連接之后,需要與服務(wù)器同步時(shí)間信息。接下來(lái)是對(duì)SD卡接口以及SD卡上建立的文件系統(tǒng)的初始化,用于數(shù)據(jù)的緩存。然后初始化MQTT組件,與MQTT服務(wù)器建立連接。之后中心層節(jié)點(diǎn)進(jìn)入監(jiān)聽(tīng)模式,當(dāng)收到來(lái)自邊緣層節(jié)點(diǎn)的數(shù)據(jù)包時(shí),根據(jù)協(xié)議解析數(shù)據(jù)包,并按照J(rèn)SON格式重新進(jìn)行打包,格式如表2所示,除了包含邊緣層節(jié)點(diǎn)的數(shù)據(jù)外,也包含數(shù)據(jù)包類型、扶梯ID等信息。將打包好的數(shù)據(jù)發(fā)送至MQTT服務(wù)器后,再加入時(shí)間的屬性,緩存到SD卡中傳感器所對(duì)應(yīng)的文件中。

圖6 中心層節(jié)點(diǎn)控制單元的程序流程圖
本文針對(duì)自動(dòng)扶梯的狀態(tài)監(jiān)測(cè)問(wèn)題設(shè)計(jì)了一套基于ESP-WIFI-MESH網(wǎng)絡(luò)的數(shù)據(jù)采集系統(tǒng)。采用ESP32芯片實(shí)現(xiàn)對(duì)傳感器的數(shù)據(jù)采集,利用ESP-WIFI-MESH網(wǎng)絡(luò)實(shí)現(xiàn)了傳感器數(shù)據(jù)的無(wú)線傳輸,同時(shí)該網(wǎng)絡(luò)中的根節(jié)點(diǎn)處實(shí)現(xiàn)了對(duì)數(shù)據(jù)的打包上傳及緩存。利用該系統(tǒng)可以實(shí)現(xiàn)對(duì)自動(dòng)扶梯監(jiān)測(cè)點(diǎn)數(shù)據(jù)的采集及上傳,為后續(xù)數(shù)據(jù)的處理分析及故障診斷提供數(shù)據(jù)基礎(chǔ)。

表2 中心層節(jié)點(diǎn)發(fā)送、緩存的JSON包格式