白創(chuàng) 張興端 高千雅 李鍵 吳瑞瑞 李永昌
摘要:傳統(tǒng)窗簾由于需要人為手動開合和無法根據(jù)光照變化自動控制,因此設計了一種基于STM32F103單片機的智能窗簾控制系統(tǒng)。該系統(tǒng)使用STM32F103作為微控制器, 利用TSL2561光強傳感器采集周圍環(huán)境的光照強度,通過ESP8266無線通信模塊實現(xiàn)互聯(lián)網(wǎng)連接。STM32F103從TSL2561中獲取一段時間內的環(huán)境光照數(shù)據(jù)并進行相關的數(shù)據(jù)處理和控制窗簾的電機轉動,從而實現(xiàn)自動光照控制。STM32F103按照機智云服務平臺的通信協(xié)議封裝窗簾電機狀態(tài)、光照閥值和光照數(shù)據(jù)成數(shù)據(jù)幀并通過UART傳輸給ESP8266,然后由ESP8266將數(shù)據(jù)上傳到機智云服務平臺,而機智云服務平臺完成數(shù)據(jù)轉交給智能終端。智能終端的數(shù)據(jù)也按照相同的途徑從智能終端傳送到STM32F103并被STM32F103提取、識別和執(zhí)行相應的操作,由此實現(xiàn)遠程控制窗簾控制系統(tǒng)。
關鍵詞:智能窗簾;互聯(lián)網(wǎng)連接;光照控制;遠程控制
Abstract:Since the traditional window curtain needs manual control andnot be automatically controlled according to light changes, a smart curtain control system based on STM32F103 microcontroller is designed. The system uses STM32F103 as the microcontroller, acquires the ambient light intensity using TSL2561 intensity sensorand realizes Internet connection through ESP8266 wireless communication module. STM32F103 collects ambient illumination during a period of time from TSL2561 ,processes related data and controls the motor work to achieve automatic illumination control. STM32F103 packages the state of the curtain motor, illumination threshold and illumination into data frames according to the communication protocol of the Ji Zhiyun service platform, transmits them through the UART to ESP8266, then ESP8266 will upload the data to the Ji Zhiyun service platformand the platform completes transmitting the data to the intelligent terminal.The data of intelligent terminals also transmit to STM32F103 from the intelligent terminal in the same way, and are extracted, identified and executed by STM32F103, so as to realize telecontrol curtain control system.
Key word:Intelligent curtain;Internet connection; illumination control; telecontrol
引言
隨著科學技術的發(fā)展和人們生活水平的提高,智能化家居系統(tǒng)越來越多的出現(xiàn)在人們的生活中,帶給人們快捷、舒適的體驗。對于家居必需品來講,窗簾占有著重要的地位。由于手動窗簾需要手動開關,電動窗簾無法根據(jù)光照實現(xiàn)自動控制且需要特定遙控器,具有一定的局限性。
因此設計了一款基于STM32F103微控制器的智能窗簾控制系統(tǒng)。人們可以通過使用手機進行遠程操控窗簾開關,窗簾也會根據(jù)光的強度不同而張開、閉合[1]~[2][3][4]。它克服了傳統(tǒng)窗簾繁瑣的操作流程,也可以在人不在家的情況下避免關不了窗簾的煩惱,因此而更加人性化,更加便捷化,更加智能化。
1. 智能窗簾控制系統(tǒng)工作原理
系統(tǒng)通過采用STM32F103微控制器、ESP8266 WIFI模塊、TSL2561光強傳感器、窗簾軌道電機和窗簾軌道組成,系統(tǒng)整體流程如圖1。
一方面,STM32F103作為主控制器,在一定的時間內通過IIC協(xié)議控制TSL2561光強傳感器采集一系列的光照數(shù)據(jù),取這系列光照強度數(shù)據(jù)的平均值作為這段時間的平均光照強度[3]。微控制器將平均光照強度與預設閥值光照強度進行比較決定窗簾電機的工作狀態(tài),進而實現(xiàn)窗簾在光照變化下自動開關;同時STM32F103通過UART串口通信將平均光照強度發(fā)給ESP8266無線通信模塊,ESP8266模塊將數(shù)據(jù)光照數(shù)據(jù)上傳到機智云服務平臺,云平臺記錄數(shù)據(jù)并將光照數(shù)據(jù)最終轉發(fā)給對應的智能終端。設備狀態(tài)的更新數(shù)據(jù)也是根據(jù)相同的方式上傳到云平臺和智能終端。
另一方面在智能終端上,可以設定光照強度,窗簾電機的開啟,關閉和暫停等命令。智能終端的命令先是上傳給機智云服務平臺并被平臺記錄,然后轉發(fā)給特定的WIFI模塊,WIFI模塊通過UART串口通信傳送給STM32F103微控制器。微控制器對命令進行識別并執(zhí)行相應的操作命令,從而實現(xiàn)遠程控制窗簾電機[5]。
2 硬件設計
2.1 STM32F103微控制器
STM32F103Vxx增強型系列由意法半導體集團設計,使用高性能的ARMCortex-M3 32位的RISC內核,工作頻率為72MHz,1.25DMIPS/MHz,內置高速存儲器(高達512K字節(jié)的閃存和64K字節(jié)的SRAM),豐富的增強I/O端口和聯(lián)接到兩條APB總線的外設。系統(tǒng)選擇其作為微控制器,主要由于其功耗??;較快的運行速度和較高的執(zhí)行效率,具有大容量的FLASH和SRAM,可以運行復雜的通信協(xié)議程序。在具有豐富的外設功能和通信接口,利于擴展,具有很高的性價比。
2.2 TSL2561光強傳感器
TSL256x是TAOS公司推出的一種高速、低功耗、寬量程、可編程靈活配置的光強傳感器芯片。TSL256x的訪問遵循標準的SMBus和I2C協(xié)議。SCL為時鐘信號線,SDA為數(shù)據(jù)信號線,與STM32F103的PB7和PB6相連。STM32F103通過使用軟件模擬IIC協(xié)議獲取光強傳感器的中可見光的光強數(shù)據(jù),實現(xiàn)對光照強度信息的采集,監(jiān)控。
2.3 ESP8266 WIFI模塊
ESP8266是一款超低功耗的UART-WiFi 透傳模塊,擁有業(yè)內極富競爭力的封裝尺寸和超低耗技術,專為移動設備和物聯(lián)網(wǎng)應用設計,可將用戶的物理設備連接到Wi-Fi 無線網(wǎng)絡上,進行互聯(lián)網(wǎng)或局域網(wǎng)通信,實現(xiàn)聯(lián)網(wǎng)功能。
ESP8266無線通信模塊使用機智云GAgent固件,按照機智云規(guī)定的通信協(xié)議將命令和數(shù)據(jù)封裝幀,通過UART與單片機進行信息的發(fā)送和命令的交互。其中ESP826的TXD、RXD分別與STM32F103的UART2的RXD與 TXD連接,實現(xiàn)全雙工異步串口通信,硬件連接。
3 軟件設計
系統(tǒng)軟件設計整體流程如下:系統(tǒng)在上電后,開始配置STM32F103系統(tǒng)時鐘、UART、Timer和GPIO等模塊,設置窗簾控制系統(tǒng)的用戶初始數(shù)據(jù),完成STM32硬件模塊和軟件數(shù)據(jù)的初始化。在完成初始化操作后,微控制器STM32F103通過UART串口通信設置ESP8266無線通信模塊的配網(wǎng)模式為airlink,等待APP連接路由器并將設備添加、設備注冊到機智云從而完成設備添加。
ESP8266無線模塊在設置好airlink配網(wǎng)模式后,STM32F103通過模擬IIC協(xié)議從TSL2561光強傳感器獲取一段時間的光照數(shù)據(jù),并取平均值作為這段時間的平均光照強度,然后判斷光照自動控制是否開啟。如果光照自動控制開啟,則將平均光照強度和預設光照強度閥值進行比較進而決定窗簾電機的運轉狀態(tài),接著進入下一步;如果沒有開啟自動控制,則直接進入下一步。
接下來進行系統(tǒng)命令的交互和數(shù)據(jù)上傳和下載。系統(tǒng)先查詢是否有收到一幀數(shù)據(jù)流,如果收到一幀數(shù)據(jù)流則對這一幀數(shù)據(jù)流進行校驗,否則進入下一步。在校驗無誤后,從一幀數(shù)據(jù)中提取、識別、執(zhí)行更改電機狀態(tài)的命令并更新電機相關參數(shù)和閥值光照數(shù)據(jù),否則直接丟棄。最后對當前系統(tǒng)電機參數(shù)和環(huán)境光照強度與歷史數(shù)據(jù)進行進行對比,如果發(fā)現(xiàn)數(shù)據(jù)發(fā)生變化,則將當前數(shù)據(jù)進行上傳并更新歷史數(shù)據(jù),否則直接進入下一步。
接著程序跳轉到獲取光照強度繼續(xù)進行循環(huán)。
4實驗結果
本實驗要實現(xiàn)通過APP遠程控制窗簾控制系統(tǒng),則必須要驗證TSL2561光強傳感器與STM32F103的IIC通信,STM32F103與ESP8266的UART通信以及基于前兩者之下的窗簾控制系統(tǒng)與手機APP的數(shù)據(jù)傳輸和命令交互。
首先,配置STM32的UART模塊,使一段時間的平均光照強度數(shù)據(jù)能通過UART回顯到串口調試助手上。然后,將TSL2561光強傳感器置于較暗的環(huán)境,微控制器回顯的數(shù)據(jù)為2 lux;接著將其換到較亮的環(huán)境,微控制器回顯的數(shù)據(jù)為63 lux,如圖2所示。故TSL2561光強傳感器模塊與STM32F103微控制器間的IIC通信正常并且能通過IIC將光照強度的數(shù)據(jù)發(fā)送給STM32F103微控制器。
將光照數(shù)據(jù)按照機智云服務平臺的通信協(xié)議封裝成幀,并通過UART發(fā)送給ESP8266,并由ESP8266轉交給機智云,機智云記錄通信信息。當TSL2561光強傳感器置于較暗的環(huán)境中時,機智云服務平臺記錄的數(shù)據(jù)為3~4 lux;當將其置于較亮的環(huán)境,機智云服務平臺記錄的數(shù)據(jù)74~75 lux,如圖3所示。所以STM32F103微控制器與ESP8266無線通信模塊間的UART通信正常。
由于實驗條件限制和演示方便,微控制器控制窗簾電機正轉,反轉和停止使用LED燈進行模擬。正轉代表窗簾打開,反轉代表窗簾關閉。電機正轉指示燈為最上面LED1,反轉指示燈為中間LED2,停止指示燈為最下面LED3。如果某個LED亮著,其余LED都熄滅,則代表電機此時正處于某種狀態(tài)。
首先,在APP開啟光照自動控制,將預設的閥值光照設為325 lux并將其放在較暗的環(huán)境下。由于當前的光照強度為55 lux,小于預設光照強度。所以此時窗簾應該關閉,即窗簾電機應該反轉。電機停止按鈕處于關閉狀態(tài),反轉開關自動開啟,同時代表反轉的LED2亮起,代表停止LED3和正轉LED1處于熄滅狀態(tài)。
接著,將其放在明亮的環(huán)境下且預設的閥值光照仍然設為325 lux。由于當前的光照強度為455 lux,大于預設光照強度。所以此時窗簾應該打開,即窗簾電機應該正轉。電機停止按鈕處于關閉狀態(tài),正轉開關自動開啟,同時代表正轉的LED1亮起,代表停止LED3和反轉LED2處于熄滅狀態(tài)。
最后,在APP關閉光照自動控制,手動停止電機轉動。電機停止按鈕處于開啟狀態(tài),反轉和正轉開關自動開啟,同時代表停止的LED3亮起,代表正轉LED1和反轉LED2處于熄滅狀態(tài)。
由上述三個整體效果圖可知,基于TSL2561光強傳感器與STM32F103的IIC通信和STM32F103與ESP8266的UART通信的窗簾控制系統(tǒng)與手機APP的數(shù)據(jù)傳輸和命令交互正常。
5總結
手機APP實現(xiàn)遠程控制窗簾的開閉,告別傳統(tǒng)窗簾手動開關的麻煩;能夠查看房間光照強度數(shù)據(jù),設定光照閥值并且能夠進行光照條件下的自動控制,克服了電動窗簾必須使用遙控器開關窗簾的弊端;智能終端成為智能窗簾控制系統(tǒng)的移動控制終端,符合智能家居發(fā)展趨勢。該電路簡單,系統(tǒng)控制靈活,成本低廉,具有不錯的應用前景。
參考文獻:
[1] 何康旭,張婧婧.基于單片機的智能窗簾控制系統(tǒng)的設計與實現(xiàn)[J].現(xiàn)代計算機:專業(yè)版,2012(36):75-78.
[2] 孫勇, 楊文月, 趙余新.自動窗簾控制系統(tǒng)設計[M].北京:化學工業(yè)出版社,20 0 6.
作者簡介:白創(chuàng)(1983-10)男,漢族,工學博士,博士,現(xiàn)為長沙理工大學物理與電子科學學院電子科學與技術專業(yè)教師,研究方向:超大規(guī)模集成電路設計與深度神經網(wǎng)絡算法。
通訊作者:李鍵(1996-02),男,漢族,遼寧省建平縣人,學士學位,長沙理工大學2014級電子科學與技術專業(yè)學生。