郭紅軍
(焦作師范高等??茖W(xué)校 信息化管理中心,河南 焦作 454000)
近年來,隨著科學(xué)技術(shù)的發(fā)展及國民美好生活需求的日益增長,智能化、簡潔化和自動化逐漸成為一種新型生活方式.智能控制系統(tǒng)完美契合新時代需求,智能家居照明控制系統(tǒng)有效減少了能源損耗,滿足居民的智能化生活,符合我國現(xiàn)階段環(huán)境保護與節(jié)能減排的要求[1-2].
目前市面上部分智能照明產(chǎn)品存在造價偏高、操作復(fù)雜,居民對智能家居產(chǎn)品存在認識誤區(qū),普遍認為智能照明系統(tǒng)價格昂貴、功能冗雜.本文從智能照明系統(tǒng)的短板出發(fā),設(shè)計一款簡單小巧的智能照明控制系統(tǒng),根據(jù)外界光亮自動調(diào)整光強,通過手機控制燈具開關(guān),調(diào)節(jié)燈光顏色,制作成本低、節(jié)能環(huán)保、功能精簡、易于操控.
傳統(tǒng)家用電器照明系統(tǒng)一般通過自鎖開關(guān)對燈具進行開啟或關(guān)閉的操作,前些年也有出現(xiàn)加裝紅外傳感器的燈具,使用遙控器控制,但整體還不算智能.本設(shè)計在傳統(tǒng)燈具的功能基礎(chǔ)上,增加三種控制方式,分別是:檢測人體通過而自動亮燈,通過手機控制燈具的開關(guān)、顏色,檢測外界環(huán)境光強的變化自動調(diào)整燈光的亮度.
系統(tǒng)整體設(shè)計思路是將WIFI模塊、WS2812燈珠、光敏電阻、紅外感應(yīng)模塊和單片機控制板結(jié)合,在正常光照下,燈具光強正常;在強光條件下,燈具光強變暗;在弱光條件下,燈具光強變亮.通過使用ESP8266型WIFI模塊,實現(xiàn)手機對照明系統(tǒng)的控制.控制器結(jié)構(gòu)框圖如圖1所示.
圖1 控制器結(jié)構(gòu)框圖
整個系統(tǒng)的主要硬件設(shè)計由芯片STC89C51單片機主控,外圍電路包括復(fù)位電路、時鐘電路以及指示燈電路,功能電路包括ADC轉(zhuǎn)換電路、PWM控制電路以及WS2812燈珠控制電路,WIFI模塊連接單片機主控板且通過串口通訊調(diào)試.
在系統(tǒng)中,時鐘電路、復(fù)位電路、供電電路與STC89C51單片機組成最小系統(tǒng),作為整個系統(tǒng)的控制中心.復(fù)位電路采用上電復(fù)位,加電時會通過一個電容給RST端一個短暫的高電平信號,接著高電平信號隨著VCC對電容的充電過程逐漸回落,實現(xiàn)復(fù)位效果[3],如圖2所示.
圖2 最小系統(tǒng)原理圖
本系統(tǒng)中,通過光敏電阻接收外界的光照強度屬于模擬信號,而單片機只能處理數(shù)字信號,本小節(jié)引入以ADC0832芯片為主的A/D轉(zhuǎn)換電路的設(shè)計解決這一問題.ADC0832是由美國著名半導(dǎo)體企業(yè)制造的支持8位分辨率、雙通道A/D的變換晶片.變換晶片體積小,可靠性強,已經(jīng)在國內(nèi)普及,其最大亮度顯示達256級,能滿足一般的模擬量變換需求.額定電壓和電源輸入方面,該晶片對模擬電流的最大輸入范圍是0~5 V,晶片變換時限32 μS,具備雙數(shù)據(jù)輸出功用,可對數(shù)據(jù)進行校驗,有效降低了數(shù)據(jù)誤差,同時變換速度快,穩(wěn)定能力強[4-5].
該設(shè)計使用GL3516型光敏電阻,對外界光照強度數(shù)據(jù)進行反饋,改變其電阻.外部光強通過光電寄存器反饋至ADC0832的CH0引腳,ADC0832又從D0/D1口將電信號轉(zhuǎn)換輸出為數(shù)字信號[6],如圖3所示.
圖3 光照強度檢測電路
本系統(tǒng)除需滿足根據(jù)外界光強自動調(diào)節(jié)照明亮度之外,還需實現(xiàn)對暖色光、冷色光與白光三種照明顏色的調(diào)節(jié),普通LED燈管無法實現(xiàn)對顏色的自由調(diào)節(jié),故本設(shè)計使用12位5050封裝的WS2812燈珠組成燈帶作為該系統(tǒng)的主要照明元件.WS2812是集合控制電路和燈光集成電路為一身的外控智能LED光源系統(tǒng),數(shù)據(jù)信息協(xié)議采取單線的空符號通訊方法,在圖像點ON-RESET之后,由DIN端直接接受控制器傳來的所有數(shù)據(jù)信息,由第一圖像點獲得第一次傳送的全部二十四個數(shù)據(jù)信息[7].
WS2812是一個數(shù)字控制的全彩LED燈珠,采用單總線通訊,每顆燈珠支持24 bit的顏色控制,信號線通過DIN輸入,經(jīng)過一顆燈珠之后,信號線上前24 bit數(shù)據(jù)會被該燈珠鎖存,之后將剩下的數(shù)據(jù)信號整形之后通過DOUT輸出,將每一顆燈珠的DO與DIN串聯(lián)設(shè)計組成燈帶,即可滿足信號在每一顆燈珠之間傳遞,使燈帶上所有燈珠在同一時間呈現(xiàn)相同的顏色[8].連接方式如圖4所示.
圖4 WS2812燈帶連接方式
前文提到使用光敏電阻控制燈珠的亮暗,但是光敏電阻的特性是外界光強高的時候阻值降低,外界光強弱的時候阻值增高,要實現(xiàn)在外界光強高的時候燈光亮度減弱,外界光強弱的時候燈光亮度增強,只使用光敏電阻無法達到目標(biāo).實現(xiàn)本設(shè)計最初的預(yù)期,需引用脈沖寬度調(diào)制(PWM)控制調(diào)節(jié).
PWM是使用微處理器的數(shù)碼輸出控制模擬電路的高效工藝技術(shù),是對具體輸入或輸出信息采用數(shù)字編碼的方式.使用高分辦率運算器,調(diào)控方波的占空比,解碼具體輸入輸出信息的電平[9-10].本系統(tǒng)中對PWM控制電路設(shè)計如圖5所示.
圖5 PWM控制WS2812燈帶電路
系統(tǒng)軟件設(shè)計最重要且最復(fù)雜的部分是將ESP8266型WIFI模塊與阿里云平臺建立連接,根據(jù)云平臺MQTT協(xié)議,以一機一密的方式將設(shè)備直連接入阿里云網(wǎng)絡(luò)中.其余硬件部分控制程序采用STC89C51系列單片機識別的C語言編程.由于程序冗長,本文只展示核心設(shè)計程序.
3.1.1 將ESP8266型WIFI模塊作為TCP客戶端開啟透傳模式
將WIFI模塊接入云端進行數(shù)據(jù)傳輸,需打開透明傳輸模式,把WIFI模塊作為TCP客戶端,可以與云端連接.本部分程序先完成串口發(fā)送數(shù)據(jù)的代碼,使單片機通過串口通訊收發(fā)數(shù)據(jù).由ESP8266芯片實現(xiàn)配網(wǎng)的AT指令,開啟網(wǎng)絡(luò)的連接與透傳模式.
以下是本次設(shè)計中所用到的WIFI模塊配網(wǎng)指令[11-12]:
AT+RST; #重啟模塊
AT+UART=
AT+CWMODE=1; #設(shè)置STA模式
AT+CWJAP=
AT+CIPSNTPCFG=1,8,"ntp1.aliyun.com"
3.1.2 實現(xiàn)ESP8266型WIFI模塊與阿里云平臺連接
完成WIFI模塊的配網(wǎng)操作并順利打開透傳模式.下一步需要將其接入阿里云,完成產(chǎn)品與云端的配置.在接入云端之前,需要先在阿里云平臺新建一個“產(chǎn)品”,平臺會自動分配給其在MQTT協(xié)議中用于建立唯一連接的產(chǎn)品證書(ProductKey、DeviceName和DeviceSecret),通過該證書完成ESP8266型WIFI模塊與云端一對一的連接[13-15].
以下是MQTT協(xié)議中用于WIFI模塊連接阿里云平臺的配網(wǎng)指令:
AT+MQTTUSERCFG=0,1,"NULL","用戶名","密碼",0,0,""
AT+MQTTCLIENTID=0,"ClienId"
AT+MQTTCONN=0,"連接域名",1883,1
AT+MQTTSUB=0,"topic",1 //1. 訂閱
AT+MQTTPUB=0,"topic","test",1,0 //2. 發(fā)布
//屬性設(shè)置
/sys/a1TGuTWhjR8/TestDevice/thing/service/property/set
/sys/a1KIUPF4pAV/TestDevice/thing/service/property/set-reply
//屬性上報
/sys/a1TGuTWhjR8/TestDevice/thing/event/property/post
/sys/a1TGuTWhjR8/TestDevice/thing/event/property/post-reply
主程序設(shè)計的主要思路是初始化定時器T0,對WIFI模塊進行配網(wǎng),打開透傳模式,讓W(xué)IFI模塊開始透明傳輸.將WIFI模塊與阿里云平臺進行握手,實現(xiàn)產(chǎn)品與云端之間的連接.使燈帶通電,初始化紅外感應(yīng)模塊與PWM控制電路.具體程序如下[15]:
void main ()
{
Time1_Init();
esp8266_set();
MQTT_connect();
while (1)
{PWM = Hc_SR501;
Adc_dat = Adc_Read_data(1,0);
if (Hc_SR501) {
TR1 = 1;
Pwm_produce(~Adc_dat);
}
Else
{TR1 = 0;
}
delay_us(8000);
}
}
前文已詳細介紹產(chǎn)品功能,使用相對低廉的STC89C51系列單片機作為主控板,其余元器件也經(jīng)濟實惠,本設(shè)計將硬件的成本控制在90元左右.與其它智能照明設(shè)備對比,本系統(tǒng)的設(shè)計功能實用且具有明顯的價格優(yōu)勢.
設(shè)計使用STC89C51系列單片機作為主控單片機,利用ESP8266型WIFI模塊與單片機建立串口通訊,設(shè)計價格低廉、功能精簡的智能家居照明控制系統(tǒng).最終成品可實現(xiàn)根據(jù)外界光強自動調(diào)整燈光亮度,有效減少電能的損耗,自動感應(yīng)開關(guān)燈并通過手機控制調(diào)節(jié),根據(jù)用戶需求在三種燈光顏色之間自由切換.智能家居照明控制系統(tǒng)精簡實用,方便操作,有效滿足了居民智能化生活需求.