(西北民族大學電氣工程學院 甘肅 蘭州 730124)
基于Android和Wifi的智能臺燈設計
曾慶煌沙伊帆廖清楊
(西北民族大學電氣工程學院甘肅蘭州730124)
針對大部分傳統(tǒng)風扇存在有許多弊端,如本文介紹了基于Wifi技術的智能開關的設計。該設計由STM32F103C8T6最小系統(tǒng)板、ESP8266無線Wifi模塊、AMS1117-3.3穩(wěn)壓模塊、Android平臺控制軟件以及三通道繼電器模塊構成。整個操作過程中,用戶只需要將硬件系統(tǒng)通電,通過Android平臺控制軟件簡單操作,達到了方便用戶并且擁有安全保障的效果。
wifi;Android
(一)系統(tǒng)總體結構設計
由系統(tǒng)方案論證結果有,STM32微控制單元選擇STM32F103C8T6芯片、Wifi無線通信模塊選擇ESP8266芯片、穩(wěn)壓模塊選擇AMS1117-3.3芯片以及三個繼電器模塊模擬家用電器開關。系統(tǒng)的總體結構圖如圖1-1所示:
圖1-1 系統(tǒng)的總體結構圖
在用戶進行操作時,首先為STM32微控制單元模塊通電穩(wěn)壓;然后由ESP8266無線通信模塊產(chǎn)生一個AP熱點,用戶可以用Android機加入Wifi熱點;用戶在Android機上進入控制軟件界面,按下控制按鈕后,通過無線通信向STM32F103C8T6芯片反饋操控信息;最后STM32F103C8T6主控芯片對用戶的操控信息進行解析,判斷對某一繼電器模塊進行對應的操控動作。
(二)穩(wěn)壓電源電路的設計
設計的電源接入選擇一個MiniUSB接口,首先將輸入電壓轉換成一個5V電壓輸出,給硬件系統(tǒng)供電。將5V電壓輸入穩(wěn)壓芯片,使穩(wěn)壓芯片AMS1117-3.3輸出一個3.3V的電壓。而3.3V的電壓正好可以使主控芯片STM32F103C8T6和Wifi芯片ESP8266正常工作。在系統(tǒng)上電的情況下,按下自鎖開關SW-DPDT,系統(tǒng)上電,并為STM32F103C8T6芯片與ESP8266芯片供電,系統(tǒng)指示燈LED0點亮,系統(tǒng)正常開啟。
(三)STM32微控制單元電路的設計
STM32微控制單元的正常工作電壓為2.0-3.6V,所以在經(jīng)過穩(wěn)壓芯片AMS1117-3.3降壓后輸出的3.3V電壓可以直接接入STM32F103C8T6芯片上,為其供電。其中STM32F103C8T6芯片上的PA9和PA10引腳分別連接ESP8266芯片的URXD引腳和UTXD引腳進行串口數(shù)據(jù)發(fā)送與接收;PA13和PA14引腳分解連接到SWDIO引腳與SWCLK引腳上,為STM32F103C8T6芯片燒寫滿足課題設計要求的程序;PB8、PB9和PB10引腳分別接到三個繼電器模塊上,為繼電器模塊提供工作電壓與工作電流;PD0與PD1引腳接入8M晶振模塊,為STM32F103C8T6芯片提供一個時鐘源;NRST引腳接入按鈕復位電路,擁有使系統(tǒng)恢復到初始狀態(tài)的功能。
(四)Wifi通信模塊電路的設計
經(jīng)過穩(wěn)壓芯片AMS1117-3.3輸出的3.3V電壓直接為Wifi模塊電路供電。ESP8266芯片的8只引腳擁有不同的功能定義,在本課題設計中,為了達到課題要求,在搭建電路時需要注意到各個引腳的電路連接。UTXD引腳與URXD引腳連接到STM32F103C8T6芯片上的PA9和PA10引腳,進行串口的數(shù)據(jù)發(fā)送與接收;CH_PD引腳經(jīng)過一個上拉電阻連接電源,設置為高電平模式;RESET引腳連接一個上拉電阻連接電源,設置為接收到外部的復位信號時,低電平復位、高電平工作;VCC3.3引腳接入3.3V電源為芯片供電;GPIO0引腳經(jīng)由一個上拉電阻連接電源,設置為Flash Boot工作模式,并且控制Wifi芯片工作狀態(tài)指示燈;GPIO2引腳由于芯片默認拉高,開機上電時必須是高電平并且禁止硬件下拉,所以直接經(jīng)由一個上拉電阻連接電源,是之呈上拉狀態(tài)。
(一)主程序流程設計
本次設計在操作流程時,其工作的程序流程為STM32F103C8T6通過USART接口與ESP8266連接設置開啟無線熱點,Android平臺控制軟件通過加入無線熱點向STM32F103C8T6發(fā)送操作數(shù)據(jù),STM32F103C8T6接收到數(shù)據(jù)并解析后對繼電器模塊進行通斷操作,從而對開關進行相應的通斷操作。整個操作過程中,用戶只需要將硬件系統(tǒng)通電,通過Android平臺控制軟件簡單操作,達到了方便用戶并且擁有安全保障的效果。
(二)ESP8266驅動程序設計
在設計的系統(tǒng)中,STM32F103C8T6和Android平臺的控制軟件是通過Wifi功能實現(xiàn)的,從而得到用戶在Android平臺上選擇的操作。ESP8266使用的是AT指令集,STM32F103C8T6只需要將AT指令通過USART接口發(fā)送給ESP8266,就可以完成相應的功能,為用戶提供可以連接到系統(tǒng)的專用Wifi熱點。在本次課題設計中ESP8266芯片驅動程序主要包括:USART串口初始化、AT指令發(fā)送程序。
(三)用戶Android平臺控制軟件的設計
在整個控制軟件設計中,首先需要配置Java開發(fā)環(huán)境安裝JDK,安裝JRE,然后配置環(huán)境變量。Android的環(huán)境變量需要配置ADB的使用,將開發(fā)平臺的兩個工具包配置到環(huán)境變量里。在開發(fā)環(huán)境中下載安裝Eclipse,它是一個開放源代碼、基于Java的可拓展開發(fā)平臺,然后就可以進行控制Android平臺的控制軟件開發(fā)。Android平臺的控制軟件開發(fā)主要包括兩個內(nèi)容:一是控制軟件界面設置,包括界面布局、按鈕名稱和顯示連接與否的內(nèi)容;二是控制界面中的每個按鈕按下抬起所反饋的信息內(nèi)容設計。
主要的成果有:提出了基于Wifi技術的智能臺燈的設計,以開關為設計基礎,實現(xiàn)了一個小型的物聯(lián)網(wǎng)成品,系統(tǒng)結合軟件和硬件兩方面的設計,實現(xiàn)了數(shù)據(jù)從用戶到底層硬件的控制;實現(xiàn)了Android系統(tǒng)一個簡易的應用軟件的編寫,運用Android操作系統(tǒng)的開發(fā)軟件,編寫了適用于設計的簡單控件,并打包成為APK安裝包,可以供多位用戶使用和普及;完成了以STM32F103C8T6芯片為中心的微控制單元,ESP8266芯片為核心的Wifi模塊以及自己編寫的Android系統(tǒng)友好控制軟件三方面的搭建連接,可以使用戶更加親切地體驗無線控制開關的方便。
西北民族大學電氣工程學院“雙E”項目資助,項目編號:20161815