基于安卓和ESP8266的室內(nèi)燈光控制器設(shè)計(jì) 電子信息工程專業(yè)
《基于安卓和ESP8266的室內(nèi)燈光控制器設(shè)計(jì) 電子信息工程專業(yè)》由會員分享,可在線閱讀,更多相關(guān)《基于安卓和ESP8266的室內(nèi)燈光控制器設(shè)計(jì) 電子信息工程專業(yè)(33頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。
1、I基于安卓和基于安卓和 ESP8266ESP8266 的室內(nèi)燈光控器設(shè)計(jì)的室內(nèi)燈光控器設(shè)計(jì) 摘要 社會在發(fā)展,科技在進(jìn)步,智能手機(jī)幾乎人手一部,Wi-Fi 作為無線通信技術(shù)已經(jīng)非常成熟,人們隨時(shí)可以連接 Wi-Fi 上網(wǎng)沖浪,如今各種產(chǎn)品和設(shè)備都朝著智能化方向發(fā)展。使用 Wi-Fi 技術(shù)來對各種智能設(shè)備進(jìn)行遠(yuǎn)程控制更加符合實(shí)際需求。通過物聯(lián)網(wǎng)技術(shù)實(shí)現(xiàn)對智能設(shè)備進(jìn)行無線遠(yuǎn)程控制,極大方便了人們的生產(chǎn)生活。本設(shè)計(jì)是基于物聯(lián)網(wǎng)開發(fā)一款簡單實(shí)用的室內(nèi)燈光控制器,使用智能手機(jī)對室內(nèi)燈光進(jìn)行無線控制。通過使用 ESP8266 芯片和 STM32F103 單片機(jī)組成控制端部分,使用ESP8266 模塊無線傳
2、輸數(shù)據(jù),對室內(nèi)燈光控制。并搭建一個(gè)服務(wù)器創(chuàng)建數(shù)據(jù)庫進(jìn)行用戶管理和控制器的管理。創(chuàng)建安卓手機(jī)應(yīng)用,手機(jī)連接局域網(wǎng)實(shí)現(xiàn)用戶登陸注冊,燈光控制器的增刪改查等功能。實(shí)現(xiàn)手機(jī)控制室內(nèi)燈光完成此次設(shè)計(jì)。關(guān)鍵詞:關(guān)鍵詞:STM32F103 Android Wi-Fi ESP8266 IIDesign of Indoor Lighting Controller Based on Android and ESP8266ABSTRACTIn the development of society, science and technology in progress, smart phones almost one
3、 hand, Wi-Fi as a wireless communication technology has been very mature, people can connect to Wi-Fi surfing at any time, now all kinds of products and equipment are developing towards the direction of intelligence. Using Wi-Fi technology for remote control of various intelligent devices is more in
4、 line with the actual needs. Through the Internet of things technology to achieve intelligent remote wireless control devices, greatly facilitated peoples production and life.This design is based on the Internet of things to develop a simple and practical indoor lighting controller, using smart phon
5、es to control indoor lighting wireless. The control part is composed of ESP8266 chip and STM32F103 microcontroller, and the ESP8266 module is used for wireless data transmission to control indoor lighting. And build a server to create a database for user management and controller management. Create
6、Android mobile applications, mobile LAN connection to achieve user login registration, add and delete the lighting controller and other functions. The mobile phone controls indoor lighting to complete the design.KEY WORDS:STM32F103 Android Wi-Fi ESP8266 1目目 錄錄摘 要.ABSTRACT .前言.11 概述.21.1 設(shè)計(jì)背景 .21.2 應(yīng)
7、用前景 .22 燈光控制器總體設(shè)計(jì)方案.22.1 總體設(shè)計(jì)概述 .22.2 總體設(shè)計(jì)的需求分析 .22.3 系統(tǒng)整體架構(gòu)的設(shè)計(jì) .32.3.1 網(wǎng)絡(luò)通信技術(shù)方案的選擇.32.3.2 控制終端操作系統(tǒng)的選擇.42.3.3 無線通信協(xié)議的選擇.53 硬件控制器的設(shè)計(jì)與實(shí)現(xiàn).53.1 控制器的主要芯片和模塊 .63.1.1 主控芯片 STM32F103 .63.1.2 ESP8266 模塊 .73.1.3 LED 燈的控制電路 .93.1.4 繼電器控制電路.93.1.5 電源供電電路.103.2 控制器的程序的設(shè)計(jì)與實(shí)現(xiàn) .113.2.1 控制器程序流程圖.113.2.2 Wi-Fi 模塊的程序設(shè)
8、計(jì) .113.2.3 燈光控制模塊控制設(shè)計(jì).134 服務(wù)器的設(shè)計(jì)與實(shí)現(xiàn).134.1 服務(wù)器數(shù)據(jù)庫的設(shè)計(jì) .144.1.1 登陸注冊數(shù)據(jù)表格的設(shè)計(jì).144.1.2 燈光狀態(tài)數(shù)據(jù)表格的設(shè)計(jì).144.2 服務(wù)器程序設(shè)計(jì) .154.2.1 用戶登陸注冊編輯的設(shè)計(jì).1524.2.2 燈光控制與搜索的設(shè)計(jì).164.2.3 ESP8266 訪問服務(wù)器設(shè)計(jì) .165 手機(jī)應(yīng)用的設(shè)計(jì)與實(shí)現(xiàn).175.1 Android 系統(tǒng)平臺簡介.175.2 程序流程框圖 .185.3 應(yīng)用程序設(shè)計(jì)與實(shí)現(xiàn) .185.3.1 手機(jī)應(yīng)用界面的設(shè)計(jì).185.3.2 手機(jī)應(yīng)用后臺運(yùn)行程序的設(shè)計(jì).206 系統(tǒng)測試.226.1 功能測試
9、.226.1.1 硬件控制端部分測試.226.1.2 手機(jī)應(yīng)用部分測試.236.1.3 總體測試.236.2 性能測試 .246.2.1 系統(tǒng)穩(wěn)定性測試.246.2.2 硬件斷電恢復(fù)測試.247 總結(jié)與展望.247.1 總結(jié) .247.2 展望 .25參考文獻(xiàn).26附錄.27致謝.301前前言言現(xiàn)如今網(wǎng)絡(luò)無線通信技術(shù)發(fā)展很迅速,網(wǎng)絡(luò)技術(shù)是可以將電腦、手機(jī)、平板等終端通過無線接入互聯(lián)網(wǎng)。Wi-Fi 已經(jīng)是網(wǎng)絡(luò)接入的主流標(biāo)準(zhǔn)。Wi-Fi 熱點(diǎn)覆蓋范圍越來越廣,Wi-Fi 技術(shù)已經(jīng)被運(yùn)用在各種便攜式智能設(shè)備上。對 Wi-Fi 技術(shù)應(yīng)用產(chǎn)品,人們生活中運(yùn)用到的越來越多,人們也希望能夠通過 Wi-Fi
10、技術(shù)來控制生產(chǎn)和生活,使工作和生活更加便捷?;诖四康模疚脑O(shè)計(jì)了一種基于 Android 平臺和 Wi-Fi 技術(shù)的燈光控制系統(tǒng)。該系統(tǒng)在硬件方面,采用 STM32F103 作為控制核心,通過 ESP8266Wi-Fi 模塊進(jìn)行聯(lián)網(wǎng)。這兩款芯片成本低,功耗小,開發(fā)方便且具有較高的處理速度。采用 Keil5 軟件對單片機(jī)進(jìn)行開發(fā)。在電腦安裝 Tomcat 作為本次系統(tǒng)設(shè)計(jì)的服務(wù)器。使用 Android Studio 進(jìn)行手機(jī) App 開發(fā)可利用手機(jī) App 進(jìn)行燈光控制。本設(shè)計(jì)的目的是滿足社會的現(xiàn)實(shí)需求,給人們提供更多的便利在家中隨時(shí)可以用手機(jī)控制家里的照明燈。21 概述1.1 設(shè)計(jì)背景放眼全
11、球,物聯(lián)網(wǎng)優(yōu)勢愈加明顯,現(xiàn)如今人們置身于網(wǎng)絡(luò)環(huán)境中,各種智能設(shè)備通過網(wǎng)絡(luò)進(jìn)行各種數(shù)據(jù)和信息的交換。Wi-Fi 為智能家居領(lǐng)域帶來了新的發(fā)展機(jī)遇。我國物聯(lián)網(wǎng)相對落后,還處于發(fā)展初期,智能家居在日常生活中被廣泛應(yīng)用,在工業(yè)應(yīng)用領(lǐng)域發(fā)展較快。中國的智能家居領(lǐng)域進(jìn)入整合期。其存在的主要問題是:缺乏標(biāo)準(zhǔn);產(chǎn)業(yè)核心技術(shù)不達(dá)標(biāo);產(chǎn)業(yè)鏈不夠完整,合作體系不完善;產(chǎn)業(yè)間的合作困難。1.2 應(yīng)用前景基于安卓和 ESP8266 的室內(nèi)燈光控器設(shè)計(jì)是基于物聯(lián)網(wǎng)開發(fā)的,屬于智能家居照明部分。以物聯(lián)網(wǎng)為基礎(chǔ)智能家居市場非常有潛力。能夠使傳統(tǒng)產(chǎn)業(yè)的發(fā)展模式在一定程度上改變,能夠使經(jīng)濟(jì)發(fā)展、資源、環(huán)境之間的矛盾得到改善,物聯(lián)
12、網(wǎng)的應(yīng)用,有利于資源進(jìn)行更高效的利用。具有極大的包容性和開放性,促進(jìn)了信息的傳輸和交流,推動開放和合作。智能家居在未來前景廣闊。2 燈光控制器總體設(shè)計(jì)方案2.1 總體設(shè)計(jì)概述基于安卓和 ESP8266 的室內(nèi)燈光控制器的設(shè)計(jì),目的是讓人們的生活更加舒適方便。為普通家用的照明燈添加功能,使燈光控制器更加貼合實(shí)際需求,更人性化的服務(wù)。本次設(shè)計(jì)可分為手機(jī)應(yīng)用的設(shè)計(jì)和硬件控制端的設(shè)計(jì)。本設(shè)計(jì)應(yīng)避免在短時(shí)間內(nèi)被市場所淘汰,并且保證性價(jià)比高。使產(chǎn)品大眾化讓人們都可以體會到舒適便捷的生活。在本系統(tǒng)的設(shè)計(jì)過程中,還應(yīng)充分考慮現(xiàn)階段人們對家居和生活的進(jìn)一步需求,提供全新生活方式。系統(tǒng)設(shè)計(jì)中的各個(gè)部分有預(yù)留下接口
13、方便升級和擴(kuò)展新功能。2.2 總體設(shè)計(jì)的需求分析本設(shè)計(jì)將分成硬件部分燈光控制器部分、Android 平臺設(shè)計(jì)部分和服務(wù)器部分進(jìn)行介紹。本控制器的設(shè)計(jì)采用 ESP8266 模塊無線傳輸,實(shí)現(xiàn)服務(wù)器到模塊串口的數(shù)據(jù)傳輸,3通過手機(jī)發(fā)送控制燈光的指令到服務(wù)器。同時(shí)將燈光的狀態(tài)通過 Wi-Fi 模塊傳輸?shù)椒?wù)器,手機(jī)實(shí)時(shí)訪問服務(wù)器將燈光狀態(tài)反饋到手機(jī)上。Android 系統(tǒng)普及度最高,相比電腦系統(tǒng)更加的靈活。實(shí)現(xiàn)用戶可以使用裝有 Android 系統(tǒng)的手機(jī)可以對燈光控制器進(jìn)行監(jiān)控。2.3 系統(tǒng)整體架構(gòu)的設(shè)計(jì)在燈光控制器的設(shè)計(jì)中,ESP8266 模塊和手機(jī)都是通過 Wi-Fi 無線網(wǎng)絡(luò)連接到服務(wù)器獲取數(shù)
14、據(jù)和修改數(shù)據(jù)??刂贫私邮盏椒?wù)器發(fā)送來的操控信息后完成指定操作,并將燈光狀態(tài)及時(shí)反饋到服務(wù)器。圖 2-1 為燈光控制器的整體架構(gòu)示意圖。圖 2-1 燈光控制器的整體架構(gòu)示意圖2.3.1 網(wǎng)絡(luò)通信技術(shù)方案的選擇現(xiàn)如今,主流的無線技術(shù)主要有 Wi-Fi、 ZigBee、Bluetooth、UWB、NFC、RFID 等方案。無線技術(shù)幾乎無需布線,調(diào)試簡單,在智能家居領(lǐng)域優(yōu)勢明顯。表 3-1 列出了各個(gè)無線技術(shù)的相關(guān)指標(biāo)數(shù)據(jù)。表 3-1 幾種無線通信技術(shù)的比較4名稱Wi-FiZigBeeBluetoothUWBNFCRFTD傳輸速度54Mbps250kbps723.2kbps100Mbps424kbp
15、s1kbps通信距離100m75m10m10m20cm1m頻段2.4GHz2.4GHz2.4GHz3.1-10.5GHz13.56MHz868-915MHz安全性低中等高高極高低國際標(biāo)準(zhǔn)IEEE802.11bIEEE802.11gIEEE802.15.4IEEE802.15.1x未制定ISO/IEC18092為統(tǒng)一功耗10-50mA5mA20mA10-50mA10mA10mA由表 3-1 可以得知,通過幾種無線技術(shù)的比較 Wi-Fi 技術(shù)被運(yùn)用的最為普及,給用戶帶來更好的上網(wǎng)體驗(yàn)。Wi-Fi 技術(shù)的傳輸速度比較快。結(jié)合實(shí)際需求本選用 Wi-Fi 技術(shù)作為無線通信技術(shù)傳輸數(shù)據(jù)。2.3.2 控制終
16、端操作系統(tǒng)的選擇手機(jī)操作系統(tǒng)的選擇需要實(shí)用性強(qiáng)并且非常普及的嵌入式操作系統(tǒng),同時(shí)還要考慮操作系統(tǒng)的開發(fā)語言的簡單易上手、易擴(kuò)展,好移植等。目前常見的嵌入式操作系統(tǒng)有Android、 iOS、 Windows Phone、Symbian、 Linux 和 Palm OS。對這些嵌入式操作系統(tǒng)的各項(xiàng)指標(biāo)列表來進(jìn)行比較。如表 3-2 所示。表 3-2 幾種嵌入式操作系統(tǒng)的比較名稱AndroidIOSWindow PhoneSymbianLinuxPalm OS開發(fā)語言Java、C、C+ObjC、C、C+C+、C#Java、C、C+C、C+Java、C、C+、VB市場占有率很高高高低低低是否開源是否否
17、否是否擴(kuò)展性好一般較好一般好差功耗高高高較低中低可移植性很強(qiáng)弱較弱弱很強(qiáng)一般選擇操作系統(tǒng)應(yīng)用戶站在用戶的角度,人機(jī)交互界面要流暢,數(shù)據(jù)處理速度快。通過對各種操作系統(tǒng)各個(gè)方面的特點(diǎn)進(jìn)行分析和比較之后,本次設(shè)計(jì)選擇有 Android 系統(tǒng)的手5機(jī)作為基礎(chǔ)進(jìn)行開發(fā)。2.3.3 無線通信協(xié)議的選擇為保證本設(shè)計(jì)在無線傳輸中數(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é)議兩種。圖 2-2 網(wǎng)絡(luò)傳輸協(xié)議層TCP 即傳輸控制協(xié)議,提供面向連接的字節(jié)流服務(wù)。UDP 即用戶數(shù)
18、據(jù)報(bào)協(xié)議,是面向數(shù)據(jù)報(bào)的傳輸層協(xié)議。TCP 與 UDP 的區(qū)別于有連接和無連接,UDP 程序結(jié)構(gòu)較簡單,TCP 保證數(shù)據(jù)正確。故 UDP 傳輸速度快占用帶寬小卻不穩(wěn)定,UDP 傳輸穩(wěn)定性沒有被解決,所以本設(shè)計(jì)選擇了穩(wěn)定性較高的 TCP 協(xié)議傳輸數(shù)據(jù)。3 硬件控制器的設(shè)計(jì)與實(shí)現(xiàn)單片機(jī)是集成電路芯片,構(gòu)成的了完善的微型計(jì)算機(jī)系統(tǒng)。ESP8266 模塊具有設(shè)計(jì)緊湊、功耗低、穩(wěn)定性高等特點(diǎn),具有較完整的 Wi-Fi 網(wǎng)絡(luò)功能,既可以獨(dú)立應(yīng)用,也可以作為從機(jī)搭載到單片機(jī)或嵌入式上運(yùn)行。單片機(jī)與 ESP8266 組成控制系統(tǒng)。ESP8266負(fù)責(zé)無線傳輸數(shù)據(jù),單片機(jī)處理數(shù)據(jù)并控制燈光。3.1 控制器的主要芯
19、片和模塊3.1.1 主控芯片 STM32F103本次硬件部分的設(shè)計(jì)采用單片機(jī) STM32F103 系列作控制芯片,該芯片是 32 位的Cortex-M3 的處理器,性能穩(wěn)定,成本低廉,處理速度快,有豐富的內(nèi)部資源。能夠滿足6燈光控制器硬件控制端的需求。STM32 的引腳如圖 3-1 所示:要保證 STM32F103 能夠正常工作,需要幾個(gè)簡單電路組成最小系統(tǒng),最小系統(tǒng)主要包括:外部晶振電路、復(fù)位電路、電源供電電路等,STM32 的系統(tǒng)電路如圖 3-2 所示。圖 3-1 單片機(jī) STM32F103 引腳圖圖 3-2 單片機(jī)最小系統(tǒng)原理圖7本設(shè)計(jì)主要使用到了 STM32F103 中的定時(shí)器、串口通
20、信、I/O 口輸出 PWM 和 I/O 口輸出高低電平。定時(shí)器定時(shí)一秒用于訪問服務(wù)器獲取控制數(shù)據(jù),串口通信用于 ESP8266模塊的通信,I/O 口控制照明燈亮滅。3.1.2 ESP8266 模塊ESP8266 可以應(yīng)用于大部分微控制器的設(shè)計(jì)中。ESP8266 具有快速切換模式、配合低功耗操作、故障排除等特點(diǎn)。ESP8266 更加適用于移動設(shè)備、可穿戴電子設(shè)備。圖 3-3 ESP8266 接線原理圖表 3-1 常用 AT 指令A(yù)T+CWMODE=x設(shè)置模式 1:STATION 2:AP 3: STATION+APAT+RST復(fù)位AT+CIPMUX=x開啟 mux 多路連接設(shè)置為服務(wù)器時(shí),必須開
21、啟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 能連接方式(手機(jī)軟件連接)AT+CIPSEND透傳模式AT+CWLAP列出當(dāng)前可用 AP如圖 3-3 所示為 ESP8266 的接線原理圖而 ESP8266 與微控制器之間的通信方式是串8口通信。MCU 通過串口發(fā)送 AT 指令對 ESP8266 進(jìn)行設(shè)置和數(shù)據(jù)傳遞。使用串口工具發(fā)送 AT 指令對 ESP8266 進(jìn)行復(fù)位、查看版本信息、連接 Wi-Fi、設(shè)置模式
22、等操作。表 3-1為常用的 AT 指令。3.1.3 LED 燈的控制電路使用 LED 燈作為照明燈的方案,LED 燈珠電流很大,單片機(jī)無法點(diǎn)亮,需要一個(gè)驅(qū)動電路,此設(shè)計(jì)中選擇 ULN2003 作為驅(qū)動芯片。ULN2003 是一款高耐壓、大電流復(fù)合晶體管陣列的芯片。多用于智能儀表、單片機(jī)、PLC 等控制電路中。可直接驅(qū)動繼電器、步進(jìn)電機(jī)、較大功率的 LED 燈珠等負(fù)載。本設(shè)計(jì)的燈光控制部分利用了 ULN2003 的電流增益高和帶負(fù)載能力強(qiáng)的特性。設(shè)計(jì)了如圖 3-4 所示的電路,使用到了 NPN 復(fù)合晶體管??梢钥刂茻舨煌瑺顟B(tài),通過單片機(jī)控制輸出 PWM 的占空比不同 LED 燈可呈現(xiàn)不同的亮暗程
23、度。添加電容可以進(jìn)行濾波同時(shí)增加電源的穩(wěn)定性。圖 3-4 LED 燈電路設(shè)計(jì)原理圖3.1.4 繼電器控制電路目前家中使用的都是 220V 供電的照明燈,本次設(shè)計(jì)了另一個(gè)方案就是使用繼電器控制家用照明燈開閉。燈光控制器的設(shè)計(jì)采用了電磁繼電器。當(dāng)電磁線圈通電導(dǎo)通銜鐵被吸下常開端導(dǎo)通有。所以此種方案的燈光照明只有開關(guān)兩種狀態(tài)。本設(shè)計(jì)燈光控制部分的繼電器電路如圖 3-5 所示,照明燈接繼電器常開端,添加二極管保護(hù)電路避免電磁線圈回流,損壞電路,驅(qū)動繼電器的電流很大需要三極管放大電流。這樣即可保護(hù)芯片還可以保護(hù)其他電路。這樣就可以利用 I/O 口直接控制照明燈的開關(guān)。9圖 3-5 繼電器電路原理圖3.1
24、.5 電源供電電路本設(shè)計(jì)采用 220V 轉(zhuǎn) 5V 模塊供電,普通家庭用電都為 220V,直接使用 220V 電源供電可以增加本設(shè)計(jì)的通用性,但是 STM32F103 芯片和 ESP8266 模塊都需要 3.3V 供電,如圖 3-6 所示電源電路。本設(shè)計(jì)采用 ME6211 降壓芯片。本設(shè)計(jì)中 ESP8266 模塊對電流需求較高,所以 ME6211 是符合設(shè)計(jì)的需求的。電路中采用了很多電容進(jìn)行濾波和穩(wěn)壓,穩(wěn)定的電壓可以保證芯片和模塊的正常工作。圖 3-6 電源電路原路圖103.2 控制器的程序的設(shè)計(jì)與實(shí)現(xiàn)3.2.1 控制器程序流程圖本設(shè)計(jì)采用 STM32 為控制芯片,通過編程,要實(shí)現(xiàn)的各種功能,實(shí)
25、現(xiàn)燈光控制程序和無線通信程序并建立聯(lián)系控制完成控制器的設(shè)計(jì)。程序流程如圖 3-7 所示。圖 3-7 主程序流程圖3.2.2 Wi-Fi 模塊的程序設(shè)計(jì)ESP8266 與 STM32F103 之間的通信是通過串口向 Wi-Fi 模塊發(fā)送 AT 指令。11ESP8266 的工作流程如圖 3-8 所示。圖 3-8 ESP8266 工作流程圖在程序中把每一個(gè) AT 指令以函數(shù)的形式表現(xiàn)出來,這樣主程序中調(diào)用指令的函數(shù)以達(dá)到控制 ESP8266 的目的。調(diào)用函數(shù)可以使主函數(shù)更加簡潔易懂。以測試指令“AT”為例。如圖 3-9 所示。在程序中直接調(diào)用函數(shù) ESP8266_AT_Test 函數(shù)即可以向模塊發(fā)送
26、指令并可以檢測到模塊反饋回的信息。判斷反饋信息中是否含有“OK”字符,若含有 OK則說明測試成功??梢岳^續(xù)執(zhí)行下面的程序。若數(shù)據(jù)中沒有“OK”則說明 ESP8266 還沒有準(zhǔn)備好需要等待。圖 3-9 測試指令函數(shù)ESP8266 測試成功后已經(jīng)完成啟動為模塊進(jìn)行配置,設(shè)置工作模式為 Station 模式,12STM32F103 通過串口給 ESP8266 發(fā)送 Wi-Fi 搜索指令“AT+CWLAP”得到當(dāng)前所在范圍內(nèi)的 Wi-Fi 信號。在程序中我們將連接 Wi-Fi 的指令寫入獨(dú)立的函數(shù)里,函數(shù)中使用scanf 函數(shù)將熱點(diǎn)的 SSID 和密碼通過串口發(fā)到 STM32F103 上經(jīng)過處理后發(fā)送
27、到 ESP8266連接 Wi-Fi。連接服務(wù)器我們用到的是 TCP 連接方式。在連接服務(wù)器成功后 ESP8266 設(shè)置成透傳模式更加方便數(shù)據(jù)傳輸,TCP/IP 連接后將數(shù)據(jù)封裝成 HTTP 的數(shù)據(jù)格式,在程序中編寫了訪問服務(wù)器的函數(shù),如圖 3-16 所示,ESP8266_control 函數(shù)將已封裝好的 HTTP 的數(shù)據(jù)通過 ESP8266 訪問服務(wù)器數(shù)據(jù)庫,發(fā)送和接收數(shù)據(jù)以達(dá)到控制燈的目的。通過定時(shí)器定時(shí)訪問服務(wù)器。圖 3-16 服務(wù)器訪問程序片段3.2.3 燈光控制模塊控制設(shè)計(jì) 燈光控制模塊分兩部分,一部分控制 LED 燈使用 PWM 輸出調(diào)節(jié) LED 燈的亮暗程度改變燈的狀態(tài)。另一部分使
28、用繼電器控制 220V 照明燈供電只有燈亮和燈滅兩種狀態(tài)。LED 燈程序設(shè)計(jì),初始化引腳 PA6 口并設(shè)置成 PWM 輸出。PWM(脈沖寬度調(diào)制)同一頻率下高低電平得時(shí)長不同并可以調(diào)節(jié)。在 STM32 中設(shè)置 PWM 輸出要占用一個(gè)定時(shí)器首先要初始化定時(shí)器時(shí)鐘、預(yù)分頻值、自動重裝值、計(jì)數(shù)模式等。設(shè)定其次配置PWM 的模式并設(shè)定跳變值并使能該通道達(dá)到輸出可變方波的目的。PWM 的值決定燈的亮度。照明燈的程序設(shè)計(jì),初始化引腳 PC14 后將該引腳清零變成低電平繼電器斷開控制關(guān)燈,將引腳置一則控制開燈。兩種方案都是通過判段 ESP8266 模塊接收到的數(shù)據(jù)進(jìn)行提取分析判斷是否可以存在字符串 open
29、a、openb、openc、close 收到不同的字符串 LED 燈的呈現(xiàn)亮暗不同。4 服務(wù)器的設(shè)計(jì)與實(shí)現(xiàn)在本設(shè)計(jì)中用到的是 Tomcat 軟件作為服務(wù)器,使用 MySQL 作為數(shù)據(jù)存儲,PHP 語13言編寫服務(wù)器后臺程序。組成完整的服務(wù)器系統(tǒng)架構(gòu)。4.1 服務(wù)器數(shù)據(jù)庫的設(shè)計(jì)4.1.1 登陸注冊數(shù)據(jù)表格的設(shè)計(jì)登錄模塊的數(shù)據(jù)庫主要存儲的是用戶的賬號相關(guān)信息。將用戶 id,賬號名稱和密碼用戶名和年齡放在一個(gè) table_user_password 表中,能夠快速的驗(yàn)證用戶的身份。表 4-1即為 table_user_password 表。用戶的登錄密碼存健在密碼字段中,為了保證用戶的密碼安全性,不
30、被泄露。userPassword 字段應(yīng)對其先加密后存儲。密碼的加密方式是 md_5,之后再將其存儲到數(shù)據(jù)庫中。表 4-1 table_user_password 表table_user_password 字段數(shù)據(jù)類型數(shù)據(jù)長度userIdint10userAccountchar50userPasswordchar30usernamechar50userAgechar204.1.2 燈光狀態(tài)數(shù)據(jù)表格的設(shè)計(jì)table_led 表格用于存儲燈光控制器的相關(guān)信息,如表 4-2 所示。table_led 表含有燈光節(jié)點(diǎn) _id 、燈光名稱 ledname 可以在手機(jī)端直接更改。Ledcode 唯一碼是識
31、別每個(gè)控制器的識別標(biāo)準(zhǔn),是控制器芯片的唯一編碼是獨(dú)一無二。通過改變 ledkey 的值控制燈的開關(guān)。Ledstate 表示控制器的反饋回的狀態(tài)。Ledtunable 反饋燈是否可調(diào)。表 4-2 table_led 表table_led 字段數(shù)據(jù)類型數(shù)據(jù)長度_idint20Lednamechar50Ledstatechar30Ledkeychar30Ledcodechar5014Ledtunablechar204.2 服務(wù)器程序設(shè)計(jì)4.2.1 用戶登陸注冊編輯的設(shè)計(jì)此數(shù)據(jù)表的設(shè)計(jì)是將用戶時(shí)注冊的信息保存到數(shù)據(jù)庫中,登陸時(shí)查找數(shù)據(jù)表里的信息通過對比賬號和密碼,當(dāng)賬號和密碼與數(shù)據(jù)表里的一致判定登陸成
32、功。密碼不一致顯示“密碼錯(cuò)誤” ,賬號搜索不到表示該賬號沒有被注冊,顯示“查無此人” 。編輯是將用戶已注冊的信息進(jìn)行修改。如圖 4-1 所示為登陸和注冊的流程。圖 4-1 登陸注冊流程圖首先服務(wù)器連接 MySQL,用 PHP 語言編寫的是服務(wù)器連接數(shù)據(jù)庫的語句與 MySQL里的數(shù)據(jù)庫連接。通過 PHP 語言編寫程序訪問服務(wù)器的控制終端將用戶信息向用戶表添加數(shù)據(jù)。主要利用的是服務(wù)器通 PHP 語言對 MySQL 進(jìn)行數(shù)據(jù)的增刪改查。在注冊成功15后同時(shí)為用戶創(chuàng)建新表以用戶賬號命名記錄用戶登陸時(shí)間,如圖 4-2 所示。圖 4-2 用戶登陸時(shí)間記錄圖修改用戶信息同樣是利用的是 PHP 語言對 MyS
33、QL 進(jìn)行增刪改查。在登陸、注冊、修改成功或失敗后都會反饋出信息以供手機(jī)端判斷。4.2.2 燈光控制與搜索的設(shè)計(jì)手機(jī)應(yīng)用控制燈是訪問服務(wù)器中 PHP 語言的程序是對 MySQL 中的 table_led 表里數(shù)據(jù)的增刪改查。 “l(fā)edstate”項(xiàng)的值是表示的是當(dāng)前的燈的狀態(tài), “l(fā)edkey”項(xiàng)的值是手機(jī)控制燈光將要改變成的狀態(tài)。在編寫程序中用到了 JSON 數(shù)據(jù)解析,LED1 的數(shù)據(jù)格式表示為:ledname:LED1,ledstate:close,ledcode:640582115,ledtunable:yes在手機(jī)接收到此條數(shù)據(jù)后可以查看燈的狀態(tài)、燈的名字、控制器的唯一編碼等,該控制器
34、是否可調(diào)的數(shù)據(jù)需要一次傳輸方便手機(jī)端去解析。手機(jī)接收到數(shù)據(jù)后將分配到各個(gè)部分。反饋到手機(jī)界面可以讓用戶看到。4.2.3 ESP8266 訪問服務(wù)器設(shè)計(jì)控制器端使用 ESP8266 的透傳模式打包成 HTTP 格式訪問服務(wù)器同樣是對 MySQL 中的 table_led 表里數(shù)據(jù)的增刪改查。主要是接收 ledkey 項(xiàng)里的值,并將狀態(tài)值發(fā)送給服務(wù)器并寫入 ledstate 項(xiàng)中。如圖 4-3 所示16圖 4-3 硬件控制端訪問流程圖5 手機(jī)應(yīng)用的設(shè)計(jì)與實(shí)現(xiàn)5.1 Android 系統(tǒng)平臺簡介圖 5-1 為 Android 系統(tǒng)的體系結(jié)構(gòu)Android 是一種基于 Linux 內(nèi)核的操作系統(tǒng),一般
35、運(yùn)用于移動平臺,并且源代碼是開17放的。Android 系統(tǒng)的構(gòu)建如圖 5-1 所示。5.2 程序流程框圖本設(shè)計(jì)使用手機(jī)作控制終端。編寫手機(jī)應(yīng)用程序,賦予手機(jī)應(yīng)用應(yīng)有的功能完成手機(jī)端的設(shè)計(jì)。如圖 5-2 為手機(jī)應(yīng)用流程圖。圖 5-2 手機(jī)應(yīng)用流程圖5.3 應(yīng)用程序設(shè)計(jì)與實(shí)現(xiàn)5.3.1 手機(jī)應(yīng)用界面的設(shè)計(jì)在控制和查看燈光控制端之前,用戶首先需要進(jìn)行登錄驗(yàn)證,驗(yàn)證成功進(jìn)入燈控界面。系統(tǒng)軟件的開始界面使登錄界面,用戶要輸入賬號和密碼,經(jīng)過服務(wù)器系統(tǒng)驗(yàn)證是否存在該用戶,密碼是否正確,驗(yàn)證成功界面跳轉(zhuǎn),第一次使用還需要進(jìn)行注冊。然后點(diǎn)擊登錄鍵,手機(jī)將用戶名與密碼通過局域網(wǎng) Wi-Fi 網(wǎng)絡(luò)發(fā)送到服務(wù)器,
36、等待反饋,驗(yàn)證成功后即進(jìn)入到操作界面初始界面。如圖 5-3 為登陸界面,圖 5-4 為注冊界面。18 圖 5-3 用戶登錄界面 圖 5-4 用戶注冊界面 圖 5-5 燈控主界面 圖 5-6 燈搜索界面用戶登錄成功后會進(jìn)入燈控界面,如圖 5-5 所示,進(jìn)入界面后界面為空需要點(diǎn)擊“添加燈”按鈕進(jìn)入搜索燈界面,如圖 5-6 所示。點(diǎn)擊條目添加燈重新跳轉(zhuǎn)到燈的界面,這兩個(gè)界面都是遵循規(guī)定的布局文件顯示出的這些界面,即為燈光控制和搜索界面。在手機(jī)應(yīng)用中使用用戶注冊的信息有時(shí)需要修改,信息修改界面如圖 5-7 所示,在燈19的主控界面點(diǎn)擊“用戶信息修改”按鈕。即可跳轉(zhuǎn)至該頁面,遵循在 Android st
37、udio 中的布局文件顯示出的這些界面。用戶在添加成功某一個(gè)燈后要修改燈名,點(diǎn)擊 Item 條目里的編輯按鈕跳轉(zhuǎn)至編輯界面如圖 5-8,用戶不想控制此燈時(shí)可以點(diǎn)擊“刪除此燈”按鈕,即可在等主控界面刪除該燈。 圖 5-7 用戶信息修改界面 圖 5-8 燈編輯界面5.3.2 手機(jī)應(yīng)用后臺運(yùn)行程序的設(shè)計(jì)手機(jī)應(yīng)用進(jìn)行登陸注冊的流程如圖 5-9 所示,進(jìn)入手機(jī)應(yīng)用后會進(jìn)入登陸主界面在主界面的 Activity 中先連接已經(jīng)設(shè)置完成的布局文件,初始化各個(gè)控件的 id,對“登陸”和“注冊”按鈕進(jìn)行監(jiān)聽。點(diǎn)擊“注冊”的按鈕會跳轉(zhuǎn)到注冊頁面。點(diǎn)擊“登陸”程序會執(zhí)行監(jiān)聽內(nèi)的程序,首先是判斷 Edit Text 里
38、的字符串是否為空,若為空會給出提示,若不為空則繼續(xù)執(zhí)行。要訪問服務(wù)器需要創(chuàng)建子線程,只有在子線程中去訪問網(wǎng)址這樣主程序才不會報(bào)錯(cuò),手機(jī)應(yīng)用才不會卡死。Android 手機(jī)訪問服務(wù)器時(shí)用到 Http URL Connection 協(xié)議 。程序中使用的是 GET 的請求方式,訪問完成后得到的反饋信息,程序中對 HTTP 狀態(tài)碼進(jìn)行判斷,當(dāng) HTTP 狀態(tài)碼為 200 時(shí)說明訪問成功并將數(shù)據(jù)存放到字符串中。在 Handler 中進(jìn)行數(shù)據(jù)解析和對比判斷,是否登陸或注冊成功。Handler 是異步消息處理機(jī)制。服務(wù)器請求的時(shí)間較長并且20又具有不確定性,所以要在子線程執(zhí)行數(shù)據(jù)訪問并且在 Handler
39、中處理數(shù)據(jù)。圖 5-9 手機(jī)登陸注冊流程圖燈光控制界面和燈光搜索界面的程序的實(shí)現(xiàn),界面的布局文件主要使用是 ListView 顯示狀態(tài)并控制燈。在開發(fā)軟件中自定義 ListView 的布局如圖 5-11 所示,設(shè)計(jì)實(shí)現(xiàn)左側(cè)圖片顯示燈光狀態(tài),TextView 分別顯示燈名、是否為可調(diào)燈、燈的唯一碼。Button 分別控制三種燈的狀態(tài)、關(guān)燈和編輯燈。程序主要在新建類 LedAdapter 中實(shí)現(xiàn)的。使用子線程處理接收到的 JSON 數(shù)據(jù),分析數(shù)據(jù)判斷照明燈的狀態(tài)以圖片不同亮度表現(xiàn)出來。點(diǎn)擊“編輯”按鈕跳轉(zhuǎn)界面用于修改照明燈的名稱或者把該燈移除燈控主界面。使用“開燈1” 、 “開燈 2” 、 “開燈
40、 3” 、 “關(guān)燈”監(jiān)聽按鈕發(fā)出數(shù)據(jù)請求改變燈的狀態(tài)。搜索界面的程序在啟動 Activity 直接進(jìn)行服務(wù)器訪問獲取數(shù)據(jù),使用控件顯示全部的照明燈,以供用戶選擇并可以實(shí)現(xiàn)點(diǎn)擊 Item 即可添加燈到主界面。使用到了對于 Item 的監(jiān)聽,跳轉(zhuǎn)界面并傳輸數(shù)據(jù)。并將添加的數(shù)據(jù)進(jìn)行保存到文件中和字符串?dāng)?shù)組中,以方便下次使用能夠繼續(xù)顯示在主界面,避免重復(fù)添加。21 圖 5-11 控制界面 Item 的布局 圖 5-12 搜索界面 Item 的布局 6 系統(tǒng)測試 在燈光控制器的硬件部分完成,服務(wù)器程序編寫和調(diào)試結(jié)束,手機(jī)應(yīng)用軟件編程和調(diào)試結(jié)束后,需要本次設(shè)計(jì)進(jìn)行一個(gè)全面的測試,來驗(yàn)證系統(tǒng)的功能的實(shí)現(xiàn)和穩(wěn)
41、定性。系統(tǒng)測試分為功能測試和性能測試。性能測試主要檢驗(yàn)系統(tǒng)的穩(wěn)定性。6.1 功能測試檢測系統(tǒng)功能是否完整,是否符合本次設(shè)計(jì)中的設(shè)定功能。每個(gè)模塊之間能否正常通信,每個(gè)模塊的功能是否實(shí)現(xiàn)。本次測試是對其主要功能進(jìn)行測試。6.1.1 硬件控制端部分測試將單片機(jī)處于復(fù)位狀態(tài),并與外部電路連接,焊接好的硬件實(shí)物圖如圖 6-1 所示。圖 6-1 硬件實(shí)物圖22將服務(wù)器與燈光控制器連接到同一局域網(wǎng)下。通過測試,通過改變服務(wù)器數(shù)據(jù)庫的值改變燈的狀態(tài),進(jìn)行相應(yīng)的修改操作,即可實(shí)現(xiàn)對燈光控制器控制并開關(guān) 50 次。測試出控制器可以實(shí)時(shí)做出反應(yīng),可見設(shè)備開關(guān)反應(yīng)靈敏,時(shí)間延遲也較小。6.1.2 手機(jī)應(yīng)用部分測試
42、打開手機(jī) App 并保證手機(jī)和服務(wù)器在同一局域網(wǎng)內(nèi)。通過測試,開始對手機(jī)注冊登陸進(jìn)行測試,注冊登錄成功后可以在服務(wù)器端數(shù)據(jù)庫中看到注冊信息,多次測試都能上傳到服務(wù)器并在下次可以繼續(xù)登陸,同時(shí)還可以更改用戶信息。實(shí)現(xiàn)搜索燈點(diǎn)擊添加不能重復(fù)添加測試,多次點(diǎn)擊同一個(gè)燈都不能同時(shí)加??刂茻魷y試點(diǎn)擊開關(guān)燈可以看到數(shù)據(jù)庫中有關(guān)燈的表里的值在改變。多次進(jìn)行測試數(shù)據(jù)庫都可以接收到接收數(shù)據(jù)穩(wěn)定。6.1.3 總體測試測試手機(jī) App 控制照明燈并保證燈光控制器和手機(jī) App 在同一局域網(wǎng)內(nèi)。開啟服務(wù)器,使用手機(jī)測試燈光控制器的功能,使用手機(jī)多次控制燈光控制器,控制器都可以及時(shí)的做出反應(yīng),并把燈的狀態(tài)信息反饋到手機(jī)
43、上。多次測試系統(tǒng)穩(wěn)定,燈光控制器有 1秒左右的反應(yīng)時(shí)間,時(shí)間延遲小,但手機(jī)端的燈光狀態(tài)反饋速度稍慢在 4 秒左右。6.2 性能測試性能測試中包括系統(tǒng)穩(wěn)定性測試和硬件斷電恢復(fù)測試,通過模擬特殊情況和正常情況的模擬測試,測試每項(xiàng)功能與設(shè)計(jì)要求是否相同。6.2.1 系統(tǒng)穩(wěn)定性測試本次測試對系統(tǒng)進(jìn)行了 24 小時(shí)的連續(xù)開機(jī),檢驗(yàn)系統(tǒng)能否繼續(xù)正常工作。測試結(jié)果表明,在連續(xù) 24 小時(shí)的工作狀態(tài)下,系統(tǒng)可以執(zhí)行,并未出現(xiàn)異常狀況。6.2.2 硬件斷電恢復(fù)測試 斷電測試是為了驗(yàn)證本次設(shè)計(jì)可靠性,在多次斷電通電的狀態(tài)下,系統(tǒng)設(shè)計(jì)的軟硬件都沒有損壞,并能夠繼續(xù)正常的工作,功能完好。將系統(tǒng)正常打開并運(yùn)行,然后切斷
44、電源,系統(tǒng)重新啟動,系統(tǒng)能夠正常運(yùn)行。重復(fù)多次實(shí)驗(yàn),系統(tǒng)仍然運(yùn)行穩(wěn)定。對系統(tǒng)的斷電恢復(fù)測試一共進(jìn)行 20 次,測試過程中,在上電后,系統(tǒng)都能夠自動恢復(fù),并且恢復(fù)后各項(xiàng)功能均可以正常運(yùn)行。237 總結(jié)與展望7.1 總結(jié)人們生活變化日新月異是科技快速的發(fā)展的表現(xiàn),物聯(lián)網(wǎng)的出現(xiàn)更是給家居生活帶來了更多的便利。本設(shè)計(jì)是基于 Android 平臺和 Wi-Fi 技術(shù)的,實(shí)現(xiàn)了對家中照明燈的實(shí)時(shí)控制和監(jiān)測。本次設(shè)計(jì)的優(yōu)勢有:1.使用 Wi-Fi 技術(shù)作為無線通信技術(shù)。成本低并且減少布線,使用 ESP8266 模塊安裝簡單操作方便,大多數(shù)人都可以使用本次設(shè)計(jì)產(chǎn)品。2.基于 Android 平臺設(shè)計(jì)開發(fā)手機(jī)應(yīng)
45、用。Android 系統(tǒng)的源代碼公開,遷移性好,日后方便對軟件升級,各種新功能不斷出現(xiàn)越來越強(qiáng)大,并且 Android 系統(tǒng)中也在不斷的融入智能家居的相關(guān)功能。3.關(guān)于燈光控制器的設(shè)計(jì)是符合市場發(fā)展的,結(jié)合了 Android 系統(tǒng)和 Wi-Fi 技術(shù),人們都很容易接受。在這兩者的結(jié)合下做了本次設(shè)計(jì),也是為了更好迎合消費(fèi)者的需求。7.2 展望由于各種客觀原因,本設(shè)計(jì)仍然不夠完善,不能滿足所有的用戶需求。現(xiàn)如今只實(shí)現(xiàn)基礎(chǔ)功能,可以說只表現(xiàn)出了智能家居的部分功能,還有很多問題需要解決。1.控制系統(tǒng)延遲。本次設(shè)計(jì)搭建的物聯(lián)網(wǎng)系統(tǒng)只在局域網(wǎng)中實(shí)現(xiàn)還需要擴(kuò)展到廣域網(wǎng)中,因?yàn)榫W(wǎng)速、帶寬和設(shè)備等原因?qū)е聦舻?/p>
46、控制還存在延時(shí)。盡可能縮短延時(shí)優(yōu)化各部分的程序。2.功能的拓展。本設(shè)計(jì)還可以利用在家居的其他設(shè)備上,例如:控制家中的窗簾,控制空調(diào),檢測煙霧進(jìn)行報(bào)警等。實(shí)現(xiàn)較完整的智能家居系統(tǒng),這些功能還要更多時(shí)間的進(jìn)行研究。3.系統(tǒng)的安全性問題。本設(shè)計(jì)會用到用戶的資料,人們在選擇智能家居產(chǎn)品時(shí)一定會考慮其對個(gè)人信息的保護(hù),因此需要對數(shù)據(jù)進(jìn)行非常嚴(yán)苛的加密處理。為了使系統(tǒng)的安全性更高,這部分仍需要投入更多時(shí)間精力。24參考文獻(xiàn)參考文獻(xiàn)1 李朝清PC 機(jī)及單片機(jī)數(shù)據(jù)通信技術(shù) M. 北京航空航天大學(xué)出版社, 2000.2 胡漢才單片機(jī)原理及其接口技術(shù) M. 清華大學(xué)出版社, 1996.3 DavidM.Buchl
47、a,Gary Snyder Multisim Experiments for DC/AC Digital and Devices Courses J. Prentice Hall, 2010,8.4 彭偉單片機(jī) C 語言程序設(shè)計(jì)實(shí)例 100 例 M. 西安: 電子工業(yè)出版社, 1999: 23-45.5 萬福君單片機(jī)微機(jī)原理系統(tǒng)設(shè)計(jì)與應(yīng)用 M. 中國科技大學(xué)出版社, 2004.6 趙光宙信號分析與處理(第二版)M. 機(jī)械工業(yè)出版社, 2010.7 張國雄測控電路(第四版)M. 機(jī)械工業(yè)出版社, 2011.8 譚浩強(qiáng)C 語言程序設(shè)計(jì)(第三版)M. 清華大學(xué)出版社, 2005.9 M.Morris
48、Mano,Michael Ciletti Digital Design Electronic Industry Press J. Prentice Hall, 2005.10 劉愛軍物聯(lián)網(wǎng)技術(shù)現(xiàn)狀及應(yīng)用前景展望 J.物聯(lián)網(wǎng)技術(shù),2012(01).11 陳煜基于 Android 系統(tǒng)的手機(jī)文件管理器的設(shè)計(jì)與實(shí)現(xiàn) C. 成都: 西南交通大學(xué), 2012 (9):47-51.12 JamesW.Nilsson,SusanA.Riedel,Electic Circuits,Ninth Edition J.Pubilishing House of Electronics Industry, 2012.1
49、3 趙亮, 侯國銳單片機(jī) C 語言編程與實(shí)例 M. 北京:人民郵電出版社, 2001, 2: 100-200. 14 劉志紅單片機(jī)原理及應(yīng)用 M. 重慶:重慶大學(xué)出版社, 2011.15 白家旺,雷騰躍,屈琦凱.淺談嵌入式系統(tǒng)對智能家居的影響J.廣東科技,2015(10):59-60.16本刊訊如何選擇適用的智能家居系統(tǒng)J.中國公共安全:學(xué)術(shù)版,2012(12):56-57.17魏宏飛,黃宗建,吳會敏基于物聯(lián)網(wǎng)的智能家居系統(tǒng)探究J.電子測試,2013(12):79-80.18本刊訊 “公安物聯(lián)網(wǎng)建設(shè)與應(yīng)用戰(zhàn)略規(guī)劃研究”項(xiàng)目啟動J.中國公共安全:學(xué)術(shù)版,2013(19):40-40.2519王暉
50、物聯(lián)網(wǎng)智能家居的發(fā)展前景一物聯(lián)網(wǎng)時(shí)代智能家居的發(fā)展趨勢J.智能建筑,2013: 16-19.20劉麗娜物聯(lián)網(wǎng)引領(lǐng)智能家居新生活J.智能建筑與城市信息,2011(2):21-25.26附附錄錄硬件部分代碼:void ESP8266_WebFetch_Test ( void )char cStrInput 100 = 0 , * pStrDelimiter 2, * pBuf, * pStr;u8 uc = 0;int stated=0;char *state;char close=close;char opena=opena;char openb=openb;char openc=openc;
51、PC_Usart ( rnESP8266 燈光控制器的設(shè)計(jì)rn );ESP8266_Rst (); Delay_ms ( 3000 );ESP8266_Choose ( ENABLE );/判斷 WiFi 處于那種模式;ESP8266_AT_Test ();/測試 AT 指令ESP8266_Net_Mode_Choose ( STA ); /設(shè)置 WiFi 的模式ESP8266_Cmd ( AT+CWLAP, OK, 0, 5000 );/查找 WiFi 名/*加入網(wǎng)絡(luò)*/ doPC_Usart ( rnInternet 的 WiFi 名稱和密鑰,名稱字符+英文逗號+密鑰字符+空格rn );s
52、canf ( %s, cStrInput );/輸出字符串PC_Usart ( rn 稍等片刻 rn );pBuf = cStrInput;uc = 0;while ( ( pStr = strtok ( pBuf, , ) ) != NULL )pStrDelimiter uc + = pStr;pBuf = NULL;27 while ( ! ESP8266_JoinAP ( pStrDelimiter 0, pStrDelimiter 1 ) );/連接 WiFi /連接服務(wù)器while ( ! ESP8266_Link_Server ( enumTCP, 192.168.137.1,8
53、001, Single_ID ) );/連接服務(wù)器端口 8001ESP8266_UnvarnishSend ();/使用透傳模式state=close;Delay_ms ( 1000 );PC_Usart (1 n);TIM2_Init(9999,7199);Delay_ms ( 1000 );/TIM_Cmd(TIM2,ENABLE);while(1)if( GPIO_ReadOutputDataBit( GPIOC, GPIO_Pin_15 )=1)GPIO_ResetBits( GPIOC, GPIO_Pin_15);if(stated=1)stated=0;else stated=1;
54、switch(stated)case 0: state=close;GPIO_ResetBits( GPIOC, GPIO_Pin_14 );break;case 1: state=opena;GPIO_SetBits( GPIOC, GPIO_Pin_14 );break;default:state=close;GPIO_ResetBits( GPIOC, GPIO_Pin_14 );break;ESP8266_key ( state );Delay_ms (500); if(flag=1)flag=0; ESP8266_control ( state );28if(strstr(strEs
55、p8266_Fram_Record .Data_RX_BUF,chuangclose) ) PC_Usart (關(guān)燈); state=close;stated=0;/調(diào)整亮度 PC14 關(guān) if( strstr(strEsp8266_Fram_Record .Data_RX_BUF,chuangopen) ) PC_Usart (開燈); state=opena;stated=1;/調(diào)整亮度 PC14 if( strstr(strEsp8266_Fram_Record .Data_RX_BUF,chuangopen) ) PC_Usart (開燈); state=openb;stated=1;
56、/調(diào)整亮度 PC14 if( strstr(strEsp8266_Fram_Record .Data_RX_BUF,chuangopen) ) PC_Usart (開燈); state=openc;stated=1;/調(diào)整亮度 PC14 if(strstr(strEsp8266_Fram_Record .Data_RX_BUF,400) ) break;/跳出循環(huán) Delay_ms ( 10 ); switch(stated)case 0: GPIO_ResetBits( GPIOC, GPIO_Pin_14 );break;case 1: GPIO_SetBits( GPIOC, GPIO_
57、Pin_14 );break;default:GPIO_ResetBits( GPIOC, GPIO_Pin_14 );break;29致致謝謝本設(shè)計(jì)和論文的制作都是在我的指導(dǎo)老師張志來老師的耐心指導(dǎo)下才得以順利完成的。我為能選到老師的課題而感到由衷的開心,老師有著嚴(yán)謹(jǐn)?shù)慕虒W(xué)態(tài)度、積極進(jìn)取的心態(tài)、風(fēng)趣幽默的性格,更掌握厚實(shí)的專業(yè)知識,讓我受益匪淺。在整個(gè)設(shè)計(jì)指導(dǎo)過程中,把設(shè)計(jì)中存在的所有邊邊角角的問題全部指出,并給予我正確而嚴(yán)謹(jǐn)?shù)慕ㄗh,我不僅僅學(xué)到專業(yè)的電路知識,學(xué)到了查詢多種多樣資料的方法,更在日常交流中習(xí)得了老師的品行,人變得精神而又進(jìn)取。其次我還要感謝我的同學(xué)們,感謝他們的支持和幫助,使我順利的完成了論文。 在此,我還想對培養(yǎng)過我的信息工程學(xué)院的老師們表示深深的感謝,同時(shí)也對提供參考文獻(xiàn)的學(xué)者們表示感謝。
- 溫馨提示:
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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。