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