本文转载自: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. Hibernate get load的区别

    这两个函数都是用来从数据库中加载对象,其区别说起来主要有以下两点: 1.如果数据库中不存在该对象,那么load是抛出一个ObjectNotFound的异常,而get是返回一个空指针 2.加载机制不同 ...

  2. HM编码器代码阅读(14)——帧间预測之AMVP模式(二)predInterSearch函数

    简单介绍     predInterSearch基本的工作是ME(运动预计)和MC(运动补偿).     函数中有一个bTestNormalMC变量.它表示是否进行正常的MC过程,正常的MC过程就是进 ...

  3. jquery插件jTemplates使用方法

    简单记一下我所做项目中用到的代码,以备以后用的时候一看明确了. 1.jsp(jquery-jtemplates.js下载地址:http://download.csdn.net/detail/xlb74 ...

  4. Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental……

    Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to th ...

  5. 解决apt 依赖破损的问题

    在 安装 python3 / python2 共存的环境时, 不知道做了什么, 导致 apt 依赖故障 odoo@sy-odoo-08:~$ sudo apt-get remove apport 正在 ...

  6. linux链接外网手动设置

    /etc/sysconfig/network-scripts/ifcfg-eth0  设置IP网关等参数 DEVICE=eth0HWADDR=00:0C:29:C5:43:34TYPE=Etherne ...

  7. leetCode 83.Remove Duplicates from Sorted List(删除排序链表的反复) 解题思路和方法

    Given a sorted linked list, delete all duplicates such that each element appear only once. For examp ...

  8. java集合归纳

    学习自: http://android.blog.51cto.com/268543/400557/ MAP Collection 堆栈队列操作尽可能考虑 linkedlist 多线程同步操作尽可能考虑 ...

  9. 对‘TIFFReadDirectory@LIBTIFF_4.0’未定义的引用-------------- 解决办法

    ABLE_DEPRECATED' is defined [-Winvalid-pch] //usr/lib/libvtkIO.so.5.10:对‘TIFFReadDirectory@LIBTIFF_4 ...

  10. MongoDB水平分片集群(转)

    为何需要水平分片 1 减少单机请求数,将单机负载,提高总负载 2 减少单机的存储空间,提高总存空间. 下图一目了然: mongodb sharding 服务器架构 简单注解: 1 mongos 路由进 ...