羌丹丹,龔瑜
(南通市生產力促進中心,江蘇南通,226019)
隨著單片機技術、Wi-Fi通信技術和物聯網技術的快速發展,家電的智能遠程控制需求日益明顯[1-5]。林玩杰[6]等人設計了一款Android智能手機控制的智能家居系統,采用STM32F103作為系統主處理器,通過I/O口控制燈的開和關。測試結果表明:用戶通過手機客戶端APP連接Wi-Fi便可以遠程監控家居情況,實現對家用燈光控制、環境檢測以及視頻監控等功能。陳國童[7]等人基于Wi-Fi通信技術,利用ESP8266串口Wi-Fi模塊與STM32微處理進行通信連接,并與Android手機進行聯網,通過手機APP實現對家居的智能控制。池雪艷[8]采用單片機完成了無線智能家居環境遠程監控系統的設計,以STM32芯片為核心控制器,Windows PC端作為控制終端,單片機通過串口連接Wi-Fi網關實現數據采集。
本設計提出一種基于單片機和Wi-Fi技術的家電遠程控制系統,用戶可以通過手機APP Tlink物聯網平臺實現遠程控制家電的開關。
系統主要是由硬件與軟件兩部分構成,硬件部分包括51單片機STC89C52RC、Wi-Fi芯片ESP8266、降壓芯片AMS1117、電源等,軟件部分包括單片機控制程序和手機APP Tlink上鏈接協議的設置,以及設備管理等。系統整體設計架構如圖1所示。單片機和手機終端APP是系統的控制核心。

圖1 系統整體設計架構
STC89C52RC單片機作為微處理器,是本設計的控制核心。硬件電路部分主要由五部分構成:單片機電路、Wi-Fi電路、繼電器電路、按鍵電路和外部存儲器電路等,如圖2所示。

圖2 硬件電路構成框圖
(1)時鐘電路
Wi-Fi模塊ESP8266和單片機通過串口進行通信,51單片機使用的晶振頻率通常選12MHz,而進行通信時,一般選擇11.0592MHz,12MHz晶振配置9600波特率時會產生一定的誤差。搭建如圖3所示的時鐘電路,可以為單片機產生穩定的工作時鐘。

圖3 時鐘電路圖
(2)復位電路
單片機復位采用硬件復位,RESET直接接到單片機的復位引腳RST,將10UF的電容接入,同時接入大小為10K的電阻,系統所用的單片機在5V電壓下工作,則充電到電壓的0.7倍即3.5V,其所需要的時間為10k*10UF= 0.1us。硬件復位電路圖如圖4所示。

圖4 復位電路圖
(3)STC89C52RC單片機電路
STC89C52RC單片機電路如圖5所示,加上時鐘電路和復位電路就構成了單片機最小系統。

圖5 STC89C52RC單片機電路
(1)穩壓電路
STC89C52RC單片機的工作電壓是3.3V ~5.5V,其通常供電電壓是5V,ESP8266供電電壓是3.3V,構建穩壓電路尤為重要。穩壓電路圖如圖6所示。

圖6 穩壓電路
(2)ESP8266電路
安可信公司的配有Wi-Fi模塊的ESP8266,其搭載的電路如圖7所示,TX和RX直接和單片機串口對接,電源為3.3V,EN腳為使能腳,拉低后單片機復位。

圖7 ESP8266電路
由于繼電器的工作電流一般為50 ~70mA,而51系列單片機的I/O口輸出電流一般只有幾百uA,須采用電流放大來解決此問題。繼電器電路如圖8所示。

圖8 繼電器電路
單片機上電后首先會進行定時器、串口、I2C等初始化,設置好WIFI波特率9600bps,然后單片機會發送AT指令控制ESP8266進行Wi-Fi聯網,此過程中添加看門狗功能,Wi-Fi連接不上時會自動重啟,直至連接上Wi-Fi網絡;WIFI網絡連接上后會通過TCP連接服務器公網IP,和服務器端建立TCP連接后就可以相互進行通信了。與服務器端建立通信后,單片機會讀取外部存儲器中的值,并對繼電器進行相應的操作。
設置ESP8266的波特率為9600bps,使之與單片機的串口波特率一致。通過AT指令來配置其波特率:AT+UART=9600,8,1,0,0,波特率 9600,數據位 8,停止位 1,校驗位0。ESP8266的驅動程序如下:

單片機和AT24C02直接是通過I2C進行通信。由于單片機I2C硬件接口,所以用軟件來模擬I2C通信。利用單片機的兩根PIN腳,分別作為SCL、SDA,通過模擬I2C協議和AT24C02進行通信,以此存儲和讀取信息。
按照硬件電路設計搭建實物,并進行硬件檢查測試。硬件測試無誤后,采用Tlink物聯網平臺模擬家電信號對系統功能進行測試。通過手機APP Tlink登錄到平臺賬號,分別測試三路開關的閉合與斷開,打開其中兩路,可以觀察繼電器閉合的響聲,對應的指示燈也已經點亮,測試結果符合預期。系統硬件實物與測試過程如圖9所示。

圖9 系統硬件實物與測試過程
本文提出基于單片機和Wi-Fi技術的家電遠程控制系統,確定了系統整體設計方案,分別對系統的硬件和軟件部分進行了設計與實現。搭建的家電遠程控制系統經過Tlink物聯網平臺測試,信號反應無誤,滿足了人們對智能家電的部分使用需求。