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