黃宇新,王浩楠,張宇智,武泱光,胡安正(通訊作者)
(湖北文理學(xué)院物理與電子工程學(xué)院,湖北襄陽,441053)
本文基于Node.js、MongoDB數(shù)據(jù)庫和GPRS無線數(shù)據(jù)傳輸技術(shù)等先進手段,實現(xiàn)了電機工況信息的實時監(jiān)測,并能夠被基于網(wǎng)絡(luò)平臺開發(fā)的微信小程序?qū)崿F(xiàn)對電機的遠程無線監(jiān)控和精準化管理,包括將這些電機實時工況和異常信息及時傳達到“生產(chǎn)廠家、銷售商和用戶”的手機上。
基于所處不同工作環(huán)境電機所需,篩選和設(shè)計適合于防腐、抗震、耐高溫和抵抗電磁干擾等各種影響因素的元器件、傳感器和模塊來保證采集的穩(wěn)定性以及電機工況數(shù)據(jù)的準確性。
在電機的外部設(shè)置報警系統(tǒng)、控制模塊和顯示屏,“報警系統(tǒng)”用于當電機出現(xiàn)異常情況下對工作人員進行提醒警報,“控制模塊”用于當電機出現(xiàn)異常情況下對電機進行有效的控制,“顯示屏”用于顯示監(jiān)控系統(tǒng)檢測的實時工況信息。在電機出廠時需要對每項參數(shù)預(yù)設(shè)異常報警閾值以及停機閾值,當電機處于運行狀態(tài)時,將監(jiān)控系統(tǒng)檢測到的工況信息與預(yù)設(shè)異常閾值進行實時比對,從而確定電機是否處于異常情況中[1]。
監(jiān)控系統(tǒng)包括軸承監(jiān)控部分電路、線圈監(jiān)控部分電路、振動監(jiān)測電路、單片機最小系統(tǒng)電路、無線通訊電路,“軸承監(jiān)控模塊-包括溫度傳感器”用于對軸承的使用情況進行監(jiān)控,“線圈監(jiān)控模塊-包括溫濕度傳感器”用于對線圈工作環(huán)境進行監(jiān)控,“振動傳感器”用于對電機的振動情況進行監(jiān)測,“單片機”用于接收檢測的電機工況信息,并對其進行處理,將其以數(shù)字的形式顯示在屏幕上,“無線通訊模塊”用于向服務(wù)器發(fā)送電機實時工況和異常預(yù)警等數(shù)據(jù)信息。工況信息采集與監(jiān)測系統(tǒng)框圖如圖1 所示。
圖1 工況信息采集與監(jiān)測系統(tǒng)框圖
微信小程序是一種全新的連接用戶與用戶的方式,它不同于app需要下載安裝即可使用的應(yīng)用,它可以在微信內(nèi)被快速的搜索和使用,同時具有很好的使用體驗。小程序的主要開發(fā)語言是JavaScript。JavaScript是一種基于對象和事件驅(qū)動并且具有相對安全性的客戶端腳本語言。其主要目的是為了解決服務(wù)器端語言,它可以在程序運行過程中被逐行的運行,使用戶方便操作和使用.并且它只能通過瀏覽器實現(xiàn)信息瀏覽或動態(tài)交互,從而有效的防止數(shù)據(jù)的丟失或?qū)ο到y(tǒng)的非法訪問。
3.2.1 設(shè)計流程
電機管理小程序的操作流程如圖2所示,用戶通過微信小程序進入登錄界面,選擇角色后并驗證信息成功后進入角色管理界面,若驗證信息失敗,則提示重新輸入。
圖2 電機管理小程序流程圖
3.2.2 功能介紹
(1)廠家功能介紹
圖3 展示的是廠家管理界面。廠家能夠在該界面上通過后臺的數(shù)據(jù)進行查看電機標稱信息及實時運行狀態(tài)信息,也可以往監(jiān)控設(shè)備寫入電機編號,以及提供電機的經(jīng)營商家或用戶信息。
圖3 廠家管理界面
(2)商家功能介紹
商家可以通過該界面進行查修電機關(guān)聯(lián)的商家及用戶信息。
(3)用戶功能介紹
用戶可以在此界面上查看電機報警信息以及設(shè)置的閾值信息,并對其進行修改。還可以添加,刪除電機管理人員的聯(lián)系方式。
一些簡單的組件框架的核心是發(fā)送請求API的過程,而微信小程序提供了豐富的原生API,可以方便的使用微信提供的諸多權(quán)限,如獲取用戶信息、本地存儲、支付功能等。本系統(tǒng)只需使用相應(yīng)服務(wù)器端的API,就可以實現(xiàn)微信小程序與服務(wù)器端的通信。
電機后臺管理系統(tǒng)設(shè)計采用了語法較為簡單、開發(fā)難度低且性能優(yōu)越的MongoDB數(shù)據(jù)庫和Node.js進行開發(fā),不僅降低了開發(fā)成本,還具有查詢速度快、容量大等優(yōu)點,解決了大多數(shù)生產(chǎn)者兩者不能兼顧的問題,讓該系統(tǒng)設(shè)計成為今后數(shù)據(jù)處理方面堅實的后盾,為后續(xù)發(fā)展更為完善的監(jiān)測系統(tǒng)奠定了基礎(chǔ)。后臺管理系統(tǒng)主要分為服務(wù)器設(shè)計和數(shù)據(jù)庫設(shè)計兩大部分,系統(tǒng)設(shè)計框圖如圖4所示。
圖4 后臺管理系統(tǒng)框圖
服務(wù)器采用Node.js進行搭建,Node.js具有超強的并發(fā)能力和較為簡單的語法結(jié)構(gòu)等特點,這使得開發(fā)者學(xué)習(xí)的時間變短、學(xué)習(xí)成本變低,大大降低了開發(fā)成本,使得它能夠普及到廣大群眾。系統(tǒng)框架采用Express,它是一種基于Node.js平臺的web應(yīng)用開發(fā)框架,提供了一系列強大的功能,幫助創(chuàng)建各種Web和移動設(shè)備應(yīng)用[2]。將購買的服務(wù)器公網(wǎng)IP結(jié)合域名作為公網(wǎng),并以此作為通信的中轉(zhuǎn)站與微信小程序端和電機監(jiān)測端進行數(shù)據(jù)交互。當用戶對小程序端進行操作時,小程序端發(fā)送信息給后臺管理系統(tǒng),并通過服務(wù)器發(fā)送信息給電機監(jiān)測端進行信息修改;當電機監(jiān)測端工作時,電機監(jiān)測端傳送數(shù)據(jù)給后臺管理系統(tǒng),并通過服務(wù)器發(fā)送數(shù)據(jù)給小程序端進行數(shù)據(jù)查看,從而保證電機監(jiān)測、管理的實時性、穩(wěn)定性和可靠性。
系統(tǒng)采用MongoDB數(shù)據(jù)庫進行開發(fā),它是一種基于分布式文件存儲的開源數(shù)據(jù)庫系統(tǒng),MongoDB的數(shù)據(jù)模式可以隨著應(yīng)用程序的發(fā)展而靈活更新,十分適用于敏捷開發(fā)[3],這使得開發(fā)者在不失高效的前提下,也能保證用戶有較好的體驗感,因此在數(shù)據(jù)庫方面,最終選用了MongoDB作為開發(fā)工具。
數(shù)據(jù)庫主要存儲電機數(shù)據(jù)以及廠家、商家和用戶數(shù)據(jù),其中電機數(shù)據(jù)包括電機編號、工況信息、閾值參數(shù)等內(nèi)容,這些數(shù)據(jù)內(nèi)容主要用來監(jiān)測電機是否故障和故障來源,使得電機用戶能夠知道電機工況信息是否正常,從而降低電機損壞時所帶來的經(jīng)濟損失。并且,服務(wù)器可以從數(shù)據(jù)庫中獲取廠家、商家和用戶的賬號、密碼以及聯(lián)系方式等信息。
為保證處于惡劣工作環(huán)境的電機的正常運轉(zhuǎn),減小電機過度運行而帶來的損失,由此設(shè)計一款能夠?qū)崟r監(jiān)測電機運行狀態(tài)的設(shè)備就具有十分重要的意義。本系統(tǒng)對傳統(tǒng)電機進行實時批量監(jiān)視管理,提高了工廠對電機管理的效率,降低了工況復(fù)雜場地的安全事故概率。并且,微信小程序?qū)Φ顷懮矸莸膮^(qū)分,使得管理的兼容性提高,電機從出廠到流向都有每個環(huán)節(jié)的記錄,順應(yīng)了萬物互聯(lián)的時代趨勢。