• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于Web Service的智能家居系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

      2017-03-21 19:18常赟杰張位勇李桂香
      計(jì)算機(jī)時(shí)代 2017年3期
      關(guān)鍵詞:視頻監(jiān)控智能家居

      常赟杰+張位勇+李桂香

      摘 要: 針對(duì)由PC機(jī)控制的智能家居系統(tǒng)造價(jià)高、不能移動(dòng)、不方便操作的缺點(diǎn),提出了一種采用Web Service技術(shù)的智能家居系統(tǒng)實(shí)現(xiàn)方案。服務(wù)器端通過移植gSOAP組建嵌入式Web Service服務(wù)器和ONVIF視頻服務(wù)器,客戶端采用KSOAP2開發(fā)包進(jìn)行設(shè)計(jì)。用戶可以使用Android手機(jī)或者平板電腦對(duì)家居設(shè)備進(jìn)行遠(yuǎn)程控制和視頻監(jiān)控。系統(tǒng)操作簡(jiǎn)單、成本低、使用方便,具有較高的實(shí)用性和推廣價(jià)值。

      關(guān)鍵詞: Android; Web Service; 智能家居; 嵌入式網(wǎng)關(guān); 視頻監(jiān)控

      中圖分類號(hào):TP311 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):1006-8228(2017)03-44-04

      Abstract: For the smart home system controlled by PC has disadvantages in price, mobility and operation, a new design and implantation scheme of smart home system based Web Service is proposed. The embedded Web Service server and ONVIF video monitoring server are built by transplanting gSOAP, the client end is realized by using KSOAP2 development kit. Users can control and monitor the remote smart home devices via Android phone and tablet. The system has advantage of simple, low cost, portable and practical, and it is worth to be promoted.

      Key words: Android; Web Service; smart home; embedded gateway; video monitor

      0 引言

      智能家居(smart home)系統(tǒng)通過將家居設(shè)備進(jìn)行組網(wǎng),將計(jì)算機(jī)技術(shù)和自動(dòng)化技術(shù)進(jìn)行整合,實(shí)現(xiàn)居家環(huán)境監(jiān)測(cè)、視頻監(jiān)控、家電控制,以及危險(xiǎn)預(yù)警系統(tǒng)等諸多服務(wù),提高了人們的生活水平,現(xiàn)在正在慢慢走進(jìn)人們的生活[1]。目前,大多數(shù)的智能家居系統(tǒng)采用PC機(jī)進(jìn)行控制,這種控制系統(tǒng)造價(jià)高,不能移動(dòng),不方便操作。采用手機(jī)或者平板電腦遠(yuǎn)程連接家庭網(wǎng)絡(luò),可以方便快捷的實(shí)施監(jiān)控[2-5]。但是,目前采用這種手機(jī)或平板控制的智能家居系統(tǒng)比較少,而且大部分的功能比較單一,界面設(shè)計(jì)簡(jiǎn)單,無法提供良好的用戶體驗(yàn)。

      本文提出了一種采用Web Service技術(shù)的智能家居系統(tǒng)實(shí)現(xiàn)方案。用戶可以通過運(yùn)行Android系統(tǒng)的智能手機(jī)或者平板,連接家庭網(wǎng)關(guān),對(duì)家用電器進(jìn)行遠(yuǎn)程控制,對(duì)居家環(huán)境進(jìn)行遠(yuǎn)程視頻監(jiān)控。

      1 系統(tǒng)硬件平臺(tái)

      智能家居網(wǎng)絡(luò)總體框架如圖1所示。家庭中各個(gè)網(wǎng)傳感節(jié)點(diǎn)和Zigbee協(xié)調(diào)器組成星型通信網(wǎng)絡(luò)。各個(gè)傳感器節(jié)點(diǎn)和家居設(shè)備以Zigbee方式和協(xié)調(diào)器通信,協(xié)調(diào)器通過串口連接網(wǎng)關(guān)。本系統(tǒng)的網(wǎng)關(guān)采用基于ARM1176JZF-S內(nèi)核,主頻533MHz的高性能嵌入式芯片S3C6410。網(wǎng)關(guān)上組建嵌入式Web服務(wù)器和視頻服務(wù)器,提供Web Service服務(wù)。運(yùn)行在手機(jī)或平板上的智能家居控制系統(tǒng)客戶端通過調(diào)用Web Service服務(wù)實(shí)現(xiàn)以下功能。

      ⑴ 通過獲取溫度傳感器、濕度傳感器、光照度傳感器、紅外傳感器的數(shù)據(jù),實(shí)現(xiàn)對(duì)居室環(huán)境數(shù)據(jù)進(jìn)行持續(xù)的采集。

      ⑵ 對(duì)智能家電、智能窗簾和智能燈具等設(shè)備的控制。

      ⑶ 調(diào)用攝像機(jī)實(shí)現(xiàn)遠(yuǎn)程視頻監(jiān)控。

      2 軟件框架

      2.1 程序架構(gòu)

      本系統(tǒng)采用目前流行的Web Service技術(shù),實(shí)現(xiàn)安卓客戶端和網(wǎng)關(guān)服務(wù)器之間的通信。Web Service是一種跨平臺(tái)的分布式Web應(yīng)用程序。Web Service服務(wù)由服務(wù)器提供,客戶端可以在網(wǎng)絡(luò)上的任何一個(gè)位置調(diào)用此服務(wù)。Web Service三個(gè)重要的組成部分是SOAP、WSDL(Web Services Description Language)和UDDI(Universal Description Discovery and Integration) [6]。SOAP是一個(gè)基于XML的輕量型分布式計(jì)算協(xié)議,定義了調(diào)用Web Service服務(wù)的標(biāo)準(zhǔn)方法;WSDL用于描述訪問具體的接口的方式;UDDI用來管理、分發(fā)和查詢Web Service。

      軟件框架如圖2所示??蛻舳撕头?wù)器之間通過HTTP協(xié)議進(jìn)行SOAP消息的傳遞。網(wǎng)關(guān)服務(wù)器運(yùn)行Linux操作系統(tǒng),提供基于SOCKET的HTTP協(xié)議通信協(xié)議。然后再移植開源Web Service工具gSOAP來提供Web Service服務(wù)所需要的XML解析器和SOAP處理器。

      2.2 服務(wù)器端程序設(shè)計(jì)

      服務(wù)器端程序設(shè)計(jì)步驟:首先生成C/C++頭文件;然后使用SOAP編譯器編譯后生成RPC服務(wù)框架和序列化的數(shù)據(jù)類型代碼;最后將這些代碼鏈接到服務(wù)應(yīng)用程序中,就成為可供客戶端調(diào)用的Web Service。gSOAP編譯器同時(shí)會(huì)生成一個(gè)WSDL文檔用于描述這些服務(wù)。

      在本設(shè)計(jì)中,客戶端的請(qǐng)求分為POST和GET兩種方法。GET方法用來處理靜態(tài)網(wǎng)頁(yè),進(jìn)而為描述接口的WSDL文件提供支持。POST方法用來實(shí)現(xiàn)SOAP消息的傳輸,將接收到的HTTP數(shù)據(jù)包保存在內(nèi)存緩沖區(qū),然后再進(jìn)行進(jìn)一步的處理。網(wǎng)關(guān)服務(wù)器對(duì)SOAP消息的處理過程如圖3所示。服務(wù)器在接受到客戶端的HTTP請(qǐng)求以后,調(diào)用相關(guān)模塊解析SOAP消息,然后根據(jù)解析結(jié)果提供相應(yīng)的服務(wù)。最后將執(zhí)行結(jié)果封裝成SOAP響應(yīng)信息返回給客戶端。

      2.3 視頻服務(wù)器程序設(shè)計(jì)

      采用建立在Web Service的SOAP通信框架基礎(chǔ)之上的ONVIF通信標(biāo)準(zhǔn),進(jìn)行視頻服務(wù)器設(shè)計(jì)。ONVIF通過定義網(wǎng)絡(luò)視頻設(shè)備之間信息交換的通用標(biāo)準(zhǔn),以實(shí)現(xiàn)不同廠家的視頻產(chǎn)品之間的互通性。ONVIF也是使用WSDL定義服務(wù),使用XML語言描述數(shù)據(jù),采用SOAP通信協(xié)議傳輸信息。ONVIF標(biāo)準(zhǔn)包括設(shè)備發(fā)現(xiàn)和設(shè)備管理兩大功能模塊,前者通過基于IP組播技術(shù)實(shí)現(xiàn),后者通過傳遞SOAP消息進(jìn)行通信。SOAP通信框架按照以下步驟生成[7]。

      ⑴ 登錄ONVIF網(wǎng)下載WSDL文件,該文件描述了與媒體服務(wù)相關(guān)的Web服務(wù)消息格式、操作、數(shù)據(jù)類型、協(xié)議綁定和服務(wù)地址。

      ⑵ 從網(wǎng)上下載gSOAP 2.8.21工具,解壓后得到的wsdl2h和soapcpp2文件。

      ⑶ 使用wsdl2h工具將WSDL文件轉(zhuǎn)換成C/C++風(fēng)格的頭文件。

      ⑷ 使用soapcpp2工具將上一步產(chǎn)生的頭文件生成服務(wù)器端提供SOAP服務(wù)的框架(Skeleton)代碼。

      3 安卓客戶端程序設(shè)計(jì)

      3.1 客戶端與服務(wù)器之間的通信

      在Android客戶端平臺(tái)上,調(diào)用服務(wù)器端的Web Service必須使用開發(fā)包KSOAP2,以實(shí)現(xiàn)SOAP協(xié)議的處理。KSOAP2是一個(gè)用于資源受限制的Java環(huán)境如Applets或J2ME應(yīng)用程序的第三方類庫(kù)。

      安卓客戶端通過調(diào)用服務(wù)器端的Web Service服務(wù),通過對(duì)遠(yuǎn)程數(shù)據(jù)庫(kù)的查詢、控制和管理操作,從而實(shí)現(xiàn)對(duì)家居設(shè)備進(jìn)行控制和監(jiān)視。本設(shè)計(jì)采用的KSOAP2軟件工具可以封裝用戶請(qǐng)求,以SOAP格式來調(diào)用Web Service,然后將返回的SOAP格式的數(shù)據(jù)信息解析為SOAP Objecet對(duì)象。KSOAP2調(diào)用Web Service步驟如下。

      ⑴ 下載Ksoap2-Android工具,并導(dǎo)入工程。

      ⑵ 指定Web Service的命名空間和調(diào)用Web Service方法的名稱。

      ⑶ 借助Soap Object對(duì)象傳遞參數(shù)。

      ⑷ 生成調(diào)用Web Service方法的SOAP請(qǐng)求信息,并指定SOAP的版本。

      ⑸ 調(diào)用Web Service,根據(jù)返回的數(shù)據(jù),解析出結(jié)果。

      3.2 客戶端設(shè)計(jì)

      客戶端連接服務(wù)器的第一步是登錄,進(jìn)行身份驗(yàn)證,其流程如圖4所示。首先輸入服務(wù)器的用戶名和密碼。如果服務(wù)器驗(yàn)證通過,就可以建立客戶端與服務(wù)器之間的交互通道,在主界面中接收服務(wù)器響應(yīng)數(shù)據(jù)幀,同時(shí)更新所有家居設(shè)備的狀態(tài)信息。用戶登錄成功后,可以執(zhí)行如下相應(yīng)的動(dòng)作。

      ⑴ 如果要控制設(shè)備或者查詢?cè)O(shè)備狀態(tài)信息,則通過Get方法發(fā)送控制幀或者查詢幀。

      ⑵ 如果要執(zhí)行視頻監(jiān)控則通過POST方法發(fā)送視頻控制命令。

      ⑶ 如果用戶需要更改密碼,就要輸入舊、新兩種密碼,如果密碼匹配,則服務(wù)器返回響應(yīng)碼“201”,表示密碼更改成功;否則可以向服務(wù)器發(fā)送控制或者查詢請(qǐng)求,服務(wù)器收到后,先返回一個(gè)響應(yīng),然后執(zhí)行相應(yīng)的動(dòng)作。

      3.3 視頻監(jiān)控客戶端設(shè)計(jì)

      3.3.1 設(shè)備發(fā)現(xiàn)和管理

      設(shè)備發(fā)現(xiàn)的主要目的就是獲取ONVIF設(shè)備的服務(wù)功能和服務(wù)地址,為后面的視頻數(shù)據(jù)接收和播放提供基礎(chǔ)。ONVIF協(xié)議的設(shè)備發(fā)現(xiàn)模塊可以讓客戶端發(fā)現(xiàn)服務(wù)器的RPC的入口,本設(shè)計(jì)采用WS-Discovery發(fā)現(xiàn)協(xié)議實(shí)現(xiàn)該功能。WS-Discovery [8]協(xié)議采用SOAP和UDP組播協(xié)議,客戶端使用239.255.255.250:3702地址發(fā)送組播消息自動(dòng)搜索ONVIF設(shè)備。服務(wù)器端的ONVIF設(shè)備收到組播消息后進(jìn)行響應(yīng),客戶端根據(jù)收到響應(yīng)數(shù)據(jù)包來獲取相應(yīng)的設(shè)備信息,統(tǒng)計(jì)搜索到的設(shè)備個(gè)數(shù)。

      3.3.2 流媒體數(shù)據(jù)接收及分片打包

      網(wǎng)關(guān)服務(wù)器攝像頭自帶視頻采集、視頻壓縮編碼功能,輸H.264格式編碼的標(biāo)準(zhǔn)數(shù)據(jù)流??蛻舳送ㄟ^RTSP會(huì)話接收服務(wù)器端的流媒體數(shù)據(jù),一次完整的會(huì)話過程如下。

      ⑴ 連接服務(wù)器,同時(shí)發(fā)送一個(gè)RTSP DESCRIBE命令。服務(wù)器返回一個(gè)描述媒體類型、流數(shù)量等信息SDP。

      ⑵ 分析收到的SDP,為會(huì)話中的流發(fā)送一個(gè)SETUP命令建立RTSP。客戶端通過此命令將自己的端口號(hào)告訴服務(wù)器。

      ⑶ 流媒體連接過程建立成功以后,客戶端發(fā)送PLAY命令和TERADOWN來開始和結(jié)束視頻的播放,還可以發(fā)送快進(jìn)、快進(jìn)和暫停命令。在播放過程中,服務(wù)器使用UDP發(fā)送流媒體RTP包給客戶端。

      本系統(tǒng)需要多個(gè)ONVIF IPC設(shè)備通信,為了提高數(shù)據(jù)傳輸速率和數(shù)據(jù)處理的效率,課題組采用Select網(wǎng)絡(luò)模型完成標(biāo)準(zhǔn)的RTSP會(huì)話過程。

      3.3.3 流媒體解碼及顯示

      為了能顯示視頻,客戶端需要首先移植FFMPGE。使用FFMPGE對(duì)接收到的RTSP流媒體文件進(jìn)行解碼,再將解碼后的信息轉(zhuǎn)換成為YUNV420P格式,然后再轉(zhuǎn)換為RGB24格式。最后再轉(zhuǎn)換成可在安卓設(shè)備上播放的ARGB_8888格式。轉(zhuǎn)換完畢之后,就可以將每一幀顯示在屏幕上。

      4 結(jié)論

      本文結(jié)合嵌入式系統(tǒng)和安卓平臺(tái)優(yōu)勢(shì), 采用目前流行的Web Service技術(shù),設(shè)計(jì)和實(shí)現(xiàn)了智能家居系統(tǒng)的服務(wù)器端和安卓客戶端程序。服務(wù)器端通過移植gSOAP和ONVIF協(xié)議來組建嵌入式Web服務(wù)器,提供Web Service服務(wù)。安卓客戶端程序給予KSOAP2開發(fā)包進(jìn)行設(shè)計(jì),實(shí)現(xiàn)了服務(wù)器端的Web Service服務(wù)的調(diào)用。系統(tǒng)主要采用JAVA語言進(jìn)行開發(fā),具有結(jié)構(gòu)簡(jiǎn)單,開發(fā)難度低的優(yōu)點(diǎn)。系統(tǒng)操作簡(jiǎn)單、成本低、使用方便,可以實(shí)現(xiàn)家居設(shè)備的遠(yuǎn)程控制和居家環(huán)境的遠(yuǎn)程視頻監(jiān)視,給人們生活帶來極大的便利,具有較高的使用價(jià)值和推廣價(jià)值。

      參考文獻(xiàn)(References):

      [1] Lin H T. Implementing smart homes with open sourcesolutions[J]. International Journal of Smart Home,2013.7.

      [2] 周恩,李文軍,鄭永軍等.Android平臺(tái)的智能家居控制系統(tǒng)設(shè)計(jì)[J].中國(guó)計(jì)量學(xué)院學(xué)報(bào),2013.24(3):261-265

      [3] 賈陽靜,鄒念育,雷冬鳴等.基于Android和WIFI通信的智能家居系統(tǒng)設(shè)計(jì)[J].大連工業(yè)大學(xué)學(xué)報(bào),2016.1:67-71

      [4] 黃成云,盧選民,李戈.基于Android的智能家居控制軟件設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)與現(xiàn)代化,2014.11:102-105

      [5] Kumar S. Ubiquitous Smart Home System Using AndroidApplication[J]. Computer Science,2014.6(1).

      [6] 龔瑞琴,畢利.基于Web Service的Android技術(shù)應(yīng)用研究[J].電子技術(shù)應(yīng)用,2014.40(1):134-136

      [7] 肖路歡,謝燦,何策.gSOAP在基于ONVIF協(xié)議的網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)中的應(yīng)用[J].數(shù)字技術(shù)與應(yīng)用,2013.6:128-129

      [8] Robert Van Engelen.gSOAP 2.8.1 User Guide[S],2011.

      猜你喜歡
      視頻監(jiān)控智能家居
      基于Zigbee的無線通信技術(shù)在智能家居中的應(yīng)用
      基于嵌入式Linux的視頻監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
      基于HTML5的視頻監(jiān)控微課設(shè)計(jì)淺析
      智能視頻檢索技術(shù)在校園安防建設(shè)中的發(fā)展應(yīng)用
      基于LD3320的智能家居控制
      桓仁| 江门市| 即墨市| 斗六市| 蒙阴县| 枣庄市| 江阴市| 莱州市| 南部县| 长乐市| 玉树县| 舒城县| 蓝田县| 梨树县| 合水县| 肥东县| 桐柏县| 仁布县| 虹口区| 广南县| 杭锦后旗| 乐至县| 泰和县| 和政县| 南康市| 汝城县| 林周县| 隆子县| 库车县| 泸州市| 黎平县| 福贡县| 乌兰县| 云阳县| 晴隆县| 景谷| 佛教| 河津市| 修武县| 来安县| 齐齐哈尔市|