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