<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          關(guān) 閉

          新聞中心

          EEPW首頁(yè) > 安全與國(guó)防 > 設(shè)計(jì)應(yīng)用 > 基于無線傳感器網(wǎng)絡(luò)智能保險(xiǎn)箱安防系統(tǒng)的設(shè)計(jì)(二)

          基于無線傳感器網(wǎng)絡(luò)智能保險(xiǎn)箱安防系統(tǒng)的設(shè)計(jì)(二)

          作者: 時(shí)間:2013-08-20 來源:網(wǎng)絡(luò) 收藏
          3.2 節(jié)點(diǎn)軟件調(diào)優(yōu)

            3.2.1 模式的選擇

            該模塊擁有2種發(fā)送模式,分別是命令模式與透明模式,他們的特點(diǎn)為:

            命令模式在該模式下,模塊可解析AT命令并作出回應(yīng)與發(fā)送數(shù)據(jù)。

            透明模式模塊收到的任何從串口得到的數(shù)據(jù)均會(huì)被轉(zhuǎn)發(fā)出去,包括數(shù)據(jù)與AT命令。

            在通常情況下,人們會(huì)默認(rèn)使用命令模式來進(jìn)行配置與數(shù)據(jù)解析,但在該模式下發(fā)送過程會(huì)因遇到某些特殊位而停止(例如中止位一般為0x1A),因此在該模式下無法發(fā)送例如JEPG 圖等16 進(jìn)制數(shù)據(jù)。但若使用透明模式,則無法解析短信或AT命令,使模塊處于為了解決這個(gè)問題,在本系統(tǒng)中引入混合模式,即命令模式與透明模式。

            如圖7所示,系統(tǒng)在初始化和不發(fā)送數(shù)據(jù)時(shí)工作在命令模式,以處理用戶的配置短信。當(dāng)有數(shù)據(jù)需要發(fā)送時(shí),模塊進(jìn)入透明模式,數(shù)據(jù)以16進(jìn)制格式發(fā)送,完畢后回到命令模式繼續(xù)等待。在引入混合模式后,得以使系統(tǒng)同時(shí)兼顧處理AT命令與發(fā)送16進(jìn)制數(shù)據(jù)。與采用該模式之前,發(fā)送效率大幅提高,并因此降低了丟幀率。

            

            3.2.2 丟幀的解決

           ?。?)部分重發(fā)機(jī)制:仿滑動(dòng)窗口協(xié)議在本系統(tǒng)中,由于選用超低功耗芯片MSP430,因此不可能將整張圖片保存在FLASH中。本文在此借用了TCP/IP中的滑動(dòng)窗口協(xié)議原理實(shí)現(xiàn)部分重發(fā)機(jī)制。

            如圖8所示設(shè)定窗口大小為3,在網(wǎng)關(guān)接收到數(shù)據(jù)包后,向單片機(jī)發(fā)送對(duì)應(yīng)ACK 表明接收成功(圖中ACK1,ACK2)。若在規(guī)定時(shí)間內(nèi)沒有收到則重發(fā)對(duì)應(yīng)數(shù)據(jù)包(重發(fā)Pack3)。當(dāng)窗口內(nèi)數(shù)據(jù)包都被成功接收后,窗口向后滑動(dòng)進(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)),并獲得其縮略圖。然后利用灰度圖像處理中的膨脹算法,通過計(jì)算空白區(qū)域周圍的像素點(diǎn)獲得內(nèi)部像素點(diǎn)。

            設(shè)f(x,y)是輸入圖像,b(x,y)是結(jié)構(gòu)元素。用結(jié)構(gòu)元素b 對(duì)輸入圖像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è)計(jì)作為此監(jiān)測(cè)系統(tǒng)的移動(dòng)客戶端,在iOS平臺(tái)上實(shí)現(xiàn)主要功能為:用戶登錄,查詢保險(xiǎn)箱位置,查詢實(shí)時(shí)圖片,主動(dòng)拍照與定位以及基本配置。這些功能既滿足了客戶的基本需求,又具有了一定的可移植性。

            手機(jī)客戶端采用客戶端/服務(wù)器(CLIENT/SERV-ER,C/S)架構(gòu)進(jìn)行設(shè)計(jì),通過采用超文本傳輸協(xié)議(Hy-pertext Transport Protocol,HTTP)和簡(jiǎn)單對(duì)象訪問協(xié)議(Simple Object Access Protocol,SOAP)與Web服務(wù)器進(jìn)行通信與數(shù)據(jù)交互??蛻舳讼到y(tǒng)結(jié)構(gòu)如圖10所示。

            

            如上節(jié)所述,當(dāng)保險(xiǎn)箱模塊被觸發(fā)后(異常震動(dòng),濕度溫度過高等),會(huì)將最新GPS位置信息,連同所采集到的圖像信息發(fā)送至服務(wù)器。此時(shí)服務(wù)器會(huì)向iOS客戶端發(fā)送一信息,隨后客戶端通過PUSH(推送)功能向手機(jī)使用者推送信息。若用戶查看客戶端,可以獲取當(dāng)前最新的所有信息,有助于幫助用戶更好地管理以及追回保險(xiǎn)箱。同時(shí),該客戶端提供用戶主動(dòng)查詢位置與拍照功能,使用戶了解保險(xiǎn)箱的實(shí)時(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請(qǐng)求示例打包SOAP請(qǐng)求字符串,同時(shí)按照該示例創(chuàng)建請(qǐng)求實(shí)例,所包含字段為:HOST,Content-Tpye,Content-Length 與SOAPAction.完成后將該請(qǐng)求發(fā)送至Web服務(wù)器,在收到回復(fù)后利用SOAP類解析其中內(nèi)容即可。

           ?。?)地圖定位

            在iOS 5.x 及以下版本中,都可采用谷歌地圖實(shí)現(xiàn)該功能。本軟件利于MapKit 框架并配合CoreLocation框架進(jìn)行開發(fā)。在進(jìn)入地圖頁(yè)面后,客戶端訪問Web服務(wù)器獲得用戶保險(xiǎn)箱所在位置坐標(biāo),并對(duì)坐標(biāo)值進(jìn)行校對(duì),而后標(biāo)注在地圖上??紤]到若保險(xiǎn)箱丟失,用戶無法判斷陌生地點(diǎn)的情況,客戶端允許用戶分別以標(biāo)準(zhǔn)/衛(wèi)星/混合3 種方式查看地圖。在載入地圖后,客戶端通過調(diào)用MKReverseGeocoder 類反相查詢坐標(biāo)點(diǎn)信息,以獲得所處位置的國(guó)家/城市/街道名,供用戶更方便的追蹤設(shè)備位置。

           ?。?)數(shù)據(jù)信息處理

            客戶端提供3 種數(shù)據(jù)信息服務(wù):查看最新報(bào)警數(shù)據(jù),查看歷史數(shù)據(jù)與手動(dòng)采集數(shù)據(jù)。查看最新報(bào)警數(shù)據(jù)是利用Web 服務(wù)器從服務(wù)器讀取最新數(shù)據(jù),用戶若認(rèn)為此數(shù)據(jù)有用,那么可以連同該圖片所在位置信息等保存至客戶端,方便以后查看。另外,客戶端可以通過短信方式控制用戶擁有的設(shè)備進(jìn)行數(shù)據(jù)采集,隨后在更新服務(wù)器數(shù)據(jù)后顯示在客戶端上。

            4 功能測(cè)試

            本系統(tǒng)分為3 個(gè)部分,因此,本章節(jié)將分兩個(gè)小部分展示:前端監(jiān)測(cè)硬件,前端監(jiān)測(cè)與數(shù)據(jù)平臺(tái)的測(cè)試,數(shù)據(jù)平臺(tái)與手機(jī)客戶端的監(jiān)測(cè)。前端監(jiān)測(cè)硬件如圖11所示,圖中可看出硬件主體,天線,攝像頭與電池。

            

            前端監(jiān)測(cè)與數(shù)據(jù)平臺(tái)之間的交互主要為信息的發(fā)送,需發(fā)送信息包括心跳幀,警報(bào)信息(含GPS位置),圖片信息等。服務(wù)器上接收程序接收區(qū)如圖12所示。

            

            圖12中,第1條為震動(dòng)后發(fā)送的報(bào)警信息,第2,3條為心跳幀,均以16進(jìn)制顯示。在圖片發(fā)送完畢后,客戶端可顯示最新照片。由于超廣角攝像頭安置于保險(xiǎn)箱內(nèi),周圍會(huì)出現(xiàn)黑色區(qū)域,這是由于隱蔽措施所導(dǎo)致的,如圖13所示。

            

            機(jī)客戶端對(duì)現(xiàn)代系統(tǒng)有非常實(shí)用的意義,并可以以此為基礎(chǔ)衍生出更多具有實(shí)際應(yīng)用的功能。目前該應(yīng)用處于演示版階段。加一個(gè)測(cè)試結(jié)論如圖14所示。

            

            5 結(jié)語

            在對(duì)基于WSN 的監(jiān)測(cè)系統(tǒng)進(jìn)行功能分析,系統(tǒng)設(shè)計(jì)與軟硬件實(shí)現(xiàn)后,開發(fā)出了一套基于C/S架構(gòu)的監(jiān)測(cè)系統(tǒng)。該系統(tǒng)的硬件以超低功耗單片機(jī)MSP430為核心,具有無線傳感器網(wǎng)絡(luò)的優(yōu)點(diǎn),并結(jié)合了多媒體技術(shù),具有穩(wěn)定性高,正確報(bào)警率高,監(jiān)測(cè)信息完善等特點(diǎn)。同時(shí)該套系統(tǒng)具有較為完善的用戶服務(wù),提供包括PC機(jī),短信,用戶網(wǎng)站與手機(jī)客戶端等多種方式進(jìn)行查詢與追蹤。



          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();