一.51单片机与ESP8266的通信(采用AP模式下的TCP服务端)

Posted 一只小白()

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一.51单片机与ESP8266的通信(采用AP模式下的TCP服务端)相关的知识,希望对你有一定的参考价值。

前言

最近有学习了关于ESP8266与51的基本通信过程,也在学习过程中查询了许多在CSDN上的资料,通过写博客来记录一下成果

一.项目所需硬件&软件

硬件部分

1.esp8266-01或者esp8266-01s两者均可,淘宝上直接就能买得到

2.一块51的单片机

3.4根干杜邦线

4.USB转TTL模块,同样淘宝直接购买即可

若目的是实现wifi模块与单片机通信
此模块根据需要去购买,非必须

软件部分

一个串口助手例如XCOM等
和网络调试助手

二.引脚说明(仅需要使用的四个引脚)

VCC连接正极(3.3V,5V有可能会烧坏模块)

RX:数据的接收端(连接USB转TTL模块的TXD)

TX:数据的发送端(连接USB转TTL模块的RXD)

GND连接负极

三.将USB转TTL模块连接上电脑并对串口助手进行设置

1.上电成功后能看到esp8266的蓝灯点亮后熄灭
2.打开串口助手对箭头所指示的设定进行更改,选择对应的端口
注意波特率这一栏选择115200
因51单片机通过定时器不能产生115200的波特率
因此我已经更改esp8266模块的波特率为9600

四.对ESP8266模块进行AT指令的调试

1.发送AT指令会收到OK,代表8266模块正常

2.发送指令AT+UART=9600,8,1,0,0来设置8266的波特率
当收到OK后记得调整串口助手里的波特率调整为9600,若仍为115200
发送AT指令后,串口助手不再会收到OK,设置为 9600后即可继续收到

3.建立AP模式

发送AT+CWMODE=2//设置为AP模式
AT+RST //重启wifi模块来启用AP模式
AT+CWSAP=AT+CWSAP=“ssid”,“pwd”,“chl”,“ecn”
ssid表示接入点的名称,也就是WiFi的名称,pwd就是密码,最少8位,最长64位
chl表示通道号,ecn就是表示加密的方式
例如:AT+CWSAP=“ESP8266”,“12345678”,1,3


通过以上设置就可以在手机或电脑上连接ESP8266产生的wifi信号

4.开启AP模式下的TCP服务端

输入AT+CIFSR指令查询本地I地址,可以查询到ESP8266的IP地址记录下来
输入AT+CIPMUX=1
设置多连接,因为只有在多连接模式下,才能开启TCP服务器
输入AT+CIPSERVER=1,8001 设置模块服务器端口
打开网络调试助手在协议类型框下选择TCP Client
在远程主机地址输入先输入查询到的AP地址与在串口调试助手开启的端口
也就是CIP+SERVER指令的第二个参数,此处我设置为的是8001


例如我查询到ESP8266的ip为1.1.1.1因此我在远程主机框就该输入1.1.1.1:8001点击连接
连接成功可以在串口助手看到0,connect
这样就可以在串口助手通过发送AT+SEND=0,6可以发送长度为6的数据
例如我发送的HHHHHH,以及在网络调试助手发送的这个软件的广告信息


至此便实现了两端的通信


结语

本文只是讲述了一下在USB转TTL模块下电脑与ESP8266通过AP模式下的TCP服务端通信通信的基本过程
在下一篇文章将讲述8266与51单片机实现的通信控制功能

以上是关于一.51单片机与ESP8266的通信(采用AP模式下的TCP服务端)的主要内容,如果未能解决你的问题,请参考以下文章

ESP8266 利用单片机发送AT指令无反应

ESP8266怎么接收另一个ESP8266用CIPSEND发送的信息呢?用啥模式进行?

Soft-AP模式建立和51连接,最详细的傻瓜式小白入门

如何单片机通过wifi模块ESP8266连接外网web网页。

打算用51单片机和ESP8266wifi模块做个无线传数据的东西,但是不知道怎么控制wifi模块发送数据

两个单片机使用esp8266间如何直接通信