![基于安卓和ESP8266的室內(nèi)燈光控制器設(shè)計_第1頁](http://file4.renrendoc.com/view5/M01/2C/09/wKhkGGZoAz6AUcQBAAIODYcpjNQ618.jpg)
![基于安卓和ESP8266的室內(nèi)燈光控制器設(shè)計_第2頁](http://file4.renrendoc.com/view5/M01/2C/09/wKhkGGZoAz6AUcQBAAIODYcpjNQ6182.jpg)
![基于安卓和ESP8266的室內(nèi)燈光控制器設(shè)計_第3頁](http://file4.renrendoc.com/view5/M01/2C/09/wKhkGGZoAz6AUcQBAAIODYcpjNQ6183.jpg)
![基于安卓和ESP8266的室內(nèi)燈光控制器設(shè)計_第4頁](http://file4.renrendoc.com/view5/M01/2C/09/wKhkGGZoAz6AUcQBAAIODYcpjNQ6184.jpg)
![基于安卓和ESP8266的室內(nèi)燈光控制器設(shè)計_第5頁](http://file4.renrendoc.com/view5/M01/2C/09/wKhkGGZoAz6AUcQBAAIODYcpjNQ6185.jpg)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
---文檔均為word文檔,下載后可直接編輯使用亦可打印---ⅠTOC\o"1-5"\h\zABSTRACT Ⅱ\o"CurrentDocument"前言 1\o"CurrentDocument"概述 2\o"CurrentDocument"設(shè)計背景 2\o"CurrentDocument"應(yīng)用前景 2\o"CurrentDocument"燈光控制器總體設(shè)計方案 2\o"CurrentDocument"總體設(shè)計概述 2\o"CurrentDocument"總體設(shè)計的需求分析 2\o"CurrentDocument"系統(tǒng)整體架構(gòu)的設(shè)計 3\o"CurrentDocument"網(wǎng)絡(luò)通信技術(shù)方案的選擇 3\o"CurrentDocument"控制終端操作系統(tǒng)的選擇 4\o"CurrentDocument"無線通信協(xié)議的選擇 5\o"CurrentDocument"硬件控制器的設(shè)計與實現(xiàn) 5控制器的主要芯片和模塊 5主控芯片STM32F103 5\o"CurrentDocument"ESP8266模塊 7LED燈的控制電路 8\o"CurrentDocument"繼電器控制電路 8電源供電電路 9控制器的程序的設(shè)計與實現(xiàn) 10\o"CurrentDocument"控制器程序流程圖 10\o"CurrentDocument"Wi-Fi模塊的程序設(shè)計 10燈光控制模塊控制設(shè)計 12\o"CurrentDocument"服務(wù)器的設(shè)計與實現(xiàn) 12服務(wù)器數(shù)據(jù)庫的設(shè)計 13\o"CurrentDocument"登陸注冊數(shù)據(jù)表格的設(shè)計 13\o"CurrentDocument"燈光狀態(tài)數(shù)據(jù)表格的設(shè)計 13服務(wù)器程序設(shè)計 14\o"CurrentDocument"用戶登陸注冊編輯的設(shè)計 14\o"CurrentDocument"燈光控制與搜索的設(shè)計 15\o"CurrentDocument"ESP8266訪問服務(wù)器設(shè)計 15\o"CurrentDocument"手機應(yīng)用的設(shè)計與實現(xiàn) 16\o"CurrentDocument"Android系統(tǒng)平臺簡介 16\o"CurrentDocument"程序流程框圖 17\o"CurrentDocument"應(yīng)用程序設(shè)計與實現(xiàn) 17\o"CurrentDocument"手機應(yīng)用界面的設(shè)計 17\o"CurrentDocument"手機應(yīng)用后臺運行程序的設(shè)計 19\o"CurrentDocument"系統(tǒng)測試 21\o"CurrentDocument"功能測試 21\o"CurrentDocument"硬件控制端部分測試 21\o"CurrentDocument"手機應(yīng)用部分測試 22\o"CurrentDocument"總體測試 22\o"CurrentDocument"性能測試 22\o"CurrentDocument"系統(tǒng)穩(wěn)定性測試 22\o"CurrentDocument"硬件斷電恢復(fù)測試 22\o"CurrentDocument"總結(jié)與展望 23\o"CurrentDocument"總結(jié) 23\o"CurrentDocument"展望 23參考文獻 24附錄 25致謝 28前言現(xiàn)如今網(wǎng)絡(luò)無線通信技術(shù)發(fā)展很迅速,網(wǎng)絡(luò)技術(shù)是可以將電腦、手機、平板等終端通過無線接入互聯(lián)網(wǎng)。Wi-Fi已經(jīng)是網(wǎng)絡(luò)接入的主流標準。Wi-Fi熱點覆蓋范圍越來越廣,Wi-Fi技術(shù)已經(jīng)被運用在各種便攜式智能設(shè)備上。對Wi-Fi技術(shù)應(yīng)用產(chǎn)品,人們生活中運用到的越來越多,人們也希望能夠通過Wi-Fi技術(shù)來控制生產(chǎn)和生活,使工作和生活更加便捷?;诖四康?,本文設(shè)計了一種基于Android平臺和Wi-Fi技術(shù)的燈光控制系統(tǒng)。該系統(tǒng)在硬件方面,采用STM32F103作為控制核心,通過ESP8266Wi-Fi模塊進行聯(lián)網(wǎng)。這兩款芯片成本低,功耗小,開發(fā)方便且具有較高的處理速度。采用Keil5軟件對單片機進行開發(fā)。在電腦安裝Tomcat作為本次系統(tǒng)設(shè)計的服務(wù)器。使用AndroidStudio進行手機App開發(fā)可利用手機App進行燈光控制。本設(shè)計的目的是滿足社會的現(xiàn)實需求,給人們提供更多的便利在家中隨時可以用手機控制家里的照明燈。1概述設(shè)計背景放眼全球,物聯(lián)網(wǎng)優(yōu)勢愈加明顯,現(xiàn)如今人們置身于網(wǎng)絡(luò)環(huán)境中,各種智能設(shè)備通過網(wǎng)絡(luò)進行各種數(shù)據(jù)和信息的交換。Wi-Fi為智能家居領(lǐng)域帶來了新的發(fā)展機遇。我國物聯(lián)網(wǎng)相對落后,還處于發(fā)展初期,智能家居在日常生活中被廣泛應(yīng)用,在工業(yè)應(yīng)用領(lǐng)域發(fā)展較快。中國的智能家居領(lǐng)域進入整合期。其存在的主要問題是:缺乏標準;產(chǎn)業(yè)核心技術(shù)不達標;產(chǎn)業(yè)鏈不夠完整,合作體系不完善;產(chǎn)業(yè)間的合作困難。應(yīng)用前景基于安卓和ESP8266的室內(nèi)燈光控器設(shè)計是基于物聯(lián)網(wǎng)開發(fā)的,屬于智能家居照明部分。以物聯(lián)網(wǎng)為基礎(chǔ)智能家居市場非常有潛力。能夠使傳統(tǒng)產(chǎn)業(yè)的發(fā)展模式在一定程度上改變,能夠使經(jīng)濟發(fā)展、資源、環(huán)境之間的矛盾得到改善,物聯(lián)網(wǎng)的應(yīng)用,有利于資源進行更高效的利用。具有極大的包容性和開放性,促進了信息的傳輸和交流,推動開放和合作。智能家居在未來前景廣闊。燈光控制器總體設(shè)計方案總體設(shè)計概述基于安卓和ESP8266的室內(nèi)燈光控制器的設(shè)計,目的是讓人們的生活更加舒適方便。為普通家用的照明燈添加功能,使燈光控制器更加貼合實際需求,更人性化的服務(wù)。本次設(shè)計可分為手機應(yīng)用的設(shè)計和硬件控制端的設(shè)計。本設(shè)計應(yīng)避免在短時間內(nèi)被市場所淘汰,并且保證性價比高。使產(chǎn)品大眾化讓人們都可以體會到舒適便捷的生活。在本系統(tǒng)的設(shè)計過程中,還應(yīng)充分考慮現(xiàn)階段人們對家居和生活的進一步需求,提供全新生活方式。系統(tǒng)設(shè)計中的各個部分有預(yù)留下接口方便升級和擴展新功能??傮w設(shè)計的需求分析本設(shè)計將分成硬件部分燈光控制器部分、Android平臺設(shè)計部分和服務(wù)器部分進行介紹。本控制器的設(shè)計采用ESP8266模塊無線傳輸,實現(xiàn)服務(wù)器到模塊串口的數(shù)據(jù)傳輸,通過手機發(fā)送控制燈光的指令到服務(wù)器。同時將燈光的狀態(tài)通過Wi-Fi模塊傳輸?shù)椒?wù)器,手機實時訪問服務(wù)器將燈光狀態(tài)反饋到手機上。Android系統(tǒng)普及度最高,相比電腦系統(tǒng)更加的靈活。實現(xiàn)用戶可以使用裝有Android系統(tǒng)的手機可以對燈光控制器進行監(jiān)控。系統(tǒng)整體架構(gòu)的設(shè)計在燈光控制器的設(shè)計中,ESP8266模塊和手機都是通過Wi-Fi無線網(wǎng)絡(luò)連接到服務(wù)器獲取數(shù)據(jù)和修改數(shù)據(jù)??刂贫私邮盏椒?wù)器發(fā)送來的操控信息后完成指定操作,并將燈光狀態(tài)及時反饋到服務(wù)器。圖2-1為燈光控制器的整體架構(gòu)示意圖。圖2-1燈光控制器的整體架構(gòu)示意圖網(wǎng)絡(luò)通信技術(shù)方案的選擇現(xiàn)如今,主流的無線技術(shù)主要有Wi-Fi、ZigBee、Bluetooth、UWB、NFC、RFID等方案。無線技術(shù)幾乎無需布線,調(diào)試簡單,在智能家居領(lǐng)域優(yōu)勢明顯。表3-1列出了各個無線技術(shù)的相關(guān)指標數(shù)據(jù)。表3-1幾種無線通信技術(shù)的比較名稱Wi-FiZigBeeBluetoothUWBNFCRFTD
傳輸速度54Mbps250kbps723.2kbps100Mbps424kbps1kbps通信距離100m75m10m10m20cm1m頻段2.4GHz2.4GHz2.4GHz3.1-10.5GHz13.56MHz868-915MHz安全性低中等高高極高低國際標準IEEE802.11bIEEE802.11gIEEE802.15.4IEEE802.15.1x未制定ISO/IEC18092為統(tǒng)一功耗10-50mA5mA20mA10-50mA10mA10mA由表3-1可以得知,通過幾種無線技術(shù)的比較Wi-Fi技術(shù)被運用的最為普及,給用戶帶來更好的上網(wǎng)體驗。Wi-Fi技術(shù)的傳輸速度比較快。結(jié)合實際需求本選用Wi-Fi技術(shù)作為無線通信技術(shù)傳輸數(shù)據(jù)??刂平K端操作系統(tǒng)的選擇手機操作系統(tǒng)的選擇需要實用性強并且非常普及的嵌入式操作系統(tǒng),同時還要考慮操作系統(tǒng)的開發(fā)語言的簡單易上手、易擴展,好移植等。目前常見的嵌入式操作系統(tǒng)有Android、iOS、WindowsPhone、Symbian、Linux和PalmOS。對這些嵌入式操作系統(tǒng)的各項指標列表來進行比較。如表3-2所示。表3-2幾種嵌入式操作系統(tǒng)的比較名稱AndroidIOSWindowPhoneSymbianLinuxPalmOS開發(fā)語言Java、C、C++ObjC、C、C++C++、C#Java、C、C++C、C++Java、C、C++、VB市場占有率很高高高低低低是否開源是否否否是否擴展性好一般較好一般好差功耗高高高較低中低可移植性很強弱較弱弱很強一般選擇操作系統(tǒng)應(yīng)用戶站在用戶的角度,人機交互界面要流暢,數(shù)據(jù)處理速度快。通過對各種操作系統(tǒng)各個方面的特點進行分析和比較之后,本次設(shè)計選擇有Android系統(tǒng)的手機作為基礎(chǔ)進行開發(fā)。無線通信協(xié)議的選擇為保證本設(shè)計在無線傳輸中數(shù)據(jù)的穩(wěn)定和傳輸速度,在目前網(wǎng)絡(luò)傳輸協(xié)議中用的是TCP/IP協(xié)議。TCP/IP協(xié)議包括應(yīng)用層、傳輸層、網(wǎng)絡(luò)層、網(wǎng)絡(luò)接口。如圖2-2所示,在傳輸層主要有TCP協(xié)議和UDP協(xié)議兩種。應(yīng)用層傳輸層網(wǎng)絡(luò)層應(yīng)用層傳輸層網(wǎng)絡(luò)層網(wǎng)絡(luò)接口TCP在協(xié)議集圖2-2網(wǎng)絡(luò)傳輸協(xié)議層TCP即傳輸控制協(xié)議,提供面向連接的字節(jié)流服務(wù)。UDP即用戶數(shù)據(jù)報協(xié)議,是面向數(shù)據(jù)報的傳輸層協(xié)議。TCP與UDP的區(qū)別于有連接和無連接,UDP程序結(jié)構(gòu)較簡單,TCP保證數(shù)據(jù)正確。故UDP傳輸速度快占用帶寬小卻不穩(wěn)定,UDP傳輸穩(wěn)定性沒有被解決,所以本設(shè)計選擇了穩(wěn)定性較高的TCP協(xié)議傳輸數(shù)據(jù)。硬件控制器的設(shè)計與實現(xiàn)單片機是集成電路芯片,構(gòu)成的了完善的微型計算機系統(tǒng)。ESP8266模塊具有設(shè)計緊湊、功耗低、穩(wěn)定性高等特點,具有較完整的Wi-Fi網(wǎng)絡(luò)功能,既可以獨立應(yīng)用,也可以作為從機搭載到單片機或嵌入式上運行。單片機與ESP8266組成控制系統(tǒng)。ESP8266負責無線傳輸數(shù)據(jù),單片機處理數(shù)據(jù)并控制燈光??刂破鞯闹饕酒湍K主控芯片STM32F103本次硬件部分的設(shè)計采用單片機STM32F103系列作控制芯片,該芯片是32位的Cortex-M3的處理器,性能穩(wěn)定,成本低廉,處理速度快,有豐富的內(nèi)部資源。能夠滿足燈光控制器硬件控制端的需求。STM32的引腳如圖3-1所示:要保證STM32F103能夠正常工作,需要幾個簡單電路組成最小系統(tǒng),最小系統(tǒng)主要包括:外部晶振電路、復(fù)位電路、電源供電電路等,STM32的系統(tǒng)電路如圖3-2所示。gfdπEmdn擊dπS^π£^π卜mdgfdπEmdn擊dπS^π£^π卜mdπOloOaπ建π.sft-πCgg>πmOonVBATPC13-TAMPER-RTCPC14-OSC32^INPCI5QSC32.O□TPDOOSCINPDIOSJOUTNRSTVSSAVDOAPΛO-WKUPPA1/4S474?454443424140303837λi* M3 MLGFP4a17lβ19^21VDD.2VSWr2PA13P!A12PA11RAlaPA5RA8PB15P^B14P-B13PB12UUUUUUUULJ□□□H工sα圖3-1單片機STM32F103引腳圖手一£8ffl匡d?C1U2mG2FlC3CtT6SMHZOSCOVTSKIOPCI4PClj_^^_O?COUΓKRSΓICUKPC14.O5C32JNPC15.'O?C32,<X.ΓΓOSUNOSOOurNRSTVSSA手一£8ffl匡d?C1U2mG2FlC3CtT6SMHZOSCOVTSKIOPCI4PClj_^^_O?COUΓKRSΓICUKPC14.O5C32JNPC15.'O?C32,<X.ΓΓOSUNOSOOurNRSTVSSAVDD2VSS.2SWTOPAllPAllEXDΦA(chǔ)10TTOTADPAI(IP3:4圖3-2單片機最小系統(tǒng)原理圖本設(shè)計主要使用到了STM32F103中的定時器、串口通信、I/O口輸出PWM和I/O口
輸出高低電平。定時器定時一秒用于訪問服務(wù)器獲取控制數(shù)據(jù),串口通信用于ESP8266模
塊的通信,I/O口控制照明燈亮滅。ESP8266模塊ESP8266可以應(yīng)用于大部分微控制器的設(shè)計中。ESP8266具有快速切換模式、配合低功耗操作、故障排除等特點。ESP8266更加適用于移動設(shè)備、可穿戴電子設(shè)備。PQrTXDADCRXDCHPDGPI0O5GPIOl6GPIO04GPI014PQrTXDADCRXDCHPDGPI0O5GPIOl6GPIO04GPI014GPlOOGPlCH2GPIoO2GPIO13GP1015VCCGND懸空為工作模式下拉接地進入燒錄模式OS-NDl口
串
ILTGUS-SoWI≤I()IΞID60Ln)DN圖3-3ESP8266接線原理圖表3-1常用AT指令A(yù)T+CWMODE=x設(shè)置模式1:STATION2:AP3:STATION+APAT+RST復(fù)位AT+CIPMUX=x開啟mux多路連接設(shè)置為服務(wù)器時,必須開啟AT+GMR查看固件版本AT+CIPSEND=x,y發(fā)送tcp信息x為連接IPD值y為信息長度AT+CWDHCP=x,y開啟DHCP,y=0關(guān)1開,x為設(shè)置模式AT+CWSMARTSTART=1ESP能連接方式(手機軟件連接)AT+CIPSEND透傳模式AT+CWLAP列出當前可用AP如圖3-3所示為ESP8266的接線原理圖而ESP8266與微控制器之間的通信方式是串口通信。MCU通過串口發(fā)送AT指令對ESP8266進行設(shè)置和數(shù)據(jù)傳遞。使用串口工具發(fā)送AT指令對ESP8266進行復(fù)位、查看版本信息、連接Wi-Fi、設(shè)置模式等操作。表3-1為常
AT指令。LED使用LED燈作為照明燈的方案,LED燈珠電流很大,單片機無法點亮,需要一個驅(qū)動電路,此設(shè)計中選擇ULN2003作為驅(qū)動芯片。ULN2003是一款高耐壓、大電流復(fù)合晶體管陣列的芯片。多用于智能儀表、單片機、PLC等控制電路中??芍苯域?qū)動繼電器、步進電機、較大功率的LED燈珠等負載。本設(shè)計的燈光控制部分利用了ULN2003的電流增益高和帶負載能力強的特性。設(shè)計了如圖3-4所示的電路,使用到了NPN復(fù)合晶體管??梢钥刂茻舨煌瑺顟B(tài),通過單片機控制輸出PWM的占空比不同LED燈可呈現(xiàn)不同的亮暗程度。添加電容可以進行濾波同時增加電源的穩(wěn)定性。單片*怪口INlIN2單片*怪口INlIN2IN3IN4IN5IN6IN7GNDOUTlOUTJOUT30UΓ40UT50UT6OUT?VCCLlLEDULN2OO3CSCapSsmiIOOaF圖3-4LED燈電路設(shè)計原理圖繼電器控制電路目前家中使用的都是220V供電的照明燈,本次設(shè)計了另一個方案就是使用繼電器控制家用照明燈開閉。燈光控制器的設(shè)計采用了電磁繼電器。當電磁線圈通電導(dǎo)通銜鐵被吸下常開端導(dǎo)通有。所以此種方案的燈光照明只有開關(guān)兩種狀態(tài)。本設(shè)計燈光控制部分的繼電器電路如圖3-5所示,照明燈接繼電器常開端,添加二極管保護電路避免電磁線圈回流,損壞電路,驅(qū)動繼電器的電流很大需要三極管放大電流。這樣即可保護芯片還可以保護其他電路。這樣就可以利用I/O口直接控制照明燈的開關(guān)。
VCCSVC2?M-Ill—IHIOTnFVCCSVC2?M-Ill—IHIOTnFPC14連接控制器3-5繼電器電路原理圖3.1.5本設(shè)計采用220V轉(zhuǎn)5V模塊供電,普通家庭用電都為220V,直接使用220V電源供電可以增加本設(shè)計的通用性,但是STM32F103芯片和ESP8266模塊都需要3.3V供電,如圖3-6所示電源電路。本設(shè)計采用ME6211降壓芯片。本設(shè)計中ESP8266模塊對電流需求較高,所以ME6211是符合設(shè)計的需求的。電路中采用了很多電容進行濾波和穩(wěn)壓,穩(wěn)定的電壓可以保證芯片和模塊的正常工作。圖3-6電源電路原路圖圖3-6電源電路原路圖控制器程序流程圖STM32為控制芯片,通過編程,要實現(xiàn)的各種功能,實現(xiàn)燈光控制程序和無線通信程序并建立聯(lián)系控制完成控制器的設(shè)計。程序流程如圖3-7所示。圖3-7主程序流程圖Wi-Fi模塊的程序設(shè)計ESP8266與STM32F103之間的通信是通過串口向Wi-Fi模塊發(fā)送AT指令。ESP8266的工作流程如圖3-8所示。3-8ESP8266工作流程圖在程序中把每一個AT指令以函數(shù)的形式表現(xiàn)出來,這樣主程序中調(diào)用指令的函數(shù)以達到控制ESP8266的目的。調(diào)用函數(shù)可以使主函數(shù)更加簡潔易懂。以測試指令“AT”為例。如圖3-9所示。在程序中直接調(diào)用函數(shù)ESP8266_AT_Test函數(shù)即可以向模塊發(fā)送指令并可以檢測到模塊反饋回的信息。判斷反饋信息中是否含有“OK”字符,若含有OK則說明測試成功??梢岳^續(xù)執(zhí)行下面的程序。若數(shù)據(jù)中沒有“OK”則說明ESP8266還沒有準備好需要等待。voidEΞP8Ξ66-AT,Test(void)ESP8266_RST_HIGH_LEVELO:Delay_n.3tIQOO):while(!EΞP8Ξ66-C∏ltif"AT","QK、NULL,200))EΞP8Ξ66-Rst0:圖3-9測試指令函數(shù)ESP8266測試成功后已經(jīng)完成啟動為模塊進行配置,設(shè)置工作模式為Station模式,STM32F103通過串口給ESP8266發(fā)送Wi-Fi搜索指令“AT+CWLAP”得到當前所在范圍內(nèi)的Wi-Fi信號。在程序中我們將連接Wi-Fi的指令寫入獨立的函數(shù)里,函數(shù)中使用scanf函數(shù)將熱點的SSID和密碼通過串口發(fā)到STM32F103上經(jīng)過處理后發(fā)送到ESP8266連接Wi-FiTCP連接方式。Wi-Fi在連接服務(wù)器成功后ESP8266設(shè)置成透傳模式更加方便數(shù)據(jù)傳輸,TCP/IP連接后將數(shù)據(jù)封裝成HTTP的數(shù)據(jù)格式,在程序中編寫了訪問服務(wù)器的函數(shù),如圖3-16所示,ESP8266_contro函l數(shù)將已封裝好的HTTP的數(shù)據(jù)通過ESP8266訪問服務(wù)器數(shù)據(jù)庫,發(fā)送和接收數(shù)據(jù)以達到控制燈的目的。通過定時器定時訪問服務(wù)器。//ESPHΞ16_Unvarniwh£endO;strEspE∣266_Frajn_R已Cord.IntBit.Fr:imLengt.h=0:strEspE∣266_Frajn_Record.InfBLt.Fr:ariFmislιFlag=0:sprintf∣?∣Str「'GET∕ρhρt∣iι√∏LC?.ιled.Ph□?1BdnamE=chusng^ledstat.?=%ξ?.Ledco∣ie=lfc∣ifeledt?imab1e=γeξHTTPF1.1?二?",:F£_UMart("i?ξ?pStr);ESP826S_SendStrins(EI-MLE,PSth NULLSiitsle.ID);TOC\o"1-5"\h\zESFE26Ei一SendStrl口工(EI-MLE7 λ'Hu≡-:192.16S.137.1:E:00l\r\nA,, NULL, Siitsle.ID );ESP8266_SendString( El-MLE7 λ'TJξPr-Agent: Kozιll√4.L∣?r?n?, NULL, Single,ID );ESP8266_SendStrins( EMABLE, λ匚口口正Ct工口n: Keep-Alive','.1r,,'.1n',■,? NULL, Single_ID );ESPE!2661SendStrιng( EMABLE, λ''?iAiΛ NuLL SingleZlD );PC_Usart("45");圖3-16服務(wù)器訪問程序片段燈光控制模塊分兩部分,一部分控制LED燈使用PWM輸出調(diào)節(jié)LED燈的亮暗程度改變燈的狀態(tài)。另一部分使用繼電器控制220V照明燈供電只有燈亮和燈滅兩種狀態(tài)。LED燈程序設(shè)計,初始化引腳PA6口并設(shè)置成PWM輸出。PWM(脈沖寬度調(diào)制)同一頻率下高低電平得時長不同并可以調(diào)節(jié)。在STM32中設(shè)置PWM輸出要占用一個定時器首先要初始化定時器時鐘、預(yù)分頻值、自動重裝值、計數(shù)模式等。設(shè)定其次配置PWM的模式并設(shè)定跳變值并使能該通道達到輸出可變方波的目的。PWM的值決定燈的亮度。照明燈的程序設(shè)計,初始化引腳PC14后將該引腳清零變成低電平繼電器斷開控制關(guān)燈,將引腳置一則控制開燈。兩種方案都是通過判段ESP8266模塊接收到的數(shù)據(jù)進行提取分析判斷是否可以存在字符串opena、openb、openc、close收到不同的字符串LED燈的呈現(xiàn)亮暗不同。服務(wù)器的設(shè)計與實現(xiàn)在本設(shè)計中用到的是Tomcat軟件作為服務(wù)器,使用MySQL作為數(shù)據(jù)存儲,PHP語言編寫服務(wù)器后臺程序。組成完整的服務(wù)器系統(tǒng)架構(gòu)。登陸注冊數(shù)據(jù)表格的設(shè)計id,賬號名稱和密碼用戶名和年齡放在一個table_user_password表中,能夠快速的驗證用戶的身份。表4-1即為table_user_password表。用戶的登錄密碼存健在密碼字段中,為了保證用戶的密碼安全性,不被泄露。userPassword字段應(yīng)對其先加密后存儲。密碼的加密方式是md_5,之后再將其存儲到數(shù)據(jù)庫中。表4-1table_user_password表table_user_password字段數(shù)據(jù)類型數(shù)據(jù)長度userIdint10userAccountchar50userPasswordchar30usernamechar50userAgechar20燈光狀態(tài)數(shù)據(jù)表格的設(shè)計table_led表格用于存儲燈光控制器的相關(guān)信息,如表4-2所示。table_led表含有燈光節(jié)點_id、燈光名稱ledname可以在手機端直接更改。Ledcode唯一碼是識別每個控制器的識別標準,是控制器芯片的唯一編碼是獨一無二。通過改變ledkey的值控制燈的開關(guān)。Ledstate表示控制器的反饋回的狀態(tài)。Ledtunable反饋燈是否可調(diào)。表4-2table_led表table_led字段數(shù)據(jù)類型數(shù)據(jù)長度_idint20Lednamechar50Ledstatechar30Ledkeychar30Ledcodechar50Ledtunablechar204.24.2服務(wù)器程序設(shè)計用戶登陸注冊編輯的設(shè)計此數(shù)據(jù)表的設(shè)計是將用戶時注冊的信息保存到數(shù)據(jù)庫中,登陸時查找數(shù)據(jù)表里的信息通過對比賬號和密碼,當賬號和密碼與數(shù)據(jù)表里的一致判定登陸成功。密碼不一致顯示“密碼錯誤”,賬號搜索不到表示該賬號沒有被注冊,顯示“查無此人”。編輯是將用戶已注冊的信息進行修改。如圖4-1所示為登陸和注冊的流程。圖4-1登陸注冊流程圖首先服務(wù)器連接MySQL,用PHP語言編寫的是服務(wù)器連接數(shù)據(jù)庫的語句與MySQL里的數(shù)據(jù)庫連接。通過PHP語言編寫程序訪問服務(wù)器的控制終端將用戶信息向用戶表添加數(shù)據(jù)。主要利用的是服務(wù)器通PHP語言對MySQL進行數(shù)據(jù)的增刪改查。在注冊成功后同時為用戶創(chuàng)建新表以用戶賬號命名記錄用戶登陸時間,如圖4-2所示。Eaccouπt1311105424@Frst_rnysqI_test(Test]-表文件第輯"商匚幫助匹等人國尋O尋出向?qū)А贺惯x司辱 曲網(wǎng)梧亙君U_idregdate2017-12-1411:15:3222017-12-1411:15:5332017121611:27:4442017-12-1611:33:4352017-12-1611:56:23■62017-12-1712:00:3673317-12-1712:02:2482017-12-2ftOa:41i14圖4-2用戶登陸時間記錄圖修改用戶信息同樣是利用的是PHP語言對MySQL進行增刪改查。在登陸、注冊、修改成功或失敗后都會反饋出信息以供手機端判斷。燈光控制與搜索的設(shè)計手機應(yīng)用控制燈是訪問服務(wù)器中PHP語言的程序是對MySQL中的table_led表里數(shù)據(jù)的增刪改查?!發(fā)edstate”項的值是表示的是當前的燈的狀態(tài),“l(fā)edkey”項的值是手機控制燈光將要改變成的狀態(tài)。在編寫程序中用到了JSON數(shù)據(jù)解析,LED1的數(shù)據(jù)格式表示為:在手機接收到此條數(shù)據(jù)后可以查看燈的狀態(tài)、燈的名字、控制器的唯一編碼等,該控制器是否可調(diào)的數(shù)據(jù)需要一次傳輸方便手機端去解析。手機接收到數(shù)據(jù)后將分配到各個部分。反饋到手機界面可以讓用戶看到。ESP8266訪問服務(wù)器設(shè)計控制器端使用ESP8266的透傳模式打包成HTTP格式訪問服務(wù)器同樣是對MySQL中的table_led表里數(shù)據(jù)的增刪改查。主要是接收ledkey項里的值,并將狀態(tài)值發(fā)送給服務(wù)器并寫入ledstate項中。如圖4-3所示ESP8266?送請求數(shù)據(jù)圖4-3圖4-3硬件控制端訪問流程圖5手機應(yīng)用的設(shè)計與實現(xiàn)5.15.1Android系統(tǒng)平臺簡介M用程序?qū)討?yīng)用喬序根柴/Artiviryl,.MarIeEer.zWindow?Miindggr,ViewSystem應(yīng)用喬序根柴/Artiviryl,.MarIeEer.zWindow?Miindggr,ViewSystemPκk?≡e",,∣
Manager√Tdephony
Manager『RC5Q∣UΓCIE)「?、Manofer/\、IoartlQn、Manager/NotlficaKlon
Monager函數(shù)庫UnUX核心層圖5-1為Android系統(tǒng)的體系結(jié)構(gòu)Android是一種基于Linux內(nèi)核的操作系統(tǒng),一般運用于移動平臺,并且源代碼是開放
的。Android系統(tǒng)的構(gòu)建如圖5-1所示。程序流程框圖本設(shè)計使用手機作控制終端。編寫手機應(yīng)用程序,賦予手機應(yīng)用應(yīng)有的功能完成手機端的設(shè)計。如圖5-2為手機應(yīng)用流程圖。圖5-2手機應(yīng)用流程圖應(yīng)用程序設(shè)計與實現(xiàn)手機應(yīng)用界面的設(shè)計在控制和查看燈光控制端之前,用戶首先需要進行登錄驗證,驗證成功進入燈控界面。系統(tǒng)軟件的開始界面使登錄界面,用戶要輸入賬號和密碼,經(jīng)過服務(wù)器系統(tǒng)驗證是否存在該用戶,密碼是否正確,驗證成功界面跳轉(zhuǎn),第一次使用還需要進行注冊。然后點擊登錄鍵,手機將用戶名與密碼通過局域網(wǎng)Wi-Fi網(wǎng)絡(luò)發(fā)送到服務(wù)器,等待反饋,驗證成功后即進入到操作界面初始界面。如圖5-3為登陸界面,圖5-4為注冊界面。
OKAsCQ^"IlTrfl13?(Ξ>20:57Led∞ntrol!??:1311105424 密碼: 登陸 UWa≡□O<]字圖5-4用戶注冊界面圖5-3用戶登錄界面開燈1開燈2拜燈3 關(guān)燈3^£J?田27K∕mCU岸%∣*∣∣OKAsCQ^"IlTrfl13?(Ξ>20:57Led∞ntrol!??:1311105424 密碼: 登陸 UWa≡□O<]字圖5-4用戶注冊界面圖5-3用戶登錄界面開燈1開燈2拜燈3 關(guān)燈3^£J?田27K∕mCU岸%∣*∣∣11?CΞD7042686460131LedcontrolzzkhhιιιnιιnQ0Iedmm222222222Ied7可調(diào)123456789添DDLED用尸信息修改圖5-5燈控主界面開燈1 開燈2 升燈3 關(guān)燈氨溜月燈2開燈3關(guān)燈ftttChuang可調(diào)640582115chuang640582115Ied7123456789living686460131圖5-6燈搜索界面用戶登錄成功后會進入燈控界面,如圖5-5所示,進入界面后界面為空需要點擊“添加燈”按鈕進入搜索燈界面,如圖5-6所示。點擊條目添加燈重新跳轉(zhuǎn)到燈的界面,這兩個界面都是遵循規(guī)定的布局文件顯示出的這些界面,即為燈光控制和搜索界面。在手機應(yīng)用中使用用戶注冊的信息有時需要修改,信息修改界面如圖5-7所示,在燈的主控界面點擊“用戶信息修改”按鈕。即可跳轉(zhuǎn)至該頁面,遵循在Androidstudio中的
布局文件顯示出的這些界面。用戶在添加成功某一個燈后要修改燈名,點擊Item條目里的編輯按鈕跳轉(zhuǎn)至編輯界面如圖5-8,用戶不想控制此燈時可以點擊“刪除此燈”按鈕,即可在等主控界面刪除該燈。圖5-7用戶信息修改界面圖圖5-7用戶信息修改界面圖5-8燈編輯界面手機應(yīng)用后臺運行程序的設(shè)計手機應(yīng)用進行登陸注冊的流程如圖5-9所示,進入手機應(yīng)用后會進入登陸主界面在主界面的Activity中先連接已經(jīng)設(shè)置完成的布局文件,初始化各個控件的id,對“登陸”和“注冊”按鈕進行監(jiān)聽。點擊“注冊”的按鈕會跳轉(zhuǎn)到注冊頁面。點擊“登陸”程序會執(zhí)行監(jiān)聽內(nèi)的程序,首先是判斷EditText里的字符串是否為空,若為空會給出提示,若不為空則繼續(xù)執(zhí)行。要訪問服務(wù)器需要創(chuàng)建子線程,只有在子線程中去訪問網(wǎng)址這樣主程序才不會報錯,手機應(yīng)用才不會卡死。Android手機訪問服務(wù)器時用到HttpURLConnection協(xié)議。程序中使用的是GET的請求方式,訪問完成后得到的反饋信息,程序中對HTTP狀態(tài)碼進行判斷,當HTTP狀態(tài)碼為200時說明訪問成功并將數(shù)據(jù)存放到字符串中。在Handler中進行數(shù)據(jù)解析和對比判斷,是否登陸或注冊成功。Handler是異步消息處理機制。服務(wù)器請求的時間較長并且又具有不確定性,所以要在子線程執(zhí)行數(shù)據(jù)訪問并且在Handler中處理數(shù)據(jù)。
燈光控制界面和燈光搜索界面的程序的實現(xiàn),界面的布局文件主要使用是ListView顯示狀態(tài)并控制燈。在開發(fā)軟件中自定義ListView的布局如圖5-11所示,設(shè)計實現(xiàn)左側(cè)圖片顯示燈光狀態(tài),TextView分別顯示燈名、是否為可調(diào)燈、燈的唯一碼。Button分別控制三種燈的狀態(tài)、關(guān)燈和編輯燈。程序主要在新建類LedAdapter中實現(xiàn)的。使用子線程處理接收到的JSON數(shù)據(jù),分析數(shù)據(jù)判斷照明燈的狀態(tài)以圖片不同亮度表現(xiàn)出來。點擊“編輯”按鈕跳轉(zhuǎn)界面用于修改照明燈的名稱或者把該燈移除燈控主界面。使用“開燈1”、“開燈2”、“開燈3”、“關(guān)燈”監(jiān)聽按鈕發(fā)出數(shù)據(jù)請求改變燈的狀態(tài)。搜索界面的程序在啟動Activity直接進行服務(wù)器訪問獲取數(shù)據(jù),使用控件顯示全部的照明燈,以供用戶選擇并可以實現(xiàn)點擊Item即可添加燈到主界面。使用到了對于Item的監(jiān)聽,跳轉(zhuǎn)界面并傳輸數(shù)據(jù)。并將添加的數(shù)據(jù)進行保存到文件中和字符串數(shù)組中,以方便下次使用能夠繼續(xù)顯示在主界面,避免重復(fù)添加。LedEbntlGlQLEDIIedqode,.一LedEbntlGlQLEDIIedqode,.一ff∏1開燈Z開燈3美燈m?QLEDnameLEDCODE圖5-11控制界面Item的布局圖5-12搜索界面Item的布局Ledcohtrol系統(tǒng)測試在燈光控制器的硬件部分完成,服務(wù)器程序編寫和調(diào)試結(jié)束,手機應(yīng)用軟件編程和調(diào)試結(jié)束后,需要本次設(shè)計進行一個全面的測試,來驗證系統(tǒng)的功能的實現(xiàn)和穩(wěn)定性。系統(tǒng)測試分為功能測試和性能測試。性能測試主要檢驗系統(tǒng)的穩(wěn)定性。功能測試檢測系統(tǒng)功能是否完整,是否符合本次設(shè)計中的設(shè)定功能。每個模塊之間能否正常通信,每個模塊的功能是否實現(xiàn)。本次測試是對其主要功能進行測試。硬件控制端部分測試將單片機處于復(fù)位狀態(tài),并與外部電路連接,焊接好的硬件實物圖如圖6-1所示。圖6-1圖6-1硬件實物圖將服務(wù)器與燈光控制器連接到同一局域網(wǎng)下。通過測試,通過改變服務(wù)器數(shù)據(jù)庫的值改變燈的狀態(tài),進行相應(yīng)的修改操作,即可實現(xiàn)對燈光控制器控制并開關(guān)50次。測試出控制器可以實時做出反應(yīng),可見設(shè)備開關(guān)反應(yīng)靈敏,時間延遲也較小。手機應(yīng)用部分測試打開手機App并保證手機和服務(wù)器在同一局域網(wǎng)內(nèi)。通過測試,開始對手機注冊登陸進行測試,注冊登錄成功后可以在服務(wù)器端數(shù)據(jù)庫中看到注冊信息,多次測試都能上傳到服務(wù)器并在下次可以繼續(xù)登陸,同時還可以更改用戶信息。實現(xiàn)搜索燈點擊添加不能重復(fù)添加測試,多次點擊同一個燈都不能同時加。控制燈測試點擊開關(guān)燈可以看到數(shù)據(jù)庫中有關(guān)燈的表里的值在改變。多次進行測試數(shù)據(jù)庫都可以接收到接收數(shù)據(jù)穩(wěn)定??傮w測試測試手機App控制照明燈并保證燈光控制器和手機App在同一局域網(wǎng)內(nèi)。開啟服務(wù)器,使用手機測試燈光控制器的功能,使用手機多次控制燈光控制器,控制器都可以及時的做出反應(yīng),并把燈的狀態(tài)信息反饋到手機上。多次測試系統(tǒng)穩(wěn)定,燈光控制器有1秒左右的反應(yīng)時間,時間延遲小,但手機端的燈光狀態(tài)反饋速度稍慢在4秒左右。性能測試性能測試中包括系統(tǒng)穩(wěn)定性測試和硬件斷電恢復(fù)測試,通過模擬特殊情況和正常情況的模擬測試,測試每項功能與設(shè)計要求是否相同。系統(tǒng)穩(wěn)定性測試本次測試對系統(tǒng)進行了24小時的連續(xù)開機,檢驗系統(tǒng)能否繼續(xù)正常工作。測試結(jié)果表明,在連續(xù)24小時的工作狀態(tài)下,系統(tǒng)可以執(zhí)行,并未出現(xiàn)異常狀況。硬件斷電恢復(fù)測試斷電測試是為了驗證本次設(shè)計可靠性,在多次斷電通電的狀態(tài)下,系統(tǒng)設(shè)計的軟硬件都沒有損壞,并能夠繼續(xù)正常的工作,功能完好。將系統(tǒng)正常打開并運行,然后切斷電源,系統(tǒng)重新啟動,系統(tǒng)能夠正常運行。重復(fù)多次實驗,系統(tǒng)仍然運行穩(wěn)定。對系統(tǒng)的斷電恢復(fù)測試一共進行20次,測試過程中,在上電后,系統(tǒng)都能夠自動恢復(fù),并且恢復(fù)后各項功能均可以正常運行??偨Y(jié)與展望總結(jié)人們生活變化日新月異是科技快速的發(fā)展的表現(xiàn),物聯(lián)網(wǎng)的出現(xiàn)更是給家居生活帶來了更多的便利。本設(shè)計是基于Android平臺和Wi-Fi技術(shù)的,實現(xiàn)了對家中照明燈的實時控制和監(jiān)測。本次設(shè)計的優(yōu)勢有:.使用Wi-Fi技術(shù)作為無線通信技術(shù)。成本低并且減少布線,使用ESP8266模塊安裝簡單操作方便,大多數(shù)人都可以使用本次設(shè)計產(chǎn)品。.基于Android平臺設(shè)計開發(fā)手機應(yīng)用。Android系統(tǒng)的源代碼公開,遷移性好,日后方便對軟件升級,各種新功能不斷出現(xiàn)越來越強大,并且Android系統(tǒng)中也在不斷的融入智能家居的相關(guān)功能。.關(guān)于燈光控制器的設(shè)計是符合市場發(fā)展的,結(jié)合了Android系統(tǒng)和Wi-Fi技術(shù),人們都很容易接受。在這兩者的結(jié)合下做了本次設(shè)計,也是為了更好迎合消費者的需求。展望由于各種客觀原因,本設(shè)計仍然不夠完善,不能滿足所有的用戶需求?,F(xiàn)如今只實現(xiàn)基礎(chǔ)功能,可以說只表現(xiàn)出了智能家居的部分功能,還有很多問題需要解決。.控制系統(tǒng)延遲。本次設(shè)計搭建的物聯(lián)網(wǎng)系統(tǒng)只在局域網(wǎng)中實現(xiàn)還需要擴展到廣域網(wǎng)中,因為網(wǎng)速、帶寬和設(shè)備等原因?qū)е聦舻目刂七€存在延時。盡可能縮短延時優(yōu)化各部分的程序。.功能的拓展。本設(shè)計還可以利用在家居的其他設(shè)備上,例如:控制家中的窗簾,控制空調(diào),檢測煙霧進行報警等。實現(xiàn)較完整的智能家居系統(tǒng),這些功能還要更多時間的進行研究。.系統(tǒng)的安全性問題。本設(shè)計會用到用戶的資料,人們在選擇智能家居產(chǎn)品時一定會考慮其對個人信息的保護,因此需要對數(shù)據(jù)進行非常嚴苛的加密處理。為了使系統(tǒng)的安全性更高,這部分仍需要投入更多時間精力。PC機及單片機數(shù)據(jù)通信技術(shù)[M].北京航空航天大學(xué)出版社,2000.胡漢才.單片機原理及其接口技術(shù)[M].清華大學(xué)出版社,1996.David.M.Buchla,GarySnyderMultisimExperimentsforDC/ACDigitalandDevicesCourses[J].PrenticeHall,2010,8.彭偉.單片機C語言程序設(shè)計實例100例[M].西安:電子工業(yè)出版社,1999:23-45.萬福君.單片機微機原理系統(tǒng)設(shè)計與應(yīng)用[M].中國科技大學(xué)出版社,2004.趙光宙.信號分析與處理(第二版)[M].機械工業(yè)出版社,2010.張國雄.測控電路(第四版)[M].機械工業(yè)出版社,2011.譚浩強.C語言程序設(shè)計(第三版)[M].清華大學(xué)出版社,2005.M.Morris.Mano,MichaelCilettiDigitalDesignElectronicIndustryPress[J].PrenticeHall,2005.劉愛軍.物聯(lián)網(wǎng)技術(shù)現(xiàn)狀及應(yīng)用前景展望[J].物聯(lián)網(wǎng)技術(shù),2012(01).陳煜.基于Android系統(tǒng)的手機文件管理器的設(shè)計與實現(xiàn)[C].成都:西南交通大學(xué),2012(9):47-5.1JamesW.Nilsson,SusanA.Riedel,ElecticCircuits,NinthEdition[J].PubilishingHouseofElectronicsIndustry,2012.趙亮,侯國銳.單片機C語言編程與實例[M].北京:人民郵電出版社,2001,2:100-200.劉志紅.單片機原理及應(yīng)用[M].重慶:重慶大學(xué)出版社,2011.白家旺,雷騰躍,屈琦凱.淺談嵌入式系統(tǒng)對智能家居的影響[J].廣東科技,2015(10):59-6.0[16]本刊訊.如何選擇適用的智能家居系統(tǒng)[J].中國公共安全:學(xué)術(shù)版,2012(12):56-57.[17]魏宏飛,黃宗建,吳會敏.基于物聯(lián)網(wǎng)的智能家居系統(tǒng)探究[
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 熱長期供貨合同
- 安全監(jiān)控系統(tǒng)集成服務(wù)合同
- 政府與企業(yè)合作協(xié)議
- 循環(huán)借款合同標準范本
- 離婚委托代理合同范本
- 專業(yè)訓(xùn)練培訓(xùn)與認證合作合同
- 防水材料購銷合同
- 軟件系統(tǒng)采購合同模板
- 2025裝修材料供貨合同書
- 空調(diào)租賃合同范本簡單年
- 2024年廣東省高三一模高考英語試卷試題答案祥解(含作文范文)
- 迅雷網(wǎng)盤最最最全影視資源-持續(xù)更新7.26
- 普通話培訓(xùn)班合作協(xié)議書
- 《西方思想經(jīng)典》課件
- 中醫(yī)診療設(shè)備種類目錄
- 戰(zhàn)略管理與倫理
- 如何構(gòu)建高效課堂課件
- 徐金桂行政法與行政訴訟法新講義
- GB/T 13234-2018用能單位節(jié)能量計算方法
- (課件)肝性腦病
- 北師大版五年級上冊數(shù)學(xué)教學(xué)課件第5課時 人民幣兌換
評論
0/150
提交評論