很多人想通過手機、Wi-Fi來遙控家用電器,但這方面的資料少,有的方法複雜。筆者介紹一種簡單玩法,輕鬆DIY,就能實現手機對不少家用電器的“智能”控制。
硬件搭建
想用手機通過Wi-Fi來實現控制,需要3個部分的硬件搭建,一個是Wi-Fi信號的接收部分,一個是單片機主控部分,還有一個是與所控電器開關連接的驅動部分。我的硬件電路中,單片機採用STC89C52RC,如圖23.1所示。串口Wi-Fi模塊可以網購,型號為HLK-RM04,如圖23.2所示。輸出驅動硬件電路(使用晶閘管),如圖23.3所示。完整的硬件連接如圖23.4所示。
![用手機Wi-Fi控制家電的入門級玩法](http://p2.ttnews.xyz/loading.gif)
圖23.1 採用的單片機
![用手機Wi-Fi控制家電的入門級玩法](http://p2.ttnews.xyz/loading.gif)
圖23.2 串口Wi-Fi模塊
圖23.3 輸出驅動部分(使用晶閘管)
圖23.4 完整的硬件電路連接
各個模塊的電路原理如圖23.5所示。單片機作為主控模塊,一方面接收Wi-Fi模塊的輸出信號,並根據與Wi-Fi模塊連接的引腳的電平變化調整其23腳的輸出電平,以控制輸出驅動模塊產生相應動作。Wi-Fi模塊用於接收來自手機的Wi-Fi信號後,輸出驅動模塊用於實現對另一端電器開關的控制。製作圖23.5所示電路的材料清單如表23.1所示。
圖23.5 使用晶閘管的驅動控制電路
表23.1 製作所需的元器件
若不想使用晶閘管作輸出驅動,也可以使用繼電器,電路原理如圖23.6所示。
圖23.6 使用繼電器的驅動控制器電路
單片機程序編寫
這個製作的單片機程序也分3部分:第一部分是初始化程序,主要是使能串口接收中斷,設置波特率為115 200bit/s;第二部分是串口中斷程序,接收Wi-Fi模塊獲取的手機控制信號;第三部分是主程序,根據串口接收的數據,開啟、關閉繼電器。程序如下:
#include
sbit k1=P2^3;
bit flag;
unsigned char temp;
void init1(void)
{
REN=1;/*允許串口接收數據*/
ES=1;/*打開串口中斷*/
SCON=0x50;/*串口方式1,8位UART*/
/********定時器2作波特率發生器********/
TH2=0xff; TL2=0xfd;/*晶體振盪器11.0592MHz波特率115200*/
RCAP2H=0xff; RCAP2L=0xfd;/*16位自動重裝值*/
TCLK=1;
RCLK=1;
C_T2=0;
EXEN2=0;/*波特率發生器工作方式*/
TR2=1;/*啟動波特率發生器*/
EA=1;
}
void main(void)
{
init1();
while(1)
{
if(flag==1)
{
ES=0;
if(~(temp-’0’)==0xc4)k1=0;/*手機發字母"k"表示打開*/
if(~(temp-’0’)==0xc8)k1=1;/*手機發字母"g"表示關閉*/
flag=0;
ES=1;
}
}
}
void ser(void) interrupt 4
{
RI=0;
temp=SBUF;
flag=1;
}
手機軟件安裝
1.安卓系統的手機,從網上下載EasyTCP.apk軟件,並在手機上安裝該軟件,如圖23.7所示。
2.給連接好的51單片機、串口Wi-Fi模塊與輸出驅動電路通電,等待。
3.當Wi-Fi模塊綠燈閃爍後,對手機進行如下設置。
(1)點擊手機的“設置”,進入如圖23.8所示界面。
(2)點擊“WLAN”進入,點擊“開啟WLAN”後,就能搜索到“HI-LINK_xxxx”(注意:不同的模塊,xxxx這4位數不同),如圖23.9所示。
安裝 EasyTCP.apk軟件
圖23.8 點擊“WLAN”
圖23.9 點擊“HI-LINK_xxxx”
(3)點擊“HI-LINK_xxxx”,進入密碼輸入的界面,輸入密碼“12345678”,如圖23.10所示,這是該串口Wi-Fi模塊廠家的默認設置密碼,點擊“連接”。
(4) Wi-Fi連接成功的界面如圖23.11所示。
4.只要Wi-Fi連接一次設置成功,以後就不用再重複設置了,退出WLAN設置。接下來,設置並運行EasyTCP。
(1)打開EasyTCP。
(2)出現如圖23.12所示界面,同時手機上方出現默認Wi-Fi模塊IP地址:“192.168.16.100”,點擊IP地址右側的“連接”。
圖23.10 輸入密碼
圖23.11 Wi-Fi連接成功
圖23.12 打開EasyTCP
(3)出現“選擇一個遠程主機進行連接”的要求,如圖23.13所示,點擊右上方的“+”,在“地址”欄輸入“192.168.16.254”(遠程主機,在“端口”欄中輸入“8080”,也是進行一次輸入設置,以後不再重複設置)。
(4)點擊“連接”,則EasyTCP可以正常通信了,如圖23.14所示。
5.點擊“消息”,如圖23.15所示。
(1)在下面的消息欄中輸入“k”,點擊右邊的“發送”,如果連接正確,我們可觀察到,與驅動電路連接的燈亮了!
(2)再輸入“g”,點擊右邊的“發送”,如圖23.16所示,可觀察到與驅動電路連接的燈滅了!
至此,我們用手機已經成功實現了對電燈的遙控,若將電燈換為插座,就DIY了一個簡易的“智能插座”。至於其他“智能家居”的控制,怎麼發揮,由你說了算。
本玩法雖顯簡陋,但操作容易,一做就成,不失為串口Wi-Fi控制的入門小製作。
圖23.13 輸入主機IP和端口號
圖23.14 EasyTCP連接成功
圖23.15 在消息欄中輸入消息
圖23.16 輸入“k”則開燈,輸入“g”則關燈
相關源程序可以到qq群657864614進行下載!
新店開張,為了提升人氣,即日起將開啟前所未有的優惠力度,相當於免費送了!商品限購,先買先得!所有商品均可以無理由退換,請放心購買!一個屬於電子工程師的專屬淘寶店,總有一款適合你:
閱讀更多 電子工程師小李 的文章