摘要: 以Android手機(jī)為人機(jī)交互終端, 以STMicroelectronics的STM32F103C8T6為核心控制終端, 基于機(jī)智云物聯(lián)網(wǎng)平臺, 設(shè)計了一套用戶通過互聯(lián)網(wǎng)就能有效地對家中晾衣架進(jìn)行操作的嵌入式智能控制系統(tǒng), 避免人不在家時, 衣物被淋濕的問題。 該系統(tǒng)開發(fā)來自機(jī)智云開發(fā)者的畢設(shè),具備手動和自動兩種控制模式實(shí)現(xiàn)對晾衣架的合理控制, 并且一旦控制端與服務(wù)器失去連接, 將自動切換至自動模式工作??刂贫瞬捎?a target="_blank">FreeRTOS實(shí)時操作系統(tǒng), 在實(shí)時性方面表現(xiàn)良好, 同時具有高穩(wěn)定性能穩(wěn)定地與機(jī)智云服務(wù)器進(jìn)行通信。 引言 晾曬衣物是日常生活的一部分, 目前, 市面上有多種多樣的晾衣架, 包括手動和電動等。但大部分的電動“智能”晾衣, 還依然需要用戶站在旁邊, 按下按鈕進(jìn)行操作, 對用戶而言僅僅只是省力[1]。因此, 如何通過Internet,實(shí)現(xiàn)智能控制和遠(yuǎn)程控制具有現(xiàn)實(shí)的意義[2]。機(jī)智云物聯(lián)網(wǎng)平臺是面向開發(fā)者的一個全自動軟硬件的開發(fā)平臺 (Paa S)[3], 本文依托于機(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)的原理框圖。 圖1 系統(tǒng)結(jié)構(gòu)框圖 2 智能控制系統(tǒng)硬件設(shè)計 2.1 主控制器模塊 智能晾衣控制系統(tǒng)的主控制器采用STMicroelectronics公司生產(chǎn)的cotex-M3系列的STM32F103C8T6微控制器。其擁有高達(dá)20KB的SRAM及64KB的閃存程序存儲器,完全能夠滿足本系統(tǒng)的控制要求;其具有低功耗的特性,工作電壓采用3.3 V, 能有效地驅(qū)動絕大部分現(xiàn)有模塊器件, 適合嵌入式控制端; 具有豐富的GPIO口及多種常用外設(shè), 如:UART(Universal AsynchronousReceiver/Transmitter, 通用異步收發(fā)傳輸器)、SPI (Serial Periphera Interface, 串行外設(shè)接口) 、I2C (Inter-Integrated Circuit, 串行總線) 、定時器、AD、DA等, 能與各類傳感器進(jìn)行良好的交互。 微控制器的時鐘,由8MHz的晶振組成的震蕩電路向微控制器輸入, STM32F103C8T6再通過PLL (鎖相環(huán)) 倍頻至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引腳通過5kΩ的上拉電阻進(jìn)行上拉, 以提高驅(qū)動力。如圖2。 圖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)度。 圖3 TSL2560內(nèi)部結(jié)構(gòu)圖 雨滴采集部分由雨滴傳感器獲取, 其AO模擬量輸出口輸出雨滴收集板上的雨滴量對應(yīng)的模擬值, 將其AO口與STM32F103C8T6的AD的輸入引腳相連接,通過AD轉(zhuǎn)換后的數(shù)字量, 即可獲取到雨滴數(shù)據(jù)。 STM32F103C8T6采用脈沖寬度調(diào)制 (Pulse Width Modulation, PWM) ,對直流電機(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通信電路 通信模塊采用的是由樂鑫公司開發(fā)的ESP8266無線Wi Fi模塊,該模塊高度集成了射頻balun、天線開關(guān)、過濾器、低噪放大器、功率放大器和電源管理模塊, 同時內(nèi)嵌了32位的TensilicaL106單片機(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è)計 控制程序?qū)⒉捎肍reeRTOS實(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。 圖4 系統(tǒng)流程圖 當(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)對其正確的訪問控制[4]。 對于對時序要求較高的模塊(如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ī)智云物聯(lián)網(wǎng)平臺設(shè)置 機(jī)智云平臺提供了面向控制端及Android手機(jī)APP的應(yīng)用程序編程接口 (Application ProgrammingInterface, 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ù)情況。 圖5 服務(wù)器后臺數(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)行控制。 圖6 APP界面圖 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í)行異常處理, 切換至自動模式。 |
-
STM32
+關(guān)注
關(guān)注
2264文章
10854瀏覽量
354301
發(fā)布評論請先 登錄
相關(guān)推薦
評論