錢光明++李楓
摘要:網(wǎng)傳圖片來實現(xiàn)遠(yuǎn)程監(jiān)視有著不錯的應(yīng)用需求。如何快速、便宜、方便、可靠及低功耗地實現(xiàn)這一需求是問題的關(guān)鍵。該文給出了一個基于WIFI的實現(xiàn)方案。設(shè)計一個JSW聯(lián)網(wǎng)裝置(主控單片機不用操作系統(tǒng)),并通過一個簡便巧妙的方法,限制網(wǎng)傳JPEG圖片的數(shù)據(jù)量,同時保證“關(guān)鍵物體”的傳輸。這些對于住宅遠(yuǎn)程監(jiān)視尤具意義。
關(guān)鍵詞:低功耗;JSW聯(lián)網(wǎng)裝置;“關(guān)鍵物體”;“去尾”
中圖分類號:TP393 文獻標(biāo)識碼:A 文章編號:1009-3044(2015)23-0159-03
1 概述
打開淘寶網(wǎng)搜索“網(wǎng)絡(luò)攝像頭”,您會發(fā)現(xiàn)有著不錯的銷量。就具體用途而言,有的公司可能安裝在辦公場合或庫房;有的商家用于店鋪的無人監(jiān)視;有的客戶可能用于住宅的遠(yuǎn)程監(jiān)控……這些產(chǎn)品有的利用有線入互聯(lián)網(wǎng),另一些則是無線入網(wǎng),有的入網(wǎng)方式則是無線有線均可。
本文的研究則是基于“WIFI無線、電池供電、低功耗、長時間”等方面的室內(nèi)自動拍攝,提出一個“幾K圖片選擇”方案。考慮能夠電池供電,強調(diào)低功耗。
現(xiàn)有的WIFI無線網(wǎng)絡(luò)攝像頭絕大部分是基于市電(220v)設(shè)計的,有的雖然也可以用電池供電,但由于方案所限電池電量只能用1~2天。人們外出度假、旅游時,許多住戶的傳統(tǒng)習(xí)慣一般都是拔掉冰箱電源,切斷市電(220v)。而現(xiàn)在,如果希望能通過手機或電腦遠(yuǎn)程看一看自己的住宅室內(nèi)情況,使用無線網(wǎng)絡(luò)攝像頭,要求繼續(xù)使用市電顯然是一種遺憾。
低功耗更是許多嵌入式應(yīng)用的一個極其重要的目標(biāo)。在電池電量一定的情況下,網(wǎng)絡(luò)攝像頭的功耗越低,需要再次充電或更換電池的周期就越長,越有利于進行長時間監(jiān)控。另外,一般來講,低功耗小電流產(chǎn)品發(fā)熱低,由于溫度過高而帶來的安全隱患也會小一些,尤其是在長期無人的場合。
2 “幾K圖片選擇”基本實現(xiàn)思路
首先,基于不錯的壓縮性能以及應(yīng)用普及性,我們選擇JPEG作為網(wǎng)傳圖片格式。有的攝像頭集成有相應(yīng)固件直接產(chǎn)生JPEG壓縮數(shù)據(jù),有的則靠DSP加相應(yīng)軟件完成。圖1是“幾K圖片選擇”的入網(wǎng)示意?;谇懊娴姆治?,選擇WIFI入網(wǎng)。如果采用定時方式,主控單片機中設(shè)計一個(或控制一個外置的)低功耗計時器,該計時器使主控單片機每隔一定時間自動喚醒,喚醒后的主控單片機使攝像頭模塊和WIFI模塊從低功耗狀態(tài)(待機或睡眠或斷電等)進入工作狀態(tài),控制攝像頭模塊拍下一張現(xiàn)場圖像,處理成JPEG壓縮數(shù)據(jù),隨即將其通過WIFI發(fā)出,發(fā)送完成后再使攝像頭模塊和WIFI模塊重新進入低功耗狀態(tài),然后主控單片機自己進入睡眠狀態(tài),等待下一次被計時器喚醒;如果采用事件觸發(fā)方式,則主控單片機的喚醒由外接傳感器(如紅外探頭)觸發(fā)。
為描述方便,將圖1的入網(wǎng)裝置稱為JSW入網(wǎng)裝置,簡稱JSW。意為JPEG攝像頭模塊 + Single chip computer(單片機) + WIFI。另外,主控單片機未被喚醒時,其他兩個模塊也處于低功耗狀態(tài),我們稱此時是JSW入網(wǎng)裝置的低功耗狀態(tài)。主控單片機被喚醒后,則稱是JSW入網(wǎng)裝置的工作狀態(tài)。
與市售的許許多多WIFI攝像頭不同,這里的主控單片機不運行操作系統(tǒng),這樣可以最大限度地節(jié)省硬件,減少代碼量,進一步降低功耗,增加可靠性。
再來看一看JSW入網(wǎng)裝置的電池續(xù)航時間。這個時間指標(biāo)主要取決于JSW的工作狀態(tài)所需時長,需要考慮WIFI模塊的啟動和入網(wǎng)時間、網(wǎng)絡(luò)通信需要的時間、主控單片機的啟動時間以及JPEG模塊的啟動和拍照時間,以前兩個時間為主。先看第一個。為了快速入網(wǎng),可以使WIFI模塊一直保持為聯(lián)網(wǎng)狀態(tài),但需要mA級的電流[1]。即使是1mA的電流,約26.7天就會耗掉640mAh的電量(26.7*24≈640)。如果考慮WIFI模塊平常處于極低功耗的待機或斷電狀態(tài)(電流近似為零),只有在JSW的工作狀態(tài)才啟動和聯(lián)網(wǎng),耗電又會怎樣?一般情況下,WIFI模塊從通電到聯(lián)網(wǎng)需要十幾秒(甚至更短)就夠了,算20秒好了。以WIFI模塊GS1011M為例,在較大發(fā)射功率(+18dbm)時的典型電流約250mA[2],WIFI模塊從通電到聯(lián)網(wǎng)一次所需電量約1.39mAh ((20/3600)*250≈1.39),如果JSW每半天進入一次工作狀態(tài)(應(yīng)該滿足一般需求),這1.39mAh在26.7天需要的電量為37.113mAh(遠(yuǎn)小于640mAh)。因此,在JSW的低功耗狀態(tài)中,使WIFI模塊處于極低功耗的待機或斷電狀態(tài)是一個好的選擇。有利于延長電池續(xù)航時間。
再看第二個。網(wǎng)絡(luò)通信需要的時間取決于網(wǎng)絡(luò)狀況和所發(fā)送的信息量,我們在無法左右前者的情況下,可以盡量縮減后者,以盡量減少JSW的工作狀態(tài)時長,增加續(xù)航時間。這正是“幾K圖片選擇”的出發(fā)點之一。
3 簡單的“去尾”辦法
對于一般的住宅室內(nèi)監(jiān)視,我們?nèi)》直媛?20*240,可以基本滿足要求,如看看門開沒開。但是,我們知道,在不同的光照條件下對同一物體拍出的JPEG圖片大小一般不同,在同樣的光照條件下對不同物體拍出的JPEG圖片大小可能有別。實驗以O(shè)V2640拍照[3]。圖2是較強光(中午窗外有陽光)下拍攝的一個書架JPEG圖片,圖3是弱光(陰雨天3米外開約30w日光燈)下拍攝的一張房門JPEG圖片,這兩張圖片大小相差約7.6k。如果不開日光燈的話,圖3對應(yīng)的圖片尺寸會更小些(約2.7k時仍然可模糊地辨認(rèn)門是否打開),對這樣的圖片設(shè)計網(wǎng)傳方案時,一般會從最大圖片的尺寸出發(fā)來考慮,如按13K來發(fā)送和存儲。而我們的“幾K圖片選擇”,顧名思義是只網(wǎng)傳“幾K”圖片內(nèi)容,對十幾K或幾十K(如果用640*480分辨率的話一張圖片隨便就是幾十K)之類的大圖片,顯然不打算網(wǎng)傳一張圖片的全部,只是傳輸“一張圖片的一部分”,以下簡稱PoI(Part of Image ),這樣自然引出兩個疑問:一是只網(wǎng)傳PoI有什么好處?二是只網(wǎng)傳PoI還有意義嗎?疑問一很容易想明白,因為只傳“幾k”比傳“幾十k”肯定省流量(很可能省錢)、省存儲容量、縮短JSW的工作狀態(tài)、延長電池續(xù)航時間等。并且,如果這“幾k”有一個固定上限值(如不大于6.5k)的話,對網(wǎng)絡(luò)傳輸和網(wǎng)絡(luò)存儲也有益處,比如,用戶可以預(yù)先估計租用的服務(wù)器圖片存儲空間可以用多久。