天津職業(yè)大學(xué) 王向華 孟慶杰
隨著互聯(lián)網(wǎng)、物聯(lián)網(wǎng)技術(shù)的飛速發(fā)展,使用先進(jìn)的IT 技術(shù)實(shí)現(xiàn)業(yè)務(wù)新突破、提高工作效率成,在各個(gè)企業(yè)中已經(jīng)成為必然趨勢(shì)。本項(xiàng)目基于GRPS,通過(guò)“互聯(lián)網(wǎng)+物聯(lián)網(wǎng)”技術(shù),實(shí)現(xiàn)大型或精密儀器進(jìn)出倉(cāng)儲(chǔ)的控制和管理。
天津空港保稅區(qū)部分企業(yè)負(fù)責(zé)飛機(jī)及相關(guān)精密儀器的維修保養(yǎng)工作,飛機(jī)或儀器進(jìn)出海關(guān)倉(cāng)儲(chǔ)都必須經(jīng)過(guò)申請(qǐng)——審批——執(zhí)行等一系列流程,但是由于工作人員不足,造成企業(yè)通過(guò)紙質(zhì)申請(qǐng)申報(bào)涉關(guān)業(yè)務(wù)不便捷,飛機(jī)出入存在監(jiān)管空白間隔,另外由于倉(cāng)庫(kù)卡口增多,飛機(jī)的數(shù)量和監(jiān)管困難都會(huì)大大增加,為了解決這一問(wèn)題,研發(fā)了一套基于GPRS 的控制管理系統(tǒng),實(shí)現(xiàn)在線申報(bào)、在線審批、在線控制倉(cāng)庫(kù)門(mén)禁等功能。系統(tǒng)整體工作流程如圖1 所示。
圖1 系統(tǒng)工作流程Fig.1 System workflow
完成以上功能需要軟件和硬件兩部分組成。
軟件部分由海關(guān)管理端和企業(yè)用戶端組成。
(1)遠(yuǎn)程控制管理:用于通過(guò)無(wú)線網(wǎng)絡(luò)向門(mén)禁控制器發(fā)送信號(hào),同時(shí)接收門(mén)禁控制器傳回的門(mén)禁開(kāi)關(guān)狀態(tài);(2)出入倉(cāng)庫(kù)卡口審批:對(duì)于下屬企業(yè)填寫(xiě)提交的入庫(kù)申請(qǐng)單或出庫(kù)申請(qǐng)單進(jìn)行審批;(3)核查管理:對(duì)審批之后的出入庫(kù)申請(qǐng)的進(jìn)行核查;(4)進(jìn)出倉(cāng)庫(kù)管理:接收遠(yuǎn)程控制器發(fā)回的門(mén)禁開(kāi)關(guān)信號(hào),查看各個(gè)門(mén)禁卡口的進(jìn)出情況,并可以填寫(xiě)門(mén)禁卡口實(shí)際進(jìn)出的時(shí)間信息;(5)設(shè)施管理:增加或刪除卡口攝像頭設(shè)備,并可以向遠(yuǎn)程門(mén)禁發(fā)送“開(kāi)啟”指令;(6)統(tǒng)計(jì)分析:用于多條件查詢進(jìn)出倉(cāng)儲(chǔ)卡口信息;(7)企業(yè)管理:用于對(duì)海關(guān)下屬企業(yè)進(jìn)行增刪改查;(8)權(quán)限管理:用于設(shè)置權(quán)限數(shù)據(jù)字典,包括用戶權(quán)限、角色權(quán)限和系統(tǒng)權(quán)限;(9)系統(tǒng)管理:用于系統(tǒng)字典設(shè)置,包括:日志管理、工作流程管理、進(jìn)出倉(cāng)庫(kù)卡口工作項(xiàng)目管理、布控規(guī)則設(shè)置、業(yè)務(wù)類(lèi)型設(shè)置、審批意見(jiàn)管理、設(shè)備異常原因管理等。
(1)入?yún)^(qū)申請(qǐng):填寫(xiě)并提交入?yún)^(qū)申請(qǐng)單;(2)出區(qū)申請(qǐng):填寫(xiě)并提交出區(qū)申請(qǐng)單;(3)查看審批狀態(tài):查看海關(guān)部分對(duì)于申請(qǐng)的審批結(jié)果;(4)用戶信息設(shè)置。
系統(tǒng)硬件部分采用基于GRPS 的控制電路完成,功能需求如下:
(1)接收控制平臺(tái)發(fā)送的“開(kāi)啟”或“關(guān)閉”信號(hào),控制繼電器通電或斷電,從而控制門(mén)禁卡口遙控接收器的工作狀態(tài)。(2)接收門(mén)禁卡口上接近開(kāi)關(guān)傳感器的數(shù)據(jù),并將數(shù)據(jù)上傳到控制平臺(tái),以便于控制平臺(tái)能夠?qū)崟r(shí)掌握門(mén)禁的開(kāi)關(guān)狀態(tài)。
本系統(tǒng)使用SQL Server 數(shù)據(jù)庫(kù),采用基于.NET 技術(shù)的MVC 三層架構(gòu)完成軟件部分設(shè)計(jì)。整體上將系統(tǒng)架構(gòu)劃分為數(shù)據(jù)訪問(wèn)層(DAL)、業(yè)務(wù)邏輯層(BLL)和表示層(UI),三層架構(gòu)實(shí)現(xiàn)了“高內(nèi)聚、低耦合”的思想,各層之間采用接口進(jìn)行訪問(wèn),這是常見(jiàn)的軟件結(jié)構(gòu)框架,能夠?qū)⑾到y(tǒng)模塊化,加快開(kāi)發(fā)效率,易于維護(hù)和更新。各層在項(xiàng)目中的作用如下。
(1)數(shù)據(jù)訪問(wèn)層:通過(guò)數(shù)據(jù)庫(kù)連接對(duì)象與數(shù)據(jù)庫(kù)進(jìn)行連接,完成數(shù)據(jù)的增刪改查,主要包括入庫(kù)、出庫(kù)申請(qǐng)與審批、卡口門(mén)禁信息、攝像頭信息、進(jìn)出記錄等。并將操作結(jié)果返回給業(yè)務(wù)邏輯層。(2)業(yè)務(wù)邏輯層:負(fù)責(zé)處理用戶的操作請(qǐng)求,將用戶頁(yè)面中的數(shù)據(jù)和用戶請(qǐng)求發(fā)送給數(shù)據(jù)訪問(wèn)層,并接收數(shù)據(jù)訪問(wèn)層的返回結(jié)果。(3)表示層:主要是指用戶界面。本系統(tǒng)采用B/S 架構(gòu),用戶使用瀏覽器完成操作,在瀏覽器界面中將操作請(qǐng)求發(fā)送給業(yè)務(wù)邏輯層,并接收業(yè)務(wù)邏輯層的返回結(jié)果,然后渲染到在瀏覽器中?;窘Y(jié)構(gòu)如圖2 所示。
圖2 軟件三層架構(gòu)Fig.2 Software three-tier architecture
三層架構(gòu)中,UI 層開(kāi)發(fā)基于MVC 的軟件設(shè)計(jì)規(guī)范,按照模型(Model)、視圖(View)和控制器(Controller)模型方式將用戶界面(V)與業(yè)務(wù)模型(M)進(jìn)行分離,控制器(C)負(fù)責(zé)接收用戶請(qǐng)求,并調(diào)用模型構(gòu)建處理請(qǐng)求,將返回的數(shù)據(jù)交予視圖層進(jìn)行呈現(xiàn)。
由于本系統(tǒng)功能模塊比較多,下面僅以卡口門(mén)禁設(shè)備添加功能為例,說(shuō)明基于MVC 三層架構(gòu)的實(shí)現(xiàn)過(guò)程,篇幅的原因,只展示部分關(guān)鍵代碼。
(1)視圖層(View)。視圖層代碼主要包括HTML和JavaScript 腳本,HTML 部分以表單方式呈現(xiàn)在頁(yè)面中,頁(yè)面效果如圖3 所示。
圖3 添加設(shè)備視圖層效果Fig.3 Add device view layer effect
輸入設(shè)備信息后,單擊“確定”按鈕,會(huì)執(zhí)行JavaScript腳本中的Save()方法,該方法主要代碼如下:
在JS 文件的Save()方法中,通過(guò)Ajax 獲取控制層返回的信息,訪問(wèn)的控制層url 為“/AP_DoorInfo/Save”
(2)控制器層(Controller)主要代碼:
在控制器層,通過(guò)“EditBLL.SaveData()”訪問(wèn)業(yè)務(wù)邏輯層(BLL)的SaveData()方法,傳遞的參數(shù)為數(shù)據(jù)模型。
(3)業(yè)務(wù)邏輯層(BLL)主要代碼:
在業(yè)務(wù)邏輯層,通過(guò)“myDal.Add()”方法調(diào)用數(shù)據(jù)訪問(wèn)層的Add()方法,實(shí)現(xiàn)將數(shù)據(jù)添加到數(shù)據(jù)庫(kù)中的功能,如果DAL 層返回的添加結(jié)果為成功,則提交事物,否則回滾事務(wù)。
(4)數(shù)據(jù)訪問(wèn)層(DAL)主要代碼。數(shù)據(jù)訪問(wèn)層實(shí)現(xiàn)連接數(shù)據(jù)庫(kù),將BLL 層傳遞的信息數(shù)據(jù)通過(guò)SQL 語(yǔ)句添加到數(shù)據(jù)庫(kù)中,然后將是否添加成功的信息返回給上一層,篇幅的原因,這里不再展示代碼。
硬件部分工作示意圖如圖4 所示。
圖4 系統(tǒng)硬件工作示意圖Fig.4 Working diagram of system hardware
硬件部分采用移遠(yuǎn)通信的M26 無(wú)線模塊為核心的控制電路完成,接收系統(tǒng)平臺(tái)發(fā)送的控制命令,控制繼電器開(kāi)合,以達(dá)到控制門(mén)禁遙控接收器電源開(kāi)關(guān)的目的,同時(shí)設(shè)置時(shí)鐘,讀取接近開(kāi)關(guān)傳感器的數(shù)據(jù),將門(mén)禁卡口的狀態(tài)及時(shí)通過(guò)GPRS 發(fā)送給系統(tǒng)平臺(tái)。
硬件部分主要電路設(shè)計(jì)如下。
(1)系統(tǒng)供電設(shè)計(jì)。本系統(tǒng)中M26 模塊使用4V 供電,其他大部分模塊使用2.8V 供電。因此首先使用TPS54360將12V 電源進(jìn)行穩(wěn)流降壓濾波后,輸出4V 直流電壓,如圖5 所示,再將4V 直流電壓降壓到2.8V 電壓,如圖6所示。
圖5 12V 直流電壓將為4VFig.5 12V DC voltage will be 4V
圖6 4V 直流電壓將為2.8VFig.6 The 4V DC voltage will be 2.8V
(2)SIM 卡控制電路,如圖7 所示。
圖7 SIM 卡控制電路Fig.7 SIM card control circuit
(3)繼電器電路設(shè)計(jì)如圖8 所示,通過(guò)光耦合器控制繼電器開(kāi)合,完成通電、斷電的功能。
圖8 繼電器電路設(shè)計(jì)Fig.8 Relay circuit design
(4)傳感器電路設(shè)計(jì)如圖9 所示,通過(guò)讀取傳感器數(shù)據(jù),監(jiān)控門(mén)禁卡口狀態(tài)。
圖9 傳感器電路設(shè)計(jì)Fig.9 Sensor circuit design
本系統(tǒng)基于GPRS 控制系統(tǒng),采用MVC 設(shè)計(jì)模式,實(shí)現(xiàn)了“互聯(lián)網(wǎng)+物聯(lián)網(wǎng)”相結(jié)合的倉(cāng)儲(chǔ)門(mén)禁管理系統(tǒng),解決了原有紙質(zhì)申請(qǐng)、人工操作門(mén)禁的各種延誤、響應(yīng)不及時(shí)等問(wèn)題,實(shí)時(shí)獲取和控制門(mén)禁卡口的開(kāi)關(guān)狀態(tài),將監(jiān)管、工作、實(shí)時(shí)監(jiān)控融為一體,減少了人工操作帶來(lái)的失誤,降低了人員工作負(fù)荷。
引用
[1] 魏麗芬.基于.NET技術(shù)實(shí)現(xiàn)MVC三層架構(gòu)的學(xué)生事務(wù)管理系統(tǒng)[J].機(jī)電技術(shù),2011,34(1):18-21.