趙 炯,畢莊陽,熊肖磊,周奇才
(同濟(jì)大學(xué) 機(jī)械與能源工程學(xué)院,上海 201804)
近年來,隨著我國自動扶梯保有量的提升,自動扶梯設(shè)備安全問題也逐漸引起了社會各界的關(guān)注。作為大型的公共交通設(shè)備,自動扶梯分布在商場、軌道交通站點(diǎn)以及機(jī)場等人流密集的場所,一旦出現(xiàn)故障,輕則影響出行秩序,重則導(dǎo)致人員傷亡。目前的自動扶梯已經(jīng)具備了主機(jī)超速及逆轉(zhuǎn)檢測、梯級缺失檢測、扶手帶欠速檢測及蓋板缺失檢測等功能。但是隨著設(shè)備及檢測裝置的老化,原有的檢測裝置具有一定的失效風(fēng)險;原有的自動扶梯檢測裝置主要用于針對突發(fā)故障的及時制停,對于數(shù)據(jù)的保存及遠(yuǎn)程監(jiān)測方面尚存在欠缺。
基于WiFi Mesh技術(shù),可以在無需使用大功率WiFi信號發(fā)生器的情況下,實(shí)現(xiàn)具有WiFi功能設(shè)備的連接及自組網(wǎng)功能。ESP-WIFI-MESH 是樂鑫信息科技(上海)股份有限公司基于樂鑫SoC和ESP-IDF等開源框架以及標(biāo)準(zhǔn)的Wi-Fi協(xié)議開發(fā)的樹狀拓?fù)浣Y(jié)構(gòu)的無線通信網(wǎng)絡(luò),具有低成本、廣覆蓋、易部署、可擴(kuò)展等優(yōu)勢。在無需使用昂貴的大范圍網(wǎng)關(guān)的情況下可以實(shí)現(xiàn)較大范圍內(nèi)的數(shù)據(jù)傳輸。利用這些特性,可以很好地解決自動扶梯這類大型設(shè)備的數(shù)據(jù)采集問題,而且利用嵌入式設(shè)備可以大幅度降低系統(tǒng)的構(gòu)建成本。本文基于ESP-WIFI-MESH網(wǎng)絡(luò)實(shí)現(xiàn)了用于自動扶梯遠(yuǎn)程狀態(tài)監(jiān)測的數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)。
扶梯數(shù)據(jù)采集系統(tǒng)的架構(gòu)如圖1所示。該采集系統(tǒng)主要由中心節(jié)點(diǎn)部分和邊緣節(jié)點(diǎn)部分組成,邊緣節(jié)點(diǎn)與傳感器通過傳感器所提供的通信接口相連接,主要負(fù)責(zé)采集傳感器的數(shù)據(jù),并將數(shù)據(jù)及節(jié)點(diǎn)相關(guān)信息上傳至中心節(jié)點(diǎn);中心節(jié)點(diǎn)通過有線或者無線的方式接入互聯(lián)網(wǎng),同時通過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ù)據(jù)進(jìn)行緩存,便于維保人員在現(xiàn)場查看近期采集的數(shù)據(jù),對設(shè)備運(yùn)行狀態(tài)進(jìn)行現(xiàn)場評估。
圖1 扶梯采集系統(tǒng)架構(gòu)圖
ESP-WIFI-MESH網(wǎng)絡(luò)具備良好的可擴(kuò)展性,對于每一個需要加入網(wǎng)絡(luò)的節(jié)點(diǎn),只要在其可通信范圍內(nèi)有任意一個已經(jīng)在網(wǎng)絡(luò)中的節(jié)點(diǎn),就可以通過與該節(jié)點(diǎn)的通信來接入整個ESP-WIFI-MESH網(wǎng)絡(luò),無需考慮網(wǎng)絡(luò)中其他節(jié)點(diǎn)的位置。完成ESP-WIFI-MESH網(wǎng)絡(luò)的構(gòu)建后,如果有新增監(jiān)測點(diǎn)的需求,只需再配置該監(jiān)測點(diǎn)的相關(guān)信息以及完成傳感器網(wǎng)絡(luò)的安全驗(yàn)證,即可接入該設(shè)備的數(shù)據(jù)采集網(wǎng)絡(luò),完成數(shù)據(jù)采集以及上傳的功能。
基于ESP-WIFI-MESH的自動扶梯狀態(tài)監(jiān)測數(shù)據(jù)采集系統(tǒng)的邊緣節(jié)點(diǎn)及中心節(jié)點(diǎn)的控制單元,均采用樂鑫科技的ESP32作為控制芯片。ESP32具有高性能Xtensa 32位LX6雙核處理器、2.4 GHz Wi-Fi、UART、ADC等多種外設(shè),可以實(shí)現(xiàn)與傳感器的通信以及利用無線信號傳輸數(shù)據(jù)的功能。系統(tǒng)的軟件開發(fā)框架為ESP-MDF開發(fā)框架,采用FreeRTOS操作系統(tǒng),提供了對ESP-WIFI-MESH協(xié)議棧以及ESP-IDF中相關(guān)組件的支持,用于實(shí)現(xiàn)基于ESP-WIFI-MESH網(wǎng)絡(luò)的應(yīng)用開發(fā)。
ESP-WIFI-MESH網(wǎng)絡(luò)是樹形拓?fù)浣Y(jié)構(gòu),如圖2所示。網(wǎng)絡(luò)中的每一個節(jié)點(diǎn)同時具備站點(diǎn)(Station)和接入點(diǎn)(Access Point,AP)的功能。節(jié)點(diǎn)的站點(diǎn)功能,使得節(jié)點(diǎn)可以作為接入網(wǎng)絡(luò)的一個設(shè)備,利用網(wǎng)絡(luò)向上傳遞數(shù)據(jù);節(jié)點(diǎn)的接入點(diǎn)功能,使得網(wǎng)絡(luò)中的節(jié)點(diǎn)能夠作為其他節(jié)點(diǎn)接入網(wǎng)絡(luò)的中繼,以此擴(kuò)大整個網(wǎng)絡(luò)的規(guī)模。直接接入路由器網(wǎng)絡(luò)的節(jié)點(diǎn)為根節(jié)點(diǎn),作為整個MESH網(wǎng)絡(luò)的第一層,是MESH網(wǎng)絡(luò)與外界的直接接口。所有發(fā)往互聯(lián)網(wǎng)的數(shù)據(jù)包都需要經(jīng)過根節(jié)點(diǎn),因此根節(jié)點(diǎn)可以用于整個網(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),以此類推,形成整個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)所接收到的路由器的信號強(qiáng)度,選擇其中信號強(qiáng)度最高的節(jié)點(diǎn)作為根節(jié)點(diǎn)。其余節(jié)點(diǎn)的層次結(jié)構(gòu)主要根據(jù)其所能感知到的Wi-Fi信號的強(qiáng)度以及網(wǎng)絡(luò)的中繼層數(shù)決定,每一個非根節(jié)點(diǎn)都優(yōu)先與層數(shù)較低、Wi-Fi信號較強(qiáng)的節(jié)點(diǎn)建立連接。進(jìn)行數(shù)據(jù)傳輸時,子節(jié)點(diǎn)的數(shù)據(jù)經(jīng)過中繼發(fā)送至根節(jié)點(diǎn),再由根節(jié)點(diǎn)轉(zhuǎn)發(fā)至網(wǎng)絡(luò)。
系統(tǒng)邊緣層主要完成以下功能:
(1)對傳感器通信接口的適配。用于數(shù)據(jù)采集的傳感器具有多種通信接口,例如UART、ADC、I2C等,系統(tǒng)邊緣層需要對這些接口進(jìn)行適配,能夠在配置好設(shè)備通信方式以及通信參數(shù)的情況下,與不同傳感器進(jìn)行通信。
(2)對傳感器采樣頻率與采樣數(shù)量設(shè)置的支持。對于振動、噪聲等高頻信號,不同的監(jiān)測點(diǎn)有不同的監(jiān)測頻率與數(shù)據(jù)量的要求,因此需要系統(tǒng)邊緣層支持可設(shè)置的采樣頻率與采樣數(shù)量。
(3)數(shù)據(jù)打包與上傳功能。對于每一個邊緣層的節(jié)點(diǎn),在向上發(fā)送數(shù)據(jù)時,需要同時在數(shù)據(jù)包中注明傳感器種類、傳感器ID、傳感器數(shù)據(jù)格式等信息,便于采集系統(tǒng)根節(jié)點(diǎn)對收到的信息進(jìn)行分類和處理。
(4)對系統(tǒng)邊緣層節(jié)點(diǎn)的控制單元進(jìn)行程序燒錄前,需要對該節(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)測點(diǎn)上的傳感器)、傳感器的接口信息以及該傳感器需要上傳的數(shù)據(jù)的類型;數(shù)據(jù)采集相關(guān)的信息包括采集頻率和采集數(shù)量。
圖3 邊緣層節(jié)點(diǎn)控制單元的配置信息
邊緣層節(jié)點(diǎn)控制單元的程序流程圖如圖4所示,首先完成對ESP-WIFI-MESH網(wǎng)絡(luò)及其他硬件接口的初始化,實(shí)現(xiàn)底層Wi-Fi外設(shè)的硬件配置、上層Wi-Fi MESH網(wǎng)絡(luò)的構(gòu)建以及用于與傳感器通信的硬件接口的初始化。為了實(shí)現(xiàn)對采樣頻率的控制,需要增加一個定時器,在進(jìn)行每一次采樣之前,都需要等待由該定時器中斷中給出的信號量,以此來控制采樣的周期。完成硬件以及Wi-Fi功能的初始化后,需要根據(jù)前面的設(shè)置對該定時器的中斷周期進(jìn)行配置,實(shí)現(xiàn)對于采用頻率的控制。接下來進(jìn)行傳感器的數(shù)據(jù)采集過程。在收到定時器中斷發(fā)送的信號量以后,控制單元開始一次采樣,在達(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)需要接收所有來自邊緣層節(jié)點(diǎn)的數(shù)據(jù)包,解析并按照J(rèn)SON格式重新打包數(shù)據(jù),將該扶梯的所有數(shù)據(jù)發(fā)送至服務(wù)器;同時通過SD卡緩存接收到的數(shù)據(jù)。系統(tǒng)中心層節(jié)點(diǎn)控制單元的配置信息如圖5所示,需要配置與外界網(wǎng)絡(luò)建立連接的路由器的ID、密碼及MESH網(wǎng)絡(luò)的ID、密碼;MQTT服務(wù)器的URL及端口號、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ù)據(jù)進(jìn)行標(biāo)記,因此在與外部網(wǎng)絡(luò)建立連接之后,需要與服務(wù)器同步時間信息。接下來是對SD卡接口以及SD卡上建立的文件系統(tǒng)的初始化,用于數(shù)據(jù)的緩存。然后初始化MQTT組件,與MQTT服務(wù)器建立連接。之后中心層節(jié)點(diǎn)進(jìn)入監(jiān)聽模式,當(dāng)收到來自邊緣層節(jié)點(diǎn)的數(shù)據(jù)包時,根據(jù)協(xié)議解析數(shù)據(jù)包,并按照J(rèn)SON格式重新進(jìn)行打包,格式如表2所示,除了包含邊緣層節(jié)點(diǎn)的數(shù)據(jù)外,也包含數(shù)據(jù)包類型、扶梯ID等信息。將打包好的數(shù)據(jù)發(fā)送至MQTT服務(wù)器后,再加入時間的屬性,緩存到SD卡中傳感器所對應(yīng)的文件中。
圖6 中心層節(jié)點(diǎn)控制單元的程序流程圖
本文針對自動扶梯的狀態(tài)監(jiān)測問題設(shè)計(jì)了一套基于ESP-WIFI-MESH網(wǎng)絡(luò)的數(shù)據(jù)采集系統(tǒng)。采用ESP32芯片實(shí)現(xiàn)對傳感器的數(shù)據(jù)采集,利用ESP-WIFI-MESH網(wǎng)絡(luò)實(shí)現(xiàn)了傳感器數(shù)據(jù)的無線傳輸,同時該網(wǎng)絡(luò)中的根節(jié)點(diǎn)處實(shí)現(xiàn)了對數(shù)據(jù)的打包上傳及緩存。利用該系統(tǒng)可以實(shí)現(xiàn)對自動扶梯監(jiān)測點(diǎn)數(shù)據(jù)的采集及上傳,為后續(xù)數(shù)據(jù)的處理分析及故障診斷提供數(shù)據(jù)基礎(chǔ)。
表2 中心層節(jié)點(diǎn)發(fā)送、緩存的JSON包格式