龙空技术网

用手机Wi-Fi控制家电的入门级玩法

电子工程师小李 7553

前言:

此时姐妹们对“安卓tcp连接”大约比较关怀,各位老铁们都需要剖析一些“安卓tcp连接”的相关文章。那么小编同时在网上收集了一些关于“安卓tcp连接””的相关文章,希望同学们能喜欢,同学们快快来了解一下吧!

很多人想通过手机、Wi-Fi来遥控家用电器,但这方面的资料少,有的方法复杂。笔者介绍一种简单玩法,轻松DIY,就能实现手机对不少家用电器的“智能”控制。

硬件搭建

想用手机通过Wi-Fi来实现控制,需要3个部分的硬件搭建,一个是Wi-Fi信号的接收部分,一个是单片机主控部分,还有一个是与所控电器开关连接的驱动部分。我的硬件电路中,单片机采用STC89C52RC,如图23.1所示。串口Wi-Fi模块可以网购,型号为HLK-RM04,如图23.2所示。输出驱动硬件电路(使用晶闸管),如图23.3所示。完整的硬件连接如图23.4所示。

图23.1 采用的单片机

图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进行下载!

新店开张,为了提升人气,即日起将开启前所未有的优惠力度,相当于免费送了!商品限购,先买先得!所有商品均可以无理由退换,请放心购买!一个属于电子工程师的专属淘宝店,总有一款适合你:首页-电子工程师小李-淘宝网

标签: #安卓tcp连接