• 
    

    
    

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

      基于Android的WiFi智能家居系統(tǒng)設計與實現(xiàn)

      2017-12-02 07:08:52瑚琦吳瑩石彬彬
      軟件導刊 2017年11期
      關鍵詞:智能終端智能家居

      瑚琦+吳瑩+石彬彬

      摘要:短距離無線技術(Wireless Fidelity,WiFi)是成熟且流行的通信技術之一,在智能家居系統(tǒng)廣泛使用。設計了一種低成本、易拓展、面向家庭的智能家居控制系統(tǒng)。該系統(tǒng)以Android設備作為智能控制終端,通過WiFi實現(xiàn)各種設備間的通信,配合傳感器和外圍電路等模塊,實現(xiàn)了智能家居的終端遠程監(jiān)控。20小時的持續(xù)工作測試結果表明,智能終端發(fā)送的控制命令均被正確執(zhí)行,同時能夠在系統(tǒng)中正確添加新的智能終端并控制家居工作。系統(tǒng)運行期間無任何Bug,驗證了智能家居系統(tǒng)的高準確性、高穩(wěn)定性和可拓展性,具有良好的應用前景。

      關鍵詞關鍵詞:智能家居;WiFi;Android;ESP8266;智能終端

      DOIDOI:10.11907/rjdk.171993

      中圖分類號:TP319

      文獻標識碼:A文章編號文章編號:16727800(2017)011004704

      0引言

      隨著面向家庭控制及自動化的短距離無線技術(Wireless Fidelity, WiFi)發(fā)展及移動智能設備的普及,基于WiFi技術和智能手機等終端的家庭智能化應用越來越普遍,其應用之一就是智能家居[12]。與普通家居相比,智能家居不僅兼顧了傳統(tǒng)家居所擁有的功能,同時還具有易操作、易實現(xiàn)和低成本等優(yōu)勢[2]。它將家庭的各種設備通過WiFi[34]連接到一起,實現(xiàn)了家長控制、照明控制、環(huán)境監(jiān)測等多種一體化功能。但智能家居存在安裝過程復雜、維護成本過高、穩(wěn)定性差、終端設備使用不方便、用戶體驗欠佳等問題[56]。

      為解決上述問題,本文提出了一種基于Android的WiFi智能家居系統(tǒng),利用傳感器和外圍電路對家居環(huán)境進行實時監(jiān)測和控制,以Android手機作為智能家居控制終端,通過WiFi建立手機和各種家居的通信連接,并采用云平臺轉發(fā)消息方式,實現(xiàn)對各種家居的監(jiān)測、操控和查詢。智能家居系統(tǒng)經過20小時的持續(xù)工作測試,沒有出現(xiàn)任何Bug,驗證了系統(tǒng)的穩(wěn)定性。

      1系統(tǒng)架構設計

      智能家居系統(tǒng)由環(huán)境監(jiān)測、智能終端和WiFi通信3部分構成。其中智能終端部分普遍使用的是智能手機或平板電腦;環(huán)境監(jiān)控部分由用于獲取溫度、濕度、可燃氣體、光照等環(huán)境狀態(tài)的各類傳感器和空調、電燈、冰箱等構成;WiFi通信連接部分由ESP8266WiFi模塊構成。

      系統(tǒng)總體架構如圖1所示,智能終端上的APP(Application)基于TCP/IP通信協(xié)議,通過智能終端的WiFi功能建立與WiFi模塊間的通信。ESP8266 WiFi模塊作為路由+服務器端(AP+SERVER),Android智能終端作為客戶端(CLIENT)給服務器端發(fā)送指令,WiFi模塊接收客戶端發(fā)來的指令并對其進行解析,通過通信網絡連接到服務器獲取數據并作出一系列處理,從而達到控制家用電器的目的。環(huán)境監(jiān)控部分的設備運行狀態(tài)通過無線模塊上傳至云服務器,實時在終端設備上顯示家居的最新狀態(tài)。

      2系統(tǒng)硬件設計

      硬件電路由具有微控制終端的ESP8266 WiFi系列模塊組、負責信息采集的傳感器和部分供電電路組成,硬件框架如圖2所示。

      圖2智能家居系統(tǒng)硬件電路

      系統(tǒng)WiFi通信部分選用高性價比、低功耗的ESP12E WiFi模塊,實現(xiàn)智能終端到串口的傳感器節(jié)點數據傳輸和遠程指令發(fā)送控制等功能。該模塊內置32位CPU,能獨立運行,也可作為從機搭載于其它主機的MCU上運行。其內部高度集成,外圍電路可拓展性良好,能夠嵌入其它系統(tǒng)[7,8]。ESP12E具有強大的片上處理能力和存儲能力,使其可通過GPIO口集成傳感器及其它應用設備。圖3為ESP12E的最小系統(tǒng)組成。

      圖3ESP12E最小系統(tǒng)組成

      燈具、窗簾等由GPIO口外接繼電器,通過控制GPIO口的高低電平實現(xiàn)繼電器的通斷進而控制開關狀態(tài)。傳感器選擇響應快、抗干擾能力強、性價比高,同時兼具數字模塊采集技術和溫濕度傳感技術的DHT22型傳感器[9]??扇細饽K選用MQ2型煙霧傳感器,通過傳感器電導率的變化捕捉煙霧狀態(tài)。系統(tǒng)最前端負責信息采集的傳感器直接與WiFi模塊相連,將數據傳送至云端。

      電源模塊采用USB_MINI接口,該接口防誤差性能適中,體積小巧,應用廣泛。電路的輸入端采用5V直流電,通過USB接口接入電路,給繼電器和傳感器供電。WiFi模塊的輸入端電壓為3.3V,通過LM317可調電壓調節(jié)器將5V直流電源轉換為3.3V。LM317模塊還提供電流限制和熱保護,具有一定的抗干擾能力。

      3系統(tǒng)軟件設計

      基于Android studio平臺的智能家居,網絡通信采用TCP/IP協(xié)議,圖4為系統(tǒng)工作流程。

      系統(tǒng)上電時完成CPU和板極的初始化。初始化后,WiFi模塊作為服務器等待智能終端的接入,智能終端根據WiFi模塊綁定的靜態(tài)IP和端口訪問相應的URL網頁。模塊獲取智能終端的訪問請求,通過解析URL判斷智能終端APP的請求類型和請求內容。家用設備通過無線通信模塊接收智能終端發(fā)送動作指令并轉換為物理動作,作出相應處理,同時把相應信息通過無線模塊上傳到云服務器,實現(xiàn)智能家居環(huán)境的控制與監(jiān)測。

      3.1硬件驅動程序設計

      硬件驅動程序基于ESP8266物聯(lián)網SDK平臺進行開發(fā)。智能家居系統(tǒng)中,系統(tǒng)硬件驅動程序包括WiFi模塊和家居環(huán)境的通信、繼電器開關以及各類傳感器數據的獲取。

      開發(fā)平臺的所有網絡功能均封裝在庫中,用戶的應用初始化功能通過user_main.c文件實現(xiàn),void user_init(void)是上層程序的入口函數,給用戶提供一個初始化接口,用戶可在該函數內增加硬件初始化、網絡參數設置和定時器初始化等功能[78]。user_init()主要程序指令及注釋如下:endprint

      PIN_FUNC_SELECT(PERIPHS_IO_MUX_GPIO5_U,F(xiàn)UNC_GPIO5);

      gpio_output_set(0, BIT5, BIT5,0);

      wifi_set_opmode_current(0x02);

      wifi_softap_dhcps_stop();

      IP4_ADDR(&info.ip, 192,168,1,177);

      IP4_ADDR(&info.gw, 192,168,1,1);

      IP4_ADDR(&info.netmask,255,255,255,0);

      wifi_set_ip_info(SOFTAP_IF,&info);

      wifi_softap_dhcps_start();

      wifi_softap_get_config(&config);//使用wifi_soft_get_config獲取當前配置

      os_memcpy(config.ssid,"qifei",strlen("qifei"));//設置wifi名稱

      os_memcpy(config.password,"12345678",strlen("12345678"));//設置wifi密碼

      config.ssid_len=strlen("qifei");//使用wifi_softap_set_config設置ap參數

      wifi_softap_set_config(&config);//設置wifi softap接口配置,并保存至flash

      WiFi模塊用于softAP無線接入點和server服務器端。網絡通信采用TCP/IP協(xié)議以保證信息的可靠傳輸。SoftAP模塊是系統(tǒng)的中心節(jié)點,設置為TCP服務器。在DHCP關閉的情況下給模塊設置靜態(tài)IP并綁定端口號,客戶端可直接根據靜態(tài)IP和端口號訪問網絡。建立TCP連接的主要程序如下:

      esp_conn.type=ESPCONN_TCP;//設置連接為tcp類型

      esp_conn.state=ESPCONN_NONE;//設置連接狀態(tài)

      esp_conn.proto.tcp=(esp_tcp*)os_malloc(sizeof(esp_tcp));//分配內存空間

      os_memcpy(esp_conn.proto.tcp->local_ip,local_ip,4);//給TCP里面成員賦值

      esp_conn.proto.tcp->local_port=1213;//設置連接的端口號

      espconn_regist_connectcb(&esp_conn,server_listen);// 注冊TCP連接成功回調函數

      espconn_regist_reconcb(&esp_conn,server_recon);//注冊TCP斷開重連回調函數

      espconn_accept(&esp_conn);//調用espconn_accept監(jiān)聽回調函數

      TCP連接完成后,softAP模塊負責監(jiān)聽各電器的工作狀態(tài),收集相關傳感器發(fā)送的數據并進行分類存儲,上傳至云服務器。圖5為WiFi事件處理函數工作流程。

      圖5WiFi事件處理流程

      3.2手機客戶端APP

      智能終端是在Android studio開發(fā)平臺上開發(fā)的一款APP,用于用戶在手機上進行智能家居的控制和監(jiān)控。Android客戶端控制系統(tǒng)設計主要包括用戶界面UI、Httpclient網絡通信、SQlite數據庫和AsyncTask異步任務處理,功能包括用戶登陸、電器設備控制、智能監(jiān)控報警等。

      圖6智能終端APP設計

      設計智能終端APP時,采用Android開發(fā)中經典的MVC設計模式。該模式將邏輯、數據以及界面顯示3塊分開進行代碼編寫,把業(yè)務邏輯集中在一個結構中,使智能家居終端軟件有良好的可擴展性和維護性[9]。客戶端UI交互界面包含登錄界面、注冊界面和操作界面。其中登錄界面采用多個線性布局和相對布局相互嵌套,在布局控件中還添加了一些其它控件,比如用于輸入用戶名、密碼和服務器 IP的 EditText對話框。登錄成功后會進入一個初始主界面,界面包含當前所有聯(lián)網的電器設備列表,以及它們當前的開關狀態(tài)和所屬房間信息。在此界面上可直接對電器開關進行操作,還可增添新的電器設備。從房間配置界面可跳轉到具體設備的控制界面,對電器設備進一步設置,如定時開關等。圖6為客戶端軟件設計框圖,圖7為手機顯示界面。

      圖7手機顯示界面

      網絡通信常用的傳輸協(xié)議為TCP協(xié)議和UDP協(xié)議。針對TCP傳輸,Android提供了socket和serversocket類。針對UDP傳輸,Android提供了Datagram Socket類和Datagram Package類[10]。在智能家居系統(tǒng)設計中,采用了TCP/IP協(xié)議中的HTTP協(xié)議。由于網絡操作為耗時操作,所以要單獨開創(chuàng)線程對其進行AsyncTask異步任務處理,通過創(chuàng)建httpthread類,重寫run方法實現(xiàn)http請求。為了實現(xiàn)網絡訪問,首先需要在Androidmanifest.xml中設置網絡訪問權限,創(chuàng)建httpclient對象,在httpthread中傳遞參數URL,指定請求URL,根據需要創(chuàng)建httpget或httppost對象,執(zhí)行URL請求,并通過輸入流輸出流讀取傳入的數據和服務器返回的響應內容,進而對數據進行相應處理。

      由于智能家居信息量小、周期短、數據庫需求小,所以在程序中使用Android平臺內置的SQlite數據庫[11,12]。數據庫主要存儲以下信息:房間號、家用電器設備類型和各個設備的信息狀態(tài)(開關、溫度、濕度)。用戶登錄成功進入主界面后,智能控制終端與 SQLite數據庫交互查詢,根據規(guī)定的布局文件顯示這些界面,即智能家居控制界面。首先,智能控制終端對數據庫進行訪問,對文件是否存在進行判斷,若文件不存在則需要創(chuàng)建文件,若文件已經存儲在數據庫中,就要判斷是否需要覆蓋。隨后即可對數據庫進行其它基本操作,最終數據會顯示為不同的電器圖形、種類、開關以及傳感器上傳的數據等。endprint

      4結語

      本文在研究現(xiàn)階段智能家居的基礎上設計了一套基于Android的WiFi智能家居系統(tǒng)。采用Android智能手機或平板電腦等設備作為控制終端,通過WiFi實現(xiàn)手機和家用電器的通信,以ESP8266WiFi芯片作為主控芯片,實時監(jiān)控家居設備信息。

      本文設計開發(fā)的APP應用軟件能在Android操作系統(tǒng)平臺上安裝和使用,應用范圍廣且易推廣。在20小時的持續(xù)工作測試中,手機發(fā)送的控制命令均能正確執(zhí)行,同時能在系統(tǒng)中添加新的智能終端并控制家居工作,系統(tǒng)運行期間無任何Bug,驗證了本智能家居系統(tǒng)的高準確性、高穩(wěn)定性和可拓展性,具有良好的應用前景。

      參考文獻參考文獻:

      [1]王飛,陳金鷹,劉香燕.智能家居應用現(xiàn)狀及其發(fā)展分析[J].通訊世界,2016(4):267267.

      [2]卿勇.智能家居發(fā)展及關鍵技術綜述[J].軟件導刊,2017(1):180182.

      [3]YAN W, WANG Q, GAO Z. Smart home implementation based on Internet and WiFi technology[C]. Control Conference. IEEE, 2015:90729077.

      [4]WANG L, PENG D, ZHANG T. Design of smart home system based on WiFi smart plug[J]. International Journal of Smart Home, 2015, 9(6):173182.

      [5]賈陽靜,鄒念育,雷冬鳴,等.基于Android和WiFi通信的智能家居系統(tǒng)設計[J].大連工業(yè)大學學報,2016(1):6771.

      [6]扈樂華.基于Android的智能家居系統(tǒng)設計與實現(xiàn)[J].電腦與電信,2016(8):3233.

      [7]ESP8266 NonOS SDK API參考[EB/OL]. http://www.mrwu.cn/espressifesp8266_nonos_sdk_v200/ V2.0.2,2017.

      [8]ESP8266技術參考[EB/OL].http://download.csdn.net/download/qq_14876677/9544969,V1.2,2016.

      [9]王煉.基于Android平臺的智能家居系統(tǒng)的設計與研究[D].武漢:武漢科技大學,2015.

      [10]KUMAR S. Ubiquitous smart home system using android application[J]. International Journal of Computer Networks & Communications,2014,6(1):152158.

      [11]胡俊波.基于Android的智能家居系統(tǒng)APP的研究與設計[D].桂林:桂林電子科技大學,2015.

      [12]王朝華,陳德艷,黃國宏,等.基于Android的智能家居系統(tǒng)的研究與實現(xiàn)[J].計算機技術與發(fā)展,2012,22(6):225228.

      責任編輯(責任編輯:杜能鋼)endprint

      猜你喜歡
      智能終端智能家居
      基于Zigbee的無線通信技術在智能家居中的應用
      電子制作(2018年1期)2018-04-04 01:48:28
      智能感知多功能互動服務終端設計
      基于智能終端的移動電子商務商業(yè)模式探究
      中國市場(2016年41期)2016-11-28 06:00:54
      關于智能家居真正需求的探討
      智能變電站過程層二次設備調試技術研究進展
      科技視界(2015年25期)2015-09-01 17:40:02
      基于工程應用能力培養(yǎng)的智能終端課程改革與實踐
      科技視界(2015年25期)2015-09-01 15:52:22
      智能家居更貼心
      科學生活(2015年3期)2015-01-03 09:41:18
      基于LD3320的智能家居控制
      河南科技(2014年7期)2014-02-27 14:11:13
      电白县| 临泉县| 新建县| 霍邱县| 九龙坡区| 奇台县| 崇左市| 桐庐县| 额尔古纳市| 黄浦区| 山西省| 古丈县| 宜州市| 普陀区| 长葛市| 千阳县| 吉林省| 九龙县| 漠河县| 台江县| 永丰县| 庄浪县| 新民市| 桂平市| 特克斯县| 武夷山市| 贺州市| 石首市| 徐水县| 乌拉特后旗| 普兰县| 高青县| 司法| 南漳县| 双江| 康定县| 于田县| 滁州市| 开江县| 出国| 罗源县|