本案例以Android手機(jī)為人機(jī)交互終端,以STM32F103為核心控制終端,基于機(jī)智云物聯(lián)網(wǎng)平臺,設(shè)計了一套用戶通過互聯(lián)網(wǎng)就能有效地對家中晾衣架進(jìn)行操作的嵌入式智能控制系統(tǒng),避免人不在家時,衣物被淋濕的問題。
本系統(tǒng)具備手動和自動兩種控制模式實(shí)現(xiàn)對晾衣架的合理控制,并且一旦控制端與服務(wù)器失去連接,將自動切換至自動模式工作??刂贫瞬捎?a target="_blank">FreeRTOS實(shí)時操作系統(tǒng),在實(shí)時性方面表現(xiàn)良好,同時具有高穩(wěn)定性能穩(wěn)定地與機(jī)智云服務(wù)器進(jìn)行通信。
引言晾曬衣物是日常生活的一部分,目前,市面上有多種多樣的晾衣架,包括手動和電動等。但大部分的電動“智能”晾衣,還依然需要用戶站在旁邊,按下按鈕進(jìn)行操作,對用戶而言僅僅只是省力。因此,如何通過Internet,實(shí)現(xiàn)智能控制和遠(yuǎn)程控制具有現(xiàn)實(shí)的意義。機(jī)智云物聯(lián)網(wǎng)平臺是面向開發(fā)者的一個全自動軟硬件的開發(fā)平臺 (Paa S),本文依托于機(jī)智云物聯(lián)網(wǎng)平臺,設(shè)計了一套通過手機(jī)APP,對家中的晾衣架進(jìn)行遠(yuǎn)程控制的系統(tǒng)。
1 系統(tǒng)總體簡介智能晾衣控制系統(tǒng)以STM32F103C8T6單片機(jī)為核心控制器,通過光強(qiáng)傳感器、雨滴傳感器、溫度傳感器、濕度傳感器等采集環(huán)境數(shù)據(jù),進(jìn)行分析處理后,再通過PWM方式控制電機(jī)的運(yùn)行狀態(tài)來實(shí)現(xiàn)將晾衣架伸出陽臺,或者收回陽臺。同時將當(dāng)前環(huán)境數(shù)據(jù)及晾衣架狀態(tài)通過ESP8266 WiFi模塊上傳至機(jī)智云服務(wù)器,用戶端通過APP可以實(shí)時獲取到該狀態(tài),并且用戶可在自動控制與手動控制間任意地進(jìn)行切換,實(shí)現(xiàn)對整個系統(tǒng)的有效控制。圖1為智能晾衣控制系統(tǒng)的原理框圖。
2 智能控制系統(tǒng)硬件設(shè)計2.1 主控制器模塊智能晾衣控制系統(tǒng)的主控制器采用STM32F103C8T6微控制器。其擁有高達(dá)20KB的SRAM及64KB的閃存程序存儲器,完全能夠滿足本系統(tǒng)的控制要求;其具有低功耗的特性,工作電壓采用3.3 V,能有效地驅(qū)動絕大部分現(xiàn)有模塊器件,適合嵌入式控制端;具有豐富的GPIO口及多種常用外設(shè),如:UART、SPI 、I2C 、定時器、AD、DA等,能與各類傳感器進(jìn)行良好的交互。微控制器的時鐘,由8MHz的晶振組成的震蕩電路向微控制器輸入,STM32F103C8T6再通過PLL倍頻至72 MHz作為系統(tǒng)時鐘,并通過分頻等為外設(shè)提供不同的時鐘。2.2 環(huán)境數(shù)據(jù)采集模塊智能控制終端的溫濕度采集采用DHT11溫濕度傳感器模塊。電阻式感濕元件與NTC測溫元件很好地被集成進(jìn)了該溫濕度傳感器中,并由內(nèi)嵌的一個微控制器對感濕元件與測溫元件采集到的數(shù)據(jù)進(jìn)行解析。DHT11濕度精度為±5%RH,溫度為±2℃,能夠?qū)?a target="_blank">檢測到的環(huán)境溫濕度,通過其DATA數(shù)據(jù)引腳,以數(shù)字形式向外輸出。在與STM32F103C8T6微控制器的硬件連接中,需要將溫濕度傳感器的DATA引腳通過5 kΩ的上拉電阻進(jìn)行上拉,以提高驅(qū)動力。如圖2。
光強(qiáng)數(shù)據(jù)由TSL2560傳感器獲取。作為性能優(yōu)良的第二代周圍環(huán)境光強(qiáng)度傳感器,能夠為晾衣控制系統(tǒng)采集到足夠精度的環(huán)境光強(qiáng)數(shù)據(jù)。其內(nèi)部結(jié)構(gòu)框圖如圖3所示。通道0和通道1各連接著一個光敏二極管,其中通道0的光敏二極管對可見光和紅外線都能靈敏地感知到,而通道1則僅僅能對紅外線靈敏地感知到。流過光敏二極管的電流經(jīng)過積分式A/D轉(zhuǎn)換器的積分,被轉(zhuǎn)化成了數(shù)字量,并且,轉(zhuǎn)換結(jié)束后其結(jié)果被存入相應(yīng)的寄存器中。整個積分、轉(zhuǎn)換過程完成后,A/D積分轉(zhuǎn)換器將重復(fù)進(jìn)行下一轉(zhuǎn)換過程。STM32F103C8T6可通過I2C總線協(xié)議對其寄存器進(jìn)行訪問,從而獲取光強(qiáng)強(qiáng)度。
雨滴采集部分由雨滴傳感器獲取,其AO模擬量輸出口輸出雨滴收集板上的雨滴量對應(yīng)的模擬值,將其AO口與STM32F103C8T6的AD的輸入引腳相連接,通過AD轉(zhuǎn)換后的數(shù)字量,即可獲取到雨滴數(shù)據(jù)。2.3 電機(jī)驅(qū)動電路STM32F103C8T6采用脈沖寬度調(diào)制 ,對直流電機(jī)進(jìn)行控制。PWM控制方式相比于模擬電流控制,具有功耗低、抗噪能力強(qiáng)等特點(diǎn)。PWM信號由STM32F103C8T6的GPIOA0引腳輸出,輸入到電機(jī)的正極,微控制器的GPIOA1引腳與電機(jī)的負(fù)極連接,控制電機(jī)的正轉(zhuǎn)及反轉(zhuǎn)。當(dāng)GPIOA1引腳向外輸出低電平時,控制器產(chǎn)生的PWM信號使電機(jī)正向運(yùn)轉(zhuǎn),反之GPIOA1引腳輸出高電平時,電機(jī)反向運(yùn)轉(zhuǎn),從而達(dá)到控制晾衣架伸出與收回的功能。2.4 WiFi通信電路通信模塊采用ESP8266 Wi Fi模塊,該模塊高度集成了射頻balun、天線開關(guān)、過濾器、低噪放大器、功率放大器和電源管理模塊,同時內(nèi)嵌了32位的Tensilica L106單片機(jī),能夠運(yùn)行在最高可達(dá)160MHz的時鐘下,具有16位RSIC和極低的運(yùn)行功耗。能夠使用實(shí)時操作系統(tǒng),并且只有20%的MIPS被它的Wi Fi協(xié)議棧所使用,用戶可對剩余的80%進(jìn)行開發(fā)與編程。其還能夠通過配置寄存器實(shí)現(xiàn)3種不同的運(yùn)行模式:深度睡眠模式、睡眠模式和激活模式,使得能對其功耗更好地進(jìn)行控制。本控制系統(tǒng)通過STM32F103C8T6的UART1與ESP8266模塊進(jìn)行數(shù)據(jù)交互,實(shí)現(xiàn)數(shù)據(jù)由控制端上傳至機(jī)智云平臺的服務(wù)器,并從機(jī)智云平臺服務(wù)器獲取相應(yīng)的控制信息。
3 智能控制系統(tǒng)軟件設(shè)計3.1 控制程序設(shè)計控制程序采用FreeRTOS實(shí)時操作系統(tǒng),該系統(tǒng)是一個輕量級的、可搶占的實(shí)時操作系統(tǒng),提供了任務(wù)管理、互斥鎖、信號量、消息隊列等功能,任務(wù)由系統(tǒng)輪詢進(jìn)行調(diào)度,分別具有就緒態(tài)、運(yùn)行態(tài)、掛起狀態(tài)等。每個任務(wù)都具有優(yōu)先級,當(dāng)系統(tǒng)調(diào)度時,已經(jīng)處于就緒態(tài)的高優(yōu)先級的任務(wù)會優(yōu)先被系統(tǒng)調(diào)用執(zhí)行,從而保證了緊急任務(wù)的實(shí)時性。本系統(tǒng)的流程框圖如圖4。
當(dāng)控制板開機(jī)運(yùn)行時,首先執(zhí)行FreeRTOS實(shí)時操作系統(tǒng)的初時化,緊接著初始化各個外設(shè),然后將系統(tǒng)運(yùn)行的任務(wù)創(chuàng)建出來,最終執(zhí)行任務(wù),此時,FreeRTOS實(shí)時操作系統(tǒng)會根據(jù)設(shè)定的參數(shù),對任務(wù)進(jìn)行相應(yīng)的調(diào)度執(zhí)行。其中,通信協(xié)議處理任務(wù)為最高優(yōu)先級,它負(fù)責(zé)處理從機(jī)智云服務(wù)器端接收到的請求,包括心跳、控制指令、系統(tǒng)狀態(tài)查詢、重啟MCU、在線升級等。對于外設(shè)的控制,需要根據(jù)其datasheet來編寫相應(yīng)的驅(qū)動實(shí)現(xiàn)對其正確的訪問控制。對于對時序要求較高的模塊(如DHT11溫濕度傳感器模塊)進(jìn)行控制時,本控制系統(tǒng)在操作該類前,讓FreeR-TOS進(jìn)入臨界量狀態(tài) (關(guān)閉所有中斷),以保證時序的準(zhǔn)確性。執(zhí)行完成后,需要退出臨界量狀態(tài),使系統(tǒng)恢復(fù)至原狀態(tài),才能實(shí)時響應(yīng)外界中斷。3.2 機(jī)智云平臺設(shè)置機(jī)智云平臺提供了面向控制端及Android手機(jī)APP的應(yīng)用程序編程接口 (Application Programming Interface,API) ,開發(fā)者能夠很輕松地進(jìn)入機(jī)智云平臺的開發(fā)者中心,添加本控制系統(tǒng)的外設(shè)的設(shè)備節(jié)點(diǎn),平臺則會自動生成相應(yīng)的通信協(xié)議,按照此通信協(xié)議,即可與機(jī)智云平臺進(jìn)行數(shù)據(jù)交互,從而達(dá)到通過Internet即可在遠(yuǎn)程對本晾衣系統(tǒng)進(jìn)行方便的控制。圖5是在機(jī)智云物聯(lián)網(wǎng)平臺后臺獲取到的設(shè)備運(yùn)行數(shù)據(jù)情況。
3.3 手機(jī)APP程序設(shè)計手機(jī)APP端采用機(jī)智云物聯(lián)網(wǎng)平臺提供的SDK包進(jìn)行二次開發(fā),開發(fā)者只需對Active進(jìn)行修改[5],即可為用戶提供友好的界面,提高用戶體驗。在需要提供額外后臺功能時,可對后臺進(jìn)行改動。圖6為本系統(tǒng)開發(fā)的APP界面。humi后面的數(shù)值表示控制板上傳的環(huán)境濕度,temperature后面的數(shù)值為環(huán)境溫度,light為光強(qiáng),三者都為只讀狀態(tài),由控制板上傳數(shù)據(jù)。motor開關(guān)為晾衣控制開關(guān),當(dāng)處于開啟狀態(tài)時,晾衣架將伸出,關(guān)閉時,晾衣架將在電機(jī)控制下縮回。is_automatic為自動手動切換按鈕,開啟時,控制板將自動根據(jù)環(huán)境數(shù)據(jù)進(jìn)行判別,決定是否晾衣,關(guān)閉時,為手動模式,可由用戶進(jìn)行控制。
4 結(jié)論本晾衣控制系統(tǒng)依托機(jī)智云AIoT平臺,通過Android手機(jī)APP與用戶交互,以STM32F103C8T6為控制板主控芯片,實(shí)現(xiàn)了通過Internet網(wǎng)絡(luò)對家中的晾衣架控制系統(tǒng)的有效控制,具備自動、手動兩種模式,縱使用戶身在異地,依然能夠?qū)抑械牧酪录苓M(jìn)行控制,使得衣物免遭雨淋。并且一旦控制端與網(wǎng)絡(luò)失去連接,該系統(tǒng)將自動切換至自動控制模式,保證了系統(tǒng)的安全性與穩(wěn)定性。經(jīng)過測試,系統(tǒng)控制效果良好,能實(shí)時地響應(yīng)用戶端的控制指令來驅(qū)動電機(jī),環(huán)境數(shù)據(jù)采集準(zhǔn)確。手動模式下實(shí)時性高,自動模式下自動分析控制準(zhǔn)確,滿足日常使用。斷網(wǎng)測試時,能正確執(zhí)行異常處理,切換至自動模式。
-
控制系統(tǒng)
+關(guān)注
關(guān)注
41文章
6510瀏覽量
110384 -
物聯(lián)網(wǎng)
關(guān)注
2900文章
44067瀏覽量
370260
發(fā)布評論請先 登錄
相關(guān)推薦
評論