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