亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        遠程家電控制系統(tǒng)的移動軟件框架設計

        2018-12-27 11:35:56潘俊虹
        無線互聯(lián)科技 2018年20期
        關鍵詞:服務器端安卓網(wǎng)關

        黃 鑫,潘俊虹

        (1.昆山鑫盛盟創(chuàng)科技有限公司,江蘇 昆山 215300 ;2.武夷學院 數(shù)學與計算機學院,福建 武夷山 354300)

        隨著計算機技術、網(wǎng)絡技術、控制技術及人工智能等的飛躍發(fā)展,智能化社會已成為新世紀的發(fā)展趨勢。在此之下,智能家居也隨之迅猛發(fā)展起來[1]。與普通家居相比,智能家居不僅具有傳統(tǒng)的居住功能,同時能夠提供信息交互功能,使得人們能夠在外部查看家居信息和控制家居的相關設備,便于人們有效安排時間,使得家居生活更加安全、舒適[2]。

        在“物聯(lián)網(wǎng)”這個概念被提出后,智能家電之間各自獨立的狀態(tài)被打破。在標準的通信協(xié)議以及控制協(xié)議下,無線傳感器網(wǎng)絡在物聯(lián)網(wǎng)技術的利用下,把具有不同功能的節(jié)點組成一個整體,實現(xiàn)家庭設備的網(wǎng)絡化管理。

        手機APP作為智能家居或智能家電控制系統(tǒng)中的核心部分,在用戶使用和體驗中具有重要的作用,因此,對于開發(fā)人員來講,迫切需要一個能夠快速搭建起來的軟件框架。因此,本文采用流行的前端框架MUI,以APP的流暢性和良好的用戶體驗作為目標,搭建了智能家電系統(tǒng)的APP和服務器軟件框架。

        1 系統(tǒng)整體設計

        本系統(tǒng)主要包括以下幾個部分,分別是:安卓終端、服務器端、設備網(wǎng)關、設備節(jié)點,每部分的主要功能如下。

        安卓終端:負責顯示設備信息,設備狀態(tài),傳遞用戶指令,給用戶提供可視化交互界面,是連接服務器和用戶的橋梁。

        服務器端:負責處理用戶數(shù)據(jù)以及設備數(shù)據(jù),接收用戶指令和設備信息,并把信息以一定的格式傳遞給安卓終端和設備網(wǎng)關。

        設備網(wǎng)關:負責服務器端和設備節(jié)點之間的數(shù)據(jù)交換,包括設備節(jié)點信息和設備節(jié)點控制命令等。

        設備節(jié)點:具體的設備家電,如電燈、電扇、電視、空調等。

        這4個雖然是不同的獨立個體,分屬于不同平臺,負責不同的角色,但通過互聯(lián)網(wǎng),移動互聯(lián)網(wǎng),物聯(lián)網(wǎng)相互協(xié)作共同構成了本課題的智能家電系統(tǒng)。

        如圖1所示,用戶打開APP通過互聯(lián)網(wǎng)或移動互聯(lián)網(wǎng),通過HTTP請求連接服務器。服務器端由Tomcat服務器、SqlServer數(shù)據(jù)庫與Monitor偵聽程序組成。

        服務器通過Tomcat接收并處理用戶請求,Monitor偵聽程序連接設備網(wǎng)關獲取網(wǎng)關和設備的信息并存入數(shù)據(jù)庫,Tomcat連接數(shù)據(jù)庫獲取Monitor取回的信息并返回給用戶或者當有新命令時,Tomcat把命令存進數(shù)據(jù)庫,并通知Monitor有新的上行命令進入,Monitor接收到Tomcat的通知,去數(shù)據(jù)庫取出數(shù)據(jù),發(fā)送給網(wǎng)關,網(wǎng)關將命令發(fā)送給節(jié)點進行數(shù)據(jù)采集和控制執(zhí)行操作。

        圖1 遠程家電控制系統(tǒng)整體結構

        2 客戶端APP設計

        APP端以安卓為操作平臺,采用時下流行的APP快速開發(fā)方案HTML5。HTML5是一種網(wǎng)頁開發(fā)語言,通過使用HTML5語言可以在任何移動平臺進行開發(fā),對于移動端的大頭安卓和蘋果來說,除去原生的部分,HTML5一套代碼可以同時在這兩大平臺上運行,對于開發(fā)人員來說可以省去非常多的維護成本。對于網(wǎng)頁的開發(fā)語言HTML5來說,可以比原生系統(tǒng)更輕易地開發(fā)出漂亮實用的頁面[3]。

        安卓端主要采用HTML5技術,圍繞MUI框架進行開發(fā)。MUI是一款能夠大大簡化開發(fā)的框架,MUI框架是基于ratchet框架開發(fā)的,核心是webview[4]。在模擬原生應用方面有著獨到的見解,能夠高效地解決在HTML5開發(fā)中遇到的各種常見的問題。遠程家電控制系統(tǒng)APP功能如圖2所示。

        圖2 遠程家電控制系統(tǒng)APP功能

        3 服務器端程序設計

        3.1 Web服務器設計

        服務器端以Java為主要編程語言,使用Tomcat為Web服務器。Tomcat服務器是一個免費易上手,對于新手非常友好的Web應用服務器,是一個簡單、易用的JSP和Servlet容器。

        開發(fā)工具采用Eclipse,Eclipse是一以Java為編程語言編寫的開發(fā)平臺。它以優(yōu)良布局的界面,簡單易上手和豐富的插件組件著稱。而各種豐富的插件組件賦予了Eclipse靈活的開發(fā)風格,豐富的開發(fā)環(huán)境,以及無限的可能性。

        項目管理工具使用Maven,使用它可以簡單地管理項目依賴的Jar包,生成項目框架以及項目的編譯打包。現(xiàn)版本的Eclipse完美支持Maven只需簡單的配置,就能在Eclipse中使用Maven。

        服務端采用MVC設計模式,是一種運用廣泛的設計思想。這種技術是將應用程序分離成模型、視圖和控制器3個核心部分[5],MVC包括以下3個部分。

        模型(Model):模型是程序的業(yè)務處理部分,負責執(zhí)行復雜的業(yè)務邏輯。

        視圖(View):視圖的應用程序的表示層,代表與用戶的交互界面。

        控制器(Controller):控制器就是一個轉發(fā)器,接收用戶請求,解析用戶數(shù)據(jù),把數(shù)據(jù)轉發(fā)給模型組件,控制器本身不參與邏輯的處理。

        如圖3所示,APP客戶端發(fā)起HTTP請求,由在web.xml配好的默認servlet類DispatcherServlet類接收請求,把請求轉發(fā)至對應的ctrl中的類中處理,ctrl解析請求數(shù)據(jù)并把數(shù)據(jù)傳遞給service層,service接收數(shù)據(jù)并進一步處理數(shù)據(jù),且按照需求調用dao層的方法。dao層訪問數(shù)據(jù)庫負責與數(shù)據(jù)庫進交互。

        圖3 Tomcat運行流程

        圖4所示為服務器目錄結構圖,目錄功能如下。

        ctrl:控制層,主要是負責接收和返回數(shù)據(jù),以及把數(shù)據(jù)傳遞給service業(yè)務層。

        service:業(yè)務層,分為api和impl兩個包。api存放業(yè)務層各個類的接口,impl里面存放了api包中各個接口的實現(xiàn)。service層負責處理數(shù)據(jù),并按需求訪問dao數(shù)據(jù)連接層。

        dao:數(shù)據(jù)連接層,也分為api和impl兩個包。api存放數(shù)據(jù)連接層各個類的接口,impl里面存放了api中各個接口的實現(xiàn)。

        model:模型層,分為entity和rowmapper兩個包。entity存放具體的實體類,如用戶、房間、網(wǎng)關等。rowmapper包存放各個實體類的對象關系映射工具,負責在dao層把數(shù)據(jù)庫的每一行數(shù)據(jù)封裝成一個entity包中對應的Java對象。

        interceptor:攔截器包,負責在執(zhí)行ctrl中的方法前或方法后插入方法執(zhí)行,例如檢查用戶是否登錄,對于沒登錄的用戶在執(zhí)行ctrl中方法前攔截下來并跳轉登錄頁面,以及各種操作日志等功能。

        exception:異常類包,存放本系統(tǒng)的各種異常類,如權限異常等。

        util:工具類包,存放本系統(tǒng)的工具類,例如時間轉換類,密碼加密類等。

        dao層結構和service層結構類似都分為api接口和impl實現(xiàn)兩個包,這里把接口和實現(xiàn)分離開的做法體現(xiàn)了面向接口編程的思想(面向接口編程:在系統(tǒng)的架構中,層次間并不是依賴于某個具體的類,而是下層給上層提供一組接口供上層調用,上層只關注接口的行為也就是上層需要達成的目的,并不關注這些行為是如何實現(xiàn)的)。在本系統(tǒng)中,ctrl層中的類只依賴于service層的接口,service層中的類只依賴于dao層的接口,層與層并不僅依賴于某個具體實現(xiàn)類,而是依賴于一組接口。把接口與實現(xiàn)分離開有助于提升系統(tǒng)的靈活性,降低層與層之間的耦合度。在本系統(tǒng)中,利用Spring的依賴注入,在下層的需要改變時,由于下層只暴露了接口給上層,所以僅需要修改下層的實現(xiàn)類,上層的類并不需要進行任何修改就可以使用。

        圖4 服務器目錄結構

        3.2 Monitor偵聽程序設計

        Monitor偵聽程序,是網(wǎng)關與數(shù)據(jù)庫及人機交互軟件的通信媒介,采用面向對象方法進行開發(fā)。Monitor傳輸方向分為上行與下行兩個方向,上行數(shù)據(jù)傳輸是指Monitor接收網(wǎng)絡端口的數(shù)據(jù),送入數(shù)據(jù)庫;下行數(shù)據(jù)傳輸是指Monitor從數(shù)據(jù)庫中取數(shù)據(jù)向網(wǎng)關發(fā)送。下行數(shù)據(jù)中,Monitor亦可接受人機交互軟件命令,然后從數(shù)據(jù)庫中取數(shù)據(jù)向網(wǎng)關發(fā)送。這里的人機交互軟件命令,主要是指Web網(wǎng)頁,也可指運行Monitor程序時,從控制臺(鍵盤)輸入的命令,也可指手機APP軟件向Monitor發(fā)送的命令。使用的語言是C#。本課題借用已經(jīng)實現(xiàn)的Monitor偵聽程序進行與網(wǎng)關的連接(見圖5)。

        圖5 偵聽程序結構框架

        4 系統(tǒng)測試

        由于目前的設備連接狀態(tài)限制,APP必須與充當服務器的電腦連接在同一局域網(wǎng)內,使得使用起來具有極大的局限性。所以測試時利用到了花生殼軟件,利用它就可以在沒有公網(wǎng)IP的情況下進行內網(wǎng)穿透,把當前電腦與花生殼提供的域名綁定。這樣APP就可以在互聯(lián)網(wǎng)上訪問當前電腦了。

        測試APP控制設備開關,APP開關狀態(tài)正常顯示,APP提示信息正常顯示,服務器接收請求正常執(zhí)行,服務器信息正常顯示。測試方法:點擊設備“電燈1”右側的開關按鈕。測試預期:按鈕由關轉為開,服務器提示設備被開啟。設備控制測試如圖6所示。

        圖6 設備控制測試

        5 結語

        本文實現(xiàn)了基于Android的遠程家電控制系統(tǒng)手機APP,基本實現(xiàn)了對于家電的控制,以及信息的傳輸,為智能家電的開發(fā)創(chuàng)建了一套流程以及搭建了基本框架。但是這還遠遠不夠,一些簡單的控制還并不能體現(xiàn)智能家電中的智能性,控制系統(tǒng)中的多設備的聯(lián)動,復雜的場景控制都是日后能夠繼續(xù)開發(fā)的方向。

        猜你喜歡
        服務器端安卓網(wǎng)關
        基于改進RPS技術的IPSEC VPN網(wǎng)關設計
        文物表情包
        淺析異步通信層的架構在ASP.NET 程序中的應用
        成功(2018年10期)2018-03-26 02:56:14
        一種基于安卓系統(tǒng)的手機側抓包分析方法
        在Windows中安裝OpenVPN
        LTE Small Cell網(wǎng)關及虛擬網(wǎng)關技術研究
        移動通信(2015年18期)2015-08-24 07:45:08
        應對氣候變化需要打通“網(wǎng)關”
        太陽能(2015年7期)2015-04-12 06:49:50
        安卓L未至安卓M來了!安卓首泄漏M系統(tǒng)
        一種實時高效的伺服控制網(wǎng)關設計
        網(wǎng)頁防篡改中分布式文件同步復制系統(tǒng)
        97久久精品无码一区二区天美| 中文字幕有码久久高清| 少妇被粗大进猛进出处故事| 真人做人试看60分钟免费视频| 国产在线无码一区二区三区| 中文字幕天天躁日日躁狠狠| 亚洲av色精品国产一区二区三区| 草草影院发布页| 成熟丰满熟妇高潮xxxxx视频| 欧美精品AⅤ在线视频| 日韩av中文字幕少妇精品| 国产激情视频免费在线观看| 东北妇女xx做爰视频| 国产中文aⅴ在线| 亚洲一区二区三区视频免费| 97人妻人人揉人人躁九色| 亚洲欧美激情在线一区| 成年奭片免费观看视频天天看| 女高中生自慰污免费网站| 中文字幕丰满人妻有码专区| 婷婷久久国产综合精品| 国产精品久久久久久亚洲av| av无码精品一区二区乱子| 资源在线观看视频一区二区| 嫩呦国产一区二区三区av| 免费无码a片一区二三区| 亚洲一区二区三区成人| 丝袜美女美腿一区二区| 日韩亚洲中文有码视频| 50岁熟妇的呻吟声对白| 亚洲av高清在线观看三区| 亚洲熟妇一区二区蜜桃在线观看| 又粗又黄又猛又爽大片app| 亚洲处破女av日韩精品| 91亚洲精品福利在线播放| 蓝蓝的天空,白白的云| 射精专区一区二区朝鲜| 成人在线激情网| 国产av黄色一区二区| 国产亚洲精品久久久久久国模美| 亚洲国产精品第一区二区|