之前写的:ESP8266 WIFI模块学习之路(3)是WIFI模块向单片机发送信息,我们绝不能满足于仅仅是给单片机下发数据,我们还想自己接受数据,只有这样互相通信才是真正的物联网技术。因此,我就在研究如何实现WIFI模块与单片机互相通信,这样就可以实现基本的物联网控制了。本次博客是解决WIFI模块与Android通信,通过TTL - USB 和PC串口连接(是为了使用PC串口接受数据和发送数据,还有下发命令,便于观察),不研究感觉很难,一旦花时间琢磨就不能了。(注意:这里只是在验证WIFI与Android之间互相通信的功能,单片机并没有参与工作,以后博客中会运用单片机完成一个小的物联网功能

首先,看看我的设备,如下图:

ESP8266模块:

Android12 wifi模块 android wifi架构 wifi模块与安卓连接原理_手机

USB-TTL:

Android12 wifi模块 android wifi架构 wifi模块与安卓连接原理_单片机_02

它两直接如何连接可以看我之前写的文章。

将他们进行正确连接,然后连接到电脑上,如图:

Android12 wifi模块 android wifi架构 wifi模块与安卓连接原理_esp8266_03

打开调试助手,我的助手如图,大家可以自行网上下载:

Android12 wifi模块 android wifi架构 wifi模块与安卓连接原理_WIFI模块_04

打开后的页面:

Android12 wifi模块 android wifi架构 wifi模块与安卓连接原理_WIFI模块_05

连接成功后,先要验证一下是否正常连接,下发命令:AT,观察是否返回OK,如图:

Android12 wifi模块 android wifi架构 wifi模块与安卓连接原理_通信_06

说明WIFI模块与USB-TTL连接正确,但现在想和手机中的手机助手相互连接还是不可以的,因为ESP8266是需要AT命令控制的,一次需要下发AT进行激活相关功能,我写的简单命令如下:

AT+RST                                  //  重启模块
AT+CWMODE=3                  //  选择WIFI应用模式 3:表示AP+Station混合模式,2:AP模式,1:Station模式
AT+CIPMUX=1                     //  启动多连接,0:单路连接模式,1:多路连接模式
AT+CIPSERVER=1,8080   //   配置为服务器,1,:表示开启server模式;8080是我们自己设置的端口号,便于监听  
AT+CIOBAUD=9600           //   设置波特率,这边我设置的是9600,是为了便于后期单片机使用,该模块默认波特率为115200

将这些命令通过串口下发给WIFI模块,就可以实现手机与WIFI模块连接了,如图:

Android12 wifi模块 android wifi架构 wifi模块与安卓连接原理_单片机_07

与手机的连接图(注意:手机一定要连接到WIFI模块的WIFI上,才可以使用手机调试助手连接):

WIFI连接如图:

Android12 wifi模块 android wifi架构 wifi模块与安卓连接原理_单片机_08

手机上的调试助手图标如图:

Android12 wifi模块 android wifi架构 wifi模块与安卓连接原理_WIFI模块_09

端口激活:

Android12 wifi模块 android wifi架构 wifi模块与安卓连接原理_esp8266_10

tcp client客户端连接:

Android12 wifi模块 android wifi架构 wifi模块与安卓连接原理_手机_11

成功后,手机给WIFI发了一个信息,如图:

Android12 wifi模块 android wifi架构 wifi模块与安卓连接原理_手机_12

PC端通过串口助手显示的结果,如图:

Android12 wifi模块 android wifi架构 wifi模块与安卓连接原理_esp8266_13

这个是手机给WIFI模块发送数据,其实我们想用手机接受数据:PC通过串口发给WIFI模块数据,再传到手机端,这个过程如何实现呢?

其实也比较简单,我需要在PC端的串口助手里先下发一个命令,如下:

AT+CIPSEND=?                       //  发送数据   测试命令  相应OK,则说明发送数据功能正常

AT+CIPSEND=0,10                 //  因为之前设置的是多路连接,因此这边需要写成这样的格式,如下图解释:

Android12 wifi模块 android wifi架构 wifi模块与安卓连接原理_手机_14

 

命令下发完后,就可以输入想要发送的数据了,如图:

Android12 wifi模块 android wifi架构 wifi模块与安卓连接原理_esp8266_15

 

手机端接受到的信息,如图:

Android12 wifi模块 android wifi架构 wifi模块与安卓连接原理_手机_16

可见手机和WIFI模块可以正常相互通信了,接下来的博客,我想学习完成一个:让单片机采集数据然后上传给手机进行显示,学习是无止境的,希望一路坚持,收获满满,加油!!!

欢迎大家指正,探讨