本文转载自:http://www.itdadao.com/articles/c15a814052p0.html

本文主要对讲述ESP8266模块硬件连接工作,以及作为服务器和客户端情况下的配置实现的详细过程,并对相关AT指令和实验现象进行说明。

1. 硬件准备

模块型号使用的是ESP-12E,基于ESP8266核心处理器的模块,使用模块时,需要对引脚进行相应的连接才能正常使用。引脚连接如下图: 

通过USB-TLL下载器与模块连接到电脑,进行AT指令通信。由于模块引脚间距2mm。不能使用2.54mm排插,需要在洞洞板上,通过导线进行引线处理,如图: 

当模块上电后,LED指示灯会闪烁一下,表示可以正常工作。下面就可以对模块进行调试使用了!


2. 开始调试

一. 调试软件介绍

  1. 串口调试软件:模块默认使用115200波特率 

  2. 网络调试助手:本文用了两个网络调试助手软件,原因是在调试过程中,有一款软件进行创建客户端时无法连接上模块服务器,可能是软件版本问题,因此将模块配置为服务器时,改用了另一款调试助手,两款软件分别如下: 
    1)该软件在创建服务器时能正常使用。而创建客户端时无法使用(版本问题)。 

    2)创建客户端时用这款软件。 


二. 将wifi模块作为路由器(建立局域网)的基本配置

下面是将模块作为服务器端的配置流程,以及对常用的AT指令进行解释 
注:发送AT指令后面一定要加入换行(回车),再点击发送,指令才有效!

  1. 模式配置:AT+CWMODE=3,配置成AP兼station模式(AP理解为路由器,被连接,station理解为非路由器,去连接别人),一般通用配置成此模式即可。 
    指令介绍: 

在调试助手将指令发给模块,如图: 

2.设置为路由器,为模块配置路由器名称和密码 
发送指令为:AT+CWSAP=”MYESP8266”,”ldy1314520”,11,2 
名称是MYESP8266,密码是ldy1314520 
指令介绍: 

指令发送,如图: 

3.电脑连接到模块路由器 配置完WIFI模块后,可以通过电脑无线连接到WIFI模块,如下图。 
电脑连接到WIFI模块路由器,实际上就已经建立了以路由器为中心的局域网,这为下面建立客户端和服务器的连接打下了基础。 
说明:建立局域网的条件,也可以让WIFI模块连接其他路由器,然后电脑也连接该路由器也能构成局域网,这里不做详解。

三. 将模块作为服务器端

  1. 模块复位。AT+RST,即:复位模块,成功后返回ready,其中会返回一串乱码是模块内部信息,正常现象。 
    指令介绍: 

指令发送: 

2 配置为多连接。AT+CIPMUX=1,即:模块作为服务器时,可以被多个客户端连接,若作为客户端时,可以连接多个服务器。 
指令介绍: 

指令发送: 

3.配置为服务器。AT+CIPSERVER=1,8089 端口号8089的服务器 ,此时,就将模块作为服务器创建好了!但是客户端要连接上该服务器,需要知道该服务器的IP地址,因此需要下一步指令对IP地址获取。 
指 令介绍: 

指令发送: 

4 .获取服务器本机IP地址。知道IP地址,客户端才能进行连接。 
指令介绍: 

指令发送如下,可以看到模块返回的IP地址。IP是192.168.4.1 端口号是之前配置的8089. 

5 .下面就是在电脑端创建客户端了,用网络调试助手,创建如下,并成功连接服务器,连接上后,模块会响应CONNECT。 

6 .连接服务器后,WIFI模块想知道连接上来的客户端ID编号,IP地址,端口号的相关信息,可以通过指令:AT+ CIPSTATUS。指令介绍: 

指令发送,可以获得客户端信息,显示的是0号客户端: 

7.下面可以进行双方通信,首先客户端给服务器发消息: 

需要注意的是:由于模块内部有定时机制,如果双方长时间没通信,连接会被自动断开! 

8.服务器给客户端发消息,需要通过指令AT+CIPSEND=0,5(多路连接下)。该指令指对0号客户端发5字节数,如果实际发的字节超过5,会被截取前面5个。发送完后,模块返回字符‘>’,此时AT指令失效,用户可以任意发自己想要的信息,发送成功,返回“SEND OK”。 

指令发送如图,模块返回字符‘>’: 
 
任意发送想要的5字节数,发送成功返回“SEND OK”: 

9.上面就是双方的通信过程,如果想要关闭连接,可以通过指令AT+CIPCLOSE=0(多连接模式),可以将0号客户端关闭连接。

指令发送如图: 


四. 将模块作为客户端

将模块作为客户端,应在WIFI模块作为路由器的基本配置下,再进行如下的操作。

1.通过网络调试助手创建服务器,服务器IP必须为电脑连接路由器后的本机IP。这样才能确保在局域网下的同网段。 

2.模块复位。AT+RST,成功后返回ready。同上,不做详细介绍 

3.配置为多连接。AT+CIPMUX=1,即:模块作为服务器时,可以被多个客户端连接,若作为客户端时,可以连接多个服务器。同上,不做详细介绍。

4.不作为服务器。AT+CIPSERVER=0。 
指令发送如下: 

5.连接到服务器,通过指令:AT+CIPSTART= “TCP”, “192.168.4.2”, 9085 意思为:建立TCP连接到IP为192.168.4.2,端口9085的服务器 
指令介绍: 
 
指令发送如下,若连接成功将返回CONNECT OK,并且在网络调试助手显示连接进来的客户端IP。 

6.双方数据通信,服务器给客户端发,只要直接在网络调试助手里发送想发的信息就行。如图: 

7.客户端给服务器发消息,需要通过指令:AT+CIPSEND=0,6(多路连接下)。该指令指对0号服务器发6字节数,如果实际发的字节超过6,会被截取前面6个。AT+CIPSEND指令详解见上。 
指令发送如图: 
 
出现‘>’字符就可以发送想发的数据: 

  • 以上就是对ESP8266WIFI模块作为服务器和客户端的使用过程,重点是掌握AT指令的使用和理解。该模块不仅用于通信,还自带了很多其他功能,如可以输出多路PWM,ADC等功能,可谓短小精悍。

本文主要对讲述ESP8266模块硬件连接工作,以及作为服务器和客户端情况下的配置实现的详细过程,并对相关AT指令和实验现象进行说明。

1. 硬件准备

模块型号使用的是ESP-12E,基于ESP8266核心处理器的模块,使用模块时,需要对引脚进行相应的连接才能正常使用。引脚连接如下图: 

通过USB-TLL下载器与模块连接到电脑,进行AT指令通信。由于模块引脚间距2mm。不能使用2.54mm排插,需要在洞洞板上,通过导线进行引线处理,如图: 

当模块上电后,LED指示灯会闪烁一下,表示可以正常工作。下面就可以对模块进行调试使用了!


2. 开始调试

一. 调试软件介绍

  1. 串口调试软件:模块默认使用115200波特率 

  2. 网络调试助手:本文用了两个网络调试助手软件,原因是在调试过程中,有一款软件进行创建客户端时无法连接上模块服务器,可能是软件版本问题,因此将模块配置为服务器时,改用了另一款调试助手,两款软件分别如下: 
    1)该软件在创建服务器时能正常使用。而创建客户端时无法使用(版本问题)。 

    2)创建客户端时用这款软件。 


二. 将wifi模块作为路由器(建立局域网)的基本配置

下面是将模块作为服务器端的配置流程,以及对常用的AT指令进行解释 
注:发送AT指令后面一定要加入换行(回车),再点击发送,指令才有效!

  1. 模式配置:AT+CWMODE=3,配置成AP兼station模式(AP理解为路由器,被连接,station理解为非路由器,去连接别人),一般通用配置成此模式即可。 
    指令介绍: 

在调试助手将指令发给模块,如图: 

2.设置为路由器,为模块配置路由器名称和密码 
发送指令为:AT+CWSAP=”MYESP8266”,”ldy1314520”,11,2 
名称是MYESP8266,密码是ldy1314520 
指令介绍: 

指令发送,如图: 

3.电脑连接到模块路由器 配置完WIFI模块后,可以通过电脑无线连接到WIFI模块,如下图。 
电脑连接到WIFI模块路由器,实际上就已经建立了以路由器为中心的局域网,这为下面建立客户端和服务器的连接打下了基础。 
说明:建立局域网的条件,也可以让WIFI模块连接其他路由器,然后电脑也连接该路由器也能构成局域网,这里不做详解。

三. 将模块作为服务器端

  1. 模块复位。AT+RST,即:复位模块,成功后返回ready,其中会返回一串乱码是模块内部信息,正常现象。 
    指令介绍: 

指令发送: 

2 配置为多连接。AT+CIPMUX=1,即:模块作为服务器时,可以被多个客户端连接,若作为客户端时,可以连接多个服务器。 
指令介绍: 

指令发送: 

3.配置为服务器。AT+CIPSERVER=1,8089 端口号8089的服务器 ,此时,就将模块作为服务器创建好了!但是客户端要连接上该服务器,需要知道该服务器的IP地址,因此需要下一步指令对IP地址获取。 
指 令介绍: 

指令发送: 

4 .获取服务器本机IP地址。知道IP地址,客户端才能进行连接。 
指令介绍: 

指令发送如下,可以看到模块返回的IP地址。IP是192.168.4.1 端口号是之前配置的8089. 

5 .下面就是在电脑端创建客户端了,用网络调试助手,创建如下,并成功连接服务器,连接上后,模块会响应CONNECT。 

6 .连接服务器后,WIFI模块想知道连接上来的客户端ID编号,IP地址,端口号的相关信息,可以通过指令:AT+ CIPSTATUS。指令介绍: 

指令发送,可以获得客户端信息,显示的是0号客户端: 

7.下面可以进行双方通信,首先客户端给服务器发消息: 

需要注意的是:由于模块内部有定时机制,如果双方长时间没通信,连接会被自动断开! 

8.服务器给客户端发消息,需要通过指令AT+CIPSEND=0,5(多路连接下)。该指令指对0号客户端发5字节数,如果实际发的字节超过5,会被截取前面5个。发送完后,模块返回字符‘>’,此时AT指令失效,用户可以任意发自己想要的信息,发送成功,返回“SEND OK”。 

指令发送如图,模块返回字符‘>’: 
 
任意发送想要的5字节数,发送成功返回“SEND OK”: 

9.上面就是双方的通信过程,如果想要关闭连接,可以通过指令AT+CIPCLOSE=0(多连接模式),可以将0号客户端关闭连接。

指令发送如图: 


四. 将模块作为客户端

将模块作为客户端,应在WIFI模块作为路由器的基本配置下,再进行如下的操作。

1.通过网络调试助手创建服务器,服务器IP必须为电脑连接路由器后的本机IP。这样才能确保在局域网下的同网段。 

2.模块复位。AT+RST,成功后返回ready。同上,不做详细介绍 

3.配置为多连接。AT+CIPMUX=1,即:模块作为服务器时,可以被多个客户端连接,若作为客户端时,可以连接多个服务器。同上,不做详细介绍。

4.不作为服务器。AT+CIPSERVER=0。 
指令发送如下: 

5.连接到服务器,通过指令:AT+CIPSTART= “TCP”, “192.168.4.2”, 9085 意思为:建立TCP连接到IP为192.168.4.2,端口9085的服务器 
指令介绍: 
 
指令发送如下,若连接成功将返回CONNECT OK,并且在网络调试助手显示连接进来的客户端IP。 

6.双方数据通信,服务器给客户端发,只要直接在网络调试助手里发送想发的信息就行。如图: 

7.客户端给服务器发消息,需要通过指令:AT+CIPSEND=0,6(多路连接下)。该指令指对0号服务器发6字节数,如果实际发的字节超过6,会被截取前面6个。AT+CIPSEND指令详解见上。 
指令发送如图: 
 
出现‘>’字符就可以发送想发的数据: 

  • 以上就是对ESP8266WIFI模块作为服务器和客户端的使用过程,重点是掌握AT指令的使用和理解。该模块不仅用于通信,还自带了很多其他功能,如可以输出多路PWM,ADC等功能,可谓短小精悍。

WIFI模块ESP8266的使用指南【转】的更多相关文章

  1. Beaglebone Black– 智能家居控制系统 LAS - 刷 WiFi 模块 ESP8266 Firmware 和 ESP8266 直接收发 GPIO 信号

    用 Windows 来刷 ESP8266 固件有很多中文教程,来试试直接用 BBB 刷吧.目标是 NodeMCU,ESP-01 可用,就是我买的那个. 接线方式在上一篇.当 echo ‘BB-UART ...

  2. 中国移动OnetNet云平台 使用WIFI模块ESP8266 TCP非透传模式传输数据流步骤

    测试使用工具: WIFI模块型号:ESP8266 https://item.taobao.com/item.htm?spm=a1z10.1-c.w137712-175513579.2.btbD9X&a ...

  3. 中国移动OnetNet云平台 使用WIFI模块ESP8266 TCP透传模式传输数据流步骤

    测试使用工具: WIFI模块型号:ESP8266 https://item.taobao.com/item.htm?spm=a1z10.1-c.w137712-175513579.2.btbD9X&a ...

  4. 第一次 刷 WiFi 模块esp8266 感谢创客阿正

    在正哥指导下 第一次 刷 WiFi 模块  少走了 不少弯路 套件里的 两块 机智云  ==== 我的电脑 需要单独供电 先 对应 接好 ic0要记得接gnd 等待上电时要断电重启 等  用助手 返回 ...

  5. ESA2GJK1DH1K升级篇: STM32远程乒乓升级,基于Wi-Fi模块(ESP8266)AT指令TCP透传方式,MQTT通信控制升级(加入数据校验)

    前言 这节演示下,上两节写的利用MQTT来控制STM32控制的程序 测试准备工作(默认访问我的服务器,改为自己的服务器,请看后面说明) 一,下载BootLoader程序(请自行下载) 首先BootLo ...

  6. 基于H7的串口WIFI模块ESP8266的TCP客户端例子和操作说明(AP兼STA模式)

    说明: 1.如果不熟悉网络的话,等我这几天更新V7用户手册的ESP8266章节,如果熟悉的话,直接操作即可,这里将操作说明发出来. 2.串口WIFI是采用的AT指令操作,简单易用,指令手册在这个帖子里 ...

  7. 玩转X-CTR100 l STM32F4 l ESP8266串口WIFI模块

    我造轮子,你造车,创客一起造起来!更多塔克创新资讯[塔克社区 www.xtark.cn ][塔克博客 www.cnblogs.com/xtark/ ]- ESP8266是一款非常火的WIFI模块,性价 ...

  8. 用ESP8266 WIFI模块连接服务器,并实现与服务器相互通讯

    最近在做一个智能锁的项目,该项目要求实现在任何地方(当然是要有网络的)可以在手机上用APP开锁.而我负责的部分主要是实现底层与服务器连接,并且要能相互通讯.考虑了很多问题,最终选择了用ESP8266 ...

  9. ARDUINO MEGA2560 经过ESP8266 WIFI模块上传温湿度数据到 OneNet 服务器

    简述 原来写了一个C++的wifi库但是发现用c++ arduino这小身板有点扛不住,代码比较大,使用String类型数据处理速度慢,而且很容易无缘无故跑飞.而且封装成库后使用还需要修改arduin ...

随机推荐

  1. Mycat本地模式的自增长分表操作

    Mycat对表t_rc_rule_monitor做分表操作 在mysql上执行(没有t_rc_rule_monitor) DROP TABLE IF EXISTS t_rc_rule_monitor; ...

  2. Oracle内存管理(之五)

    [深入解析--eygle]学习笔记 1.4. 2其它内存组件 Large Pool-大池是SGA的一个可选组件,通经常使用于共享server模式(MTS). 并行计算或 RMAN的备份恢复等操作. J ...

  3. vue key 的另外一个用法 过度

    key也可以用于强制替换元素/组件而不是重复使用它.当你遇到如下场景时它可能会很有用: 完整地触发组件的生命周期钩子 触发过渡 例如: <transition> <span :key ...

  4. vue prop单向数据流

    Prop 是单向绑定的:当父组件的属性变化时,将传导给子组件,但是反过来不会.这是为了防止子组件无意间修改了父组件的状态,来避免应用的数据流变得难以理解. 另外,每次父组件更新时,子组件的所有 pro ...

  5. 【Python】列表~深入篇

    列表是一列按特定顺序排列的元素组成. 在Python中,用方括号[]来表示列表 下面是一个语言列表 Language = ['Chinese','English','Franch','Deutsch' ...

  6. 如何将数据导入到hive中

    可以通过多种方式将数据导入hive表 1.通过外部表导入 用户在hive上建external表,建表的同时指定hdfs路径,在数据拷贝到指定hdfs路径的同时,也同时完成数据插入external表. ...

  7. SAS学习经验总结分享:篇三—SAS函数

    SAS函数学习 文章为原创,禁止复制或转载,转载请标明出处, http://www.cnblogs.com/smallcrystal/p/4842346.html 1.函数输写格式: 1)一般书写格式 ...

  8. .NET实现爬虫

    前几天看到一个.NET Core写成的爬虫,有些莫名的小兴奋,之前一直用集搜客去爬拉勾网的招聘信息,这个傻瓜化工具相当于用HTML模板页去标记DOM节点,然后在浏览器窗口上模拟人的浏览行为同时跟踪节点 ...

  9. rtmp 错误 Server error: call to function _checkbw failed

    客户端使用rtmp协议与rtmp服务通信如遇到 Server error: call to function _checkbw failed错误 需要在服务端修改代码.如服务端使用的是CrtmpSer ...

  10. C# Winform 运行异常 CefSharp.core.dll 找不到指定的模块

    C# Winform开发中使用了CefSharp,之前在VS2012中运行很正常,今天换了一台Windows XP 打开VS2010 运行时,发生异常:System.IO.FileNotFoundEx ...