蔡冬玲


摘 要:基于ESP8266無線WiFi模塊,并結合Android智能移動終端,文中設計了一款可通過無線網絡實現開、關燈的照明控制系統。
關鍵詞:WiFi;照明;控制;ESP8266;Android
中圖分類號:TP393.1 文獻標識碼:A 文章編號:2095-1302(2017)06-00-02
0 引 言
隨著網絡技術、軟件技術、控制技術的發展,智能化應用技術得到了不斷進步。智能照明就是一種典型的智能化應用。隨著社會需求的不斷變化,傳統的照明控制方式由于需要使用者近距離操作照明設備開關,給使用者帶來諸多不便,因此已無法滿足人們日益增長的需求。人們更希望通過現在廣泛應用的WiFi無線網絡,利用隨身攜帶的手機、平板電腦等移動終端來對家用電燈等照明設備進行開關操作。本文基于這項需求,設計了一款在WiFi環境下可使用智能手機等移動終端設備進行開關燈操作的照明控制系統。
1 系統總體設計
本系統的設計主要包含WiFi局域網接入節點、WiFi燈光控制節點和移動終端軟件設計。其中WiFi通信部分由ESP8266模塊實現。ESP8266采用樂鑫智能互聯平臺提供的ESP8266無線WiFi模塊,擁有高性能無線SOC,使無線平臺的開發設計變得實用、方便。ESP8266 為系統提供了一個完整且自成體系的WiFi網絡解決方案,能夠獨立運行、處理相關指令。作為控制系統的主要芯片,ESP8266還具有透明傳輸功能,可通過無線網絡接收數據,卻不修改數據,直接傳送到下一端,使得接收方接到數據內容和長度一致的數據,在傳輸過程中保證了數據的準確性[1]。ESP8266模塊可配置成Station(客戶端)、AP(接入節點)、Station + AP三種模式,即ESP8266模塊可作為一個設備(Client)連接區域網內的路由,也可設置成一個路由(Sever),既作為局域網里的Client同時又是其他Client的Sever。系統的總體工作過程如圖1所示。
(1)WiFi局域網接入節點。接入節點是控制信號進行傳輸的載體,接入節點使各系統之間建立穩定、良好的信道。本文將一個ESP8266模塊設置為AP工作模式,作為局域網的接入節點。
(2)WiFi燈光控制節點。該節點主要由ESP8266 模塊構成。本文將每一個控制燈的ESP8266模塊設置為Station工作模式,用以接受用戶的目標指令,并向所控燈傳輸開、關控制信號。
(3)移動終端軟件。基于Eclipse軟件環境進行Android應用軟件的開發,該軟件在用戶使用過程中相當于照明燈的遙控器。
2 WiFi接入節點的實現
通過串口調試助手等軟件工具向ESP8266模塊發送AT指令,將模塊設置為AP工作模式。具體分為如下幾步:
(1)發送命令“AT+RST”使模塊重新啟動,等待模塊響應“OK”后,再進行下一步設置。
(2)指令“AT+CWMODE=
(3)指令“AT+CWSAP=
發送命令“AT+CWSAP=“LampControl”,“123456”,11,0”,待模塊響應“OK”后,就可在手機、平板電腦或計算機中通過無線網卡連接到接入節點,之后再進行下一步設置。
(4)指令“AT+ CIPMUX=MODE”用于啟動連接,其中,MODE=0為單路連接模式;MODE=1為多路連接模式。指令“AT+CIPSERVER=MODE,PORT”用于設置服務器,其中MODE=0為關閉服務器模式;MODE=1為開啟服務器模式,PORT為端口號,缺省值為333。只有在開啟多連接模式時才能開啟服務器模式。
發送命令“AT+CIPMUX=1”,待模塊響應“OK”后再發送命令“AT+CIPSERVER=1,8080”,待模塊再次響應“OK”后就可通過網絡調試助手在“TCP Client”模式下添加“IP:192.168.4.1(模塊默認IP),端口8080”。至此,WiFi接入節點已設置成功。
3 WiFi燈控節點的實現
通過串口調試助手等軟件工具,向ESP8266模塊發送AT指令,將模塊設置為Station工作模式。
(1)發送命令“AT+RST”使得模塊重新啟動,待模塊響應“OK”之后,進行下一步設置。
(2)發送命令“AT+CWMODE=1”,將模塊設置為Station模式。待模塊響應“OK”后,再發送命令“AT+RST”使得模塊重啟后設置生效。當模塊再次響應“OK”,則模塊的Station模式已經開啟,可發送命令“AT+CWLAP”查看當前可用的網絡接入點。
(3)指令“AT+CWJAP=
發送命令“AT+CWJAP = ”LampControl“, ”123456“”連接到網絡中。待模塊響應“OK”后,發送命令“AT+CIFSR”可查看本機的IP地址,若能查看到IP地址則表示本節點已經正確和AP節點相連。
(4)發送命令“AT+CIPMUX=1”打開多路連接。
(5)指令“AT+CIPSTART=
發送命令“AT+CIPSTART=0,”TCP“,”192.168.4.1“,8080”建立燈控節點和接入節點之間的TCP連接。待響應 “OK”后則表示連接成功。
(6)指令“AT+CIPSEND=
發送命令“AT+CIPSEND=0,8”并發送數據“12345678”給接入節點。
4 Android移動終端軟件設計
使用Android SDK、JDK、ADT、Eclipse等工具開發手機客戶端控制軟件[2]。手機客戶端控制軟件的界面設計主要使用ToggleButton控件或RadioButton控件以方便用戶對燈進行開關操作。為控件添加事件響應,當用戶操作軟件時,將開、關燈的信息發送給WiFi接入節點[3]。核心代碼如下:
Socket socket = new Socker("192.168.4.1",8080);
OutputStream os = socket.getOutputStream();
os.write("LampOn");
os.close();
socket.close();
5 系統測試
連通燈的控制電源,將燈控節點接入預定的WiFi網絡,將手機也接入同一WiFi網絡,操作手機中的控制軟件,成功實現對燈的開、關操作。
6 結 語
本文設計了一種在WiFi環境下,可在裝有Android系統的移動終端上通過軟件操作,實現對燈的開關操作的無線照明控制系統。文中詳細介紹了系統設計思路、實現方法,并通過測試證明了系統的有效性。
參考文獻
[1]唐遠鴻,李巖,李菲,等.基于WiFi環境下LED照明智能化控制系統的設計與實現[J].科技視界,2016(9):46-47.
[2]繆賢浩.基于WiFi的mp3音樂播放系統設計[J].山東工業技術,2016(4):197.
[3]李剛.瘋狂Android講義[M].北京:電子工業出版社,2013.
[4]王潤民,王健.基于ZigBee的道路照明智能控制系統的設計[J].物聯網技術,2014,4(12):56-58.
[5]何永玲,吳耀龍.基于WiFi和移動終端的智能照明控制系統設計[J].物聯網技術,2016,6(12):102-104.
[6]梁霄霄.基于WiFi和LED照明控制系統的研究與實現[D].杭州:杭州電子科技大學,2014.
[7]王立斌,段子荷,安思達,等.基于WiFi的大型庫房照明控制系統設計[J].河北電力技術,2016,35(3):19-20.
[8]王群鋒.基于無線網絡的智能照明系統研究[D].鄭州:鄭州大學,2012.