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

智能家居控制APP系統的設計與實現

2017-02-22 07:06:53陸文駿
計算機技術與發展 2017年1期
關鍵詞:設置智能設備

丁 函,羅 軍,陸文駿,葉 菲

(解放軍陸軍軍官學院,安徽 合肥 230031)

智能家居控制APP系統的設計與實現

丁 函,羅 軍,陸文駿,葉 菲

(解放軍陸軍軍官學院,安徽 合肥 230031)

智能終端設備的迅猛發展加速了APP應用客戶端的開發更新,APP的廣泛應用也為大眾生活提供了方便實時的服務。為了提高家居設備的智能化水平,解決設備控制實時性不強的問題,在研究分析無線通信和數據處理技術以及APP智能控制的硬件環境架構的基礎上,提出并設計實現了一種基于IntelliJ IDEA 14.0.2集成環境的Android智能APP客戶移動終端系統。該軟件系統擁有無線Wifi管理、數據設置及操作、沖突管理、數據通信、數據讀取和狀態控制等功能,操作界面友好。為驗證該智能移動終端系統的有效性和適用性,進行了系統功能模塊的測試驗證。測試驗證結果表明,所設計實現的智能移動終端系統穩定性好、實用性強、準確性高,具有良好的可擴展性,較好地實現了智能手機等移動終端對家用電器和設備的遠程自動控制,呈現出廣闊的市場前景。

APP軟件系統;IntelliJ IDEA 14.0.2;Android;智能家居控制

0 引 言

近年來,隨著智能手機和IPAD等移動終端設備的迅速發展,人們已經逐漸習慣了APP軟件應用。APP軟件系統具有便捷性、精準性、互動性和超強的用戶黏性。在市場上,它不僅為廣大企業和商家積累了龐大、忠誠的網絡用戶,而且提升了企業和商家的知名度。當前,其應用正逐漸滲入人們的家庭生活之中,已有一些產品問世,但在智能家居控制方面還有待進一步研發,市場潛力還需進一步挖掘[1]。

智能家居控制(Smart-home Control Systems,SCS)是以智能家居系統為平臺,利用網絡通信技術和自動控制技術將家居生活有關的設施進行高效集成的系統[2]。近年來,國內外許多企業在這一領域推出了相應產品,但是將它移植到智能手機或IPAD上進行APP應用還比較少。為此,基于IntelliJ IDEA 14.0.2集成環境和Wifi環境下移動終端用戶的復雜交互,提出并設計開發了移動終端遠程智能控制APP軟件系統,實現了移動終端對家居設備的實時遠程控制和數據讀取,并具有較好的可拓展性。

1 APP智能控制硬件環境

如圖1所示,APP智能控制硬件環境由APP終端(智能手機或IPAD平板)、數據集中器、服務器和家居設備(如照明設備智能控制器、電子球閥、電表、電能表、水表、燃氣表、流量計等)組成。數據集中器與服務器(實時分析、處理、存儲各個家用電器和設備數據)進行有線傳輸,與各個家用電器和設備進行無線數據實時傳輸。APP終端通過Wifi與數據集中器、服務器進行通信連接,實時讀取來自設備的狀態數據,同時采用智能控制APP軟件系統,實現對各個家用電器和設備的控制、管理[3-4]。

圖1 APP智能控制硬件環境圖

2 軟件設計與實現

APP是一款智能控制的Android系統軟件,操作系統為Android4.4以上版本,支持智能手機或IPAD平板終端[5]。采用JetBrains公司IntelliJ IDEA集成環境,IntelliJ是業界公認的最佳Java開發工具,尤其在智能代碼助手、重構、J2EE支持、Ant、JUnit、CVS整合、創新GUI設計等方面功能超常。

該系統主要分為三級界面,包括登陸模塊、網絡模塊、設置模塊和控制模塊,結構示意如圖2所示。

圖2 APP軟件模塊示意圖

用戶點擊APP軟件系統,進入登陸模塊,輸入用戶名和密碼,核實正確后進入網絡模塊。網絡模塊用于控制無線Wifi的連接,只有連接Wifi后才能進入設置模塊和控制模塊。進入設置模塊,通過讀取.txt文本顯示通信IP地址、端口號和應用設備編號,可以對其進行增、刪、改、存操作。控制模塊利用網絡通信實時讀取客戶所需設備數據,并可以隨心所欲地控制照明設備或水龍頭的開關。下面重點介紹網絡模塊、設置模塊和控制模塊的設計實現。

2.1 網絡模塊

由于現在無線網絡的高使用率和高覆蓋率,該APP軟件系統的網絡模塊采用Wifi無線連接的方式,IDEA擁有強大的網絡管理功能。其中,WifiManager代表Android Wifi連接服務。它能夠用于配置Wifi網絡連接、管理當前的Wifi連接、掃描接入點及監視Wifi連接變化。

為了使用WifiManager,首先要在應用程序的manifest文件中添加用于訪問和更改Wifi狀態的uses-permissions:

然后通過getSystemService訪問WifiManager,并傳入Context.WIFI_SERVICE常量。當建立了一個活動的Wifi連接后,使用WifiManager的getConnectionInfo()方法找出連接的狀態信息,程序如下:

wifi=(WifiManager)this.getSystemService(Context.WIFI_SERVICE);

wifiInfo=wifi.getConnectionInfo();

最后通過getWifiState()和getSupplicantState()方法判斷Wifi硬件是否啟用以及軟件是否連接成功,若正常啟用則給出提示,否則也給出提示并要求用戶進行手動選擇連接:

if(!wifi.isWifiEnabled()){ //判斷wifi是否可以用

if (wifi.getWifiState() !=WifiManager.WIFI_STATE_ENABLING){

Toast.makeText(first.this,"當前wifi尚未打開!",Toast.LENGTH_LONG).show();

imbt_red1.setVisibility(View.VISIBLE);}}

if(wifiInfo.getSupplicantState()!=SupplicantState.COMPLETED){

Toast.makeText(first.this,"當前wifi尚未連接!", Toast.LENGTH_LONG).show();

mbt_red1.setVisibility(View.VISIBLE);}

2.2 設置模塊

2.2.1 數據設置及操作

該模塊主要用于數據的顯示和設置,通過對.txt文件的讀取和重寫完成對Tablayout布局的操作。Tablayout沒有邊框,它由多個TableRow對象組成,每個TableRow設置多個單元格,每個TableRow和單元格均通過Addview()方法添加。

集中器設置兩個TableRow,每個TableRow含有兩個單元格,點擊“添加”按鈕可以按照協議讀取“jizhongqi_xinxi.txt”文件,獲取Server的IP地址和端口號,也可以對其進行更改,最后重寫文件;其他設備根據從.txt文件中讀取的設備編號個數設置TableRow的個數,每個TableRow包含三個單元格,分別顯示多選框、序號和設備編號。以智能控制器為例,圖3為其設置界面,界面啟動時讀取“Kongzhiqi_xinxi.txt”文件,顯示照明設備的數量和編號,通過該界面還可以對照明設備的數目和編號進行修改操作,包括添加、刪除和更改三種,完成操作后重寫.txt文件,方便后續讀取。

圖3 智能控制器設置界面

2.2.2 數據操作中的沖突避免

對數據的添加、刪除和修改操作實際上最終還是對.txt文本的操作,因為在對數據進行更改后都要對.txt文本進行修改保存,再次引用數據時,只要讀取相應文件中的對應數據就行了,這樣采用同樣的讀取標準,在數據量很大時可以大大減少錯誤率。在數據的三類基本操作中,數據的添加是直接在文本文件的末尾進行,即新增的設備編號數據是加在之前所有數據的后面,不存在遍歷搜索的問題,但是每次對數據進行刪除和修改操作前,必須對文本文件中的設備編號進行遍歷搜索,搜索到相應的編號后進行更改,這就存在一個搜索效率和正確率的問題。

因此,該系統采用近年來被廣泛應用的Bloom filter數據結構來判斷一個給定屬性值的元素是否屬于某一集合。Bloom filter是由Burton H.Bloom于1970年提出的,它突破了傳統哈希函數的映射和存儲元素的方式,是一種節省空間、高效率的數據表示和查詢結構,而且該結構對向量中的元素進行編碼,保密性好,利于保護隱私。由于所涉及的設備編號可以看作特定的數據集合,并且具有更新刪除的功能,所以當用戶添加設備編號,讀取.txt文本判斷是否進行更改和刪除編號時采用改進的可刪除元素的Bloom filter結構[6]。

設S={x1,x2,…,xn}為具有n個元素的集合,Bloomfilter使用k個相互獨立的哈希函數,它們分別將集合中的元素映射到BFV數組的k位中。對于任意一個元素x,第i個哈希函數映射的位置hi(x)就會被置為1(1≤i≤k),如果一個位置已經為1,那么隨后映射到該位置時其值不變。當查詢元素zi時,用Bloomfilter的k個哈希函數映射到BFV中,如果每一個哈希函數映射到的位置都為1,則認為zi屬于S,否則zi不屬于S,無法進行更改和刪除操作。這里還設計了一種稱為計數型CBF的4位數組CBFV作為計數器,當要刪除和添加設備編號時,分別用k個哈希函數映射到CBFV上的k個計數器,并將這些計數器減1或加1。具體基于Bloomfilter的數據查詢原理如圖4所示。

圖4 基于可刪除Bloom filter的數據查詢示意圖

2.3 控制模塊

2.3.1 數據通信

(1)UDP通信。

為了提高數據的傳輸速率,該APP軟件系統采用的是Socket通信中的UDP通訊方式[7-8]。該通訊方式不需要先建立網絡鏈路,將數據放到數據包后,根據文件中讀取的預設的IP地址自行尋找路徑到目的地。同時,在傳輸過程中,為了提高數據傳輸的可靠性,實時對傳輸數據的準確性進行檢測并及時提醒。

首先創建服務器(Server),Server要先創建一個DatagramSocket對象,并且指定監聽的端口。接著創建一個空的DatagramSocket對象用于接收數據[9]:

DatagramSocket socket=new DatagramSocket

(2222);

DatagramPacket packet=new DatagramPacket(data,data.length);

使用DatagramSocket對象的receive()方法接收客戶端(Client)發送的數據,在沒有數據進行接收時處于阻塞狀態。

socket.receive(packet);

Client也需要先創建一個DatagramSocket對象,并且指定監聽端口。接著創建一個InetAddress對象,這個對象用來設置網絡發送的地址[10]:

DatagramSocket socket=new DatagramSocket

(3000);

InetAddress serverAddress=InetAddress.getByName("192.168.1.101");

然后創建一個DatagramPacket對象,并將這個數據包發送到剛才設定的網絡地址及端口號,最后使用DatagramSocket對象的send()方法發送數據:

DatagramPacket packet=new DatagramPacket(data,data.length,severAddress,2222);

socket.send(packet);

最后,無論是Server還是Client在接收或發送數據完畢后,都要將socket關閉,讀取的數據將重新寫入相應的文本文件以備后續讀取使用。

socket.close();

(2)多任務異步處理。

考慮到樓層、住戶、房間的數量較大以及設備單元的種類較多,并且具有不確定性的特點,從網絡上獲取數據的操作數量也不確定。大量的UI操作會耗費大量時間,并且多種設備的數據讀取和操作都在后臺同時進行,對于這種同時進行的任務,為了避免數據沖突和丟失,必須創建新的進程,每個任務對應一個進程單獨執行,互不干擾。而且,在Android系統默認的情況下,所有的操作均在主線程中進行,主線程負責管理與UI相關的事件,但是在用戶自己創建的子線程中,不能對UI組件進行操作,強行操作系統將會拋出異常。

因此,該APP軟件系統采用了Thread類和Handler消息傳遞機制相結合的異步數據處理方法實現多線程操作UI界面[11],工作原理如圖5所示。

圖中Activity對應一個界面,每個Activity對應一個主線程,主線程自動創建Handler對象操作UI,但新建的線程要通過Looper對象創建Handler操作UI,每個線程對應一個Looper循環對象,而每個Looper對象對應一個MessageQueue消息隊列,MessageQueue用于存放Message消息,存放消息是按照FIFO(先進先出)的原則執行。

所以對于每個不同編號的設備都可以創建一個子線程,在創建新線程時采用了繼承Thread類的Looper-

圖5 異步數據處理工作原理圖

Thread,并重寫run()方法。首先使用Looper.prepare()方法初始化一個Looper對象,然后實例化一個Handler對象Handler1=new Handler(),用handleMessage()方法來處理消息隊列。然后通過Handler1.obtainMessage()方法獲得每個Message消息。最后使用Handler1.sendMessage()方法發送消息,使用Looper.loop()方法啟動Looper線程,這樣新建的LooperThread線程就會從消息隊列中獲取和處理消息,從而實現了不同編號設備的數據通信[12]。

2.3.2 數據讀取和狀態控制

該模塊主要利用自定義格式的Dialog控件顯示讀取到的數值,比如照明設備的電流、電壓值和功率因素,電表的電量值,水表的水量值,燃氣表的燃氣量和流量計的水量值等。同時,在窗口中也可以使用Switch開關控件控制設備的開關狀態。該系統主要包括智能控制器和電器球閥的開關,其中智能控制器用來控制照明設備的開關,電子球閥包括1/3開、2/3開、全開和全關四種開合狀態,控制水龍頭的開合。

將讀取的數據保存到特定的文本當中,定期進行整理,可以對某段時間內的數據進行分析,比如每隔5天讀取數據,連續讀取7次,就可以得到30天(1個月)內的數據變化情況,便于根據需要進行數據分析。圖6為1個月內電量、水量和燃氣量的變化趨勢。

該系統開發完成,編譯通過,生成apk文件后就可以在智能終端上運行測試了,測試結果功能完好。該APP已經通過合肥騏驥智能控制有限公司向家居智能化市場推廣使用,并取得了專利,獲得了良好的業界口碑[13-14]。

3 結束語

為實現移動終端用戶對家居設備的實時遠程控制,在研究分析APP智能控制硬件環境架構的基礎上,提出并設計開發了具有無線Wifi管理、數據設置及操作、沖突管理、數據通信、數據讀取和狀態控制等功能的移動終端遠程智能控制APP軟件系統。產品運行結果表明,所開發的軟件可以將智能手機(或IPAD平板)和傳統的家居設備通過無線Wifi連接,具有照明和電子球閥的遠程開關控制,以及電表、水表、燃氣表、流量表等設備數據的實時讀取與分析功能,實用性強、操作界面友好、功能擴展能力佳,有助于提高家居設備的監管和控制能力。

圖6 數據變化曲線圖

[1] 張博群.基于PLC智能家居系統的研究與設計[J].無線互聯科技,2016(10):60-61.

[2] 張新猛.基于Android的移動學習平臺研究與設計[J].福建電腦,2016,32(6):118-119.

[3] 張 陽,齊萬華.Speex在基于Android的樓宇可視對講程序中的應用[J].數字技術與應用,2016(6):109.

[4] 馬大堅,鄭勝平,馬才華.基于Android控制智能臺燈的設計[J].電子世界,2016(12):43.

[5] 邱 恬.智能家居網絡控制系統的主要方案分析[J].科技創新與應用,2016(20):80.

[6] 陳劍洪,朱建中,張曉川.基于Bloom filter算法的優化查詢分析方法[J].移動通信,2012(S1):85-89.

[7] 陶 陽.基于Android平臺的LBS實例設計與實現[J].電腦編程技巧與維護,2016(13):41-46.

[8] Bertseh L A.Development tools for home automation[J].IEEE Transactions on Consumer Electronics,1990,36(4):854-858.

[9] Alam M R,Reaz M B I,Ali M A M.A review of smart homes-past,present,and future[J].IEEE Transactions on System Man and Cybernetics Part C:Applications and Reviews,2012,42(6):1190-1203.

[10] Byun J,Jeon B,Noh J,et al.An intelligent self-adjusting sensor for smart home services based on ZigBee communications[J].IEEE Transactions on Consumer Electronics,2012,58(3):794-802.

[11] Gaddam A,Mukhopadhyay S C,Gupta G S.Elder care based on cognitive sensor network[J].IEEE Sensors Journal,2011,11(3):574-581.

[12] 李夢偉.Android 4編程入門經典—開發智能手機與平板電腦應用[M].北京:清華大學出版社,2012.

[13] 張 領,李根福,王敏杰.Android程序開發范例寶典[M].北京:人民郵電出版社,2015.

[14] 郭金尚.Android經典項目案例開發實戰寶典[M].北京:清華大學出版社,2015.

Design and Implementation of APP System for Intelligent Home Control

DING Han,LUO Jun,LU Wen-jun,YE Fei

(Army Officer Academy of PLA,Hefei 230031,China)

The rapid development of intelligent terminal equipment has accelerated the development of the APP application client,and the wide application of APP also has provided a convenient and real-time service for the public life.In order to improve the intelligent level of home equipment and to solve the problem of real-time control of equipment,on the basis of research and analysis of wireless communication and data processing technology as well as the hardware environment architecture of APP intelligent control,an Android intelligent APP mobile terminal system has been designed and implemented,which has the function of wireless Wifi management,data setting and operation,conflict management,data communication,data reading and state control,and the operation interface based on the integration environment of IntelliJ IDEA 14.0.2.In order to verify the effectiveness and applicability of the intelligent mobile terminal system,the system function modules have been tested and verified.The test results show that it has good stability,strong practicability,high accuracy,good scalability and is better to realize the remote automatic control of home appliances and devices,such as smart phones and other mobile terminals,showing the broad market prospect.

APP software;IntelliJ IDEA 14.0.2;Android;intelligent home control

2015-08-19

2015-12-16

時間:2017-01-04

總參院校武器裝備科研項目(JNKY2012011)

丁 函(1982-),女,講師,碩士,研究方向為檢測技術與信號處理。

http://www.cnki.net/kcms/detail/61.1450.TP.20170104.1017.014.html

TP311.52

A

1673-629X(2017)01-0121-05

10.3969/j.issn.1673-629X.2017.01.027

猜你喜歡
設置智能設備
諧響應分析在設備減振中的應用
中隊崗位該如何設置
少先隊活動(2021年4期)2021-07-23 01:46:22
智能前沿
文苑(2018年23期)2018-12-14 01:06:06
智能前沿
文苑(2018年19期)2018-11-09 01:30:14
智能前沿
文苑(2018年17期)2018-11-09 01:29:26
智能前沿
文苑(2018年21期)2018-11-09 01:22:32
基于MPU6050簡單控制設備
電子制作(2018年11期)2018-08-04 03:26:08
500kV輸變電設備運行維護探討
工業設計(2016年12期)2016-04-16 02:52:00
本刊欄目設置說明
中俄臨床醫學專業課程設置的比較與思考
主站蜘蛛池模板: 国产成人乱码一区二区三区在线| 天堂久久久久久中文字幕| 全部免费特黄特色大片视频| 看看一级毛片| 久久毛片基地| 欧美在线网| 国产呦视频免费视频在线观看| 99热这里只有精品久久免费| 呦系列视频一区二区三区| 国产一级毛片网站| 2021天堂在线亚洲精品专区| 色国产视频| 精久久久久无码区中文字幕| 国产综合精品日本亚洲777| 国产精品黄色片| 天堂成人在线| 综合色天天| 国产又色又爽又黄| 色综合综合网| 99久久99视频| V一区无码内射国产| 露脸一二三区国语对白| 欧美在线视频不卡第一页| 日韩精品成人在线| 亚洲视频二| 国产成人综合网在线观看| a级高清毛片| 亚洲—日韩aV在线| 免费A级毛片无码无遮挡| 99视频精品在线观看| 国产欧美精品一区二区| 99999久久久久久亚洲| 欧美专区日韩专区| 亚洲欧美另类视频| 在线高清亚洲精品二区| 亚洲欧美极品| 国产欧美一区二区三区视频在线观看| 波多野结衣中文字幕一区二区| 无码网站免费观看| 亚洲男人天堂2020| 国产成人综合日韩精品无码首页| 欧美精品v欧洲精品| 国产极品美女在线播放| 亚洲色图在线观看| 免费观看精品视频999| 9999在线视频| 免费在线国产一区二区三区精品| 国产三级精品三级在线观看| 国产成人在线小视频| 一区二区在线视频免费观看| 欧美爱爱网| 精品无码日韩国产不卡av| 亚洲制服丝袜第一页| 国产精品亚洲精品爽爽| 黄色国产在线| 1级黄色毛片| 在线观看精品国产入口| 2022国产91精品久久久久久| 国产成人无码综合亚洲日韩不卡| 色综合激情网| 欧美国产综合色视频| 中文精品久久久久国产网址| 欧美日韩成人| 人妻出轨无码中文一区二区| 欧美日韩一区二区三| 高h视频在线| 成人在线亚洲| 婷婷伊人久久| 激情成人综合网| 色婷婷亚洲十月十月色天| 中文无码毛片又爽又刺激| 狠狠色香婷婷久久亚洲精品| 国产精品粉嫩| 无码一区二区三区视频在线播放| 成人年鲁鲁在线观看视频| 亚洲啪啪网| 国产精品一区不卡| 国产成人精彩在线视频50| 久久精品国产精品国产一区| 亚洲视频四区| 欧美专区在线观看| 国产精品久久国产精麻豆99网站|