張凱軒 劉利平 尉蕾
摘要:隨著各類大、中專院校的擴(kuò)招,教室的擴(kuò)建,教室照明的需求也越來越多,而教室照明的管理不到位,造成學(xué)校電能浪費(fèi),經(jīng)濟(jì)損失。為了解決這個(gè)問題,開發(fā)出基于WIFI技術(shù)的遠(yuǎn)程燈控系統(tǒng),本文旨在通過遠(yuǎn)程WIFI技術(shù)借助移動(dòng)設(shè)備實(shí)現(xiàn)對(duì)學(xué)校教室燈光的開,關(guān),查看等基本功能。從而降低教室照明管理不到位問題。本實(shí)驗(yàn)主要通過手機(jī),電腦在廣域網(wǎng)下隨時(shí)控制單片機(jī)(STM32)端led燈的亮滅來模擬控制學(xué)校各樓棟,樓層的燈光的實(shí)際情況。
關(guān)鍵詞:WIFI技術(shù) 移動(dòng)設(shè)備 廣域網(wǎng)
中圖分類號(hào):TP273 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1007-9416(2016)08-0026-01
隨著社會(huì)經(jīng)濟(jì)和科學(xué)技術(shù)的發(fā)展,人們的生活水平的不斷提高,導(dǎo)致用電負(fù)荷的加劇,能源缺乏已成為世界所面臨的嚴(yán)峻問題。Wi-Fi是一種可以將個(gè)人電腦、手持設(shè)備(如PDA、手機(jī))等終端以無(wú)線方式互相連接的技術(shù),它是一個(gè)無(wú)線網(wǎng)路通信技術(shù)的品牌,由Wi-Fi聯(lián)盟(Wi-Fi Alliance)所持有,目的是改善基于IEEE 802.11標(biāo)準(zhǔn)的無(wú)線網(wǎng)路產(chǎn)品之間的互通性,WiFi在掌上設(shè)備上應(yīng)用越來越廣泛,而智能手機(jī)就是其中一份子。考慮到當(dāng)下移動(dòng)電子產(chǎn)品中普及率最高的為筆記本電腦和智能手機(jī),因此開發(fā)出了對(duì)應(yīng)的電腦客戶端軟件與手機(jī)客戶端軟件,讓用戶隨時(shí)可以通過自身的手機(jī),電腦利用WIFI技術(shù)連接網(wǎng)絡(luò)與控制端通訊,從而達(dá)到遠(yuǎn)程控制教室燈光目的。
1 硬件電路設(shè)計(jì)
1.1 硬件電路簡(jiǎn)介
在本次試驗(yàn)中硬件部分主要有STM32ZET6,ESP8266,LED燈,按鍵。其中以主控芯片(STM32)作為控制核心,搭載ESP8266無(wú)線轉(zhuǎn)串口模塊,通過串口通訊將網(wǎng)絡(luò)模塊與路由器連接,再通過配置路由器從而實(shí)現(xiàn)在廣域網(wǎng)下與客戶端軟件進(jìn)行通訊目的,從而實(shí)現(xiàn)客戶端軟件時(shí)時(shí)可控的目的。
1.2 硬件電路設(shè)計(jì)
先通過洞洞板調(diào)試搭建簡(jiǎn)單電路用于調(diào)試控制端程序,再通過Altium Designer軟件繪制PCB電路板,再將元器件焊接到PCB電路板上從而完成整個(gè)電路部分的設(shè)計(jì)。
2 軟件程序設(shè)計(jì)
2.1 單片機(jī)端
單片機(jī)端主要以編程方式控制STM32單片機(jī)串口發(fā)送AT指令到ESP8266網(wǎng)絡(luò)模塊,然后通過路由器配置與遠(yuǎn)程移動(dòng)設(shè)備進(jìn)行通訊。從而接受到遠(yuǎn)程客戶端發(fā)來的指令,經(jīng)過指令接受對(duì)比,實(shí)現(xiàn)對(duì)外設(shè)的操作,再將指令執(zhí)行情況通過網(wǎng)絡(luò)芯片反饋給遠(yuǎn)程客戶端。
2.2 Windows客戶端
通過Java語(yǔ)言編寫簡(jiǎn)單客戶端界面,從而達(dá)到控制控制端的目的。本次試驗(yàn)中利用JAVA編寫的程序界面。在該界面中主要有文本框,復(fù)選框,文本區(qū)域,按鈕燈控件,通過用戶選擇操作對(duì)象(樓層,樓棟)然后點(diǎn)擊按鈕,觸發(fā)按鈕的監(jiān)控事件,從而向用戶輸入輸入控制端IP的設(shè)備進(jìn)行發(fā)送指令,發(fā)送成功后,并等待控制端返回指令,然后將返回信息反饋到文本框或者文本區(qū)域中供用戶查看,從而讓用戶對(duì)控制端狀況了如指掌。
2.3 Android客戶端
手機(jī)是現(xiàn)在社會(huì)最為流行的電子產(chǎn)品,幾乎沒人都有自己的智能手機(jī),因此借助智能手機(jī)這個(gè)工具,通過JAVA編程技術(shù)編寫簡(jiǎn)單手機(jī)APP從而讓用戶利用手機(jī)聯(lián)網(wǎng)控制教室樓層燈光的開啟,關(guān)閉,查看等功能,從而實(shí)現(xiàn)時(shí)時(shí)可控的目的。
3 路由器配置
3.1 ESP8266綁定IP
每個(gè)可以上網(wǎng)的設(shè)備都有一個(gè)唯一的標(biāo)示。我們可以利用這一信息來實(shí)現(xiàn)網(wǎng)絡(luò)芯片連接路由器的時(shí)候讓路由器分配給他一個(gè)固定的內(nèi)網(wǎng)IP。因?yàn)槲覀兊囊笫强梢酝ㄟ^廣域網(wǎng)來實(shí)現(xiàn)燈的控制,因此我們需要訪問路由去端公網(wǎng)IP,讓路由器將我們發(fā)送的信息傳送給固定內(nèi)網(wǎng)IP的設(shè)備(ESP8266),通過這種方式來實(shí)現(xiàn)廣域網(wǎng)通訊。操作過程主要通過查詢資料,或者借助路由器客戶端顯示信息找到ESP8266的MAC地址,然后通過路由器界面中DHCP服務(wù)下的靜態(tài)IP地址分配功能,新建條目,將ESP8266在該路由器下綁定制定IP。
3.2 端口映射
手機(jī)通過訪問路由器端的公網(wǎng)IP地址,實(shí)現(xiàn)將指令發(fā)送到路由器功能。由于路由器的設(shè)置問題,默認(rèn)不會(huì)將外網(wǎng)發(fā)送來的數(shù)據(jù)包傳送給路由器下的設(shè)備。這就不能實(shí)現(xiàn)我們所需的功能。因此我們需要配置路由器中的端口映射功能來實(shí)現(xiàn)。簡(jiǎn)單地說端口映射就是將外網(wǎng)傳給路由器的數(shù)據(jù)包轉(zhuǎn)發(fā)到指定的內(nèi)網(wǎng)IP設(shè)備下。因此我們需要做的就是將ESP8266這個(gè)設(shè)備先綁定固定的內(nèi)網(wǎng)IP,然后配置一下路由器中的端口映射功能即可。操作過程主要是先將ESP8266綁定該路由器下的一個(gè)固定的內(nèi)網(wǎng)IP,然后點(diǎn)擊路由器界面下的端口映射新建條目,將對(duì)應(yīng)信息輸入進(jìn)去,使該條目基礎(chǔ)與可用狀態(tài)即可。
3.3 動(dòng)態(tài)域名解析
由于各種原因路由器可能會(huì)斷電然后在重啟,而重啟后路由器的外網(wǎng)IP會(huì)發(fā)生變化,這就對(duì)程序編寫造成了很大的難度,不過路由器中提供了動(dòng)態(tài)域名解析(DDNS)的服務(wù)。我們只要按照路由器中的提示配置好路由器即可使用此功能。動(dòng)態(tài)域名解析說簡(jiǎn)單點(diǎn)就是能將路由器的時(shí)時(shí)得IP與一個(gè)固定的域名掛鉤。這樣我們?cè)诔绦蛑薪ocket服務(wù)時(shí),將IP換成這個(gè)固定的域名即可解決上述問題。因此我們需要在路由器中找到動(dòng)態(tài)域名解析選項(xiàng)。然后打開,會(huì)發(fā)現(xiàn)里面有路由器提供的動(dòng)態(tài)域名解析服務(wù)。所以我們只要去路由器上提供的網(wǎng)址注冊(cè)賬號(hào),然后在路由器中輸入賬號(hào)密碼即可以實(shí)現(xiàn)動(dòng)態(tài)域名解析功能。從而達(dá)到廣域網(wǎng)控制目的。
4 結(jié)語(yǔ)
本實(shí)驗(yàn)以STM32F103ZET6為核心控制器,利用遠(yuǎn)程WIFI通訊技術(shù)將移動(dòng)設(shè)備上的客戶端軟件與單片機(jī)控制端有機(jī)的結(jié)合起來。通過移動(dòng)端軟件發(fā)送相應(yīng)命令到控制端,控制端檢測(cè)到命令后執(zhí)行相應(yīng)代碼。再將執(zhí)行情況反饋給客戶端用于客戶端顯示給用戶,以便用戶知道命令是否執(zhí)行成功。從而通過實(shí)驗(yàn)成功模擬了通過遠(yuǎn)程WIFI技術(shù)控制教室燈光的實(shí)際情況。
參考文獻(xiàn)
[1]劉軍.例說STM32[M].北京:北京航空航天大學(xué)出版社,2001.
[2]Joseph Yiu,宋巖(譯)Cortex-M3權(quán)威指南[M].北京航空航天大學(xué)出版社,2009.
[3]李寧.基于MDK的STM32處理器應(yīng)用開發(fā)[M].北京:北京航空航天大學(xué)出版社,2008.