999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

遠程家電控制系統的移動軟件框架設計

2018-12-27 11:35:56潘俊虹
無線互聯科技 2018年20期
關鍵詞:數據庫用戶設備

黃 鑫,潘俊虹

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

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

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

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

1 系統整體設計

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

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

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

設備網關:負責服務器端和設備節點之間的數據交換,包括設備節點信息和設備節點控制命令等。

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

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

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

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

圖1 遠程家電控制系統整體結構

2 客戶端APP設計

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

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

圖2 遠程家電控制系統APP功能

3 服務器端程序設計

3.1 Web服務器設計

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

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

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

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

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

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

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

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

圖3 Tomcat運行流程

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

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

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

dao:數據連接層,也分為api和impl兩個包。api存放數據連接層各個類的接口,impl里面存放了api中各個接口的實現。

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

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

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

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

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

圖4 服務器目錄結構

3.2 Monitor偵聽程序設計

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

圖5 偵聽程序結構框架

4 系統測試

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

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

圖6 設備控制測試

5 結語

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

猜你喜歡
數據庫用戶設備
諧響應分析在設備減振中的應用
基于MPU6050簡單控制設備
電子制作(2018年11期)2018-08-04 03:26:08
數據庫
財經(2017年2期)2017-03-10 14:35:35
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
數據庫
財經(2016年15期)2016-06-03 07:38:02
關注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
500kV輸變電設備運行維護探討
工業設計(2016年12期)2016-04-16 02:52:00
數據庫
財經(2016年3期)2016-03-07 07:44:46
數據庫
財經(2016年6期)2016-02-24 07:41:51
主站蜘蛛池模板: 91po国产在线精品免费观看| 欧美区国产区| 不卡无码h在线观看| 天天综合网在线| 久久毛片免费基地| 色播五月婷婷| 国产精品粉嫩| 强乱中文字幕在线播放不卡| 欧美区一区| 日韩在线成年视频人网站观看| 国产在线一区二区视频| 国产男女免费完整版视频| 亚洲最黄视频| 亚洲娇小与黑人巨大交| 亚洲国产无码有码| 91精品日韩人妻无码久久| 日本人妻一区二区三区不卡影院 | 99热6这里只有精品| 亚洲精品第一页不卡| 91精品情国产情侣高潮对白蜜| 91探花国产综合在线精品| 亚洲熟女中文字幕男人总站| 97视频在线精品国自产拍| 国内a级毛片| 青青草91视频| 国产精品网址你懂的| 日韩小视频网站hq| 亚洲色精品国产一区二区三区| 婷婷午夜天| 欧美精品黑人粗大| 美女视频黄频a免费高清不卡| 东京热高清无码精品| 亚洲无码免费黄色网址| 人妻丰满熟妇啪啪| 九九九国产| 欧美不卡视频一区发布| 日韩精品一区二区三区免费| 伊人久久精品无码麻豆精品| 国产喷水视频| 囯产av无码片毛片一级| 国产视频欧美| 国产国模一区二区三区四区| 永久免费精品视频| 啪啪永久免费av| 麻豆国产在线观看一区二区| 国产麻豆精品手机在线观看| a毛片基地免费大全| 国产精品久久久久婷婷五月| 青青草国产精品久久久久| 国产精品久久久久久影院| 5555国产在线观看| 人人看人人鲁狠狠高清| 91av成人日本不卡三区| 国产情精品嫩草影院88av| 成人日韩视频| 国产嫖妓91东北老熟女久久一| 无码人妻热线精品视频| 一本大道视频精品人妻| 日韩欧美一区在线观看| 亚洲成人高清无码| 精品撒尿视频一区二区三区| 精品视频一区二区三区在线播| 99精品视频播放| 亚洲国产精品无码AV| 国产成人一区免费观看| 99久久人妻精品免费二区| 久久亚洲国产一区二区| 毛片基地视频| 国产成人无码播放| 无码精品国产VA在线观看DVD| 久久久久亚洲AV成人网站软件| 日韩AV无码一区| 国产h视频在线观看视频| 国产精品视频导航| 91麻豆精品视频| 亚洲AV无码久久天堂| 亚洲一级毛片在线观播放| 久久99国产综合精品女同| 亚洲国产成人精品无码区性色| 日韩国产亚洲一区二区在线观看| 国产精品无码一二三视频| а∨天堂一区中文字幕|