黃 鑫,林 偉
(福州大學(xué) 物理與信息工程學(xué)院,福建 福州 350000)
基于機(jī)智云的智能晾衣控制系統(tǒng)
黃 鑫,林 偉
(福州大學(xué) 物理與信息工程學(xué)院,福建 福州 350000)
以Android 手機(jī)為人機(jī)交互終端,以STMicroelectronics的STM32F103C8T6為核心控制終端,基于機(jī)智云平臺(tái),設(shè)計(jì)了一套用戶通過互聯(lián)網(wǎng)就能有效地對(duì)家中晾衣架進(jìn)行操作的嵌入式智能控制系統(tǒng),避免人不在家時(shí),衣物被淋濕的問題。該系統(tǒng)具備手動(dòng)、自動(dòng)兩種控制模式實(shí)現(xiàn)對(duì)晾衣架的合理控制,并且,一旦控制端與服務(wù)器失去連接,將自動(dòng)切換至自動(dòng)模式工作??刂贫瞬捎肍reeRTOS實(shí)時(shí)操作系統(tǒng),在實(shí)時(shí)性方面表現(xiàn)良好,同時(shí)具有高穩(wěn)定性,能穩(wěn)定地與機(jī)智云服務(wù)器進(jìn)行通信。
嵌入式;FreeRTOS;機(jī)智云;STM32
晾曬衣物是日常生活的一部分,目前,市面上有多種多樣的晾衣架,包括手動(dòng)和電動(dòng)等。但大部分的電動(dòng)“智能”晾衣,還依然需要用戶站在旁邊,按下按鈕進(jìn)行操作,對(duì)用戶而言僅僅只是省力[1]。因此,如何通過Internet,實(shí)現(xiàn)智能控制和遠(yuǎn)程控制具有現(xiàn)實(shí)的意義[2]。機(jī)智云是面向開發(fā)者的一個(gè)全自動(dòng)智能硬件開發(fā)平臺(tái)(PaaS)[3],本文依托于該平臺(tái),設(shè)計(jì)了一套通過手機(jī)APP,對(duì)家中的晾衣架進(jìn)行遠(yuǎn)程控制的系統(tǒng)。
智能晾衣控制系統(tǒng)以STM32F103C8T6單片機(jī)為核心控制器,通過光強(qiáng)傳感器、雨滴傳感器、溫度傳感器、濕度傳感器等采集環(huán)境數(shù)據(jù),進(jìn)行分析處理后,再通過PWM方式控制電機(jī)的運(yùn)行狀態(tài)來實(shí)現(xiàn)將晾衣架伸出陽臺(tái),或者收回陽臺(tái)。同時(shí)將當(dāng)前環(huán)境數(shù)據(jù)及晾衣架狀態(tài)通過ESP8266 WiFi模塊上傳至機(jī)智云服務(wù)器,用戶端通過APP可以實(shí)時(shí)獲取到該狀態(tài),并且用戶可在自動(dòng)控制與手動(dòng)控制間任意地進(jìn)行切換,實(shí)現(xiàn)對(duì)整個(gè)系統(tǒng)的有效控制。圖1為智能晾衣控制系統(tǒng)的原理框圖。
圖1 系統(tǒng)結(jié)構(gòu)框圖
2.1主控制器模塊
智能晾衣控制系統(tǒng)的主控制器采用STMicroelectronics公司生產(chǎn)的cotex-M3系列的STM32F103C8T6微控制器。其擁有高達(dá)20 KB的SRAM及64 KB的閃存程序存儲(chǔ)器,完全能夠滿足本系統(tǒng)的控制要求;其具有低功耗的特性,工作電壓采用3.3 V,能有效地驅(qū)動(dòng)絕大部分現(xiàn)有模塊器件,適合嵌入式控制端;具有豐富的GPIO口及多種常用外設(shè),如:UART (Universal Asynchronous Receiver/Transmitter, 通用異步收發(fā)傳輸器)、SPI(Serial Peripheral Interface,串行外設(shè)接口)、I2C(Inter-Integrated Circuit,串行總線)、定時(shí)器、AD、DA等,能與各類傳感器進(jìn)行良好的交互。
微控制器的時(shí)鐘,由8 MHz的晶振組成的震蕩電路向微控制器輸入,STM32F103C8T6再通過PLL(鎖相環(huán))倍頻至72 MHz作為系統(tǒng)時(shí)鐘,并通過分頻等為外設(shè)提供不同的時(shí)鐘。
2.2環(huán)境數(shù)據(jù)采集模塊
智能控制終端的溫濕度采集采用DHT11溫濕度傳感器模塊。電阻式感濕元件與NTC測(cè)溫元件很好地被集成進(jìn)了該溫濕度傳感器中,并由內(nèi)嵌的一個(gè)微控制器對(duì)感濕元件與測(cè)溫元件采集到的數(shù)據(jù)進(jìn)行解析。DHT11濕度精度為±5%RH,溫度為±2℃,能夠?qū)z測(cè)到的環(huán)境溫濕度,通過其DATA數(shù)據(jù)引腳,以數(shù)字形式向外輸出。在與STM32F103C8T6微控制器的硬件連接中,需要將溫濕度傳感器的DATA引腳通過5 kΩ的上拉電阻進(jìn)行上拉,以提高驅(qū)動(dòng)力。如圖2。
圖2 溫度傳感器連接
光強(qiáng)數(shù)據(jù)由TSL2560傳感器獲取。作為性能優(yōu)良的第二代周圍環(huán)境光強(qiáng)度傳感器,能夠?yàn)榱酪驴刂葡到y(tǒng)采集到足夠精度的環(huán)境光強(qiáng)數(shù)據(jù)。其內(nèi)部結(jié)構(gòu)框圖如圖3所示。通道0和通道1各連接著一個(gè)光敏二極管,其中通道0的光敏二極管對(duì)可見光和紅外線都能靈敏地感知到,而通道1則僅僅能對(duì)紅外線靈敏地感知到。流過光敏二極管的電流經(jīng)過積分式A/D轉(zhuǎn)換器的積分,被轉(zhuǎn)化成了數(shù)字量,并且,轉(zhuǎn)換結(jié)束后其結(jié)果被存入相應(yīng)的寄存器中。整個(gè)積分、轉(zhuǎn)換過程完成后,A/D積分轉(zhuǎn)換器將重復(fù)進(jìn)行下一轉(zhuǎn)換過程。STM32F103C8T6可通過I2C總線協(xié)議對(duì)其寄存器進(jìn)行訪問,從而獲取光強(qiáng)強(qiáng)度。
圖3 TSL2560內(nèi)部結(jié)構(gòu)圖
雨滴采集部分由雨滴傳感器獲取,其AO模擬量輸出口輸出雨滴收集板上的雨滴量對(duì)應(yīng)的模擬值,將其AO口與STM32F103C8T6的AD的輸入引腳相連接,通過AD轉(zhuǎn)換后的數(shù)字量,即可獲取到雨滴數(shù)據(jù)。
2.3電機(jī)驅(qū)動(dòng)電路
STM32F103C8T6采用脈沖寬度調(diào)制(Pulse Width Modulation, PWM),對(duì)直流電機(jī)進(jìn)行控制。PWM控制方式相比于模擬電流控制,具有功耗低、抗噪能力強(qiáng)等特點(diǎn)。PWM信號(hào)由STM32F103C8T6的GPIOA0引腳輸出,輸入到電機(jī)的正極,微控制器的GPIOA1引腳與電機(jī)的負(fù)極連接,控制電機(jī)的正轉(zhuǎn)及反轉(zhuǎn)。當(dāng)GPIOA1引腳向外輸出低電平時(shí),控制器產(chǎn)生的PWM信號(hào)使電機(jī)正向運(yùn)轉(zhuǎn),反之,GPIOA1引腳輸出高電平時(shí),電機(jī)反向運(yùn)轉(zhuǎn),從而達(dá)到控制晾衣架伸出與收回的功能。
2.4WiFi通信電路
通信模塊采用的是由樂鑫公司開發(fā)的ESP8266無線WiFi模塊,該模塊高度集成了射頻 balun、天線開關(guān)、過濾器、低噪放大器、功率放大器和電源管理模塊,同時(shí)內(nèi)嵌了32位的 Tensilica L106單片機(jī),能夠運(yùn)行在最高可達(dá)160 MHz的時(shí)鐘下,具有16 位 RSIC和極低的運(yùn)行功耗。能夠使用實(shí)時(shí)操作系統(tǒng),并且只有20% 的 MIPS被它的WiFi 協(xié)議棧所使用,用戶可對(duì)剩余的80%進(jìn)行開發(fā)與編程。其還能夠通過配置寄存器實(shí)現(xiàn)3種不同的運(yùn)行模式:深度睡眠模式、睡眠模式和激活模式,使得能對(duì)其功耗更好地進(jìn)行控制。本控制系統(tǒng)通過STM32F103C8T6的UART1與ESP8266模塊進(jìn)行數(shù)據(jù)交互,實(shí)現(xiàn)數(shù)據(jù)由控制端上傳至機(jī)智云平臺(tái)的服務(wù)器,并從機(jī)智云平臺(tái)服務(wù)器獲取相應(yīng)的控制信息。
3.1控制程序設(shè)計(jì)
圖4 系統(tǒng)流程圖
控制程序?qū)⒉捎肍reeRTOS實(shí)時(shí)操作系統(tǒng),該系統(tǒng)是一個(gè)輕量級(jí)的、可搶占的實(shí)時(shí)操作系統(tǒng),提供了任務(wù)管理、互斥鎖、信號(hào)量、消息隊(duì)列等功能,任務(wù)由系統(tǒng)輪詢進(jìn)行調(diào)度,分別具有就緒態(tài)、運(yùn)行態(tài)、掛起狀態(tài)等。每個(gè)任務(wù)都具有優(yōu)先級(jí),當(dāng)系統(tǒng)調(diào)度時(shí),已經(jīng)處于就緒態(tài)的高優(yōu)先級(jí)的任務(wù)會(huì)優(yōu)先被系統(tǒng)調(diào)用執(zhí)行,從而保證了緊急任務(wù)的實(shí)時(shí)性。本系統(tǒng)的流程框圖如圖4。
當(dāng)控制板開機(jī)運(yùn)行時(shí),首先執(zhí)行FreeRTOS實(shí)時(shí)操作系統(tǒng)的初時(shí)化,緊接著初始化各個(gè)外設(shè),然后將系統(tǒng)運(yùn)行的任務(wù)創(chuàng)建出來,最終執(zhí)行任務(wù),此時(shí),F(xiàn)reeRTOS實(shí)時(shí)操作系統(tǒng)會(huì)根據(jù)設(shè)定的參數(shù),對(duì)任務(wù)進(jìn)行相應(yīng)的調(diào)度執(zhí)行。其中,通信協(xié)議處理任務(wù)為最高優(yōu)先級(jí),它負(fù)責(zé)處理從機(jī)智云服務(wù)器端接收到的請(qǐng)求,包括心跳、控制指令、系統(tǒng)狀態(tài)查詢、重啟MCU、在線升級(jí)等。
對(duì)于外設(shè)的控制,需要根據(jù)其datasheet來編寫相應(yīng)的驅(qū)動(dòng)實(shí)現(xiàn)對(duì)其正確的訪問控制[4]。
對(duì)于對(duì)時(shí)序要求較高的模塊(如DHT11溫濕度傳感器模塊)進(jìn)行控制時(shí),本控制系統(tǒng)在操作該類前,讓FreeRTOS進(jìn)入臨界量狀態(tài)(關(guān)閉所有中斷),以保證時(shí)序的準(zhǔn)確性。執(zhí)行完成后,需要退出臨界量狀態(tài),使系統(tǒng)恢復(fù)至原狀態(tài),才能實(shí)時(shí)響應(yīng)外界中斷。
3.2機(jī)智云平臺(tái)設(shè)置
機(jī)智云平臺(tái)提供了面向控制端及Android手機(jī)APP的應(yīng)用程序編程接口(Application Programming Interface,API),開發(fā)者能夠很輕松地進(jìn)入機(jī)智云平臺(tái)的開發(fā)者中心,添加本控制系統(tǒng)的外設(shè)的設(shè)備節(jié)點(diǎn),平臺(tái)則會(huì)自動(dòng)生成相應(yīng)的通信協(xié)議,按照此通信協(xié)議,即可與機(jī)智云平臺(tái)進(jìn)行數(shù)據(jù)交互,從而達(dá)到通過Internet即可在遠(yuǎn)程對(duì)本晾衣系統(tǒng)進(jìn)行方便的控制。圖5是在機(jī)智云平臺(tái)后臺(tái)獲取到的設(shè)備運(yùn)行數(shù)據(jù)情況。
圖5 服務(wù)器后臺(tái)數(shù)據(jù)
3.3手機(jī)APP程序設(shè)計(jì)
手機(jī)APP端采用機(jī)智云平臺(tái)提供的SDK包進(jìn)行二次開發(fā),開發(fā)者只需對(duì)Active進(jìn)行修改[5],即可為用戶提供友好的界面,提高用戶體驗(yàn)。在需要提供額外后臺(tái)功能時(shí),可對(duì)后臺(tái)進(jìn)行改動(dòng)。圖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)時(shí),晾衣架將伸出,關(guān)閉時(shí),晾衣架將在電機(jī)控制下縮回。is_automatic 為自動(dòng)手動(dòng)切換按鈕,開啟時(shí),控制
板將自動(dòng)根據(jù)環(huán)境數(shù)據(jù)進(jìn)行判別,決定是否晾衣,關(guān)閉時(shí),為手動(dòng)模式,可由用戶進(jìn)行控制。
圖6 APP界面圖
本晾衣控制系統(tǒng)依托機(jī)智云平臺(tái),通過Android手機(jī)APP與用戶交互,以STM32F103C8T6為控制板主控芯片,實(shí)現(xiàn)了通過Internet網(wǎng)絡(luò)對(duì)家中的晾衣架控制系統(tǒng)的有效控制,具備自動(dòng)、手動(dòng)兩種模式,縱使用戶身在異地,依然能夠?qū)抑械牧酪录苓M(jìn)行控制,使得衣物免遭雨淋。并且,一旦控制端與網(wǎng)絡(luò)失去連接,該系統(tǒng)將自動(dòng)切換至自動(dòng)控制模式,保證了系統(tǒng)的安全性與穩(wěn)定性。經(jīng)過測(cè)試,系統(tǒng)控制效果良好,能實(shí)時(shí)地響應(yīng)用戶端的控制指令來驅(qū)動(dòng)電機(jī),環(huán)境數(shù)據(jù)采集準(zhǔn)確。手動(dòng)模式下實(shí)時(shí)性高,自動(dòng)模式下自動(dòng)分析控制準(zhǔn)確,滿足日常使用。斷網(wǎng)測(cè)試時(shí),能正確執(zhí)行異常處理,切換至自動(dòng)模式。
[1] 劉偉,楊中良,朱思言,等.基于網(wǎng)絡(luò)遠(yuǎn)程控制的自動(dòng)晾衣系統(tǒng)設(shè)計(jì)[J].周口師范學(xué)院學(xué)報(bào),2016,33(5):75-77.
[2] 張永剛,王斌.物聯(lián)網(wǎng)技術(shù)在智能家居中的應(yīng)用[J].智能建筑與城市信息,2012(2):27-30.
[3] 勒川.從平臺(tái)布局邁步生態(tài)搭建機(jī)智云3.0及Gokit3正式發(fā)布[J].中關(guān)村,2015(10):73.
[4] 李長有,王文華.基于DHT11溫濕度測(cè)控系統(tǒng)設(shè)計(jì)[J].機(jī)床與液壓,2013,41(13):107-108.
[5] 張旭輝.基于安卓系統(tǒng)的APP開發(fā)技術(shù)探析[J].電子制作,2016(14):34.
The intelligent clothes-drying control system based on the GizWits
Huang Xin, Lin Wei
(College of Physics and Information Engineering, Fuzhou University, Fuzhou 350000, China)
Using the Android phone as the man-machine interaction terminal, the STM32F103C8T6 which is producted by STMicroelectronics as the core of the control terminal, based on the GizWits platform, this paper designed a smart control system which can help users to operate the drying racks usefully through the Internet. Avoided the clothes are wetted when users are not at home. And it will automatically switch to automatic mode when disconnect with the Server. The control terminal uses the FreeRTOS as operating system, it has a good performance in real-time control and stability. It can communicate with the GizWits server steadily.
embedded; FreeRTOS; GizWits; STM32
TP272
A
10.19358/j.issn.1674- 7720.2017.19.026
黃鑫,林偉.基于機(jī)智云的智能晾衣控制系統(tǒng)[J].微型機(jī)與應(yīng)用,2017,36(19):90-92.
2017-04-09)
黃鑫(1992-),男,碩士研究生,主要研究方向:嵌入式。林偉 (1968-), 男,碩士,副研究員,主要研究方向:敏感材料與器件、集成電路設(shè)計(jì)。