基于無線傳感器網(wǎng)絡(luò)智能保險箱安防系統(tǒng)的設(shè)計(二)
3.2.1 模式的選擇
該模塊擁有2種發(fā)送模式,分別是命令模式與透明模式,他們的特點(diǎn)為:
命令模式在該模式下,模塊可解析AT命令并作出回應(yīng)與發(fā)送數(shù)據(jù)。
透明模式模塊收到的任何從串口得到的數(shù)據(jù)均會被轉(zhuǎn)發(fā)出去,包括數(shù)據(jù)與AT命令。
在通常情況下,人們會默認(rèn)使用命令模式來進(jìn)行配置與數(shù)據(jù)解析,但在該模式下發(fā)送過程會因遇到某些特殊位而停止(例如中止位一般為0x1A),因此在該模式下無法發(fā)送例如JEPG 圖等16 進(jìn)制數(shù)據(jù)。但若使用透明模式,則無法解析短信或AT命令,使模塊處于為了解決這個問題,在本系統(tǒng)中引入混合模式,即命令模式與透明模式。
如圖7所示,系統(tǒng)在初始化和不發(fā)送數(shù)據(jù)時工作在命令模式,以處理用戶的配置短信。當(dāng)有數(shù)據(jù)需要發(fā)送時,模塊進(jìn)入透明模式,數(shù)據(jù)以16進(jìn)制格式發(fā)送,完畢后回到命令模式繼續(xù)等待。在引入混合模式后,得以使系統(tǒng)同時兼顧處理AT命令與發(fā)送16進(jìn)制數(shù)據(jù)。與采用該模式之前,發(fā)送效率大幅提高,并因此降低了丟幀率。
3.2.2 丟幀的解決
(1)部分重發(fā)機(jī)制:仿滑動窗口協(xié)議在本系統(tǒng)中,由于選用超低功耗芯片MSP430,因此不可能將整張圖片保存在FLASH中。本文在此借用了TCP/IP中的滑動窗口協(xié)議原理實(shí)現(xiàn)部分重發(fā)機(jī)制。
如圖8所示設(shè)定窗口大小為3,在網(wǎng)關(guān)接收到數(shù)據(jù)包后,向單片機(jī)發(fā)送對應(yīng)ACK 表明接收成功(圖中ACK1,ACK2)。若在規(guī)定時間內(nèi)沒有收到則重發(fā)對應(yīng)數(shù)據(jù)包(重發(fā)Pack3)。當(dāng)窗口內(nèi)數(shù)據(jù)包都被成功接收后,窗口向后滑動進(jìn)行下次發(fā)送(準(zhǔn)備發(fā)送Pack4,Pack5,Pack6)。
?。?)丟幀后的校正
此部分算法在網(wǎng)關(guān)服務(wù)器上實(shí)現(xiàn),大致流程為:在服務(wù)器上將JEPG圖像轉(zhuǎn)化為BMP圖像(利用GDI+實(shí)現(xiàn)),并獲得其縮略圖。然后利用灰度圖像處理中的膨脹算法,通過計算空白區(qū)域周圍的像素點(diǎn)獲得內(nèi)部像素點(diǎn)。
設(shè)f(x,y)是輸入圖像,b(x,y)是結(jié)構(gòu)元素。用結(jié)構(gòu)元素b 對輸入圖像y 進(jìn)行膨脹的運(yùn)算被定義為:
最后空白的地方利用縮略圖放大進(jìn)行填充。引用此算法后,丟幀圖像得到一定程度糾正,效果如圖9所示。
3.3 iPhone客戶端實(shí)現(xiàn)
3.3.1 iOS系統(tǒng)與Objective-C介紹
蘋果iOS 是由蘋果公司開發(fā)的手持設(shè)備操作系統(tǒng)。iOS與蘋果的Mac OS X操作系統(tǒng)一樣,它是以Dar-win為基礎(chǔ)的,因此同樣屬于類Unix的商業(yè)操作系統(tǒng)。
iOS 架構(gòu)分為4 層:Cocoa Touch 層,Media 層,CoreServices層與Core OS層。其中Cocoa Touch層提供了基本的系統(tǒng)行為支持,可降低開發(fā)者的工作量。Media層包含圖形,音頻,視頻技術(shù)。Core Services層為所有應(yīng)用程序提供基礎(chǔ)系統(tǒng)服務(wù),應(yīng)用程序并不能直接是用這些服務(wù),但它們是系統(tǒng)很多部分賴以建構(gòu)的基礎(chǔ)。
iOS 開發(fā)所需語言為Objective-C,它是擴(kuò)充C 的面向?qū)ο缶幊陶Z言。
3.3.2 iOS客戶端設(shè)計作為此監(jiān)測系統(tǒng)的移動客戶端,在iOS平臺上實(shí)現(xiàn)主要功能為:用戶登錄,查詢保險箱位置,查詢實(shí)時圖片,主動拍照與定位以及基本配置。這些功能既滿足了客戶的基本需求,又具有了一定的可移植性。
手機(jī)客戶端采用客戶端/服務(wù)器(CLIENT/SERV-ER,C/S)架構(gòu)進(jìn)行設(shè)計,通過采用超文本傳輸協(xié)議(Hy-pertext Transport Protocol,HTTP)和簡單對象訪問協(xié)議(Simple Object Access Protocol,SOAP)與Web服務(wù)器進(jìn)行通信與數(shù)據(jù)交互??蛻舳讼到y(tǒng)結(jié)構(gòu)如圖10所示。
如上節(jié)所述,當(dāng)保險箱報警模塊被觸發(fā)后(異常震動,濕度溫度過高等),會將最新GPS位置信息,連同所采集到的圖像信息發(fā)送至服務(wù)器。此時服務(wù)器會向iOS客戶端發(fā)送一報警信息,隨后客戶端通過PUSH(推送)功能向手機(jī)使用者推送報警信息。若用戶查看客戶端,可以獲取當(dāng)前最新的所有信息,有助于幫助用戶更好地管理以及追回保險箱。同時,該客戶端提供用戶主動查詢位置與拍照功能,使用戶了解保險箱的實(shí)時狀態(tài)。
3.3.3 iOS客戶端實(shí)現(xiàn)
從用戶角度進(jìn)行需求分析,該應(yīng)用主要用到與服務(wù)器交互,地圖定位,圖片操作,發(fā)送短信等功能。以上功能的實(shí)現(xiàn)將逐條介紹。
?。?)與服務(wù)器交互
手機(jī)終端與服務(wù)器間的通信的數(shù)據(jù)格式采用可擴(kuò)展標(biāo)記語言格式(Extensible Markup Language,XML),手機(jī)通過HTTP和SOAP方式與服務(wù)器進(jìn)行數(shù)據(jù)交互。
SOAP 方式可通過開源類“ASIHTTPRequest”與“GDATA”共同實(shí)現(xiàn)。
具體實(shí)現(xiàn)流程為:首先按照WEB Service 提供SOAP 1.2請求示例打包SOAP請求字符串,同時按照該示例創(chuàng)建請求實(shí)例,所包含字段為:HOST,Content-Tpye,Content-Length 與SOAPAction.完成后將該請求發(fā)送至Web服務(wù)器,在收到回復(fù)后利用SOAP類解析其中內(nèi)容即可。
?。?)地圖定位
在iOS 5.x 及以下版本中,都可采用谷歌地圖實(shí)現(xiàn)該功能。本軟件利于MapKit 框架并配合CoreLocation框架進(jìn)行開發(fā)。在進(jìn)入地圖頁面后,客戶端訪問Web服務(wù)器獲得用戶保險箱所在位置坐標(biāo),并對坐標(biāo)值進(jìn)行校對,而后標(biāo)注在地圖上??紤]到若保險箱丟失,用戶無法判斷陌生地點(diǎn)的情況,客戶端允許用戶分別以標(biāo)準(zhǔn)/衛(wèi)星/混合3 種方式查看地圖。在載入地圖后,客戶端通過調(diào)用MKReverseGeocoder 類反相查詢坐標(biāo)點(diǎn)信息,以獲得所處位置的國家/城市/街道名,供用戶更方便的追蹤設(shè)備位置。
?。?)數(shù)據(jù)信息處理
客戶端提供3 種數(shù)據(jù)信息服務(wù):查看最新報警數(shù)據(jù),查看歷史數(shù)據(jù)與手動采集數(shù)據(jù)。查看最新報警數(shù)據(jù)是利用Web 服務(wù)器從服務(wù)器讀取最新數(shù)據(jù),用戶若認(rèn)為此數(shù)據(jù)有用,那么可以連同該圖片所在位置信息等保存至客戶端,方便以后查看。另外,客戶端可以通過短信方式控制用戶擁有的監(jiān)控設(shè)備進(jìn)行數(shù)據(jù)采集,隨后在更新服務(wù)器數(shù)據(jù)后顯示在客戶端上。
4 功能測試
本系統(tǒng)分為3 個部分,因此,本章節(jié)將分兩個小部分展示:前端監(jiān)測硬件,前端監(jiān)測與數(shù)據(jù)平臺的測試,數(shù)據(jù)平臺與手機(jī)客戶端的監(jiān)測。前端監(jiān)測硬件如圖11所示,圖中可看出硬件主體,天線,攝像頭與電池。
前端監(jiān)測與數(shù)據(jù)平臺之間的交互主要為信息的發(fā)送,需發(fā)送信息包括心跳幀,警報信息(含GPS位置),圖片信息等。服務(wù)器上接收程序接收區(qū)如圖12所示。
圖12中,第1條為震動后發(fā)送的報警信息,第2,3條為心跳幀,均以16進(jìn)制顯示。在圖片發(fā)送完畢后,客戶端可顯示最新照片。由于超廣角攝像頭安置于保險箱內(nèi),周圍會出現(xiàn)黑色區(qū)域,這是由于隱蔽措施所導(dǎo)致的,如圖13所示。
機(jī)客戶端對現(xiàn)代安防系統(tǒng)有非常實(shí)用的意義,并可以以此為基礎(chǔ)衍生出更多具有實(shí)際應(yīng)用的功能。目前該應(yīng)用處于演示版階段。加一個測試結(jié)論如圖14所示。
5 結(jié)語
在對基于WSN 的安防監(jiān)測系統(tǒng)進(jìn)行功能分析,系統(tǒng)設(shè)計與軟硬件實(shí)現(xiàn)后,開發(fā)出了一套基于C/S架構(gòu)的安防監(jiān)測系統(tǒng)。該系統(tǒng)的硬件以超低功耗單片機(jī)MSP430為核心,具有無線傳感器網(wǎng)絡(luò)的優(yōu)點(diǎn),并結(jié)合了多媒體技術(shù),具有穩(wěn)定性高,正確報警率高,監(jiān)測信息完善等特點(diǎn)。同時該套系統(tǒng)具有較為完善的用戶服務(wù),提供包括PC機(jī),短信,用戶網(wǎng)站與手機(jī)客戶端等多種方式進(jìn)行查詢與追蹤。
評論