陳 健 曹建峰
基于嵌入式技術(shù)的智能電子看板系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
陳 健 曹建峰
看板起初是用于工業(yè)生產(chǎn),后來國(guó)外也在醫(yī)院和政府部門使用,用于顯示醫(yī)生或單位人員的在崗情況?,F(xiàn)在發(fā)展起來的電子看板,可以查詢相關(guān)人員的去向,提高了服務(wù)水平,體現(xiàn)了為人民服務(wù)的意識(shí)。
目前,國(guó)內(nèi)外公司也有和本文研究相似的產(chǎn)品,但主要是基于單機(jī)版,數(shù)據(jù)利用和傳輸效率低,智能程度不夠,便利性不高,工作效率較低,且功能比較單一,只能定時(shí)從數(shù)據(jù)庫(kù)中讀取數(shù)據(jù),無法實(shí)現(xiàn)實(shí)時(shí)跟蹤信息的功能,已無法很好地滿足人們對(duì)信息化程度越來越高的要求。因此,有必要設(shè)計(jì)一種基于網(wǎng)絡(luò)和移動(dòng)手持終端的智能虛擬電子看板,實(shí)現(xiàn)在一定權(quán)限內(nèi)遠(yuǎn)程實(shí)時(shí)查詢與設(shè)置相關(guān)人員到崗情況,切實(shí)體現(xiàn)了服務(wù)無止境的理念。
系統(tǒng)架構(gòu)設(shè)計(jì)過程中綜合考慮了項(xiàng)目的需求、硬件條件,系統(tǒng)研究了需實(shí)現(xiàn)的功能指標(biāo),結(jié)合實(shí)際使用,確定工作狀態(tài)等主要參數(shù),以確保有效快速地實(shí)現(xiàn)系統(tǒng)目標(biāo)任務(wù)。本文進(jìn)行了相關(guān)的系統(tǒng)架構(gòu)設(shè)計(jì)如圖1所示,系統(tǒng)由服務(wù)器端(包含數(shù)據(jù)庫(kù))、客戶端、管理員端三部分組成。
圖1 系統(tǒng)架構(gòu)
2.1 服務(wù)器端功能
服務(wù)器需要實(shí)現(xiàn)接收、處理、反饋數(shù)據(jù)的功能,給APP端發(fā)來的操作反饋相應(yīng)的信息。同時(shí),服務(wù)器端與數(shù)據(jù)庫(kù)相連接,實(shí)現(xiàn)服務(wù)器與數(shù)據(jù)庫(kù)綁定,用戶端和服務(wù)器端相連。
2.2 管理員端功能
管理員端發(fā)送相應(yīng)操作指令到服務(wù)器,服務(wù)器解析指令,將對(duì)應(yīng)的數(shù)據(jù)信息反饋給管理員端,實(shí)現(xiàn)管理員端數(shù)據(jù)的增刪查改。同樣,客戶端在登錄時(shí)直接將信息傳達(dá)給服務(wù)器端,然后服務(wù)器端將所有數(shù)據(jù)信息都傳遞給客戶端,以實(shí)現(xiàn)客戶端用戶查詢功能。
2.3 客戶端的設(shè)計(jì)
根據(jù)需求,客戶端需要實(shí)現(xiàn)對(duì)各部門工作人員關(guān)于姓名、部門、職位、工作狀態(tài)等信息的直接顯示,從而實(shí)現(xiàn)用戶對(duì)工作人員狀態(tài)的查詢。為了保證數(shù)據(jù)的可靠性,我們將客戶端和管理員端分開設(shè)計(jì),這樣就減少了對(duì)服務(wù)器的負(fù)擔(dān),降低了導(dǎo)致服務(wù)器出錯(cuò)的可能性。
3.1 硬件實(shí)現(xiàn)
服務(wù)器端主要功能是利用SQL數(shù)據(jù)庫(kù)服務(wù)器,用于接收和記錄人員信息,通過創(chuàng)建一個(gè)數(shù)據(jù)庫(kù),將所需信息都存在這臺(tái)服務(wù)器上。同時(shí),管理員端所有的操作也將通過網(wǎng)絡(luò)傳送至服務(wù)器上,再將對(duì)應(yīng)的信息發(fā)送回來。
根據(jù)系統(tǒng)需求,服務(wù)器建立在普通個(gè)人電腦上,利用IIS發(fā)布服務(wù)器,就可以滿足系統(tǒng)需求。在管理員端和客戶端,由于智能手機(jī)普及率非常高,直接采用智能手機(jī)作為管理員端和客戶端的軟硬件平臺(tái),有效地降低了系統(tǒng)成本。
3.2 軟件實(shí)現(xiàn)
根據(jù)系統(tǒng)架構(gòu),軟件分為服務(wù)器端程序和移動(dòng)端程序。
服務(wù)器端程序和數(shù)據(jù)庫(kù)相連接,完成數(shù)據(jù)的交互,并且服務(wù)器端可以處理從移動(dòng)端傳來的信息,并進(jìn)行處理和反饋。移動(dòng)端又分為客戶端程序和管理員端程序:客戶端程序主界面只能顯示查詢工作人員的狀態(tài),但并不能進(jìn)行增刪查改操作。客戶端要完成連接服務(wù)器,并將內(nèi)容顯示出來的功能,同時(shí)要實(shí)現(xiàn)實(shí)時(shí)更新功能;管理員程序主界面分為登錄界面、顯示界面、更新與刪除界面和添加界面,管理員端實(shí)現(xiàn)對(duì)信息的增刪改,并實(shí)時(shí)更新自身的相應(yīng)表中信息。在數(shù)據(jù)通信過程中,充分考慮了安全性,對(duì)傳輸?shù)臄?shù)據(jù)進(jìn)行了加密,確保數(shù)據(jù)安全可靠地傳輸。
3.2.1 數(shù)據(jù)庫(kù)設(shè)計(jì)
在進(jìn)行服務(wù)器程序設(shè)計(jì)之前,首先要進(jìn)行數(shù)據(jù)庫(kù)設(shè)計(jì)。根據(jù)該應(yīng)用的功能和系統(tǒng)流程的分析,該應(yīng)用主要涉及的實(shí)體有:工作人員姓名、工作部門、工作職位及工作人員的在崗狀態(tài),并且在這些主要實(shí)體之間建立如下關(guān)系:一個(gè)工作人員可以在多種工作狀態(tài)中選擇,而一個(gè)工作人員同一時(shí)間只能是一個(gè)工作狀態(tài)。SQL Server可以完全支持Web,同時(shí)提供了對(duì)XML語言的核心支持以及在Internet上和防火墻外進(jìn)行查詢的能力,這些功能可以滿足本項(xiàng)目的需求,因此數(shù)據(jù)庫(kù)采用SQL Server。
數(shù)據(jù)庫(kù)ER圖如圖2所示:
圖2 數(shù)據(jù)庫(kù)ER
數(shù)據(jù)庫(kù)記錄的名稱和格式如表1所示:
表1 工作人員信息
采用名詞作為字段名,增加了數(shù)據(jù)表的可讀性,在引用兩個(gè)字段形成的主鍵下,避免了可能出現(xiàn)的重名現(xiàn)象。這些操作,都大大加強(qiáng)了數(shù)據(jù)庫(kù)的結(jié)構(gòu),在運(yùn)用時(shí)可以使得編程更為輕松、方便,同時(shí)也降低了后期BUG出現(xiàn)的可能性。
3.2.2 服務(wù)器端程序設(shè)計(jì)
根據(jù)服務(wù)器端的功能需求,采用ASP.NET網(wǎng)站編程,實(shí)現(xiàn)服務(wù)器與數(shù)據(jù)庫(kù)綁定,用戶端和服務(wù)器端相連。
本設(shè)計(jì)所有功能的實(shí)現(xiàn)都是基于C/S模式的,所以必須依靠網(wǎng)絡(luò)使客戶端、管理員端與服務(wù)器端相連。本設(shè)計(jì)采用Httphelper類,完成數(shù)據(jù)的收發(fā)功能,通過網(wǎng)絡(luò)的實(shí)時(shí)交互,將操作信息發(fā)送到服務(wù)器端,服務(wù)器端再通過對(duì)應(yīng)的操作將對(duì)應(yīng)信息反饋回去。客戶端和管理員端所用Httphelper類基本相似,其中客戶端是利用了Httphelper類中的Get方法獲取數(shù)據(jù),管理員端是通過Httphelper類的Post方法傳遞數(shù)據(jù)、Get方法接收數(shù)據(jù)的。
本設(shè)計(jì)的服務(wù)器端數(shù)據(jù)收發(fā)功能利用的是在VS中自定義的getData類通過全部選取數(shù)據(jù)庫(kù)中內(nèi)容,然后將數(shù)據(jù)反饋回客戶端或管理員端。添加功能利用的是自定義的AddEmployee類,更新功能是通過利用自定義的UpdateEmployee類來實(shí)現(xiàn),刪除功能也是類似,只不過在查詢功能實(shí)現(xiàn)后,直接就刪除整個(gè)記錄,然后再保存。
服務(wù)器端流程如圖3所示。
圖3 服務(wù)器端流程
3.2.3 管理員端程序設(shè)計(jì)
由管理員通過管理員端將公司內(nèi)的各個(gè)工作人員的信息上傳到服務(wù)器的數(shù)據(jù)庫(kù)中,包括姓名、部門、職位、工作狀態(tài)。管理員可以通過各個(gè)部門實(shí)時(shí)反饋的人員工作狀態(tài),進(jìn)行實(shí)時(shí)修改。服務(wù)器端通過接受管理員和用戶端不同的指令,反饋相對(duì)應(yīng)的數(shù)據(jù)庫(kù)信息到各自的應(yīng)用程序上,實(shí)現(xiàn)信息的實(shí)時(shí)網(wǎng)絡(luò)交互。
管理員端流程如圖4所示。
考慮到要實(shí)時(shí)根據(jù)情況添加工作人員信息,修改工作人員的工作狀態(tài),刪除離職人員的信息,管理員端需要實(shí)現(xiàn)對(duì)應(yīng)增刪查改功能。各類顯示均采用Listview控件,為了實(shí)現(xiàn)更新功能,本設(shè)計(jì)采用了Listview控件的每個(gè)Item的Click事件,只要管理員單擊想要修改的員工信息,即可進(jìn)入修改界面修改員工的工作狀態(tài),其中修改員工狀態(tài)只需要在RadioButton中選擇對(duì)應(yīng)的員工狀態(tài),然后點(diǎn)擊保存,就可以實(shí)現(xiàn)員工信息的更新。對(duì)于刪除員工信息的情況,本設(shè)計(jì)采用長(zhǎng)按Item,也就是長(zhǎng)按觸發(fā)事件,對(duì)于長(zhǎng)按觸發(fā)事件,系統(tǒng)需要給Listview注冊(cè)一個(gè)OnItemLongClickListener事件,并實(shí)現(xiàn)Listener中定義的方法,然后對(duì)需要?jiǎng)h除的條目長(zhǎng)按2S左右,系統(tǒng)就會(huì)彈出對(duì)話框,詢問管理員是否確認(rèn)刪除。
圖4 管理員端流程
在添加人員界面中,為了實(shí)現(xiàn)員工信息添加的功能,本系統(tǒng)采用了三個(gè)EditText控件,分別用來填寫姓名、部門、職位信息。如果已經(jīng)連入網(wǎng)絡(luò)中并且成功與服務(wù)器相連,服務(wù)器就會(huì)通過addEmployee類現(xiàn)數(shù)據(jù)庫(kù)新記錄的添加,在添加完信息后,客戶端應(yīng)當(dāng)立即更新出對(duì)應(yīng)的內(nèi)容。
管理員端信息添加界面如圖5所示。
圖5 管理員端信息添加界面
3.2.4 客戶端程序設(shè)計(jì)
客戶端應(yīng)用界面選擇了清新亮麗的風(fēng)格,呈現(xiàn)給用戶相關(guān)工作人員的在崗狀態(tài),采用了Listview控件和Listitem對(duì)象的列表?xiàng)l目組織。
客戶端流程如圖6所示。
圖6 客戶端流程
3.2.5 通信協(xié)議及數(shù)據(jù)安全
項(xiàng)目中,數(shù)據(jù)傳輸時(shí)發(fā)送和接收的數(shù)據(jù)幀格式相同,共90位,數(shù)據(jù)幀格式如下:
幀頭8位:用**##**##表示。
命令類型2位:用“G/C”表示,G-管理員端C-客戶端。
命令I(lǐng)D3位:用“R/S/U”+“XX”表示,R-讀取、 S-發(fā)送、U-更新。
員工ID5位:?jiǎn)T工ID用5位編碼。
數(shù)據(jù)內(nèi)容64位:對(duì)發(fā)送的數(shù)據(jù)進(jìn)行封裝在64位中。
幀尾8位:用@@%%@@%%表示。
數(shù)據(jù)安全方面采用了DESR加密算法,同時(shí)具有流加密和分組加密的優(yōu)點(diǎn)。在服務(wù)器中存放的也是加密后的數(shù)據(jù),僅在管理員端/客戶端發(fā)來顯示數(shù)據(jù)請(qǐng)求時(shí),服務(wù)器端將信息從數(shù)據(jù)庫(kù)中調(diào)出,并直接反饋回管理員端/客戶端,管理員端/客戶端在接收數(shù)據(jù)的同時(shí)進(jìn)行解密然后再將數(shù)據(jù)顯示出來。這樣的做法即使是數(shù)據(jù)庫(kù)被攻破了,攻擊者也無法獲得有用的信息,大大加強(qiáng)了數(shù)據(jù)安全性。
隨著大數(shù)據(jù)時(shí)代的到來,必然改變?nèi)藗兊墓ぷ鞣绞郊肮ぷ骼砟?,采用基于嵌入式技術(shù)的智能電子看板在信息技術(shù)發(fā)展的一定階段會(huì)提高工作效率和服務(wù)水平。
利用物聯(lián)網(wǎng)技術(shù),智能電子看板必然會(huì)向更智能、更快捷的方向發(fā)展,如采用GIS等人員定位技術(shù),可自動(dòng)進(jìn)行人員狀態(tài)的設(shè)定等。
[1] 孫更新. Android從入門到精通[M].北京:電子工業(yè)出版社,2011.
[2] 曹建峰,張萌,胡晨.一種混合加密算法DESR的探討[J].電子器件,2001:301-306.
[3] 薩師煊,王珊.數(shù)據(jù)庫(kù)系統(tǒng)概論[M].北京:高等教育出版社,2006.
[4] 福思特.XML入門經(jīng)典[M].北京:清華大學(xué)出版社,2009.
責(zé)任編輯 閔海英
(無錫職業(yè)技術(shù)學(xué)院 物聯(lián)網(wǎng)技術(shù)學(xué)院,江蘇 無錫 214121)
本文利用嵌入式硬件和Android系統(tǒng),通過INTERNET實(shí)現(xiàn)了對(duì)辦公人員在崗狀態(tài)的實(shí)時(shí)查詢,使辦事人員減少了等待時(shí)間,提高了工作效率,提高了服務(wù)水平。
嵌入式系統(tǒng); 實(shí)時(shí); 查詢
Design and Implement the Smart Electronic Board System Based on Embedded Technology
CHENJian,CAOJianfeng
(Department of IOT, Wuxi Institute of Technology, Wuxi 214121, China)
It can real-time query the position of office staff through Internet by embedded hardware and the Android operating system. It can reduce the staffs’ waiting time, improve work efficiency and improve the service.
Embedded System; real-time; query
10.13750/j.cnki.issn.1671-7880.2017.01.017
2016-10-26
江蘇省科技廳產(chǎn)學(xué)研前瞻項(xiàng)目“天然水體多參數(shù)水質(zhì)在線監(jiān)測(cè)與大數(shù)據(jù)分析系統(tǒng)”(BY2016023-01)
曹建峰(1979— ),男,江蘇無錫人,副教授,研究方向:嵌入軟、硬件,計(jì)算機(jī)通信和大數(shù)據(jù)分析。
G 710
A
1671-7880(2017)01-0061-04