張繼鋒 劉校宗 張俊
南京萊斯信息技術(shù)股份有限公司 江蘇 南京 210000
信號機(jī)[1]作為城市道路交通非常核心的設(shè)備,在維護(hù)和控制交通秩序方面起著主導(dǎo)作用,所以信號機(jī)的安全和穩(wěn)定運(yùn)行就顯得尤為重要。目前,大多數(shù)信號機(jī)箱由傳統(tǒng)的機(jī)械門鎖組成,由于廣布在城市每一個路口的現(xiàn)實(shí)情況,存在許多安全、管理、運(yùn)維方面的弊端。第一,無法及時獲取信號機(jī)以及信號機(jī)箱的狀態(tài),需要人工巡檢,故障發(fā)現(xiàn)滯后,容易造成不必要的交通事件。第二,鎖門過程繁瑣,容易發(fā)生門關(guān)鎖開現(xiàn)象,造成信號機(jī)箱內(nèi)設(shè)備被盜。第三,機(jī)械鎖結(jié)構(gòu)簡單、鑰匙通用,社會上具備開鎖鑰匙的人比比皆是,現(xiàn)有鎖具形同虛設(shè)。第四,對于信號機(jī)箱惡意破壞行為,沒有視頻抓拍收集證據(jù),無法做到責(zé)任追溯,無法形成警示和震懾。第五,信號機(jī)箱開關(guān)門狀態(tài)以及異常狀態(tài)無記錄,無法做到有據(jù)可查,無法形成狀態(tài)分析報告。第六,沒有權(quán)限管理,無法對信號機(jī)箱歸屬權(quán)、使用權(quán)進(jìn)行細(xì)分管理。在此背景下,研發(fā)出基于物聯(lián)網(wǎng)、云計算、移動互聯(lián)網(wǎng)等先進(jìn)技術(shù)的智能信號機(jī)柜,解決交管部門存在的以上痛點(diǎn)問題。
智能信號機(jī)柜與傳統(tǒng)的機(jī)柜相比[2],智能信號機(jī)柜可以實(shí)現(xiàn)門鎖的智能開關(guān)狀態(tài),并可以通過嵌入式核心板板載的傳感器等器件實(shí)現(xiàn)對溫濕度、水位煙霧等數(shù)據(jù)的檢測,以及門鎖狀態(tài)和接收信號機(jī)的數(shù)據(jù)并解析得到信號燈狀態(tài)等數(shù)據(jù),并將檢測到的數(shù)據(jù)和解析得到的數(shù)據(jù)通過MQTT客戶端上傳到阿里云平臺搭建的MQTT服務(wù)器。移動端如電腦和手機(jī)可以實(shí)時查看檢測到的數(shù)據(jù)信息,并顯示在移動端。
智能信號機(jī)柜是在MQTT協(xié)議的基礎(chǔ)上實(shí)現(xiàn)數(shù)據(jù)的傳輸。智能信號機(jī)柜作為MQTT的客戶端,將檢測到的數(shù)據(jù)上傳到阿里云平臺搭建的MQTT服務(wù)器,通過搭載的管理客戶端將上傳信息讀取到本地數(shù)據(jù)庫中,手機(jī)端可以通過對數(shù)據(jù)庫的查看來獲得相關(guān)的數(shù)據(jù)信息。PC端通過局域網(wǎng)將檢測的數(shù)據(jù)和狀態(tài)信息顯示在顯示屏上。
圖1 智能信號機(jī)柜系統(tǒng)結(jié)構(gòu)圖
(1) MQTT是一種消息傳輸協(xié)議,采用的是訂閱和發(fā)布的方式實(shí)現(xiàn)的協(xié)議,是建立在TCP/IP協(xié)議的基礎(chǔ)上實(shí)現(xiàn)的。MQTT協(xié)議的優(yōu)點(diǎn)是輕量、簡單,在進(jìn)行消息傳輸時只需要較少的代碼量,而且對于帶寬的要求也較低。
(2) MQTT的特性是可以實(shí)現(xiàn)一對多的消息發(fā)布方式,該方式的實(shí)現(xiàn)是在訂閱和發(fā)布的基礎(chǔ)上[3]。
(3) MQTT的實(shí)現(xiàn)是通過客戶端和服務(wù)端共同完成。通過發(fā)布者(public)發(fā)布消息后,根據(jù)發(fā)布者發(fā)布的主題,訂閱者(Subscribe)通過訂閱相同的主題,收到該主題的消息內(nèi)容。
和傳統(tǒng)的機(jī)柜相比,智能信號機(jī)柜在功能上做了進(jìn)一步的改進(jìn)。智能信號機(jī)柜采用MQTT方式上傳狀態(tài)及告警信息,并接收來自局域網(wǎng)的開鎖指令。也通過手機(jī)APP來實(shí)現(xiàn)指令的下發(fā),智能門鎖在收到手機(jī)APP端下發(fā)的指令時實(shí)現(xiàn)門鎖的打開。
智能信號機(jī)柜增加了溫濕度、水位煙霧碰撞、網(wǎng)絡(luò)狀態(tài)、門鎖狀態(tài)、開關(guān)所反饋狀態(tài)、設(shè)備故障信息、設(shè)備運(yùn)行狀態(tài)、信號燈狀態(tài)等數(shù)據(jù)的檢測和采集,將采集到的數(shù)據(jù)通過MQTT客戶端將數(shù)據(jù)發(fā)送到阿里云平臺搭建的MQTT服務(wù)器。其中信號燈的狀態(tài)和信號燈的剩余時間數(shù)據(jù)由嵌入式開發(fā)板和信號機(jī)通過RS232相連,通過對接收的數(shù)據(jù)進(jìn)行解析可以得到對應(yīng)的數(shù)據(jù)信息。
將智能控制盒檢測到的數(shù)據(jù)信息和接收到的信號機(jī)的燈色數(shù)據(jù)存儲到管理客戶端中的數(shù)據(jù)庫中。通過數(shù)據(jù)融合的存儲技術(shù)來實(shí)現(xiàn)對數(shù)據(jù)的存儲,數(shù)據(jù)融合的存儲技術(shù)可以對多傳感器檢測的數(shù)據(jù)在一定的準(zhǔn)則下實(shí)現(xiàn)對數(shù)據(jù)的檢測和估計。通過數(shù)據(jù)融合處理的數(shù)據(jù)具有更精確性和完整性。其中一級融合采用的是自適應(yīng)加權(quán)融合算法,自適應(yīng)加權(quán)融合算法可以對測量的不同精度的數(shù)據(jù)進(jìn)行處理,在一定程度上提高了測量的精度。對于二級融合算法采用了BP神經(jīng)網(wǎng)絡(luò)融合算法,可以根據(jù)隱含層的計算結(jié)果和標(biāo)記值的誤差比較,如果超出誤差的范圍將進(jìn)行反向的傳輸,由輸出層向前傳輸進(jìn)行計算。
圖2 智能控制盒實(shí)現(xiàn)流程圖
智能信號機(jī)柜的設(shè)計是建立在MQTT協(xié)議的基礎(chǔ)上,智能信號機(jī)柜通過客戶端將嵌入式開發(fā)板上板載傳感器檢測的數(shù)據(jù)發(fā)送到阿里云平臺搭建的MQTT服務(wù)器。
智能信號機(jī)柜內(nèi)載的嵌入式開發(fā)板上載有溫濕度傳感器、水位煙霧傳感器、智能門鎖以及攝像頭模塊。傳感器會對環(huán)境的某些參數(shù)進(jìn)行檢測,檢測得到的數(shù)據(jù)會采用自適應(yīng)加權(quán)融合算法和BP神經(jīng)網(wǎng)絡(luò)算法對數(shù)據(jù)進(jìn)行處理。處理后的數(shù)據(jù)會被存儲在共享內(nèi)存中,此時嵌入式開發(fā)板上搭建的MQTT客戶端會將共享內(nèi)存的數(shù)據(jù)發(fā)送到阿里云平臺搭建的MQTT服務(wù)器。智能門鎖可由局域網(wǎng)的電腦端進(jìn)行控制開鎖,PC端和智能機(jī)柜的連接通過網(wǎng)線相連。
對于傳感器檢測的數(shù)據(jù)會存在一定的噪聲誤差,該誤差會對數(shù)據(jù)的精確性產(chǎn)生一定的影響。通過加權(quán)融合算法對數(shù)據(jù)進(jìn)行處理,以減少數(shù)據(jù)的誤差,使得統(tǒng)計之后的數(shù)據(jù)值更加精確。不同傳感器的權(quán)值是不同的,為使得方差達(dá)到最小,可根據(jù)測量值采用自適應(yīng)的方法來獲得對應(yīng)的權(quán)值,使得融合的效果達(dá)到最佳[4]。
各個傳感器的測量值為X1,X2,…Xn,各個傳感器的加權(quán)因子為W1,W2,…Wn,自適應(yīng)加權(quán)算法是多個傳感器的測量值與各傳感器的加權(quán)因子的融合。其融合后的表達(dá)式為:
由公式可以看出通過求取總均方誤差最小值來提高輸出精度。根據(jù)多元極值理論,最小總均方誤差為:
此時每個傳感器的加權(quán)因子為:
根據(jù)傳感器的數(shù)據(jù)計算相應(yīng)的權(quán)值,進(jìn)而對融合結(jié)果進(jìn)行計算。
對于二級的融合采用BP神經(jīng)網(wǎng)絡(luò)算法,BP神經(jīng)網(wǎng)絡(luò)算法是根據(jù)結(jié)果值和誤差值的比較來確定是否進(jìn)行反向傳播的一種算法。
BP神經(jīng)網(wǎng)絡(luò)是一種前饋網(wǎng)絡(luò),信號在輸入時,會經(jīng)過輸入層、隱含層,經(jīng)過隱含層的計算進(jìn)行判斷誤差的范圍,根據(jù)誤差范圍來判斷是否進(jìn)行數(shù)據(jù)的反向傳播。BP神經(jīng)網(wǎng)絡(luò)算法采用三層的網(wǎng)絡(luò)模型,包括輸入層、隱含層和輸出層。首先對網(wǎng)絡(luò)初始化,給出誤差函數(shù)、訓(xùn)練精度值,并對初始權(quán)值和偏置項進(jìn)行初始化。輸入層到隱含層根據(jù)初始權(quán)值和偏置項計算回歸值,采用S形激活函數(shù)對回歸值進(jìn)行變換,將變換之后的值傳輸?shù)诫[含層。隱含層會對傳輸進(jìn)來的數(shù)據(jù)采用函數(shù)進(jìn)行計算以及采用激活函數(shù)進(jìn)行變換,再根據(jù)誤差函數(shù)計算得到對應(yīng)的誤差,將誤差與系統(tǒng)設(shè)定的誤差精度進(jìn)行比較,如果沒有達(dá)到誤差精度范圍就返回輸入層進(jìn)行樣本計算。
手機(jī)APP可以通過對搭建的管理客戶端進(jìn)行調(diào)用,對智能控制盒上傳的數(shù)據(jù)信息進(jìn)行讀取,顯示在手機(jī)界面上。搭建的管理客戶端是基于MQTT的基礎(chǔ)上,通過MQTT的訂閱主題功能,訂閱智能控制盒發(fā)布的主題,實(shí)現(xiàn)了MQTT的通訊功能。管理客戶端將接收到的數(shù)據(jù)信息存儲在數(shù)據(jù)庫中,手機(jī)APP通過對數(shù)據(jù)庫的調(diào)用來實(shí)現(xiàn)數(shù)據(jù)的查閱,手機(jī)APP和管理客戶端通過HTTP協(xié)議進(jìn)行通信。手機(jī)APP和智能信號機(jī)柜的智能門鎖的連接通過藍(lán)牙模塊實(shí)現(xiàn)通信,手機(jī)APP實(shí)現(xiàn)對智能機(jī)柜門鎖的開關(guān)控制。PC端和智能控制盒的連接采用的是網(wǎng)線,PC端可以將數(shù)據(jù)顯示在顯示屏上,并可以通過PC端的指令實(shí)現(xiàn)對智能信號機(jī)柜門鎖的打開和關(guān)閉。
智能信號機(jī)柜的實(shí)現(xiàn)是在MQTT的基礎(chǔ)上,利用MQTT的“輕量”、即時通訊來實(shí)現(xiàn)數(shù)據(jù)的傳輸和通訊。智能信號機(jī)柜的控制盒采用的是M6G2C工業(yè)控制核心板,通過外接傳感器對環(huán)境參數(shù)進(jìn)行測量。外接傳感器主要有溫濕度傳感器、水位煙霧傳感器等對環(huán)境溫度進(jìn)行測量。與此同時,智能控制盒的M6G2C工業(yè)控制核心板也會對智能機(jī)柜的供電狀態(tài)、網(wǎng)絡(luò)狀態(tài)、設(shè)備狀態(tài)以及信號機(jī)的燈色狀態(tài)信息進(jìn)行檢測,將檢測的信息存儲到創(chuàng)建的共享內(nèi)存中,通過搭建的MQTT客戶端將存儲在共享內(nèi)存的數(shù)據(jù)信息上傳到在阿里云平臺搭建的MQTT服務(wù)器。
智能信號機(jī)柜的藍(lán)牙門鎖由手機(jī)端和PC端進(jìn)行控制。手機(jī)APP端通過藍(lán)牙功能控制智能門鎖的開啟和關(guān)閉,同時手機(jī)端將通過搭建的MQTT管理客戶端調(diào)用智能控制盒上傳的環(huán)境參數(shù)、門鎖狀態(tài)以及信號機(jī)狀態(tài)等數(shù)據(jù),并將數(shù)據(jù)顯示在手機(jī)屏幕上。對于局域網(wǎng)而言,PC端和智能控制盒的相連采用的是網(wǎng)線,PC端可以實(shí)現(xiàn)核心板檢測的數(shù)據(jù)在桌面的顯示并實(shí)現(xiàn)對藍(lán)牙門鎖的打開和關(guān)閉的控制。
智能機(jī)柜安全可靠、防盜性能好、散熱效果好,實(shí)現(xiàn)如下主要功能:具備手機(jī)藍(lán)牙開鎖功能,機(jī)柜斷電時可通過電子鑰匙開鎖;柜門狀態(tài)實(shí)時檢測,門開自動拍照,照片本地存儲及上傳;門開自動開啟照明燈,柜內(nèi)溫度超限自動開啟風(fēng)扇;220V交流電實(shí)時監(jiān)測、電能測量、電流越限報警、遠(yuǎn)程斷電、斷電檢測上傳告警信息;2G/4G無線通信功能;具有全球?qū)Ш叫l(wèi)星系統(tǒng),定位上傳位置信息;柜內(nèi)環(huán)境參數(shù)實(shí)時監(jiān)測上報,異常時告警;支持OTA遠(yuǎn)程升級,遙測;具有遠(yuǎn)程監(jiān)控功能。
手機(jī)APP面向交警和信號機(jī)運(yùn)維人員,通過分發(fā)安裝包的形式安裝在Android手機(jī)平臺。該APP需特定用戶名和密碼登錄,由系統(tǒng)管理員統(tǒng)一創(chuàng)建、下發(fā)、管理。通過該APP,用戶可實(shí)現(xiàn)權(quán)限內(nèi)所有信號機(jī)箱狀態(tài)的查看,對單個信號機(jī)箱發(fā)送開鎖指令,以及查看每個信號機(jī)箱的開關(guān)門記錄。
PC端管理平臺實(shí)現(xiàn)各類實(shí)時狀態(tài)監(jiān)視、一鍵開鎖、歷史記錄查詢等功能外,主要負(fù)責(zé)對用戶、權(quán)限以及日志進(jìn)行精細(xì)化管理,能夠按需定制各類統(tǒng)計分析報表。
圖3 手機(jī)APP
圖4 PC端實(shí)時監(jiān)控
文章介紹了基于MQTT的智能信號機(jī)柜的研究與設(shè)計。智能信號機(jī)柜數(shù)據(jù)通訊是在MQTT協(xié)議的基礎(chǔ)上實(shí)現(xiàn)的,該設(shè)計在原有信號機(jī)的基礎(chǔ)上,增加了對環(huán)境的監(jiān)測以及對信號機(jī)網(wǎng)絡(luò)狀態(tài)、運(yùn)行狀態(tài),以及信號機(jī)的燈色狀態(tài)信息等信息的檢測,并對數(shù)據(jù)信息進(jìn)行存儲。在MQTT協(xié)議的基礎(chǔ)上,實(shí)現(xiàn)數(shù)據(jù)信息的上傳,將數(shù)據(jù)信息上傳到在阿里云平臺搭建的MQTT服務(wù)器。手機(jī)APP可以通過搭建的MQTT管理客戶端查看智能控制盒上傳的環(huán)境參數(shù)以及信號機(jī)數(shù)據(jù)信息等數(shù)據(jù),并顯示在手機(jī)屏幕上。對于PC端,和智能控制盒的核心板采用網(wǎng)線進(jìn)行連接,智能控制盒的數(shù)據(jù)信息實(shí)時顯示在電腦屏幕上,可以實(shí)現(xiàn)對數(shù)據(jù)的實(shí)時檢測。