金華職業(yè)技術(shù)學(xué)院機(jī)電工程學(xué)院 浙江 金華 321000
隨著社會(huì)的進(jìn)步和網(wǎng)絡(luò)技術(shù)飛速發(fā)展,人民生活水平有了很大提高,對(duì)舒適智能的家居環(huán)境提出了更高的要求,其中,對(duì)家庭中電燈的遠(yuǎn)程遙控的需求非常迫切。在燈控這個(gè)領(lǐng)域中,市面上大部分的無(wú)線燈控開關(guān)都是使用遙控器進(jìn)行控制的,而普通的紅外遙控器存在許多使用上的弊端。因此,本設(shè)計(jì)對(duì)此進(jìn)行了技術(shù)上的改良,使用WiFi模塊進(jìn)行燈光的開關(guān)控制,得到了更好的效果,實(shí)現(xiàn)了真正的遠(yuǎn)程遙控。
首先,本設(shè)計(jì)的思路是通過WIFI模塊實(shí)現(xiàn)單片機(jī)同外部網(wǎng)絡(luò)的信息連接,當(dāng)手機(jī)APP發(fā)送特定的開燈或關(guān)燈協(xié)議報(bào)文給WIFI模塊時(shí),WIFI模塊接收到信息后,向單片機(jī)發(fā)送相應(yīng)的控制命令信號(hào),單片機(jī)收到控制命令后,驅(qū)動(dòng)相應(yīng)的I/O端口,進(jìn)而使繼電器斷開或閉合,實(shí)現(xiàn)家用燈具的無(wú)線開關(guān)控制(圖1)。
(1)主控制器模塊。主控制器模塊是由STC89C52芯片為核心的最小系統(tǒng)組成,STC89C52芯片在單芯片上,擁有靈巧的8位CPU和在系統(tǒng)可編程Flash,使得STC89C52在嵌入式控制應(yīng)用系統(tǒng)中的得到了廣泛應(yīng)用。本設(shè)計(jì)使用TXD和RXD引腳實(shí)現(xiàn)與WIFI模塊的串口通信,從而實(shí)現(xiàn)主控制器和WIFI模塊的交互;其他I/O引腳主要用于連接繼電器控制信號(hào),可以實(shí)現(xiàn)多路電燈的遠(yuǎn)程開關(guān)遙控。
(2)WIFI模塊。WIFI模塊選擇了樂鑫公司的基于串行接口的ESP8266芯片,該芯片內(nèi)置了32位的CPU,能夠獨(dú)立運(yùn)行,也可以作為從機(jī)搭載于其他主機(jī)MCU運(yùn)行,可以廣泛應(yīng)用于智能家居、工業(yè)無(wú)線控制、無(wú)線傳感器等領(lǐng)域。ESP8266模塊能夠?qū)崿F(xiàn)用戶串口數(shù)據(jù)到無(wú)線網(wǎng)絡(luò)之間的交換。有2種使用方案:一是直接使用內(nèi)部自帶的處理器,對(duì)芯片進(jìn)行二次開發(fā),通過I/O口控制設(shè)備,例如繼電器、傳感器等,此方案節(jié)省成本,但開發(fā)難度較大;二是ESP8266模塊外接單片機(jī),而其僅用來(lái)完成網(wǎng)絡(luò)相關(guān)的任務(wù),使用AT命令操作,通過串口和外接的單片機(jī)通信,此方案開發(fā)快,性能穩(wěn)定,但成本相對(duì)較高。本裝置選用了第二種方案來(lái)實(shí)現(xiàn)主控CPU和外界的通信。
(3)繼電器驅(qū)動(dòng)模塊。控制系統(tǒng)通過繼電器的方式實(shí)現(xiàn)開關(guān)的通斷控制。繼電器通過PNP型三極管驅(qū)動(dòng),當(dāng)超過設(shè)定時(shí),單片機(jī)會(huì)由高電平跳變成低電平,三極管導(dǎo)通繼電器吸合,繼電器起開關(guān)作用,可以驅(qū)動(dòng)負(fù)載。圖3為單個(gè)繼電器驅(qū)動(dòng)電路,單片機(jī)P2.0引腳輸出一個(gè)低電平時(shí),PNP型三極管9012導(dǎo)通,電流從+5V電源經(jīng)線圈再經(jīng)9012回到GND形成回路,此時(shí)繼電器線圈得電吸合,與線圈并聯(lián)的LED燈點(diǎn)亮,2.2K分壓電阻保證LED的3V工作電壓,二極管用于消除繼電器吸合時(shí)產(chǎn)生的瞬間反相電動(dòng)勢(shì),接線端子CON2可外接負(fù)載電源線,驅(qū)動(dòng)負(fù)載的通斷相當(dāng)于一個(gè)智能開關(guān)。
該裝置的軟件主要由兩部分組成,其一為STC89C52的單片機(jī)程序,二為手機(jī)APP程序。接下來(lái)分別進(jìn)行介紹。
(1)單片機(jī)程序。單片機(jī)程序主要實(shí)現(xiàn)的是ESP8266的初始化、外部通信數(shù)據(jù)的處理、串口收發(fā)控制。首先是WIFI模塊的初始化,主要是設(shè)置WIFI的工作模式,ESP8266支持soft AP模式、station模式、soft AP+station共存模式三種模式,本文采用Soft AP模式,即無(wú)線接入點(diǎn)模式,ESP8266模塊發(fā)射一個(gè)WIFI熱點(diǎn),將手機(jī)或電腦等終端設(shè)備接入熱點(diǎn),組建一個(gè)局域網(wǎng)。STC89C51單片機(jī)通過AT指令對(duì)ESP8266進(jìn)行是初始化配置。
配置指令為:
AT+CWMODE=2,設(shè)置Soft AP模式。
AT+CWSAP=“NAME”,“password”,設(shè)置 WIFI名稱和密碼。
AT+CIPSTART=“TCP”,“X1.X2.X3.X4”,9999;讓模塊連上服務(wù)器,其中X1.X2.X3.X4為IP地址,9999為端口。
AT+CWJAP=“ssid”,“pwd”;連接路由器,在程序中輸入路由器名稱ssid和密碼pwd;此時(shí),WIFI模塊就必須重啟,發(fā)送指令“AT+RST”給WIFI模塊。
(2)手機(jī)APP調(diào)試程序。在本項(xiàng)目中并沒有專門開發(fā)燈光控制APP,采用的是通用的遠(yuǎn)程串口調(diào)試APP。該APP程序?yàn)榫W(wǎng)絡(luò)調(diào)試助手安卓版。網(wǎng)絡(luò)調(diào)試助手集成了TCP/UDP客戶端服務(wù)器,服務(wù)器端支持透明傳輸方式、自動(dòng)反饋方式和手動(dòng)發(fā)送方式。采用TCP客戶端模式,通過配置IP地址和COM端口號(hào)實(shí)現(xiàn)APP與ESP8266通信。
完成硬件設(shè)計(jì)與軟件設(shè)計(jì)后,先將電路通過STC核心開發(fā)板與控制繼電器搭建出來(lái),通過ST-LINK將程序燒寫進(jìn)去,就可以進(jìn)行測(cè)試了。
通過調(diào)試發(fā)現(xiàn),在網(wǎng)絡(luò)調(diào)試助手上發(fā)送“OPENLAMP1”,可以接通相應(yīng)的繼電器模塊;反之,發(fā)送“CLOSELAMP1”,可以斷開相應(yīng)的繼電器模塊。另外,通過ESP8266與串口的連接進(jìn)行信息打印,也可以正常的接收信息及發(fā)送信息到網(wǎng)絡(luò)調(diào)試助手相應(yīng)的端口。
總之,采用ESP8266模塊為通信模塊、采用STC89C52為核心控制模塊的無(wú)線燈控開關(guān)實(shí)現(xiàn)了既定的功能要求,可以滿足實(shí)際燈光控制需要。