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