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