摘要:
為了解決空調(diào)耗電量大,管理不當(dāng)將浪費大量電能的問題,達(dá)到節(jié)約電能的目的,文章設(shè)計了基于物聯(lián)網(wǎng)云平臺的空調(diào)智能控制系統(tǒng),整個系統(tǒng)分為手機APP客戶端、機智云物聯(lián)網(wǎng)平臺及基于STM32的智能空調(diào)控制終端三大部分;智能空調(diào)控制終端模塊實時采集周邊環(huán)境的溫濕度數(shù)據(jù),經(jīng)過STM32單片機對數(shù)據(jù)進行處理,再通過esp8266WIFI模塊發(fā)送到手機端,用戶也可以在手機APP
端改變相關(guān)設(shè)置,再由手機端發(fā)送到云平臺,最后由云平臺通過WIFI網(wǎng)絡(luò)發(fā)送給ESP8266WIFI模塊實現(xiàn)遠(yuǎn)程控制空調(diào)的功能;
實驗結(jié)果表明,利用該系統(tǒng)能實時監(jiān)控環(huán)境溫濕度數(shù)據(jù),有效地控制空調(diào)合理使用,控制成功率達(dá)到100%,能營造舒適的生活工作環(huán)境又不造成浪費,適用于多種空調(diào)品牌,具有較高的實用價值。
引言
家用智能空調(diào)是智能家居中重要的組成部分,智能家居是在物聯(lián)網(wǎng)這一大背景下提出來的。家庭中經(jīng)常使用的設(shè)備如:網(wǎng)絡(luò)電視、電風(fēng)扇、地暖、空調(diào)、冰箱、微波爐、智能電燈等通過物聯(lián)網(wǎng)技術(shù)組合到一起并連接網(wǎng)絡(luò),構(gòu)成人們經(jīng)常提及的智能家居。智能家居集開關(guān)控制、手機遠(yuǎn)程控制、室內(nèi)外遠(yuǎn)程遙控、防盜報警、室內(nèi)外環(huán)境監(jiān)測、紅外轉(zhuǎn)發(fā)以及未來可編程開發(fā)拓展等多種功能于一體。與傳統(tǒng)家居相比,智能家居不僅具有過去設(shè)備的全部功能,還擴展了家居設(shè)備自動化和信息化的優(yōu)勢,為使用者提供全方位與設(shè)備進行信息交互功能,同時也降低了諸多能源的消耗[1-3]。
然而由于各種物聯(lián)網(wǎng)設(shè)備千差萬別,使用的通訊協(xié)議不盡相同,常用的通訊方式有串口、WIFI、3G、4G、并口等,導(dǎo)致物聯(lián)網(wǎng)應(yīng)用開發(fā)異常復(fù)雜,使用的編程語言和技術(shù)紛繁多樣,導(dǎo)致應(yīng)用難以實現(xiàn)傳統(tǒng)軟件所具有的可維護性和可伸縮性,同時難以自動傳輸設(shè)備的監(jiān)測數(shù)據(jù)以及傳遞執(zhí)行動作,所以簡化物聯(lián)網(wǎng)應(yīng)用開發(fā)的關(guān)鍵技術(shù)勢在必行。
家用智能空調(diào)控制系統(tǒng)在智能家居物聯(lián)網(wǎng)背景下應(yīng)運而生,目前大部分舊時的普通家居還使用紅外遙控器通過發(fā)送信號對空調(diào)進行控制,但許多家庭面臨遙控器過多、遙控器失靈,以及找不到遙控器等問題,造成了許多的煩惱,隨著科技的發(fā)展,針對這類問題某些廠家發(fā)明了紅外線發(fā)射器,只要將紅外線發(fā)射器插在手機上就能控制家電,但此類產(chǎn)品還存在著明顯的局限性,控制距離過短的問題顯得尤為突出,再加上需要隨時帶在身邊顯得尤為麻煩[4]。
目前家電市場上已有不少推出智能型空調(diào)的公司產(chǎn)品[5],實現(xiàn)原理一般以單片機為控制芯片,內(nèi)置無線通信模塊(如WIFI)與控制平臺通信。這樣的方式須內(nèi)置無線通信模塊,僅供新生產(chǎn)的新型號空調(diào),不能控制老型號普通版空調(diào)。
針對以上紅外線空調(diào)智能控制距離短、新型空調(diào)成本高、物聯(lián)網(wǎng)技術(shù)等原因,本文提出一種方法來實現(xiàn)以手機APP為客戶端,通過網(wǎng)絡(luò)連接云平臺進行虛擬服務(wù)虛擬設(shè)備和外置智能空調(diào)控制終端,可以實現(xiàn)對普通空調(diào)的遠(yuǎn)程控制。本文的空調(diào)智能控制系統(tǒng)基于STM32主控中心、WIFI技術(shù)和機智云平臺而設(shè)計的,關(guān)鍵技術(shù)是采用FlyMcu軟件用Keil MDK5編程實現(xiàn)機智云平臺的SDK和API服務(wù),實現(xiàn)三部分的通信連接,將新的服務(wù)器平臺應(yīng)用于物聯(lián)網(wǎng)的應(yīng)用開發(fā),簡化了物聯(lián)網(wǎng)應(yīng)用開發(fā)的復(fù)雜性,加快了物聯(lián)網(wǎng)應(yīng)用的開發(fā)效率,提高了應(yīng)用的可維護性、可升級性和可擴展性。
1 系統(tǒng)結(jié)構(gòu)及原理
根據(jù)對智能控制系統(tǒng)的總體功能分析,將系統(tǒng)分為以下幾個部分進行模塊化設(shè)計,首先是溫濕度數(shù)據(jù)采集模塊,接著是按鍵控制顯示模塊,最后是WIFI網(wǎng)絡(luò)通訊模塊。溫濕度數(shù)據(jù)采集模塊采集當(dāng)前環(huán)境數(shù)據(jù)信息,發(fā)送給中央處理器,處理器對信息進行讀取,再發(fā)送給液晶顯示模塊顯示。按鍵分別控制空調(diào)的溫度、風(fēng)速和模式,當(dāng)按鍵按下處理器收到信號時進行信號識別,接著把信息發(fā)給液晶顯示模塊顯示。當(dāng)單片機接收到數(shù)據(jù)信息時,單片機也會將數(shù)據(jù)信息通過WIFI網(wǎng)絡(luò)發(fā)送給機智云平臺,機智云平臺再將數(shù)據(jù)信息發(fā)送給手機APP。系統(tǒng)整體框圖如圖1所示。
圖1 系統(tǒng)整體框圖
機智云Aiot開發(fā)平臺是個人或企業(yè)開發(fā)者的一站式智能硬件開發(fā)及云服務(wù)平臺。平臺提供了定義產(chǎn)品、應(yīng)用開發(fā)、硬件設(shè)備的開發(fā)調(diào)試、云端開發(fā)、運營管理、數(shù)據(jù)服務(wù)、產(chǎn)品測試等覆蓋智能硬件接入到運營管理全生命周期服務(wù)的能力。機智云物聯(lián)網(wǎng)平臺為開發(fā)者提供了許多幫助,其中以自助式開發(fā)工具和開放的云平臺對于開發(fā)者而言幫助最大。開發(fā)者開發(fā)硬件聯(lián)網(wǎng)時,常常止步于相關(guān)應(yīng)用程序的開發(fā),因此硬件聯(lián)網(wǎng)在這之前只有部分技術(shù)經(jīng)驗特別豐富的技術(shù)人員才能開發(fā)。
機智云針對這類問題為開發(fā)者提供了完善的SDK與API服務(wù),開發(fā)者只需下載下來直接使用即可,這不但大大降低了開發(fā)者的技術(shù)門檻,而且大大縮短了研發(fā)周期,減少了開發(fā)者花費在軟件開發(fā)等方面的精力,為今后的硬件智能化升級提供了許多寶貴精力[6-8]。
機智云開發(fā)者平臺為開發(fā)者提供了固件包,分為GAgent和MCU兩部分,其中MCU部分是直接與硬件設(shè)備通信的,也就是說,我們通過對MCU內(nèi)部燒入代碼,通過相應(yīng)的程序編程,實現(xiàn)對硬件的控制;然而GAgent相當(dāng)于機智云提供給我們WIFI模塊的固件包,它的作用分為兩方面,一方面為一些硬件模塊提供配置入網(wǎng)功能或者是綁定手機功能,另一方面為手機控制硬件或者云端與硬件信息交互提供幫助。
機智云為用戶提供豐富的云服務(wù)功能,開發(fā)者可以在機智云服務(wù)平臺上注冊用戶和登錄、注冊設(shè)備和注銷、綁定設(shè)備和解綁等。機智云上的配置文件服務(wù)器可以為開發(fā)的設(shè)備提供數(shù)據(jù)點定義和配置,當(dāng)硬件設(shè)備發(fā)送二進制數(shù)據(jù)時,SDK與云服務(wù)可以通過數(shù)據(jù)配置文件解碼,通過這種方式對上傳來的數(shù)據(jù)就行解析,當(dāng)云端下發(fā)相應(yīng)的數(shù)據(jù)點鍵值對時,SDK與云服務(wù)通過數(shù)據(jù)配置文件編碼成二進制數(shù)據(jù),然后將二進制數(shù)據(jù)傳輸?shù)皆O(shè)備上,再由設(shè)備內(nèi)部處理,以此達(dá)到對設(shè)備控制的效果[9-12]。
2 物聯(lián)網(wǎng)云平臺的空調(diào)智能控制硬件設(shè)計
2.1 硬件電路設(shè)計
2.1.1 單片機最小系統(tǒng)
目前市面上的單片機有很多種,比如最常見的8051單片機、STM32單片機、TMS單片機、MSP430系列單片機等,51單片機和STM32單片機作為大學(xué)最常用的兩款單片機,本作品采用STM32單片機作為主控芯片,它具有高性能、豐富合理的外設(shè)、低功耗等優(yōu)勢,除了自身優(yōu)勢外,它還擁有強大的軟件支持,即豐富的軟件包,具備全面豐富的技術(shù)文檔,還積累了大批的用戶群體[13-14]。
本文選用STM32F103C8T6最小系統(tǒng)板,該系統(tǒng)板作為本套設(shè)計的中央處理器,通過PB9端口接收來自DHT11溫濕度檢測模塊的檢測數(shù)據(jù)。單片機I/O模擬SPI連接方式,由PB5~PB8接到OLED液晶顯示的模塊引腳上。將PA2、PA3與ESP8266WIFI模塊的RX、TX端口相連,實現(xiàn)數(shù)據(jù)互通。按鍵開關(guān)直接連接最小系統(tǒng)板的PB11~PB14端口,單片機接受到低電平信號針對內(nèi)部數(shù)據(jù)進行處理。
2.1.2 按鍵電路
OLED又稱為有機發(fā)光半導(dǎo)體,因其具備發(fā)光效率高、亮度高等特性,廣泛用于MP3、智能手表、智能車攝像頭圖像實時顯示、電池管理儀、工控手柄、便攜醫(yī)療儀等產(chǎn)品。OLED引腳定義如表所示。OLED的GND管腳一般直接連接電源地,VCC管腳接電源模塊的3.3 V電源端口,SCL管腳接STM32單片機的CLK時鐘端口,SDA管腳接MOSI數(shù)據(jù)端口,RST管腳一般接單片機的復(fù)位端口,D/C管腳一般用來接收單片機傳輸來的數(shù)據(jù)或命令,從SCL管腳到D/C管腳都是高電平有效,OLED液晶顯示電路圖如圖2所示。
OLED模塊的分辨率為128*64,通過編程顯示16*16點陣以供使用,模塊采用SPI接口方式,通過研究GPIO模擬SPI的時序圖,不難發(fā)現(xiàn),模擬SPI通信協(xié)議其實是向內(nèi)部的SSD1306芯片寫入一個字節(jié)信號,這一個字節(jié)中包含了命令和數(shù)據(jù)信息,通過編程,只能向OLED模塊內(nèi)部寫入數(shù)據(jù)不支持讀取數(shù)據(jù)功能,因此只需要寫SPI發(fā)送給OLED。
圖2 OLED 液晶顯示電路
2.1.4 溫濕度檢測
DHT11數(shù)字傳感器是一款溫濕度復(fù)合傳感器,它是基于高性能的溫濕度感應(yīng)元件制作而成的,其內(nèi)部包括一個電容式感濕元件和一個高精度集成的測溫元件,并與一個高性能8位的單片機相連接。該傳感器的數(shù)字信號已校準(zhǔn),無需使用者擔(dān)心,該產(chǎn)品溫濕度的測量精度得到用戶的認(rèn)可,因此其常應(yīng)用在檢測設(shè)備、記錄器、醫(yī)療產(chǎn)品之中。
DHT11傳感器既能測量溫度,也能測量濕度,因此它的數(shù)據(jù)準(zhǔn)確度不如一些用于測量單一數(shù)據(jù)信息的傳感器,與它們比較溫濕度測量結(jié)果精確度要小很多。DHT11數(shù)字溫濕度傳感器工作電壓為3.3~5 V之間,數(shù)據(jù)端口也帶有上拉電阻,該模塊設(shè)有固定的螺絲孔,方便用戶的連接,1號引腳是數(shù)據(jù)管腳和STM32的I/O口相連,2號引腳接電源模塊的3.3 V電源,3號引腳接地。引腳接線電路圖如圖3所示。
圖3 DHT11引腳接線電路
DHT11溫濕度傳感器作為采集模塊,使用方法為:首先總線下拉電平18 ms, 接著總線由上拉電阻拉高電平,并且傳感器設(shè)定延時30μs, 其次判斷已連接的STM32單片機GPIO口是否有相應(yīng)的低電平響應(yīng),響應(yīng)后80μs STM32的GPIO口再發(fā)出高電平。當(dāng)有高電平發(fā)出,80μs后傳感器進入數(shù)據(jù)采集狀態(tài)和校驗階段。
2.1.5 通信模塊
本系統(tǒng)采用WIFI模塊來實現(xiàn)硬件與手機APP通信,當(dāng)前市面上有很多不錯的WIFI模塊產(chǎn)品,最后決定選取ESP8266開發(fā)板。之所以選用ESP8266 WIFI開發(fā)板主要是因為該開發(fā)板的主模塊是ESP-12F,串口芯片型號是CP2102,最重要的原因是支持NodeMCU Lua開發(fā)方式,雖然本設(shè)計尚未用到該開發(fā)方式,但如果使用該開發(fā)方式可以不再使用STM32核心處理器,直接通過該開發(fā)板D1引腳接OLED液晶屏SDA引腳,D2引腳接OLED液晶屏SCL引腳,3 V接3.3伏電源,GND接電源地。因此選用該開發(fā)板為以后硬件升級奠定一定基礎(chǔ)[15]。
ESP-12F是由安信可科技開發(fā)的,該模塊核心處理器ESP8266在較小尺寸封裝中集成了業(yè)界領(lǐng)先的Tensilica L106超低功耗32位微型MCU,帶有16位精簡模式,ESP-12F是ESP-12的增強版,無論是工藝上還是**電路上,相比于上一代都展現(xiàn)了極大進步,在穩(wěn)定性與抗干擾性方面,都表現(xiàn)極佳,PCB天線經(jīng)過了專業(yè)實驗室的測試,也得到了ROHS的認(rèn)證,ESP-12F在原先基礎(chǔ)上又新增了6個IO口,SPI口引出,對于開發(fā)者而言,開發(fā)也更加便捷,它一方面可以直接通過IO口與STM32單片機進行交流。
另一方面通信工作方式分為STA模式、AP模式和 STA+AP模式,并且內(nèi)部包含了TCP/IP協(xié)議,由此實現(xiàn)了云平臺通過WIFI網(wǎng)絡(luò)和串口之間的數(shù)據(jù)傳輸[16-18]。
本設(shè)計是在機智云平臺基礎(chǔ)上設(shè)計的,在選擇好相應(yīng)的幾個功能后,機智云平臺會自動生成相應(yīng)的SDK,因此無需關(guān)注其內(nèi)部協(xié)議處理問題,這對開發(fā)起到極大的便捷性,WIFI模塊的開發(fā)設(shè)計主要包括配置處理、數(shù)據(jù)上報、數(shù)據(jù)下發(fā),其他的軟件程序都由機智云平臺自動生成,結(jié)合軟件開發(fā)手冊調(diào)用即可。
本設(shè)計直接使用ESP8266 WIFI模塊開發(fā)板,該開發(fā)板的原理圖如圖4所示,鑒于系統(tǒng)以STM32作為核心處理器,因此本模塊只需用到RX端口和TX端口,其余端口留有今后升級使用。將WIFI模塊開發(fā)板的3V3和GND引腳分別接到電源模塊的3.3 V電源端和接地端,RX引腳和TX引腳分別接STM32開發(fā)板的PA2引腳和PA3引腳,通過這兩個引腳實現(xiàn)信息相互傳輸。
圖4 WIFI 模塊電路
2.2 軟件設(shè)計
控制工作流程如圖5所示,空調(diào)設(shè)備供電后,控制器通過無線網(wǎng)絡(luò)連接遠(yuǎn)程服務(wù)器機智云平臺,手機APP操作向服務(wù)器發(fā)送設(shè)備惟一識別碼和狀態(tài)信息,云平臺接收到信息后,進行數(shù)據(jù)分析處理,并查詢該設(shè)備對應(yīng)的數(shù)據(jù)信息編碼指令,WIFI模塊在配置處理中有兩種接入模式,分別是SoftAP模式和AiriLink模式,當(dāng)通過程序設(shè)定使WIFI模塊處于AiriLink模式時,WIFI模從會通過WTFI網(wǎng)絡(luò)連續(xù)地接收特定編碼的WIFI廣播包,當(dāng)手機連接已聯(lián)網(wǎng)的WIFI網(wǎng)絡(luò)時,手機會自動廣播,廣播的是內(nèi)容是由手機APP(如Demo APP)發(fā)送內(nèi)部編碼后的WIFI網(wǎng)絡(luò)SSID和密碼。
WIFI模塊接收到廣播的內(nèi)容后,自動嘗試連接對應(yīng)的WIFI網(wǎng)絡(luò),當(dāng)顯示連接成功時,相應(yīng)對的配置也就完成了、當(dāng)WIFI模塊處于AP模式下時,WIFI模塊自身就相當(dāng)于一個熱點,可以通過手機的機智云APP直接與WIFI模塊連接,通過內(nèi)部數(shù)據(jù)信息處理,手機APP會將可用的WIFI網(wǎng)絡(luò)SSID以及密碼發(fā)送給WIFI模塊,當(dāng)WIFI模塊接收到手機發(fā)來的配置信息屆會自動不斷嘗試連接相應(yīng)的路由器,當(dāng)WIFI模塊顯示連接成功時,該設(shè)備會自動跳轉(zhuǎn)到正常工作模式。若有發(fā)回指令給控制器,控制器接收到指令,通過手機APP,完成對空調(diào)設(shè)備的控制。
圖5 控制工程流程圖
2.2.1 STM32驅(qū)動設(shè)計
2.2.1.1 時鐘初始化
系統(tǒng)時鐘初始化采用系統(tǒng)滴答定時器,函數(shù)中RCC-0scInitTypeDef為結(jié)構(gòu)體函數(shù),結(jié)構(gòu)體中包含了是時鐘來源,RCC-ClkInitTypeDef函數(shù)以結(jié)構(gòu)體的形式定義了總線的時鐘的配置,總線時鐘一般選擇的是內(nèi)部使能系統(tǒng)時鐘,本程序中是使用外部時鐘源HSE的8 MHz晶振,通過代碼運算實現(xiàn)9倍頻,達(dá)到72 MHz系統(tǒng)主時鐘。
APB1總我時鐘通過分頻實現(xiàn)36 MHz, 然而APB2和AHB都為72 MHz: 該模塊中實現(xiàn)了1 ms延時,是通過HAL-RCC-GetHCLKFreq()/1 000賦值,以此來使系統(tǒng)達(dá)到1 ms的中斷,接著通過定義HAL_SYSTICK_Config內(nèi)部形參為1 ms。以此實現(xiàn)系統(tǒng)滴答定時器的初始化配置。
2.2.1.2 串口模塊初始化
STM32程序的串行通信中,程度必須包含串口初始化程序,首先要設(shè)定其波特率,只有相同波特率,才能實現(xiàn)相互通信,波特率相同每秒中傳輸?shù)臄?shù)據(jù)位數(shù)也就相同,數(shù)據(jù)傳輸是以一個字符接著一個字符的順序傳輸?shù)?,一個字符的傳輸是由起始位開始,停止位結(jié)束,當(dāng)系統(tǒng)判斷了起始位和停止位,表明一個字符傳輸成功。下方的串口初始化程序表示,USART1選擇異步通信方式,接著設(shè)定相應(yīng)的波特率為115 200 Bits/s, 并且設(shè)定8 Bit數(shù)據(jù)長度。
2.2.1.3 按鍵模塊初始化
按鍵初始化函數(shù)是keyInit (),該函數(shù)定義了2個按鍵相應(yīng)的I/0口,通過讀取函數(shù)的輸入值,進行程序判斷,對于按鍵1和按鍵2需識別是長按還是短按。
2.2.2 OLED液晶顯示模塊程序設(shè)計
按鍵初始化函數(shù)是keyInit (),該函數(shù)定義了2個按鍵相應(yīng)的I/0口,通過讀取函數(shù)的輸入值,進行程序判斷,對于按鍵1和按鍵2需識別是長按還是短按。
2.2.2 OLED液晶顯示模塊程序設(shè)計
OLED模塊的分辨率為128*64,通過編程顯示16*16點陣以供本系統(tǒng)使用,模塊采用SPI接口方式,通過研究GPIO模擬SPI的時序圖,不難發(fā)現(xiàn),模擬SPI通信協(xié)議其實是向內(nèi)部的SSD1306芯片寫入一個字節(jié)信號,這一個字節(jié)中包含了命令和數(shù)據(jù)信息,通過編程,只能向OLED模塊內(nèi)部寫入數(shù)據(jù)不支持讀取數(shù)據(jù)功能,因此只需寫SPI發(fā)送給OLED即可。
2.2.3 數(shù)據(jù)采集模塊程序設(shè)計
DHT11溫濕度傳感器作為采集模塊使用,本課題研究了其相應(yīng)的工作原理,而總結(jié)出一般的軟件流程為:首先總線下拉電平18 ms, 接著總線由上拉電阻拉高電平,并且傳感器設(shè)定延時30 μs其次判斷已連接的STM32單片機GPIO口是否有相應(yīng)的低電平響應(yīng),如果有響應(yīng),響應(yīng)后80 lusTY32的GPIO口再發(fā)出高電平。當(dāng)有高電平發(fā)出,80 μs后傳感器進入數(shù)據(jù)采集狀態(tài)。
2.2.4 WIFI程序模塊設(shè)計
WIFI模塊在配置處理中有兩種接入模式,分別是SoftAP模式和AirLink模式,當(dāng)通過程序使WIFI模塊處于 Airlink模式時,WIFI模塊會通過WIFI網(wǎng)絡(luò)連續(xù)地接收特定編碼的WIFI廣播包,當(dāng)手機連接已聯(lián)網(wǎng)的WIFI網(wǎng)絡(luò)時,手機會自動廣播,廣播的是內(nèi)容是由手機APP(如 Demo APP)發(fā)送內(nèi)部碼后的WIFI網(wǎng)絡(luò)SSID和密碼,WIFI模塊接收到廣播的內(nèi)容后,自動嘗試連接對應(yīng)的WIFI網(wǎng)絡(luò),當(dāng)顯示連接成功時,相應(yīng)對的配置也就完成了。
當(dāng)WIFI模塊處于APP模式下時,WIFI模塊自身就相當(dāng)于一個熱點,我們可以通過手機的機智云APP直接與WIFI模塊連接,通過內(nèi)部數(shù)據(jù)信息處理,手機APP會將可用的WIFI網(wǎng)絡(luò)SSD以及密碼發(fā)送給WIFI模塊,當(dāng)WIFI模塊接收到手機發(fā)來的配置信息后會自動不斷嘗試連接相應(yīng)的路由器,當(dāng)WIFI模塊顯示連接成功時,該設(shè)備會自動跳轉(zhuǎn)到正常工作模式。
2.2.5 STM32軟件編程
STM32作為本設(shè)計的核心樞紐,無論是直接控制空調(diào)的幾種設(shè)定還是將數(shù)據(jù)顯示到手機上都要經(jīng)過STM32不斷檢測有無信號輸入,當(dāng)STM32檢測到對應(yīng)的按鍵串口有低電平輸入時,STM32內(nèi)部處理發(fā)送給OLED模塊顯示。當(dāng)系統(tǒng)接通電源時,STM32不斷向溫濕度傳感器發(fā)送檢測信號,由STM32處理發(fā)送給OLED顯示和通過WIFI模塊發(fā)送給機智云平臺,再經(jīng)過機智云IoT開發(fā)平臺發(fā)送給用戶手機APP。
控制工程流程如圖5所示,遠(yuǎn)程管理與數(shù)據(jù)分析系統(tǒng)功能流程如圖6所示。首先用手機APP提前設(shè)置好空調(diào)相關(guān)參數(shù),然后啟用設(shè)備數(shù)據(jù)分析功能,該功能可以實時存儲的空調(diào)各狀態(tài)數(shù)據(jù)并保存,同時與提前設(shè)置好的空調(diào)狀態(tài)變量進行比較分析,判斷空調(diào)狀態(tài)是否開啟或者是關(guān)閉,根據(jù)需要生成控制指令來調(diào)節(jié)空調(diào)的溫度,根據(jù)需要生成報警信息并發(fā)送到控制器,同時通知給管理員。同時,根據(jù)整個控制過程中記錄的設(shè)備狀態(tài)信息來綜合分析空調(diào)運行情況等信息,了解系統(tǒng)在節(jié)能控制方面的效益。
圖6 遠(yuǎn)程管理與數(shù)據(jù)分析流程圖
為了實現(xiàn)真正的遠(yuǎn)程控制,選擇將實物硬件系統(tǒng)接入物聯(lián)網(wǎng)云平臺。在云平臺注冊一個開發(fā)者賬號,注冊完成后可以開始創(chuàng)建新任務(wù)。第一步,先創(chuàng)建智能空調(diào)的基本信息。
第二步,創(chuàng)建本系統(tǒng)功能所需的數(shù)據(jù)點。
第三步,下載生成的APP源碼(可以自行對源碼進行更改),生成APP。
3 系統(tǒng)安裝及調(diào)試結(jié)果
3.1 硬件使用說明
1)連接電源;
2)若此前WIFI模塊已入網(wǎng),在電源接通后,WIFI模塊會自動入網(wǎng),整個系統(tǒng)處于工作狀態(tài)。若此前未連接WIFI,此時只需在手機端對WIFI模塊進行配網(wǎng)即可。
3.2 軟件使用說明
1) 用云平臺生成的APP源代碼在AndroidStudio中生成機智云示例APP,在安卓手機上安裝APP。
2) 進入APP點擊一鍵配置——>輸入自己的WIFI名稱和密碼——>選擇WIFI模塊的型號——>根據(jù)提示按配網(wǎng)按鍵——>等待配網(wǎng)成功——>配網(wǎng)成功后會顯示設(shè)備在線,過程附圖如下:①一鍵配置;②輸入WIFI密碼;③選擇WIFI模塊型號;④搜索連接設(shè)備;⑤配網(wǎng)成功;⑥設(shè)備控制界面。(順序從左到右,從上到下)
連接成功后,可以對空調(diào)進行遠(yuǎn)程控制,遠(yuǎn)程開啟和關(guān)閉空調(diào),遠(yuǎn)程監(jiān)測家中環(huán)境溫濕度,遠(yuǎn)程選擇空調(diào)的模式,遠(yuǎn)程設(shè)定空調(diào)溫度;除此之外,空調(diào)有智能控制模式,當(dāng)溫度超過設(shè)定的閾值,空調(diào)可以自動開啟進行制冷或制熱;空調(diào)還保留手動控制模式,可以通過按鍵控制空調(diào)的各參數(shù)和模式。
3.3 測試
在系統(tǒng)測試時,選擇了模擬空調(diào)電路作為測試對象,同時手機打開機智云APP,家用空調(diào)智能控制系統(tǒng)設(shè)計包括對空調(diào)的模式、風(fēng)速和溫度的控制,環(huán)境溫濕度也同時在OLED屏幕上顯示,智能家居控制系統(tǒng)可分為硬件控制系統(tǒng)與遠(yuǎn)程控制系統(tǒng)兩方面。在進行實驗調(diào)試之前,需要將軟件平臺keil MDK5安裝好,keil MDK5用于編寫和調(diào)試代碼,并將代碼燒錄到STM32最小系統(tǒng)板上,在keil MDK5中編寫好代碼,并且選擇好器件STM32F103C8,最終檢查編譯成功結(jié)束。具體步驟如下。
步驟1:基于keil 軟件與面包板搭建的臨時電路,根據(jù)基本要求實現(xiàn)測試;
步驟2:先安上元件后,焊接電路,用萬用表測試電路是否正確連通,以確定無虛焊、漏焊和焊接錯誤等問題,然后將集成芯片安上。以此可以防止集成芯片由于電壓過大而燒壞;
步驟3:檢查連接無誤后,裝載程序,調(diào)試,運行;
圖7 系統(tǒng)界面圖
首先進行硬件系統(tǒng)操控:當(dāng)按下紅色按鈕時,模式可以改變;當(dāng)按下綠色按鈕時,風(fēng)速可以改變;當(dāng)按下藍(lán)色按鈕時,可以調(diào)高溫度;當(dāng)按下黃色按鈕時,可以調(diào)低溫度。
其次進行遠(yuǎn)程操控:當(dāng)選擇模式一欄時,可以選擇自己想設(shè)定的模式,顯示屏也能夠顯示,當(dāng)選擇風(fēng)速一欄時,可以選擇自己想設(shè)定的風(fēng)速,顯示屏?xí)⒂谑謾C設(shè)定的風(fēng)速顯示出來,當(dāng)拉動溫度條時,顯示屏可以根據(jù)設(shè)定值,將溫度顯示出來,手機機界面還會實時顯示環(huán)境溫濕度的變化。
首先通過程序獲取空調(diào)遙控器編碼進行分析,其組成按編碼模式為:表1模式編碼,分別對5種工作模式自動、制冷、加濕、送風(fēng)、制熱進行編碼,表2為風(fēng)速模式,分別對自動、一級、二級、三級進行編碼,表3為溫度編碼,分別對溫度范圍進行編碼。
校驗碼=[(模式-1)+(溫度-16)+5+左右掃風(fēng)],將十六進制數(shù)轉(zhuǎn)換成二進制數(shù)保留后4位,再逆序取值;校驗碼生成后根據(jù)通過程序進行編碼,編碼的不同可以需求控制空調(diào)的各種運行狀態(tài),來調(diào)節(jié)室內(nèi)的溫濕度,達(dá)到人體舒適狀態(tài)。
表1 模式編碼
表2 風(fēng)速編碼
表3 溫度編碼
表4為系統(tǒng)測試運行狀態(tài)數(shù)據(jù)表。其中有進口溫度、出口溫度、人員狀態(tài)、狀態(tài)、時間分別表示進風(fēng)口溫度,出風(fēng)口溫度,人體感應(yīng)器返回數(shù)據(jù)、空調(diào)的運行狀態(tài),運行時間。人員狀態(tài)有兩種表示方法,0表示無人,1表示有人??照{(diào)運行狀態(tài)有兩種,H表示制熱狀態(tài),C表示制冷狀態(tài)。當(dāng)室內(nèi)長時間處于無人狀態(tài)的時長可以由時間表示(單位:分鐘)。一般預(yù)設(shè)時間15min, 當(dāng)室內(nèi)無人超過此時間后,系統(tǒng)則發(fā)出報警信息,并自動關(guān)閉空調(diào)。實驗結(jié)果表明,智能空調(diào)控制系統(tǒng)能實時采集周邊環(huán)境的溫濕度數(shù)據(jù),服務(wù)器可以正常接收到傳送的狀態(tài)信息,用戶通過云平臺系統(tǒng)控制發(fā)出的信息編碼可以實現(xiàn)對空調(diào)的控制,運行較穩(wěn)定,控制成功率達(dá)到100%。
表4 系統(tǒng)測試運行數(shù)據(jù)
4 結(jié)束語
本文實現(xiàn)了基于物聯(lián)網(wǎng)云平臺的空調(diào)智能控制,智能空調(diào)控制終端模塊實時采集周邊環(huán)境的溫濕度數(shù)據(jù),以STM32單片機作為硬件控制中心結(jié)合WIFI技術(shù),云平臺與家用空調(diào)連接來進行遠(yuǎn)程操控。手機可以實時顯示的房間溫濕度,在炎熱的夏季或寒冷的冬季,可以在回家之前就通過手機APP調(diào)節(jié)空調(diào),這樣一到家就能平復(fù)焦躁的內(nèi)心,不用再焦急地等待房間溫度降下來,更不用再困擾于找不到遙控器或是遙控器沒電的煩惱,甚至不用再擔(dān)心出門上班后家里的空調(diào)忘記關(guān)了的情況。
利用該系統(tǒng)能實時監(jiān)控環(huán)境溫濕度數(shù)據(jù),有效地控制空調(diào)合理使用,控制成功率達(dá)到100%,能營造舒適的生活工作環(huán)境又不造成浪費,適用于多種空調(diào)品牌,具有較高的實用價值。同時,本設(shè)計關(guān)鍵技術(shù)是采用FlyMcu軟件用Keil MDK5編程實現(xiàn)機智云平臺的SDK和API服務(wù),實現(xiàn)三部分的通信連接,將新的服務(wù)器平臺應(yīng)用于物聯(lián)網(wǎng)的應(yīng)用開發(fā),簡化了物聯(lián)網(wǎng)應(yīng)用開發(fā)的復(fù)雜性,加快了物聯(lián)網(wǎng)應(yīng)用的開發(fā)效率,提高了應(yīng)用的可維護性、可升級性和可擴展性。
對于未來發(fā)展而言,首先智能控制系統(tǒng)是需要進行不斷完善的,隨著各種家用空調(diào)的發(fā)售,它可以與更多空調(diào)設(shè)備相關(guān)聯(lián),進而滿足更多使用者的不同需求。人們使用WIFI技術(shù)既幫助人們不再煩惱于復(fù)雜的布線,又幫助人們節(jié)約了布線空間[19-20]。
-
STM32
+關(guān)注
關(guān)注
2264文章
10854瀏覽量
354313
發(fā)布評論請先 登錄
相關(guān)推薦
評論