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