曹玉志 董超斌 何敬賓
摘 ?要:物聯(lián)網(wǎng)系統(tǒng)立意于針對(duì)流行的物聯(lián)網(wǎng)技術(shù),開發(fā)一整套包含硬件、軟件、數(shù)據(jù)服務(wù)為一體的云應(yīng)用平臺(tái),通過互聯(lián)網(wǎng)、移動(dòng)網(wǎng)絡(luò)使不同廠家、不同地域內(nèi)的信息共享,并由用戶按需獲取、操作、配置網(wǎng)絡(luò)終端遠(yuǎn)程設(shè)備,統(tǒng)一存儲(chǔ),高效利用,解決工廠內(nèi)眾多設(shè)備之間無法通信交互的問題。
關(guān)鍵詞:ASP .NET;物聯(lián)網(wǎng);Socket通訊;多線程
中圖分類號(hào):TP391.44;TN929.5 ? ? ?文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):2096-4706(2019)17-0165-02
Abstract:The internet of things (IOT) system aims at developing a set of cloud application platforms including hardware,software and data services for the popular IOT technology. Sharing information among different manufacturers and regions through Internet and mobile network,and users can acquire,operate and configure remote devices on the network end on demand,unify storage and make efficient use of them,so as to solve the problem of communication and interaction between many equipment in the factory.
Keywords:ASP .NET;internet of things;Socket communication;multithreading
0 ?引 ?言
物聯(lián)網(wǎng)是新一代技術(shù)信息的重要組成部分,也是“信息化”時(shí)代的重要標(biāo)志。物聯(lián)網(wǎng)就是物物相連的互聯(lián)網(wǎng),其有兩層含義:其一,物聯(lián)網(wǎng)的核心和基礎(chǔ)仍然是互聯(lián)網(wǎng),是在互聯(lián)網(wǎng)基礎(chǔ)上延伸和擴(kuò)展的網(wǎng)絡(luò);其二,其用戶端延伸擴(kuò)展到了任何物品和物品之間,進(jìn)行信息交換和通信,也就是物物相息。物聯(lián)網(wǎng)通過感知、識(shí)別技術(shù)與普適計(jì)算等通信感知技術(shù),廣泛應(yīng)用于網(wǎng)絡(luò)的融合中,也因此被稱為繼計(jì)算機(jī)、互聯(lián)網(wǎng)之后世界信息產(chǎn)業(yè)的第三次浪潮。
為了實(shí)現(xiàn)物聯(lián)網(wǎng)平臺(tái)的建設(shè),本文提出了基于asp.net和微信公眾號(hào)的物聯(lián)網(wǎng)系統(tǒng),以實(shí)現(xiàn)設(shè)備與設(shè)備、設(shè)備與服務(wù)器、移動(dòng)終端與服務(wù)器的通信交互。
1 ?物聯(lián)網(wǎng)整體架構(gòu)設(shè)計(jì)
本系統(tǒng)主要包括三個(gè)模塊:(1)物聯(lián)網(wǎng)系統(tǒng)控制臺(tái)網(wǎng)站,支持設(shè)備添加、修改、刪除。(2)物聯(lián)網(wǎng)系統(tǒng)服務(wù)端軟件,提供數(shù)據(jù)采集,控制指令下發(fā),定時(shí)任務(wù)下發(fā),觸發(fā)器執(zhí)行等功能。(3)手機(jī)端公眾號(hào)、提供物聯(lián)網(wǎng)控制臺(tái)網(wǎng)站訪問,通過服務(wù)器控制設(shè)備,查詢?cè)O(shè)備歷史數(shù)據(jù)等功能。由這三個(gè)模塊建成最終的物聯(lián)網(wǎng)系統(tǒng)。
本系統(tǒng)工作原理:底層傳感器、PLC等其他支持Modbus協(xié)議的設(shè)備通過485線與DTU設(shè)備相連接,DTU通過HTTP協(xié)議與Socket通訊方式將采集數(shù)據(jù)上傳到系統(tǒng)服務(wù)器中,服務(wù)器網(wǎng)站后臺(tái)服務(wù)程序?qū)?shù)據(jù)進(jìn)行解算,用戶通過Web網(wǎng)站與手機(jī)微信公眾號(hào)查看實(shí)時(shí)數(shù)據(jù)與歷史數(shù)據(jù)。系統(tǒng)架構(gòu)圖如圖1所示。
2 ?系統(tǒng)功能與設(shè)計(jì)
2.1 ?服務(wù)程序
服務(wù)程序?yàn)?net的Winform程序。提供設(shè)備數(shù)據(jù)采集、數(shù)據(jù)解算、控制指令下發(fā)、報(bào)警消息推送、定時(shí)任務(wù)下發(fā)、觸發(fā)條件控制、流量卡查詢等功能。服務(wù)程序通過網(wǎng)站控制臺(tái)或微信公眾號(hào)設(shè)置的設(shè)備信息與相關(guān)設(shè)備相連。
數(shù)據(jù)采集功能:服務(wù)程序通過Socket通訊與DTU透?jìng)髟O(shè)備相連接,通過設(shè)定的從站地址、偏執(zhí)來讀取集DTU下傳感器等設(shè)備傳上來的modbus-rtu報(bào)文。
數(shù)據(jù)解算功能:服務(wù)程序解算rtu報(bào)文解算,通過設(shè)定的高低字節(jié)與高低位來解算出傳感器等設(shè)備實(shí)際的數(shù)值。
控制指令下發(fā):服務(wù)程序通過設(shè)定的內(nèi)容拼接RTU寫入指令,根據(jù)從站地址與偏執(zhí)對(duì)應(yīng)相關(guān)傳感器,通過寫數(shù)據(jù)地址與寫數(shù)據(jù)內(nèi)容來實(shí)現(xiàn)下發(fā)的控制指令。
報(bào)警消息推送:服務(wù)程序判斷采集上來的數(shù)據(jù)達(dá)到用戶設(shè)定的特定狀態(tài),將消息推送給客戶。采用短信與微信的報(bào)警方式,通過阿里云的短信發(fā)送API接口實(shí)現(xiàn)短信發(fā)送,通過微信的API接口實(shí)現(xiàn)微信消息的發(fā)送。
定時(shí)任務(wù)下發(fā):服務(wù)程序判斷用戶設(shè)定的定時(shí)任務(wù),拼接RTU寫入指令,在用戶指定時(shí)間或周期發(fā)送指令到設(shè)備中。
觸發(fā)條件控制:服務(wù)程序判斷用戶設(shè)定的觸發(fā)器,拼接RTU寫入指令,當(dāng)達(dá)到觸發(fā)條件時(shí)發(fā)送指令到設(shè)備中。
流量卡查詢:服務(wù)程序在上線時(shí)讀取DTU設(shè)備中手機(jī)卡的iccid,在間隔設(shè)定周期中通過阿里云物聯(lián)卡重復(fù)查詢?cè)撌謾C(jī)卡總流量、使用流量與剩余流量。
2.2 ?控制臺(tái)網(wǎng)站
控制臺(tái)網(wǎng)站為.net的Webform程序,包括設(shè)備添加、傳感器添加、傳感器參數(shù)設(shè)置、觸發(fā)器添加、定時(shí)任務(wù)添加、實(shí)時(shí)數(shù)據(jù)查詢、用戶充值、基礎(chǔ)設(shè)置、系統(tǒng)管理等功能。
設(shè)備添加:添加DTU設(shè)備,配置DTU設(shè)備的IMEI碼,根據(jù)百度地圖API可以標(biāo)注出DTU設(shè)備的經(jīng)緯度、DTU設(shè)備的上傳周期等。
傳感器添加:選定DTU設(shè)備,在該DTU下添加傳感器、PLC、數(shù)顯表等設(shè)備。
傳感器參數(shù)設(shè)置:選定DTU設(shè)備下的傳感器、PLC、數(shù)顯表等設(shè)備。設(shè)置從站地址、功能碼、偏執(zhí)、數(shù)據(jù)格式等信息以便服務(wù)程序連接該傳感器。
觸發(fā)器添加:選擇DTU下的傳感器,設(shè)置觸發(fā)條件以及對(duì)應(yīng)的觸發(fā)數(shù)值。添加報(bào)警方式與聯(lián)系人、轉(zhuǎn)發(fā)設(shè)備,轉(zhuǎn)發(fā)數(shù)據(jù)等信息。
定時(shí)任務(wù):選擇DTU下的傳感器,設(shè)置計(jì)劃周期與計(jì)劃類型,設(shè)置好下發(fā)的數(shù)據(jù),實(shí)現(xiàn)定時(shí)寫入RTU指令。
實(shí)時(shí)數(shù)據(jù)查詢:采用了兩秒頁(yè)面局部刷新,實(shí)現(xiàn)實(shí)時(shí)數(shù)據(jù)的顯示,可以查詢實(shí)時(shí)曲線與歷史曲線,通過echart圖表的方式展示。實(shí)時(shí)曲線通過隊(duì)列的方式顯示最近的三十個(gè)點(diǎn)的數(shù)據(jù)。
用戶充值:用戶線上充值短信條數(shù)用于短信提醒,調(diào)用微信支付接口,通過回調(diào)函數(shù)返回的成功信息記錄在本地?cái)?shù)據(jù)庫(kù)中,達(dá)到短信充值的功能。
基礎(chǔ)設(shè)置:包含通訊協(xié)議設(shè)置、傳感器類型設(shè)置、采集周期設(shè)置、設(shè)置微信圖片輪播、功能碼維護(hù)等功能。
系統(tǒng)管理:包括組織機(jī)構(gòu)管理、崗位信息管理、人員管理、人員查詢等功能。
2.3 ?微信公眾號(hào)
微信公眾號(hào)包含的功能與控制臺(tái)網(wǎng)站的功能相近,包括設(shè)備添加、傳感器添加、傳感器參數(shù)設(shè)置、觸發(fā)器添加、定時(shí)任務(wù)添加、實(shí)時(shí)數(shù)據(jù)查詢、用戶充值、基礎(chǔ)設(shè)置、系統(tǒng)管理等功能。
微信公眾號(hào)控制臺(tái)通過微信網(wǎng)頁(yè)授權(quán)機(jī)制來獲取用戶基本信息,進(jìn)而實(shí)現(xiàn)業(yè)務(wù)邏輯。微信網(wǎng)頁(yè)授權(quán)是通過OAuth2.0機(jī)制實(shí)現(xiàn)的,在用戶授權(quán)給公眾號(hào)后,公眾號(hào)可以獲取到一個(gè)網(wǎng)頁(yè)授權(quán)特有的接口調(diào)用憑證(網(wǎng)頁(yè)授權(quán)access_token),通過網(wǎng)頁(yè)授權(quán)(access_token)可以進(jìn)行授權(quán)后接口調(diào)用,如獲取用戶基本信息。用戶第一次登錄后經(jīng)獲取的微信OPENID更新到物聯(lián)網(wǎng)平臺(tái)數(shù)據(jù)庫(kù)中,之后登錄判斷數(shù)據(jù)庫(kù)中是否存在此OPENID,若存在使用此OPENID關(guān)聯(lián)的平臺(tái)賬號(hào)密碼登錄。
微信公眾號(hào)采用MUI框架搭建,MUI是一份基于html5+標(biāo)準(zhǔn)的框架同時(shí)擁有h5組件和原生組件,MUI不依賴任何第三方JS庫(kù)MUI,以iOS平臺(tái)UI為基礎(chǔ),補(bǔ)充部分Android平臺(tái)特有的UI控件,給予用戶原生的體驗(yàn)。
3 ?結(jié) ?論
基于本物聯(lián)網(wǎng)平臺(tái)服務(wù),可以實(shí)現(xiàn)數(shù)據(jù)的遠(yuǎn)程采集、分析和實(shí)現(xiàn)與開關(guān)的控制??梢詫⒈鞠到y(tǒng)應(yīng)用于罐區(qū)、水利、化工、電廠等封面,實(shí)現(xiàn)自動(dòng)化信息采集、遠(yuǎn)程監(jiān)控、報(bào)警推送,既節(jié)省了安裝線管、布線的煩瑣,更是方便快捷,用戶可以隨時(shí)隨地監(jiān)控。
參考文獻(xiàn):
[1] 王陽(yáng),溫向明,路兆銘,等.新興物聯(lián)網(wǎng)技術(shù)——LoRa [J].信息通信技術(shù),2017,11(1):55-59+72.
[2] 閻堅(jiān),桂勁松.基于物聯(lián)網(wǎng)技術(shù)的智慧教室設(shè)計(jì)與實(shí)現(xiàn) [J].中國(guó)電化教育,2016(12):83-86.
[3] 肖清旺,王錦華,朱易翔.物聯(lián)網(wǎng)智能終端設(shè)備識(shí)別方法 [J].電信科學(xué),2017,33(2):3-8.
[4] 2016物聯(lián)網(wǎng)安全白皮書 [J].信息安全與通信保密,2017(2):110-121.
[5] 張龍昌,楊艷紅,王曉明.物聯(lián)網(wǎng)環(huán)境下食品安全云計(jì)算平臺(tái)模型 [J].計(jì)算機(jī)技術(shù)與發(fā)展,2017,27(1):107-111+116.
[6] 劉云浩.物聯(lián)網(wǎng)導(dǎo)論 [M].北京:科學(xué)出版社,2011.
作者簡(jiǎn)介:曹玉志(1985-),男,漢族,河北青龍人,軟件工程師,軟件設(shè)計(jì)師,學(xué)士學(xué)位,本科,研究方向:信息化系統(tǒng)系統(tǒng)項(xiàng)目集成。