基于Arduino的智能家居控制_第1頁
基于Arduino的智能家居控制_第2頁
基于Arduino的智能家居控制_第3頁
基于Arduino的智能家居控制_第4頁
基于Arduino的智能家居控制_第5頁
已閱讀5頁,還剩23頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、 學 生 畢 業 論 文(2015屆)題目(中文) 基于Arduino的智能家居控制 (英文) Smart Home Furnishing control based on Arduino 系別: 專業: 班級: 姓名: 學號: 指導教師: 韓山師范學院教務處制誠 信 聲 明我聲明,所呈交的畢業論文是本人在老師指導下進行的研究工作及取得的研究成果。據我查證,除了文中特別加以標注和致謝的地方外,論文中不包含其他人已經發表或撰寫過的研究成果,我承諾,論文中的所有內容均真實、可信。畢業論文作者簽名: 簽名日期:2014年11月6日摘要:基于Arduino的智能家居控制系統以Arduino UNO單片

2、機為核心通過聯合W5100網絡模塊搭建本地的WEB服務器,通過A/D采集各引腳連接的室內環境傳感器的數值并進行處理,實現家居環境信息的智能采集;通過RFID模塊連接第二塊Arduino UNO單片機構建刷卡門禁模塊,實現智能門禁;使用藍牙模塊、5050全彩LED模塊及Arduino Nano單片機搭建室內智能燈光模塊,通過安卓客戶端使用藍牙協議進行連接,實現燈光亮度及色彩的遠程控制及智能開關;通過安卓客戶端使用HTTP協議請求該服務器獲取室內環境數據并傳輸到安卓客戶端,實現室內環境的實時智能檢測;通過安卓客戶端使用HTTP協議傳輸控制命令到服務器,實現本地WEB服務器連接外圍電路的遠程控制;最

3、后通過核心板搭建的WEB服務器鏈接各個功能模塊,組成一個功能完善,擴展性強的智能家居控制系統。本設計代替了傳統家居設備手動機械控制,具有效率高,使用方便,可控性強等優點。關鍵字:Arduino單片機;WEB服務器;高效率;可控性強。Abstract: Arduino-based intelligent home control system to Arduino UNO microcontroller core network through the joint W5100 Ethernet Shield module build local WEB server, via A/D acqui

4、sition value of indoor environmental sensors connected to each pin and processing, smart home environment information collection; via RFID module to build a second Arduino UNO microcontroller card access module, intelligent access control; using Bluetooth module, 5050 full-color LED modules and Ardu

5、ino Nano microcontroller built indoor intelligent lighting module for connection using the Bluetooth protocol by Android client, achieve light levels and color remote control and intelligent switch; indoor environmental data acquisition via Android client using HTTP protocol requests to the server a

6、nd transmitted to the Android client, to achieve real-time intelligence to detect the indoor environment; using the HTTP protocol transmission control via Android client command to the server, WEB server for local connection of peripheral circuits remote control; and finally the core board set up by

7、 the WEB server links to various functional modules to form a functional, strong expansion of smart home control system. The design replaces the traditional manual mechanical control home devices, with high efficiency, ease of use, controllability and other advantages.Key words: Arduino SCM; WEB ser

8、ver; high efficiency; controllable.目錄1 概述11.1 課題研究的背景11.2 國內外發展現狀11.3 本課題的研究的內容及目的12. 系統結構分析22.1 系統結構組成22.2 系統的基本功能22.3 系統的工作流程33. 硬件設計53.1 核心模塊53.2 燈光模塊73.3 檢測模塊93.4 外圍電路模塊104.軟件設計114.1 APP端程序設計:114.2 WEB服務器程序設計:114.3 燈光色彩亮度調節:114.4 節奏燈光的程序設計:115. 總結125.1 系統總體效果圖125.2 系統實現的功能155.3 不足及改進之處15附錄:161.

9、燈光模塊電路設計圖162. 檢測模塊及外圍電路接線圖163. 單片機端程序17參考文獻22致謝23基于Arduino的智能家居控制系統1 概述1.1 課題研究的背景 隨著物聯網技術的廣泛應用與發展,智能家居的應用越來越廣泛。與傳統的家居相比,智能家居不僅具有傳統的居住功能,兼備建筑、網絡通信、信息家電、設備自動化,集系統、結構、服務、管理為一體的高效、舒適、安全、便利、環保的居住環境,提供全方位的信息交互功能。現代生活中的家居電器數量急劇增多,傳統家居電器的機械化控制方式已經不能完全滿足現代生活的需求,伴著家居電器的使用越來越廣泛,一個智能化的控制系統,不僅能夠幫助家庭與外部保持信息交流暢通,

10、優化人們的生活方式,幫助人們有效安排時間,增強家居生活的安全性,甚至為各種能源費用節約資金。該系統的市場發展潛力尤為可觀。1.2 國內外發展現狀 近年來隨著現代互聯網技術的發展,智能生活的理念深入人心,物聯網和智能家居真正開始走向人們的視野。隨著現代電力電子技術和電子元件制造工藝的發展,物聯網設備的自動化程度和穩定性得到很大的提高,物聯網設備也逐步向輕量化、自動化和智能化發展,還有高可靠性、高可控性、高效率等特點,功能不斷增強和完善,這推動了智能家居技術的迅速發展,相繼出現了多種多樣的智能家居設備,如NEXT恒溫器,空氣凈化器等,但國內外對本課題的研究尚存在待解決的問題:(1) 家居智能化水平

11、較低; (2) 使用的平臺不統一,功能單一且不完善; (3) 價格相對昂貴,普及的難度比較大。1.3 本課題的研究的內容及目的本系統以聯合Ethernet Shield網絡模塊的Arduino UNO單片機為核心,能通過安卓客戶端使用藍牙協議及HTTP協議連接外圍電路及各類傳感器,實現室內家居的遠程檢測及智能控制。研究目的基于生活的便捷及高效的方向出發,主要是為了改進當下傳統家居的控制方式落后及使用不方便等缺點,本設計的智能遠程控制代替了傳統家居設備手動機械控制,不僅效率高、成本低、使用方便、可控性強,更能提升家居便利性、舒適性、藝術性,并實現環保節能的居住環境。2. 系統結構分析2.1 系統

12、結構組成系統的結構組成示意圖如圖1。系統由五部分組成:APP客戶端、燈光模塊、核心模塊、檢測模塊、外圍電路。各部分組成如下:(1) APP客戶端為JAVA語言編寫的安卓客戶端; (2) 燈光模塊由Arduino Nano單片機連接藍牙模塊及全彩LED模塊組成; (3) 核心模塊通過Arduino Uno單片機連接Ethernet Shield網絡模塊組成,核心模塊不僅是本系統的中央處理器,而且通過連接無線路由器搭建了本地的WEB服務器;(4) 檢測模塊由氣壓傳感器、濕度傳感器、氣壓傳感器共同組成; (5) 外圍電路由簡單的發光二極管及各類元器件組。圖1 系統結構組成框圖2.2 系統的基本功能系

13、統實現的功能如圖2所示,系統的各部分具體功能如下:(1) 通過APP客戶端使用藍牙協議連接燈光模塊,在APP客戶端中實現LED燈光顏色,亮度的智能調節; (2) 通過APP客戶端使用藍牙協議連接燈光模塊,在APP端播放器中開啟一段音樂,燈光模塊會隨著音樂的節奏進行規律性地閃爍; (3) 通過APP客戶端使用HTTP協議連接核心模塊,實現在APP端對外圍電路的遠程開關控制;(4) 檢測模塊將基本的環境信息采集后通過IO口傳輸給核心模塊,再由APP端通過HTTP協議請求WEB服務器的數據,實現在APP端對室內環境信息的實時監控; (5) 通過APP客戶端使用HTTP協議連接核心模塊,設置特定溫度時

14、外圍電路的工作狀況,當檢測模塊檢測到溫度達到或低于預設溫度時,外圍電路電器將智能調整工作狀態。圖2 系統基本功能框圖2.3 系統的工作流程系統的工作流程分為兩部分組成:(1) APP客戶端通過藍牙協議控制燈光模塊,具體流程圖如圖3所示:圖3 燈光模塊控制具體流程圖(2) APP客戶端通過HTTP協議控制外圍電路,具體流程圖如圖4所示:圖4 外圍電路控制具體流程圖3. 硬件設計整個系統電路可以分成四個模塊:核心模塊、燈光模塊、檢測模塊、外圍電路。下面我們對這四個電路模塊進行理論上的分析。3.1 核心模塊核心模塊由Arduino單片機及W5100網絡模塊通過直接總線連接構成,連接方式如圖5所示。圖

15、5 直接總線連接原理圖 Arduino UNO是作為Arduino平臺的參考標準模板,是Arduino USB接口系列的最新版本。UNO的核心控制器件是ATmega328處理芯片,數字輸入/輸出口共計有14路:6路PWM輸出端口,6路模擬輸入端口,一路ICSP header,一個16MHz晶體振蕩器,一個電源插口,一個USB接口和一個復位按鈕,控制板能同時兼容5V和3.3V的供應電壓。原理圖如圖6所示。圖6 Arduino UNO單片機原理圖W5100是一款多功能的單片網絡接口芯片,內部集成有10/100Mbps以太網控制器,主要應用于高集成、高穩定、高性能和低成本的嵌入式系統中。使用W510

16、0可以實現沒有操作系統的Internet連接。W5100與IEEE802.3 10BASE-T和 802.3u 100BASE-TX兼容。W5100內部集成了全硬件的、且經過多年市場驗證的 TCP/IP 協議棧、以太網介質傳輸層和物理層。全硬件TCP/IP協議棧支持 TCP,UDP,IPv4,ICMP,ARP,IGMP 和 PPPoE等。網絡模塊原理圖如圖7所示。圖7 W5100網絡模塊原理圖3.2 燈光模塊 圖8 燈光模塊總體原理圖整個燈光模塊可以分成三個部分:Arduino Nano單片機、藍牙模塊、5050全彩LED模塊。Arduino Nano是Arduino USB接口的微型版本,最

17、大的不同是沒有電源插座以及USB接口是Mini-B型插座。Arduino Nano是尺寸非常小的而且可以直接插在面包板上使用。其處理器核心是ATmega328,同時具有14路數字輸入/輸出口,其中6路可作為PWM輸出,8路模擬輸入,一個16MHz晶體振蕩器,一個mini-B USB口,一個ICSP header和一個復位按鈕。Arduino Nano單片機原理圖如圖9所示。圖9 Arduino Nano單片機原理圖燈光模塊采用的是HC-05藍牙模塊,電路原理圖如圖10所示。藍牙是無線數據和語音傳輸的開放式標準,它將各種通信設備、計算機及其終端設備、各種數字數據系統、甚至家用電器采用無線方式聯接

18、起來。它的傳輸距離為10cm10m,如果增加功率或是加上某些外設便可達到100m的傳輸距離。它采用2.4GHz ISM頻段和調頻、跳頻技術,使用權向糾錯編碼、ARQ、TDD和基帶協議。TDMA每時隙為0.625s,基帶符合速率為1Mb/s。藍牙支持64kb/s實時語音傳輸和數據傳輸,語音編碼為CVSD,發射功率分別為1mW、2.5mW和100mW,并使用全球統一的48比特的設備識別碼。由于藍牙采用無線接口來代替有線電纜連接,具有很強的移植性,并且適用于多種場合,加上該技術功耗低、對人體危害小,而且應用簡單、容易實現,所以易于推廣。圖10 HC-05藍牙模塊原理圖5050全彩LED模塊內置控制芯

19、片,僅需1個IO口即可控制多個LED芯片內置整形電路,信號畸變不會累計,穩定顯示三基色256級亮度調劑,16萬色真彩顯示效果,掃描頻率不低于400Hz/S串行連級接口,能通過一根信號線完成數據的接收與解碼,刷新速率30幀/秒時,低速連級模式連級數不小于512點,其原理圖如圖11所示。圖11 5050全彩LED模塊原理圖3.3 檢測模塊檢測模塊由DHT11溫濕度傳感器及BMP085氣壓傳感器組成。DHT11數字溫濕度傳感器是一款含有已校準數字信號輸出的溫濕度復合傳感器,其原理圖如圖12所示,它應用專用的數字模塊采集技術和溫濕度傳感技術,確保產品具有極高的可靠性和卓越的長期穩定性。傳感器包括一個電

20、阻式感濕元件和一個NTC測溫元件,并與一個高性能8位單片機相連接,具有品質卓越、超快響應、抗干擾能力強、性價比極高等優點。圖12 DHT11溫濕度傳感器原理圖BMP085是一款高精度、超低能耗的壓力傳感器,其示意圖如圖13所示,它可以應用在移動設備中。它的性能卓越,絕對精度最低可以達到0.03hPa,并且耗電極低,只有3uA。BMP085采用強大的8-pin陶瓷無引線芯片承載(LCC)超薄封裝,可以通過IIC總線直接與各種微處理器相連。圖13 BMP085壓力傳感器原理圖3.4 外圍電路模塊外圍電路由耗電設備直接通過I/O口連接到Arduino的相應接口上組成,其原理圖如圖14所示。圖14 外

21、圍電路模塊及檢測模塊接線原理圖4.軟件設計4.1 APP端程序設計:作為系統的控制端部分,APP端使用全球占有率最高的android系統,具有極佳的普適性;其程序設計分為兩個部分:(1)藍牙連接控制:APP端先通過BluetoothAdapter協議搜索獲取本地的藍牙列表,手動選擇藍牙設備后通過調用BluetoothSocket對象的方法與燈光模塊的HC-05藍牙模塊進行通信, 再由getOutputStream()方法以數據流的形式輸出控制指令,HC-05藍牙模塊接收控制指令后傳輸給Arduino Nano單片機進行處理,最后APP端關閉輸出,完成燈光模塊的控制。(2)HTTP連接控制:AP

22、P端通過HTTP協議連接Arduino Uno單片機與W5100網絡模塊共同搭建的WEB服務器,采用AJAX技術使用Javascript向服務器提出請求及發送控制指令,從而完成對WEB服務器采集到的環境信息的獲取及遠程控制外圍電路。4.2 WEB服務器程序設計:WEB服務器通過Arduino單片機的編程語言搭建,通過使用以太網庫,Arduino Uno單片機將能夠通過W5100模塊回應APP端的HTTP請求,通過APP端內嵌的WEB瀏覽器連接到特定的IP地址后,Arduino Uno單片機便可以通過HTTP協議從模擬引腳端獲取的檢測模塊檢測到的環境數據,最后通過HTTP協議反饋檢測數據到APP

23、端。4.3 燈光色彩亮度調節:APP端將取色盤上的RGB顏色及亮度條百分比轉換為特定的數據流格式后(格式為(255,255,255,100),由藍牙模塊接收并輸出給Arduino Nano單片機,再由Arduino Nano單片機分析處理后傳輸給5050全彩LED模塊進行顯示,完成燈光模塊的色彩及亮度調節。4.4 節奏燈光的程序設計:節奏燈光的程序設計分為兩部分:(1)android音樂頻譜獲取:利用數字信號處理的知識把時域上連續的信號(波形)強度轉換成離散的頻域信號(頻譜)。頻譜反映的是音樂在某個連續時間段內,聲音的震動頻率。(2)頻譜轉換及傳輸:通過采集震動頻率將其轉化為特定格式的數據流,

24、在App端以BluetoothSocket方法傳輸給Arduino Nano單片機進行處理,從而實現節奏燈光。5. 總結5.1 系統總體效果圖圖15 系統總體效果圖圖16 智能燈光效果圖圖17 APP端主界面圖圖18 APP端實時環境界面圖5.2 系統實現的功能(1)1600萬色的LED燈光色彩調節及100級燈光亮度調節。(2)實時的室內溫濕度及氣壓的監控。(3)智能感知溫度并智能調配室內電器工作狀態。(4)遠程的智能家居開關控制。5.3 不足及改進之處(1)由于App端采用了Visualizer類,所以在android2.3以下的版本是無法支持。(2)由于使用HTTP協議所以遠程控制時會存在

25、2到3秒內的延遲。(3)由于安卓的系統定制版本繁多的原因,在極個別手機上會出現應用崩潰的問題。附錄: 1. 燈光模塊電路設計圖2. 檢測模塊及外圍電路接線圖3. 單片機端程序void loop() / 77/1,123,112 數據格式 / listen for incoming clients EthernetClient client = server.available(); if (client) Serial.println("new client"); / an http request ends with a blank li

26、ne boolean currentLineIsBlank = true; while (client.connected() if (client.available() /獲取客戶端的數據 char c = client.read();if (c = '')ResponseBegin = true;else if (c = '')ResponseBegin = false;if (ResponseBegin)returnValue += c;Serial.write(c); / if you've gotten to the end of the l

27、ine (received a newline / character) and the line is blank, the http request has ended, / so you can send a reply if (c = 'n' && currentLineIsBlank) Serial.println(returnValue); parsingString(); Serial.println(id); Serial.println(key1); Serial.println(key2); if(id.equals("1"

28、;)/溫度/ send a standard http response headerclient.println("HTTP/1.1 200 OK");client.println("Content-Type: text/html");client.println("Connection: close"); client.println();/ the connection will be closed after completion of the responsegetTempData();/獲取溫度client.print(d

29、attemp); /輸出 else if(id.equals("2")/LED亮度setLedBrightness(key1.toInt();else if(id.equals("3")/濕度 client.println("HTTP/1.1 200 OK");client.println("Content-Type: text/html");client.println("Connection: close"); client.println(); getHT(); client.print(

30、humidity11); /輸出 else if(id.equals("4")/溫度 client.println("HTTP/1.1 200 OK");client.println("Content-Type: text/html");client.println("Connection: close"); client.println(); getHT(); client.print(temperature11); /輸出 else if(id.equals("5") /溫度5,使用的cli

31、ent.println("HTTP/1.1 200 OK");client.println("Content-Type: text/html");client.println("Connection: close"); client.println(); temperature = bmp085GetTemperature(bmp085ReadUT(); client.print(0.1*temperature); /輸出else if(id.equals("6") /氣壓client.println("

32、HTTP/1.1 200 OK");client.println("Content-Type: text/html");client.println("Connection: close"); client.println(); pressure = bmp085GetPressure(bmp085ReadUP(); client.print(pressure); /輸出else if(id.equals("7") /開關7,1,1,模塊,開關,是否開switch (key1.toInt()/選擇輸出口case 1:kaig

33、uan(led1);break;case 2:kaiguan(led2);break;case 3:kaiguan(led3);break;case 4:kaiguan(led4);break;case 5:kaiguan(led5);break;case 6:kaiguan(led6);break;case 7:kaiguan(led7);break;client.println("HTTP/1.1 200 OK");else if(id.equals("8") /開關8,500,1 模塊,時間(秒),是否開(1,0)unsigned long time = millis();time1 = time + (key1.toInt()*1000;status1 = key2.toInt();Serial.println("time1 = ");Serial.println(time1);Serial.pr

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論