鄧?yán)?,鄧成?/p>
(西華大學(xué)機(jī)械工程學(xué)院,四川成都,610039)
近幾年來,科學(xué)技術(shù)不斷發(fā)展,已經(jīng)出現(xiàn)了許許多多的智能化產(chǎn)品,在生活中到處都能看見智能化產(chǎn)品,智能化的生活方式已經(jīng)與我們休戚相關(guān),各種設(shè)備的遠(yuǎn)程控制以及遠(yuǎn)程查看當(dāng)前狀態(tài)已經(jīng)成為必然趨勢(shì)。由于市場(chǎng)需求日益增加,一系列的產(chǎn)品廣泛出現(xiàn)和應(yīng)用,在一定程度上解決了用戶在傳統(tǒng)生活中的局限,讓用戶能夠通過手機(jī)實(shí)現(xiàn)遠(yuǎn)程對(duì)家用電子設(shè)備(包含照明、電子門鎖、家用電器等)的開關(guān)控制,進(jìn)而達(dá)到遠(yuǎn)程管理的目的[1]。
基于云服務(wù)的遠(yuǎn)程控制系統(tǒng)采用GD32F103C8T6單片機(jī)作為主控芯片,配有ESP8266WiFi模塊、繼電器驅(qū)動(dòng)模塊、電機(jī)驅(qū)動(dòng)模塊以及環(huán)境監(jiān)測(cè)模塊。GD32F103C8T6是兆易創(chuàng)新生產(chǎn)的一款單片機(jī),該單片機(jī)擁有1個(gè)高級(jí)定時(shí)器和3個(gè)通用定時(shí)器,工作頻率為72 MHz,具有32位數(shù)據(jù)處理能力,其高效的工作頻率以及強(qiáng)大的數(shù)據(jù)處理能力完全能夠滿足該系統(tǒng)高精度運(yùn)轉(zhuǎn)、響應(yīng)時(shí)間短的控制需求[2]。ESP8266WiFi模塊利用WiFi無線傳輸技術(shù)和物聯(lián)網(wǎng)協(xié)議將硬件接入到OneNET云平臺(tái),實(shí)現(xiàn)硬件與OneNEt云平臺(tái)之間的數(shù)據(jù)和命令傳輸。OneNET云平臺(tái)主要用于向硬件發(fā)送命令以及接受硬件上傳的參數(shù)。手機(jī)終端可下發(fā)操作指令對(duì)設(shè)備進(jìn)行遠(yuǎn)程控制以及對(duì)控制系統(tǒng)的參數(shù)進(jìn)行實(shí)時(shí)查詢。系統(tǒng)總體結(jié)構(gòu)圖如圖1所示。
圖1 系統(tǒng)總體結(jié)構(gòu)圖
微控制器采用的是GD32F103C8T6單片機(jī),GD32F 103C8T6是一款基于ARM Cortex-M的32位的微控制器,其主要作用是控制外部電路執(zhí)行程序并并接收環(huán)境監(jiān)測(cè)模塊所采集的參數(shù),通過ESP8266模塊上傳到OneNET云平臺(tái);以及通過OneNET云平臺(tái)下發(fā)的設(shè)備命令來控制設(shè)備的狀態(tài)。GD32F103C8T6單片機(jī)最小工作系統(tǒng)電路圖如圖2所示。
圖2 微控制器最小系統(tǒng)電路圖
繼電器驅(qū)動(dòng)模塊主要用于對(duì)外接設(shè)備的開啟和關(guān)閉,其硬件電路如圖3所示。通過三極管控制繼電器的通斷來實(shí)現(xiàn)對(duì)外接設(shè)備的開啟和關(guān)閉。
圖3 繼電器驅(qū)動(dòng)模塊電路圖
環(huán)境檢測(cè)包括溫濕度檢測(cè)以及光照檢測(cè),其中溫濕度檢測(cè)采用DHT11溫濕度傳感器,該傳感器是一種精度較高的傳感器,體積小,抗干擾能力強(qiáng),有著很強(qiáng)的可靠性。
光照檢測(cè)采用的是BH1750光照傳感器,該傳感器特點(diǎn)是支持IC-BUS通信接口,對(duì)應(yīng)廣泛的輸出光范圍(相當(dāng)于1-65535lux),光源依賴性弱以及最小誤差變動(dòng)在±20%左右。
這里主要用到的是ESP8266EX芯片,ESP8266EX芯片擁有完整的網(wǎng)絡(luò)功能既能當(dāng)作從機(jī)與主機(jī)搭配運(yùn)行,也能夠獨(dú)立運(yùn)用。更為重要的是,ESP8266EX具有適合各種低功耗應(yīng)用場(chǎng)景的省電模式[3-4]。WiFi模塊的硬件電路如圖4所示。
圖4 WiFi模塊電路圖
由于系統(tǒng)采用USB作為供電接口,為保障單片機(jī)的正常工作,需要對(duì)電源電壓進(jìn)行轉(zhuǎn)換,將5V電壓下降到3.3V,這里使用的是AMS1117-3.3[5]。AMS1117-3.3是一種輸出電壓為3.3V的正向低壓降穩(wěn)壓器,電源供電電壓轉(zhuǎn)換電路圖如圖5所示。
圖5 電源供電電壓轉(zhuǎn)換電路圖
數(shù)據(jù)采集與數(shù)據(jù)傳輸處理程序、命令接收與設(shè)備控制程序、用戶終端程序設(shè)計(jì)是系統(tǒng)軟件設(shè)計(jì)的三個(gè)主要部分。
數(shù)據(jù)采集與數(shù)據(jù)傳輸處理程序流程,遠(yuǎn)程控制系統(tǒng)接通電源后,單片機(jī)、環(huán)境監(jiān)測(cè)模塊、WiFi模塊等進(jìn)行一系列的初始化工作,然后通過向ESP8266WiFi模塊發(fā)送AT指令連接上OneNET云平臺(tái),環(huán)境監(jiān)測(cè)模塊將檢測(cè)到的參數(shù)通過ESP8266WiFi模塊上傳到OneNET云平臺(tái),等待一段時(shí)間,將采集的數(shù)據(jù)再次上傳到OneNET云平臺(tái)。
命令下發(fā)與設(shè)備控制程序流程,用戶通過手機(jī)APP端下發(fā)控制命令,控制命令采用JSON數(shù)據(jù)格式發(fā)送到OneNET云平臺(tái),然后通過ESP8266WiFi模塊接收OneNET云平臺(tái)的控制命令,單片機(jī)接收控制命令后完成對(duì)外接設(shè)備的控制。
本系統(tǒng)的用戶終端使用的是基于Android系統(tǒng)編寫的APP,Android系統(tǒng)采用Java語言作為開發(fā)環(huán)境,本APP主要使用Android Studio開發(fā)[6]。用戶可以使用該APP通過無線網(wǎng)絡(luò)在手機(jī)上實(shí)時(shí)查看設(shè)備周圍環(huán)境參數(shù),并且可以下發(fā)控制指令,對(duì)設(shè)備進(jìn)行遠(yuǎn)程控制。方便快捷,節(jié)省人力,方便管理。手機(jī)APP界面如圖6所示。
圖6 手機(jī)APP界面
將程序下載至單片機(jī)后,對(duì)系統(tǒng)上電。登錄OneNET云平臺(tái)中心,在設(shè)備列表可以看見設(shè)備狀態(tài)為在線,如圖7所示,說明設(shè)備已經(jīng)成功連接OneNET云平臺(tái)。通過移動(dòng)終端,打開手機(jī)APP,通過相應(yīng)的控件可遠(yuǎn)程控制各種設(shè)備(電燈、電視、空調(diào)、水管、窗簾)的狀態(tài)。試驗(yàn)結(jié)果表明傳感器對(duì)周邊環(huán)境變化響應(yīng)迅速,數(shù)據(jù)準(zhǔn)確,系統(tǒng)運(yùn)行穩(wěn)定,控制命令響應(yīng)迅速,滿足系統(tǒng)要求,可在一般環(huán)境中正常使用。
圖7 OneNET云平臺(tái)的管理統(tǒng)計(jì)數(shù)據(jù)
本文設(shè)計(jì)了一中基于云服務(wù)的遠(yuǎn)程控制系統(tǒng),采用通過ESP8266WiFi模塊將控制系統(tǒng)接入到OneNET云平臺(tái),通過用戶終端可實(shí)現(xiàn)對(duì)遠(yuǎn)程設(shè)備周圍環(huán)境參數(shù)的實(shí)時(shí)查詢并且還能對(duì)設(shè)備的狀態(tài)進(jìn)行控制。本設(shè)計(jì)滿足基于云服務(wù)的遠(yuǎn)程控制系統(tǒng)的基礎(chǔ)功能,實(shí)現(xiàn)覆蓋范圍廣,成本低廉,用戶操作簡(jiǎn)單方便,具有一定的應(yīng)用前景。