盛平 宋志敏
摘要:基于WiFi的遠(yuǎn)程視頻測(cè)控系統(tǒng)可以通過(guò)Web及移動(dòng)終端(平板、手機(jī))遠(yuǎn)程實(shí)現(xiàn)智能控制以及視頻監(jiān)控,并將視頻數(shù)據(jù)與操作記錄等存儲(chǔ)于云服務(wù)器上。研究了物聯(lián)網(wǎng)、云服務(wù)器、移動(dòng)終端等技術(shù),以AR9331無(wú)線WiFi芯片為核心處理器、紅外可控?cái)z像頭為視頻采集模塊,利用云服務(wù)器,采用WiFi技術(shù),構(gòu)建了高度集成的嵌入式實(shí)時(shí)測(cè)控平臺(tái)。LUCI技術(shù)實(shí)現(xiàn)一鍵連接,具有體積小、成本低、穩(wěn)定性高、安全性好、操作便利等特點(diǎn),集智能控制及安防等功能于一體。以寵物喂食視頻監(jiān)控為例,以AR9331無(wú)線模塊搭配Linux系統(tǒng)提供云服務(wù)。實(shí)驗(yàn)結(jié)果表明該系統(tǒng)穩(wěn)定可靠,能夠很好地實(shí)現(xiàn)智能喂食與監(jiān)控功能,滿足寵物看護(hù)與安防需求。
關(guān)鍵詞:WiFi;視頻監(jiān)控;嵌入式;智能控制
DOIDOI:10.11907/rjdk.151120
中圖分類號(hào):TP319
文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):16727800(2015)006008303
基金項(xiàng)目基金項(xiàng)目:2014年江蘇省產(chǎn)學(xué)研聯(lián)合創(chuàng)新資金項(xiàng)目(BY2014123-03);鎮(zhèn)江市農(nóng)業(yè)發(fā)展項(xiàng)目(NY2011011)
作者簡(jiǎn)介作者簡(jiǎn)介:盛平(1957-),男,江蘇鎮(zhèn)江人,碩士,江蘇大學(xué)計(jì)算機(jī)與通信工程學(xué)院高級(jí)工程師、碩士生導(dǎo)師,研究方向?yàn)榍度胧綔y(cè)控系統(tǒng)、視頻監(jiān)控及跟蹤;宋志敏(1989-),男,江蘇淮安人,江蘇大學(xué)計(jì)算機(jī)與通信工程學(xué)院碩士研究生,研究方向?yàn)榍度胧綔y(cè)控。
0 引言
寵物經(jīng)濟(jì)所產(chǎn)生的連鎖效應(yīng)不可小視,寵物所推動(dòng)的連鎖產(chǎn)業(yè)在當(dāng)今激烈競(jìng)爭(zhēng)的市場(chǎng)占據(jù)了一定的份額。目前市場(chǎng)上的寵物看護(hù)系統(tǒng)品種不多,大多數(shù)產(chǎn)品功能單一,不能滿足人們?nèi)找嬖鲩L(zhǎng)的需求。近年來(lái),隨著智能家居[1]技術(shù)的發(fā)展和生活節(jié)奏的加快,對(duì)智能化設(shè)備的準(zhǔn)確性、有效性、便利性提出了更高要求。
基于WiFi的遠(yuǎn)程寵物喂養(yǎng)及監(jiān)控系統(tǒng)具有特定喂食與監(jiān)控功能,可以對(duì)寵物進(jìn)行實(shí)時(shí)監(jiān)控,根據(jù)需要進(jìn)行遠(yuǎn)程控制、智能喂食,并將所有數(shù)據(jù)與視頻保存到云服務(wù)器上。整個(gè)系統(tǒng)支持一鍵連接,方便用戶使用,界面美觀大方,穩(wěn)定性高,同時(shí)本系統(tǒng)還可以應(yīng)用到家居自動(dòng)化、室內(nèi)外安防等領(lǐng)域,具有廣闊的市場(chǎng)前景。
1 系統(tǒng)總體結(jié)構(gòu)
系統(tǒng)由AR9331核心WiFi模塊、云服務(wù)器、遠(yuǎn)程客戶端3部分組成。其中AR9331核心模塊主要負(fù)責(zé)將喂食參數(shù)、視頻數(shù)據(jù)傳送至云服務(wù)器以及接收控制命令去執(zhí)行相應(yīng)的喂食操作。云服務(wù)器主要負(fù)責(zé)對(duì)接遠(yuǎn)程客戶端和喂食機(jī)之間的通信、管理喂食機(jī)信息和用戶信息。遠(yuǎn)程客戶端通過(guò)與服務(wù)器的交互來(lái)獲取喂食機(jī)的實(shí)時(shí)視頻以及實(shí)時(shí)對(duì)喂食機(jī)進(jìn)行喂食喂水控制,系統(tǒng)結(jié)構(gòu)如圖1所示。
系統(tǒng)工作流程為:設(shè)備上電,通過(guò)一鍵設(shè)置程序?qū)⑽故硻C(jī)連接互聯(lián)網(wǎng),喂食機(jī)發(fā)送UDP心跳包與服務(wù)器連接,注冊(cè)相應(yīng)設(shè)備信息。客戶端軟件啟動(dòng),通過(guò)HTTP請(qǐng)求與云服務(wù)器交互,提交相應(yīng)的用戶信息以及相關(guān)聯(lián)的設(shè)備信息。服務(wù)器通過(guò)對(duì)注冊(cè)信息的處理匹配,實(shí)現(xiàn)喂食機(jī)與用戶設(shè)備的實(shí)時(shí)交互。
2 系統(tǒng)功能模塊設(shè)計(jì)
2.1 AR9331核心WiFi模塊
AR9331WiFi模塊采用ATHEROS公司的AR9331芯片,該核心板上運(yùn)行的是基于Linux內(nèi)核的OpenWRT系統(tǒng)。OpenWRT是一個(gè)高度模塊化、高度自動(dòng)化的嵌入式Linux系統(tǒng),擁有強(qiáng)大的網(wǎng)絡(luò)組件和擴(kuò)展性,通常用于工控設(shè)備、電話、小型機(jī)器人、智能家居、路由器以及VOIP設(shè)備中。它提供了100多個(gè)已編譯好的軟件,而且數(shù)量還在不斷增加, OpenWRT SDK更簡(jiǎn)化了開發(fā)軟件的工序。AR9331WiFi核心模塊架構(gòu)如圖2所示。
2.1.1 設(shè)備一鍵連接模塊
目前市場(chǎng)上設(shè)備連接網(wǎng)絡(luò)設(shè)置比較復(fù)雜,筆者對(duì)WiFi模塊的多種模式進(jìn)行了研究并結(jié)合網(wǎng)絡(luò)編程知識(shí),通過(guò)UCI來(lái)設(shè)置WiFi的工作模式,實(shí)現(xiàn)設(shè)備一鍵智能聯(lián)網(wǎng)功能。一鍵連接模塊工作過(guò)程如下:
設(shè)備接收到硬件的觸發(fā)設(shè)置信號(hào)后,通過(guò)UCI將WiFi設(shè)置為AP模式(Access Point,提供無(wú)線接入服務(wù),允許其它無(wú)線設(shè)備接入,提供數(shù)據(jù)訪問(wèn) ),然后啟用UDP服務(wù)監(jiān)聽指定的端口號(hào)。用戶通過(guò)手機(jī)客戶端先獲取想要連接的網(wǎng)絡(luò)設(shè)備用戶名ssid、mac地址、加密方式和路由器密碼,然后通過(guò)WiFi連接喂食機(jī)并通過(guò)UDP將以上數(shù)據(jù)發(fā)送給核心板。核心板在收到設(shè)置參數(shù)后,通過(guò)UCI來(lái)將WiFi設(shè)置為sta模式并連接指定的網(wǎng)絡(luò)設(shè)備。
2.1.2 設(shè)備控制模塊
設(shè)備控制模塊主要是通過(guò)接收網(wǎng)絡(luò)控制命令并解析命令數(shù)據(jù)包,通過(guò)RS232對(duì)繼電器板實(shí)現(xiàn)實(shí)時(shí)控制,從而進(jìn)行喂食喂水操作??刂瞥绦蚰K主要采用多線程網(wǎng)絡(luò)編程和串口編程[2],分為兩個(gè)線程:一個(gè)線程用來(lái)定時(shí)向云服務(wù)器發(fā)送UDP心跳包,確定喂食機(jī)是否在線和實(shí)時(shí)向云服務(wù)器更新喂食機(jī)設(shè)備的邏輯地址;一個(gè)線程用來(lái)監(jiān)聽網(wǎng)絡(luò)端口,實(shí)時(shí)接收云服務(wù)器發(fā)回來(lái)的控制命令,從而實(shí)現(xiàn)喂食喂水操作??刂屏鞒倘鐖D3所示。
2.1.3 視頻模塊
選擇成熟穩(wěn)定的網(wǎng)絡(luò)攝像機(jī)模塊。網(wǎng)絡(luò)攝像機(jī)一般會(huì)提供SDK(軟件開發(fā)包),這使得視頻開發(fā)快捷方便。本系統(tǒng)采用威視達(dá)康的視頻解決方案。
2.2 云服務(wù)器
云服務(wù)器端主要分為喂食機(jī)設(shè)備信息提取更新模塊和基于Web Services的設(shè)備控制模塊兩個(gè)部分
2.2.1 喂食機(jī)設(shè)備信息提取更新模塊
因?yàn)槲故硻C(jī)設(shè)備不止一個(gè),屬于一對(duì)多的網(wǎng)絡(luò)通信編程,會(huì)出現(xiàn)多個(gè)設(shè)備同時(shí)更新,所以設(shè)備信息提取更新模塊采用udp異步通信編程來(lái)實(shí)現(xiàn)[3]。主要實(shí)現(xiàn)過(guò)程如下:服務(wù)器端通過(guò)異步監(jiān)聽指定端口,接收喂食機(jī)設(shè)備發(fā)送的心跳包數(shù)據(jù),然后從心跳包中提取出設(shè)備對(duì)應(yīng)的ID號(hào),并通過(guò)對(duì)UDP報(bào)文的分析提取出設(shè)備對(duì)應(yīng)的IP地址和端口號(hào),來(lái)確定喂食機(jī)設(shè)備的唯一邏輯地址。因?yàn)樵O(shè)備心跳包發(fā)送頻率較高而設(shè)備信息變更頻率較低,所以本系統(tǒng)將設(shè)備信息先暫存在一個(gè)XML文檔中,每次將接收到的數(shù)據(jù)與XML中的數(shù)據(jù)比對(duì),如果發(fā)生改變才將數(shù)據(jù)更新到數(shù)據(jù)庫(kù),這樣可以大大降低數(shù)據(jù)庫(kù)的壓力。