李 鴻
(湘潭醫(yī)衛(wèi)職業(yè)技術(shù)學(xué)院,湖南 湘潭 411102)
2017-09-05
湘潭市科技計劃項(xiàng)目(ZJ20151022)
李 鴻(1967- ),男,湖南湘鄉(xiāng)人,副教授,研究方向:無線傳感器網(wǎng)絡(luò)及應(yīng)用。
1674- 4578(2017)05- 0058- 04
電子門鎖遠(yuǎn)程監(jiān)控系統(tǒng)*
李 鴻
(湘潭醫(yī)衛(wèi)職業(yè)技術(shù)學(xué)院,湖南 湘潭 411102)
對住宅小區(qū)業(yè)主入戶電子門鎖遠(yuǎn)程監(jiān)控系統(tǒng)的軟件設(shè)計進(jìn)行研究。簡要介紹了系統(tǒng)的組成和工作原理,制定了系統(tǒng)軟件設(shè)計的總體方案,重點(diǎn)對ZigBee無線傳感器網(wǎng)絡(luò)、GPRS遠(yuǎn)程通信、云服務(wù)器和Andorid智能手機(jī)移動監(jiān)控APP等軟件進(jìn)行了設(shè)計。通過ZigBee無線傳感器網(wǎng)絡(luò)的實(shí)時采集、GRPS遠(yuǎn)程傳輸、云服務(wù)器程序和客戶端監(jiān)控程序的交互,完成了門鎖狀態(tài)的數(shù)據(jù)采集和控制指令的下發(fā),實(shí)現(xiàn)了業(yè)主對自家入戶門鎖的遠(yuǎn)程監(jiān)控。
遠(yuǎn)程監(jiān)控;ZigBee無線傳感器網(wǎng)絡(luò);GPRS移動通信網(wǎng)絡(luò);云服務(wù)器;Andorid智能手機(jī)app
電子門鎖的遠(yuǎn)程監(jiān)控指的是通過運(yùn)行于移動終端上的應(yīng)用程序?qū)﹂T鎖進(jìn)行狀態(tài)的實(shí)時監(jiān)控和遠(yuǎn)程開、關(guān)控制,實(shí)現(xiàn)用戶無論身在何處都可以査看門鎖的狀態(tài),控制門鎖的開、關(guān),并且當(dāng)門鎖受到破壞時能夠第一時間收到報警信息。本文主要針對住宅小區(qū)業(yè)主入戶門鎖遠(yuǎn)程監(jiān)控功能實(shí)現(xiàn)的軟件設(shè)計進(jìn)行研究。
1.1 系統(tǒng)組成
門鎖遠(yuǎn)程監(jiān)控系統(tǒng)由移動監(jiān)控終端(基于Android系統(tǒng)的智能手機(jī))、云服務(wù)器、GPRS/ZigBee通信傳輸網(wǎng)絡(luò)和智能門鎖4部分組成,如圖1所示。
圖1 系統(tǒng)總體結(jié)構(gòu)框圖
ZigBee/GPRS通信傳輸網(wǎng)絡(luò)由小區(qū)ZigBee無線傳感器網(wǎng)絡(luò)和GPRS移動通信網(wǎng)絡(luò)組成,充分發(fā)揮GPRS傳輸距離遠(yuǎn)、傳輸速率快的優(yōu)點(diǎn)和ZigBee自動組網(wǎng)、時延短、容量大的特點(diǎn)。ZigBee網(wǎng)絡(luò)采用樹狀型拓?fù)浣Y(jié)構(gòu),網(wǎng)絡(luò)中的終端節(jié)點(diǎn)(即門鎖節(jié)點(diǎn))、路由節(jié)點(diǎn)和協(xié)調(diào)器節(jié)點(diǎn)均采用CC2530F256作主控芯片,通過軟件實(shí)現(xiàn)不同功能。GPRS通信網(wǎng)絡(luò)中的GPRS模塊采用華為GTM900-C無線模塊,通過UART接口搭載在ZigBee網(wǎng)絡(luò)協(xié)調(diào)器上,形成ZigBee/GPRS無線網(wǎng)關(guān)。網(wǎng)關(guān)控制芯片直接利用協(xié)調(diào)器CC2530內(nèi)置增強(qiáng)型C8051微控制器,控制網(wǎng)關(guān)數(shù)據(jù)的轉(zhuǎn)換。
1.2 系統(tǒng)功能
ZigBee無線傳感節(jié)點(diǎn)采集電子門鎖狀態(tài)信息、接收安防報警信號,進(jìn)行采樣分析與處理,并將得到的數(shù)據(jù)通過GPRS網(wǎng)絡(luò)上傳到中國移動物聯(lián)網(wǎng)云平臺(One Net),One Net平臺對接收到的數(shù)據(jù)進(jìn)行處理和存儲。用戶通過移動監(jiān)控終端登錄One Net平臺進(jìn)行訪問,查詢門鎖狀態(tài)或發(fā)送控制信息,終端節(jié)點(diǎn)根據(jù)得到的指令發(fā)脈沖給門鎖電機(jī)驅(qū)動電路,控制步進(jìn)電機(jī)的旋轉(zhuǎn),實(shí)現(xiàn)用戶對門鎖的遠(yuǎn)程開關(guān)控制。
系統(tǒng)的軟件是建立在硬件的基礎(chǔ)上的,良好的軟件設(shè)計是實(shí)現(xiàn)系統(tǒng)功能的重要環(huán)節(jié),也是提高系統(tǒng)性能的關(guān)鍵所在。軟件設(shè)計的首要任務(wù)是按照功能和結(jié)構(gòu)把軟件分成獨(dú)立的模塊,分別加以實(shí)現(xiàn),最后通過接口函數(shù)把各部分連接起來。系統(tǒng)軟件設(shè)計包括ZigBee無線傳感器網(wǎng)絡(luò)軟件、GPRS模塊通信傳輸軟件、云服務(wù)器和移動監(jiān)控平臺(Andorid智能手機(jī)APP)軟件設(shè)計。
2.1 ZigBee無線傳感器網(wǎng)絡(luò)軟件設(shè)計
ZigBee無線傳感器網(wǎng)絡(luò)是門鎖監(jiān)控系統(tǒng)的底層部分,主要實(shí)現(xiàn)底層網(wǎng)絡(luò)數(shù)據(jù)的無線傳輸。一個完整的ZigBee網(wǎng)絡(luò)主要通過協(xié)調(diào)器初始化一個網(wǎng)絡(luò)和路由器或終端加入網(wǎng)絡(luò)來完成,其軟件設(shè)計主要是以CC2530為核心的ZigBee節(jié)點(diǎn)的協(xié)議棧及應(yīng)用程序的編寫,包括協(xié)調(diào)器節(jié)點(diǎn)組建ZigBee網(wǎng)絡(luò),路由節(jié)點(diǎn)完成數(shù)據(jù)包的轉(zhuǎn)發(fā),終端節(jié)點(diǎn)驅(qū)動相應(yīng)的傳感器進(jìn)行門鎖狀態(tài)信息的采集,實(shí)現(xiàn)對門鎖開與關(guān)的控制等。
本系統(tǒng)ZigBee無線傳感器網(wǎng)絡(luò)程序設(shè)計基于IAR Embeded Workbench Evaluation for 8051 8.10.1軟件平臺,采用TI公司設(shè)計的Z-Stack-CC2530-2.5.1a協(xié)議棧進(jìn)行開發(fā)。IAR EW內(nèi)部設(shè)置有針對CC2530芯片的ZigBee軟件架構(gòu),集成了編譯和調(diào)試功能,同時支持C/C++編程,提供良好的代碼編寫環(huán)境,是易使用的專業(yè)嵌入式應(yīng)用開發(fā)工具。
2.1.1 協(xié)調(diào)器組網(wǎng)程序設(shè)計
組建一個新的ZigBee網(wǎng)絡(luò)首先由應(yīng)用層發(fā)出網(wǎng)絡(luò)組建請求,由網(wǎng)絡(luò)層向MAC層發(fā)出信道能量檢測、信道掃描等請求并返回數(shù)據(jù)包。協(xié)調(diào)器組網(wǎng)程序的設(shè)計主要包括對模塊功能類型的設(shè)置、信道掃描、ID的設(shè)置、建立網(wǎng)絡(luò),準(zhǔn)許接入點(diǎn)加入網(wǎng)絡(luò)并分配地址,數(shù)據(jù)的接收和發(fā)送。協(xié)調(diào)器組網(wǎng)流程如圖2所示。
2.1.2 門鎖節(jié)點(diǎn)程序設(shè)計
門鎖節(jié)點(diǎn)主要由門鎖狀態(tài)數(shù)據(jù)采集傳感器、人體紅外感應(yīng)模塊、門鎖防撬開關(guān)及ZigBee模塊CC2530組成,CC2530內(nèi)含微控制器(MCU),微控制器執(zhí)行遠(yuǎn)程控制指令,門鎖電機(jī)驅(qū)動模塊L9110兩個輸出引腳輸出高低電平控制電機(jī)正轉(zhuǎn)、反轉(zhuǎn)與停轉(zhuǎn),實(shí)現(xiàn)對智能門鎖開與關(guān)的控制;或者控制傳感器采集門鎖狀態(tài)數(shù)據(jù),接收并處理數(shù)據(jù)發(fā)送到協(xié)調(diào)器。
門鎖節(jié)點(diǎn)軟件設(shè)計流程如圖3所示。傳感節(jié)點(diǎn)ZigBee模塊上電后首先對模塊硬件及其外圍傳感模塊、ZigBee協(xié)議棧進(jìn)行初始化,入網(wǎng)后與ZigBee/GPRS網(wǎng)關(guān)進(jìn)行綁定。當(dāng)接收到來自網(wǎng)關(guān)的指令時,解析指令內(nèi)容,判斷是控制指令還是查詢指令。若為查詢指令則調(diào)用傳感檢測子程序,采集門鎖狀態(tài)數(shù)據(jù),無線發(fā)送給網(wǎng)關(guān);如果是控制指令,則控制門鎖的打開或者關(guān)閉。另外,傳感節(jié)點(diǎn)定期采集門鎖狀態(tài)數(shù)據(jù)并主動上報,而對于異常狀態(tài)數(shù)據(jù),及時向ZigBee/GPRS網(wǎng)關(guān)上報并經(jīng)云服務(wù)器遠(yuǎn)程報警。
圖2 協(xié)調(diào)器組網(wǎng)流程
圖3 終端設(shè)備節(jié)點(diǎn)工作流程圖
2.2 ZigBee-GPRS網(wǎng)關(guān)軟件設(shè)計
ZigBee-GPRS網(wǎng)關(guān)由ZigBee網(wǎng)絡(luò)中的協(xié)調(diào)器模塊和GPRS遠(yuǎn)程通信模塊組成,GPRS模塊通過UART接口搭載在ZigBee網(wǎng)絡(luò)協(xié)調(diào)器上,負(fù)責(zé)ZigBee網(wǎng)絡(luò)和GPRS網(wǎng)絡(luò)協(xié)議轉(zhuǎn)換,上、下行數(shù)據(jù)傳輸,數(shù)據(jù)處理和管理控制等功能。ZigBee-GPRS網(wǎng)關(guān)軟件設(shè)計主要包括協(xié)調(diào)器CC2530對GPRS模塊GTM900C的控制及協(xié)調(diào)器模塊與GPRS模塊間的數(shù)據(jù)交換,實(shí)現(xiàn)ZigBee協(xié)調(diào)器與云端服務(wù)器之間的基于TCP/IP協(xié)議的遠(yuǎn)程數(shù)據(jù)通信。
系統(tǒng)上電后,協(xié)調(diào)器CC2530中MCU通過串口UART0對GTM900C發(fā)送AT命令初始化GPRS無線通信模塊,設(shè)置工作模式、通信波特率、接入網(wǎng)關(guān),激活GPRS功能,使之附著在GPRS網(wǎng)絡(luò)上,獲得網(wǎng)絡(luò)運(yùn)營商動態(tài)分配的IP地址,建立與遠(yuǎn)程服務(wù)器之間的連接和信息的傳輸。主要設(shè)置步驟如:1) 進(jìn)行CC2530與GTM900C之間串口通信檢測,檢查串口通信是否順暢,對應(yīng)的命令為”AT ”;2) 設(shè)置通訊波特率,使用“AT+IPR=9600 ”命令設(shè)置波特率為9 600 bps;3) 設(shè)置接入網(wǎng)關(guān),使用“AT+CGDCONT=1,“IP”,“CMNET”命令,設(shè)置為使用TCP/IP包發(fā)送數(shù)據(jù)并應(yīng)用中國移動的網(wǎng)絡(luò);4) 測試是否開通,使用“AT+CGACT=1”命令,激活GPRS功能。如果返回OK,則GPRS連接成功;如果返回ERROR,則表示GPRS連接失敗;5) 與遠(yuǎn)程服務(wù)器建立TCP連接;使用“AT+CIPSTART=“TCP”,“183.230.40.33”,“80”命令建立TCP連接,“TCP”為連接方式,“183.230.40.33”為云服務(wù)器的IP地址,“80”為端口號。建立TCP連接后,即可實(shí)現(xiàn)協(xié)調(diào)器節(jié)點(diǎn)與遠(yuǎn)程服務(wù)器的數(shù)據(jù)傳輸。
2.3 服務(wù)器端軟件開發(fā)
服務(wù)器是整個門鎖控制系統(tǒng)的大腦,為系統(tǒng)提供穩(wěn)定、可靠、彈性、安全的服務(wù)。本系統(tǒng)服務(wù)器租用中國移動物聯(lián)網(wǎng)云平臺(One Net),主要完成接收、存儲、處理及共享來自GPRS模塊傳來的數(shù)據(jù),實(shí)時控制系統(tǒng)的運(yùn)行狀態(tài),提供數(shù)據(jù)供第三方軟件訪問。服務(wù)器端軟件主要包括數(shù)據(jù)庫系統(tǒng)、數(shù)據(jù)的傳輸、接收與存儲。
2.3.1 數(shù)據(jù)庫設(shè)計
數(shù)據(jù)庫系統(tǒng)基于MySQL開發(fā)平臺、采用圖形客戶程序(MySQL Work-Bench)的方法進(jìn)行開發(fā),設(shè)計的主要功能有用戶登錄與授權(quán)管理、用戶信息管理、門鎖狀態(tài)數(shù)據(jù)管理等。
MySQL數(shù)據(jù)庫中設(shè)計的數(shù)據(jù)表主要有用戶信息表user_info,用戶登錄信息表use_login_info,門鎖狀態(tài)信息表node_info。user_info和use_login_info表用來存儲系統(tǒng)中注冊用戶的信息,當(dāng)用戶登錄到系統(tǒng)的登錄頁面時,系統(tǒng)會要求輸入賬號和密碼,node_info表用來存儲系統(tǒng)底層傳感網(wǎng)絡(luò)采集到的門鎖狀態(tài)數(shù)據(jù),通過此表的數(shù)據(jù)存儲,用戶可以在系統(tǒng)的web和手機(jī)客戶端平臺查看系統(tǒng)采集的實(shí)時數(shù)據(jù)、查詢歷史數(shù)據(jù)等。
2.3.2 數(shù)據(jù)的傳輸、接收與存儲
系統(tǒng)采用基于Java的TCP Socket實(shí)現(xiàn)服務(wù)器端接收門鎖狀態(tài)數(shù)據(jù),通過JDBC(Java Data Base Connectivity,Java數(shù)據(jù)庫連接)驅(qū)動連接MySQL數(shù)據(jù)庫實(shí)現(xiàn)數(shù)據(jù)存儲。
云服務(wù)器一方面綁定GPRS模塊端口,監(jiān)聽信息,在收到傳輸請求后建立連接,GPRS模塊向服務(wù)器發(fā)送數(shù)據(jù),服務(wù)器接收并保存數(shù)據(jù)到相應(yīng)的數(shù)據(jù)庫;另一方面,等待接收遠(yuǎn)程監(jiān)控終端的連接請求,當(dāng)有遠(yuǎn)程終端連接請求時,接收、分析請求信息,解析出請求的方法、URL目標(biāo)、可選的查詢信息及表單信息等,同時根據(jù)請求做出相應(yīng)處理,向客戶端瀏覽器發(fā)送響應(yīng)信息,關(guān)閉TCP連接,實(shí)現(xiàn)GPRS模塊與互聯(lián)網(wǎng)的傳輸數(shù)據(jù)功能以及報文的顯示功能。服務(wù)器端的工作流程如圖4所示。
2.4 遠(yuǎn)程用戶監(jiān)控終端應(yīng)用軟件的設(shè)計
用戶遠(yuǎn)程移動監(jiān)控終端采用運(yùn)行Android操作系統(tǒng)的智能手機(jī),終端應(yīng)用軟件即手機(jī)客戶端軟件,又稱手機(jī)APP。該APP包含用戶登錄、門鎖狀態(tài)查詢、開啟執(zhí)行裝置實(shí)時控制門鎖開與關(guān),陌生人靠近紅外報警和門鎖受損報警等多個功能模塊。用戶借助該手機(jī)APP登錄注冊后,接入遠(yuǎn)端云服務(wù)器,獲取云端處理后的數(shù)據(jù),享受云端提供的服務(wù)。
系統(tǒng)APP開發(fā)平臺選擇Android平臺,開發(fā)語言為Java,利用自身數(shù)據(jù)庫SQLite實(shí)現(xiàn)數(shù)據(jù)存儲,利用SOCKET完成網(wǎng)絡(luò)通信。Android APP設(shè)計開發(fā)流程如圖5所示。在eclipse環(huán)境中,菜單欄選擇“file>new>project”,點(diǎn)擊Android project,就會打開新建Android項(xiàng)目的對話窗口。首先要創(chuàng)建一個登陸界面,對用戶進(jìn)行驗(yàn)證,驗(yàn)證成功后,進(jìn)入到主監(jiān)控界面。Android平臺上用戶界面都是通過“ViewGroup”或“View”類來顯示,是用戶界面的最基本表達(dá)單元,程序可直接調(diào)用。將屏幕上的界面元素,與構(gòu)成程序主體的程序邏輯混合一起編寫。本系統(tǒng)的應(yīng)用程序界面只需三頁:登錄頁面、顯示智能鎖狀態(tài)信息和報警信息以及智能鎖開關(guān)控制。
圖4 服務(wù)器端工作流程
圖5 Android APP設(shè)計開發(fā)流程圖
本文將ZigBee技術(shù)、GPRS技術(shù)、云服務(wù)及遠(yuǎn)程終端控制技術(shù)應(yīng)用于智能門鎖遠(yuǎn)程監(jiān)控系統(tǒng)中,實(shí)現(xiàn)了用戶入戶門鎖的遠(yuǎn)程實(shí)時監(jiān)測、異常告警、遠(yuǎn)程控制等功能。系統(tǒng)實(shí)際運(yùn)行可靠、穩(wěn)定,控制靈活方便、擴(kuò)展性強(qiáng),極大地提高了家庭安防系數(shù),方便了用戶門鎖管理,具有很好的實(shí)用價值。
[1] 袁佳,焦志曼,余建波,等.基于遠(yuǎn)程分布式燈光控制系統(tǒng).計算機(jī)工程與設(shè)計,2015,36(1):108-114.
程龍,蔣永平.ZigBee無線局域網(wǎng)與Internet的接入設(shè)計.信息技術(shù),2015(1):73-76.
馮澤,蒙雪敏.基于GPRS和ZigBee的嵌入式智能家居系統(tǒng)研究.輕工科技,2014(8):91-93.
陳克濤,張海輝,張永猛,等.基于CC2530的無線傳感器網(wǎng)絡(luò)網(wǎng)關(guān)節(jié)點(diǎn)的設(shè)計.西北農(nóng)林科技大學(xué)學(xué)報(自然科學(xué)版)2014,42(5):183-188.
張開洪,李聰,張文會.基于ZgBee和GPRS的嵌入式橋梁健康監(jiān)測系統(tǒng).重慶交通大學(xué)學(xué)報(自然科學(xué)版),2012,31(6):1116-1120.
陳琦,韓冰,秦偉俊,等.基于ZigBee/GPRS物聯(lián)網(wǎng)網(wǎng)關(guān)系統(tǒng)的設(shè)計與實(shí)現(xiàn).計算機(jī)研究與發(fā)展,2011(48):367-372.
錢建波,于正永.基于ZigBee-GPPS的現(xiàn)代水產(chǎn)養(yǎng)殖系統(tǒng)的設(shè)計.信息技術(shù),2016(7):53-57.
RemoteControlSystemofElectronicLock
Li Hong
(XiangtanMedicine&HealthVocationalCollege,XiangtanHunan411102,China)
The software design of electronic door locks remote monitoring system for house owner in residential quarters is studied in this paper. The composition and working principle of the system are introduced briefly, and the overall design of the system software is worked out. It focuses on the software design of ZigBee wireless sensor network, GPRS remote communication, cloud server and Andorid smart phone and mobile monitoring app. The data acquisition of the lock state and the down of control instruction are completed, and remote monitoring for owners door locks is achieved by real-time acquisition of ZigBee wireless sensor network, GRPS remote transmission, cloud server program and interaction of client monitor.
remote control; ZigBee wireless sensor network; GPRS network; cloud server; Andorid app
TP273.5
A