蘇州工業(yè)園區(qū)服務(wù)外包職業(yè)學(xué)院納米技術(shù)系 王 燕
?
基于WIFI模塊的多路燈光控制系統(tǒng)開發(fā)
蘇州工業(yè)園區(qū)服務(wù)外包職業(yè)學(xué)院納米技術(shù)系 王 燕
【摘要】本文主要介紹了基于WIFI模塊的多路電器燈光控制系統(tǒng)的軟硬件設(shè)計(jì)方法。 通過智能手機(jī)將命令發(fā)送給WIFI模塊,WIFI模塊根據(jù)從智能手機(jī)收到的命令控制相應(yīng)的LED燈,從而達(dá)到無線控制LED燈的開關(guān),亮度,以及顏色的目的。
【關(guān)鍵詞】WIFI模塊;LED控制;智能手機(jī);物聯(lián)網(wǎng)
隨著計(jì)算機(jī)計(jì)算、網(wǎng)絡(luò)技術(shù)、智能控制等技術(shù)的發(fā)展,不僅人與人間的信息交流方式越來越豐富,人機(jī)交流,設(shè)備之間的交流方式也更加豐富?,F(xiàn)在出現(xiàn)了專門解決人機(jī)交流,設(shè)備之間交流技術(shù)的物聯(lián)網(wǎng)。本文闡述了在物聯(lián)網(wǎng)平臺上,被廣泛普及的智能終端,將控制系統(tǒng)與智能手機(jī)相結(jié)合,從傳統(tǒng)的電腦平臺,轉(zhuǎn)化到更方便,更易操作,更普遍的智能移動(dòng)操作平臺上。
本文主要介紹燈光控制系統(tǒng)的軟硬件,通過在安卓手機(jī)上編寫的相應(yīng)控制軟件,利用無線信號,控制周圍的燈光,從而實(shí)現(xiàn)設(shè)備的智能化、無線化控制,達(dá)到智能家居,節(jié)約能源的目的。
多路燈光控制系統(tǒng)結(jié)構(gòu)圖如圖1。由手機(jī)發(fā)送出來的控制命令,經(jīng)過路由器將命令發(fā)給燈具控制系統(tǒng),燈具控制系統(tǒng)中WIFI模塊接受到命令后控制相關(guān)LED燈的開關(guān),以及顏色和亮度的調(diào)節(jié)。
圖1 WIFI模塊的多路燈光控制系統(tǒng)結(jié)構(gòu)圖
3.1 LED燈亮度調(diào)節(jié)方法
LED燈亮度調(diào)節(jié)方法有轉(zhuǎn)換電阻、線性調(diào)節(jié)、PWM(脈沖寬度調(diào)制)調(diào)節(jié)等方法。本文中采用PWM調(diào)節(jié)方法。所謂脈沖寬度調(diào)制,就是在脈沖的頻率不變的情況下,改變占空比達(dá)到對輸出能量的平均值進(jìn)行控制的方法。控制LED工作的頻率不能太低,一般要大于100HZ,否則會感覺到燈光閃爍。
3.2 LED燈具控制系統(tǒng)的硬件實(shí)現(xiàn)方案
為了能產(chǎn)生PWM信號采用了嵌入式WIFI模塊,所謂嵌入式WIFI模塊即在WIFI模塊中包括微控制器芯片、WIFI芯片、程序存儲器芯片、濾波器、第一晶振、第二晶振和電源開關(guān)管等相關(guān)硬件。本項(xiàng)目中采用的是漢楓公司的HF-LPB100芯片。芯片內(nèi)部結(jié)構(gòu)圖如圖2所示。
圖2 HF-LPB100芯片內(nèi)部結(jié)構(gòu)圖
軟件部分包括智能機(jī)的應(yīng)用軟件部分和WIFI芯片的功能實(shí)現(xiàn)部分。WIFI芯片功能部分包括,WIFI模塊的底層驅(qū)動(dòng),LED燈具的控制接口的實(shí)現(xiàn),小型化TCP/IP協(xié)議棧和實(shí)時(shí)操作系統(tǒng)的功能適配,以及錯(cuò)誤處理系統(tǒng)構(gòu)成。智能機(jī)側(cè)的應(yīng)用軟件部分包括智能機(jī)應(yīng)用軟件界面,TCP/IP協(xié)議適配,針對LED燈特殊功能定制(包括顏色/亮度的設(shè)定)等功能模塊構(gòu)成。軟件構(gòu)成結(jié)構(gòu)如圖3所示。
4.1 WIFI 芯片軟件功能模塊
WIFI芯片功能部分,建立起WIFI通訊連接之后接收智能機(jī)或者AP路由器傳來無線信號,經(jīng)過TCP/IP解析,透過WIFI模塊底層框架,將收到的信令傳遞給MCU微處理器,MCU將對應(yīng)的電平脈沖信號傳導(dǎo)到相應(yīng)的管腳,以驅(qū)動(dòng)LED二極管發(fā)光。
圖3 燈具控制系統(tǒng)的軟件構(gòu)成圖
由于使用的WIFI模塊是采用透傳式的工作方式,在智能機(jī)軟件和燈具的控制芯片之間事先達(dá)成通信/控制協(xié)議的前提下,大幅簡化了WIFI模塊內(nèi)部的工作邏輯,無須對于每個(gè)功能動(dòng)作做特殊的解析和定制,只要基于TCP/IP處理好通信流程,完成好通訊渠道的任務(wù)即可。
WIFI模塊接收到這些信令之后,在透傳模式下,傳遞給MCU微處理器,MCU微處理器將根據(jù)這些指令,按照事先協(xié)議的邏輯,控制各個(gè)PWM管腳端口。端口根據(jù)傳遞的信令內(nèi)容,調(diào)節(jié)輸出PWM信號的占空比。占空比的變化直接反映為LED燈具輸出電流的強(qiáng)弱,從而實(shí)現(xiàn)對于LED燈具的顏色與亮度控制。
4.2 智能手機(jī)功能模塊
智能手機(jī)功能部分,提供友善易懂的控制界面,接收客戶的需求。建立設(shè)備之間的連接關(guān)系,并保持終端與設(shè)備之間持續(xù)連接的狀態(tài)。對于用戶的操作進(jìn)行解析,接收用戶命令,將客戶的操作邏輯轉(zhuǎn)化為模塊控制的AT命令(或者固有命令)。通過TCP/IP網(wǎng)絡(luò)協(xié)議將這些指令發(fā)送給模塊,模塊和芯片在對于指令進(jìn)行反映,同時(shí)將取得的設(shè)備狀態(tài),通過TCP/IP通路回傳智能手機(jī)終端。智能機(jī)的應(yīng)用軟件的網(wǎng)絡(luò)功能部分,將監(jiān)聽這些回信,如有更新將通知應(yīng)用程序側(cè),以便及時(shí)更新界面的顯示內(nèi)容,將最新狀態(tài)通知用戶。
4.2.1 智能燈源控制手機(jī)軟件簡介
本文描述的軟件是針對安卓手機(jī)平臺的,其功能為搜索周圍可以適配的智能燈源設(shè)備,為用戶建立與指定智能燈源設(shè)備的固定無線連接,接收用戶指令控制燈源變化,同時(shí)實(shí)時(shí)反映智能燈源的最新狀態(tài)給用戶。
軟件實(shí)裝是由以下幾個(gè)功能模塊構(gòu)成:基本邏輯功能模塊,圖形界面設(shè)計(jì)模塊,網(wǎng)絡(luò)應(yīng)用模塊,底層網(wǎng)絡(luò)連接模塊,以及通用處理功能模塊。各個(gè)模塊之間相互聯(lián)系,協(xié)同完成軟件的整體功能。
4.2.2 基本邏輯功能模塊
本模塊實(shí)現(xiàn)了SmartLight智能燈源的主要控制功能。下面將敘述本模塊下屬各個(gè)主要功能Class的作用與實(shí)現(xiàn)方式。
WelcomeActivity類:
SmartLight智能燈源應(yīng)用的入口類,用戶在安卓手機(jī)上雙擊打開SmartLight應(yīng)用程序的時(shí)候,最先處理的執(zhí)行類。如果這個(gè)類是第一次執(zhí)行,它將在系統(tǒng)內(nèi)部構(gòu)建和初始化應(yīng)用程序的初始頁面,同時(shí)在手機(jī)界面上顯示歡迎信息。當(dāng)用戶點(diǎn)擊應(yīng)用界面時(shí),內(nèi)部激活SplashActivity類,進(jìn)入開始動(dòng)畫顯示過程。如果不是第一次執(zhí)行,將直接挑轉(zhuǎn)到SplashActivity類,顯示開始動(dòng)畫,避免多次重載初始頁面。
DeviceManagerActivity類:
SplashActivity類顯示完啟動(dòng)動(dòng)畫之后,啟動(dòng)軟件的功能部分,調(diào)用DeviceManagerActivity類。DeviceManagerActivity類是用于確認(rèn)手機(jī)周邊設(shè)備的應(yīng)用類。
當(dāng)連接設(shè)備列表中沒有可用設(shè)備時(shí),用戶可以通過點(diǎn)擊界面更新圖標(biāo)開啟新一輪的設(shè)備匹配過程。當(dāng)搜索到可用設(shè)備時(shí),將設(shè)備信息追加到設(shè)備列表中,同時(shí)更新用戶頁面。
如果搜索到已經(jīng)登錄過的設(shè)備,將在界面中顯示該設(shè)備的信息,用戶點(diǎn)單擊該設(shè)備時(shí),將會調(diào)用DeviceMainActivity類,進(jìn)入該設(shè)備的詳細(xì)設(shè)置頁面。用戶長按這個(gè)設(shè)備將會跳出設(shè)備的重命名和刪除菜單。
另外在DeviceManagerActivity類的菜單選項(xiàng)中添加了設(shè)定(Setting)和情報(bào)(About)菜單。用戶選擇設(shè)定(Setting)菜單時(shí),將會調(diào)用SettingsActivity類,進(jìn)入WIFI參數(shù)設(shè)置頁面。用戶選擇(About)菜單時(shí),將會調(diào)用AboutActivity類,進(jìn)入系統(tǒng)說明頁面。
SettingsActivity類:
從DeviceManagerActivity類的菜單選項(xiàng)進(jìn)入,設(shè)置和保存用戶設(shè)定的WIFI網(wǎng)絡(luò)參數(shù),以便于和WIFI設(shè)備建立連接。包含的信息有SSID名,UDP Port端口,WAN的IP地址和TCP Port端口,最后還有PWM的工作頻率。所有項(xiàng)目均可編輯,需要和被控制設(shè)備協(xié)同設(shè)置。以確保智能手機(jī)和智能燈源設(shè)備能夠正常連接,并能正常工作。
DeviceMainActivity類:
SmartLight智能燈源應(yīng)用的主要功能類。它提供了用戶對于智能燈源進(jìn)行控制的親和界面,調(diào)用相關(guān)聯(lián)的功能類,實(shí)現(xiàn)對于智能燈源的控制。同時(shí)監(jiān)聽通信類的信息,及時(shí)反映最新的智能燈源的狀態(tài)給用戶。
4.2.3 圖形界面設(shè)計(jì)模塊
圖形頁面的所有圖形資源,以及界面設(shè)計(jì)的XML文檔。建立圖形標(biāo)識與應(yīng)用程序event的對應(yīng)關(guān)系。
4.2.4 網(wǎng)絡(luò)應(yīng)用模塊
本模塊是SmartLight智能燈源的底層控制功能模塊。由基本邏輯功能模塊調(diào)用本模塊的功能類,接收邏輯功能模塊的指令,提供通用的控制接口函數(shù),根據(jù)邏輯功能模塊調(diào)用函數(shù)以及使用參數(shù)的不同能夠,實(shí)現(xiàn)具體的智能燈源(包括單色光源)的控制。這個(gè)模塊可以看作智能燈源控制的指令集合。
HexLampController類:
智能燈源控制的基類,實(shí)裝了多種燈源控制函數(shù),同時(shí)也包含了各種燈源狀態(tài)問詢和檢查函數(shù)。接收HexLampController類處理邏輯模塊的請求,調(diào)用底層網(wǎng)絡(luò)連接模塊的接口,建立并確認(rèn)網(wǎng)絡(luò)連接狀態(tài)。將接收的命令按照事先協(xié)議的邏輯查詢通用處理功能模塊中對應(yīng)的燈源模塊的控制命令指令和參數(shù),并將這些指令結(jié)合在電文的報(bào)文中,再調(diào)用底層網(wǎng)絡(luò)連接模塊的接口,將這些解析過電文傳遞給網(wǎng)絡(luò)。
HexLocalLampController類:
HexLampController類的子類,繼承父類功能的基礎(chǔ)上,引入了底層網(wǎng)絡(luò)連接模塊的UdpUnicast類。在實(shí)裝網(wǎng)絡(luò)連接的過程中,以UdpUnicast類為基礎(chǔ),建立UDP連接通訊類型,適合于在本地的網(wǎng)絡(luò)使用環(huán)境。本地網(wǎng)絡(luò)使用中,環(huán)境構(gòu)建簡單,主要實(shí)裝了網(wǎng)絡(luò)建立、連接、切斷和取得回復(fù)的功能。
HexRemoteLampController類:
HexLampController類的子類,繼承父類功能的基礎(chǔ)上,引入了底層網(wǎng)絡(luò)連接模塊的TCPClient類。在實(shí)裝網(wǎng)絡(luò)連接的過程中,已TCPClient類為基礎(chǔ),建立TCP/IP連接的通訊類型,適合于遠(yuǎn)程控制的網(wǎng)絡(luò)使用環(huán)境。遠(yuǎn)程網(wǎng)絡(luò)控制較為復(fù)雜,與本地網(wǎng)絡(luò)相比,增加了網(wǎng)絡(luò)監(jiān)聽,頭文件確認(rèn),數(shù)據(jù)格式變更等功能。
4.2.5 底層網(wǎng)絡(luò)連接模塊
本模塊是建立通信網(wǎng)絡(luò)的底層通用模塊,由網(wǎng)絡(luò)應(yīng)用模塊調(diào)用的基本網(wǎng)絡(luò)功能類。提供網(wǎng)絡(luò)環(huán)境建立的接口類型,同時(shí)保持與網(wǎng)絡(luò)側(cè)的數(shù)據(jù)通道的暢通,接受上層模塊的調(diào)用,將模塊指令通過網(wǎng)絡(luò)傳遞給智能燈源,來實(shí)現(xiàn)對于智能燈源的控制。就其功能性質(zhì)我們劃分為UDP類型和TCP類型。
UdpUnicast類:
UDP類型的底層網(wǎng)絡(luò)類型,提供本地網(wǎng)絡(luò)的構(gòu)建機(jī)能。主要是針對簡單網(wǎng)絡(luò)的組網(wǎng)環(huán)境。如燈源與智能手機(jī)處于同一內(nèi)網(wǎng)中,通過UDP廣播傳遞所需要的信息和指令。初始階段實(shí)體化socket通信類,打開指定的端口,建立通信通道。當(dāng)接收到網(wǎng)絡(luò)應(yīng)用模塊傳遞過來的命令的時(shí)候,激活通訊通道,傳輸命令,同時(shí)監(jiān)聽網(wǎng)絡(luò)側(cè)的回復(fù)。
TCPClient/TCPServer類:
TCP/IP類型的底層網(wǎng)絡(luò)類型,提供遠(yuǎn)程網(wǎng)絡(luò)的構(gòu)建機(jī)能。要是針對復(fù)雜網(wǎng)絡(luò)的組網(wǎng)環(huán)境,包括使用互聯(lián)網(wǎng)的組網(wǎng)環(huán)境。通過TCP/IP協(xié)議傳遞所需要的信息和指令。初始階段實(shí)體化socket通信類,根據(jù)指定的IP地址和端口,搜索對象,建立通訊通道。當(dāng)接收到網(wǎng)絡(luò)應(yīng)用模塊傳遞過來的命令的時(shí)候,激活通訊通道,傳輸命令,同時(shí)監(jiān)聽網(wǎng)絡(luò)側(cè)的回復(fù)。
4.2.6 通用功能模塊
提供調(diào)試日志(LOG)的輸出,通用處理,常量的定義等功能。
本文通過基于WIFI模塊的多路燈光控制系統(tǒng)的軟硬件描述,提供了一種通過智能手機(jī)上控制燈光的實(shí)現(xiàn)方法,實(shí)現(xiàn)人與物交流的目的,為生活提供便利。
參考文獻(xiàn)
[1]朱敏玲,李寧.智能家居發(fā)展現(xiàn)狀及未來淺析[J].電視技術(shù),2015,39(4):82-84.
[2]董思喬,趙榮建,孫通.基于WiFi構(gòu)建的智能家居控制系統(tǒng)的設(shè)計(jì)[J].電視技術(shù),2015,39(4):89-91.
[3]董鋼輝.一種基于物聯(lián)網(wǎng)嵌入式Wi-Fi模塊的快速聯(lián)網(wǎng)方法:中國,CN103763757A [P].2014-01-23.
[4]邱海一.一種基于物聯(lián)網(wǎng)嵌入式Wi-Fi模塊的斷網(wǎng)重新接入方法:中國,CN103442410A [P].2013-08-27.
[5]劉靜,楊正校,沈健.基于WIFI的安卓智能家居控制與監(jiān)測系統(tǒng)的設(shè)計(jì)[J].軟件,2014,35(6):19-22.
[6]申斌,張桂青,汪明,李成棟.基于物聯(lián)網(wǎng)的智能家居設(shè)計(jì)與實(shí)現(xiàn)[J].軟件,2014(6):7-10.
[7]崔文婷,陳恒,高遠(yuǎn),游斌相,黃仁兵.基于Android的LED控制設(shè)計(jì)[J].電子測量技術(shù),2014,37(12):102-104.
王燕(1977-),女,江蘇泰興人,講師,蘇州工業(yè)園區(qū)服務(wù)外包職業(yè)學(xué)院納米技術(shù)系專任教師,主要研究方向:智能電子產(chǎn)品開發(fā),F(xiàn)PGA產(chǎn)品開發(fā)等。
作者簡介: