首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

ESP8266模块探索(三)工作模式与通信测试

一、主要内容:

二、ESP8266的工作模式

ESP8266共有三种工作模式,分别是Station模式,AP模式,AP+Station模式。ESP8266出厂默认是第三种模式。

1、Station模式,Station就像一个接收器,可以接收其他接收器的的信号,而我们的手机、笔记本等就像是一个个的Station,可以接收路由器发出的信号。

2、AP模式:AP是Wireless Access Point的简称,中文名称:无线接入点;AP模式也就是无线接入点模式。其主要作用是将各个无线网络客户端连接到一起,然后将无线网络接入以太网(这正是Access Point名称的本义),我们家里的路由器就工作在这个模式下,说简单点,就像一个基站,将有线网络转换成无线网络发射出去,这样我们的手机、电脑等就可以连接扩展出来的无线网络上网了。

3、AP+Station模式,模块支持一个AP接口,一个Station接口。即可接受AP的无线,自身也可发送无线。

三、透传

透传概念:

透传即是透明传送,是指传送网络无论传输业务如何,只负责将需要传送的业务传送到目的节点,同时保证传输的质量即可,而不对传输的业务进行处理。在数据的传输过程中,这组数据不发生任何形式的改变,即不竭断,不分组,不编码,不加密,不混淆等等,仿佛传输过程是透明的一样,原封不动地到了最终接收者手里。

透传模式的要求:

1、透传模式只能在单链接模式下开启;

2、模块开启服务器模式时,必须开启多链接模式,所以只能作为单链接模式下的客户端。

透传与非透传的区别:

开启透传模式,可以连续的发送数据,而非透传模式下,每次发送数据前都需要发送相关的发送数据的AT指令。

四、透传模式下的测试

测试工具:

网络助手NetAssist、丁丁串口助手;

1、AP模式下模块作为客户端

第一步:发送AT+RST重启一下模块

第二步:AT+CWMODE=2,选择AP模式

第三步:电脑连接ESP8266发射出的网络;

第四步:打开电脑端网络助手,并配置为TCP Server模式

第五步:发送AT+CIPMUX=0,选择单路连接模式,透传时必须选择单路模式

第六步:开启透传模式,发送AT+CIPMODE=1

第七步:建立TCP连接,发送命令AT+CIPSTART="TCP","192.168.4.2",8080

串口助手显示连接成功:

第八步:发送AT+CIPSEND命令,进入透传模式

第九步:通信测试:

(1)网络助手给模块发送数据

(2)模块给网络助手发送数据(可以连续发送数据),这个和非透传模式下不一样,非透传模式不能连续发送数据

注:若要退出透传模式,先取消发送新行,然后发送+++,即可返回命令模式

2、Station模式下模块作为客户端

和前面操作也差不多,现在只写出命令

AT+CWMODE=1 //选择Station模式

AT+RST //重启一下模块

AT+CWJAP=”JSST”,”jsst6666”//连接家里的Wifi

AT+CIPMUX=0 //启动单路

AT+CIPMODE=1 //选择透传模式

打开电脑网络助手,开启TCP Server

AT+CIPSTART="TCP","192.168.1.100",8080 //连接服务器端

AT+CIPSEND

通过上面的操作配置好后,就可以进行通信测试了。

五、非透传模式下测试

测试所需软件:

1、电脑端:网络助手NetAssist、丁丁串口助手;

2、手机端:有人网络助手

开始测试:

1、AP模式下,作为服务器

第一步:配置模块的工作模式为AP,发送命令为AT+CWMODE=2。

第二步:AT+RST重启一下ESP8266模块

第三步:启动多路连接AT+CIPMUX=1,启动多路连接可以最多同时连接5个客户端,这样我们就可以同时连接手机和电脑了。若AT+CIPMUX=0,则只能连接一个客户端,这里我们选择多路模式。

第四步:开启Server模式,命令AT+CIPSERVER=1,8080,8080为端口号,通信需要用,AT+CIPSERVER=0表示关闭Server模式。

第五步:电脑连接ESP8266发射出的网络;

第六步:打开网络助手,配置为客户端模式

协议类型选择TCP Client,本机地址不用管,打开软件时会自己识别,远程主机地址改为192.168.4.1,因为ESp8266的IP地址是192.168.4.1,端口号为第三步设置的8080.

第七步:打开手机上的有人网络助手,按照下图的配置,启动TCP Client

在连接电脑客户端和手机客户端连接成功时,他们的返回值不同,按照先后的添加顺序为表示电脑,1表示手机,后面发送消息时会用到。

第八步:通信测试

(1)模块(服务器)发送,电脑客户端接收

服务器发送数据给电脑,命令为AT+CIPSEND=0,10,表示id号,是模块分配给客户端的,从第六步我们得知,电脑端的id号为,10表示发送数据的长度,最大为2048字节.

测试结果:发送数据时去掉发送新行

电脑客户端:

(2)电脑客户端发送,模块(服务器)接收,在电脑网络助手的输入框输入数据,点击发送按钮。

测试结果:

(3)手机客户端发送数据,模块(服务器)接收

测试结果:

(4)模块(服务器)发送数据,手机客户端接收,命令AT+CIPSEND=1,10,1代表ESP8266分配给手机客户端的id号为1.这个手机助手作为客户端时不能接收数据,就不贴图了,操作和前面电脑端的一样。

2、AP模式下,作为客户端

第一步:发送AT+CWMODE=2命令,设置为AP模式

第二步:AT+RST重启一下ESP8266模块

第三步:电脑连接ESP8266的无线网

第四步:打开电脑端的网络助手NetAsisit,并启动TCP服务器,需要在建立TCP连接之前打开网络助手。

第五步:选择连接方式为单路或多路,单路就不说了,我们看看多路连接,发送命令AT+CIPMUX=1,选择多路模式;

第六步:建立TCP连接,发送命令AT+CIPSTART=0,"TCP","192.168.4.2",8080,我们从下图可以看到id号可以取1-4,则服务器上可以同时接5个ESP8266模块,可以1对5通信,命令格式为:

串口助手显示连接成功:

第七步:模块(客户端)给网络助手(服务器)发送数据

首先,发送命令AT+CIPSEND=0,10确定发送的服务器对象和数据长度;

接下来,去掉发送新行,发送数据,发送数据后,再要发送数据,必须再次发送AT+CIPSEND=0,10重新确定发送的服务器对象和数据长度

服务器端接收结果:

第九步:网络助手(服务器)给模块(客户端)发送数据

模块(客户端)接收结果:

3、Station模式下作为服务器

和前面操作也差不多,现在只写出命令

AT+CWMODE=1 //选择Station模式

AT+RST //重启一下模块

AT+CWJAP=”JSST”,”jsst6666”//连接家里的Wifi

AT+CIPMUX=1 //启动多路连接(必须)

AT+CIPSERVER=1,8080//配置为服务器模式

AT+CIFSR//查看路由器给模块分配的IP地址

启动电脑网络助手,开启TCP Client,远程地址需要填写通过AT+CIFSR命令返回的路由器分配给模块的IP.

AT+CIPSEND=0,10 //选择接收数据的客户端,确定发送的数据长度

通过上面的操作配置好后,就可以进行通信测试了。

4、Station模式下作为客户端

和前面操作也差不多,现在只写出命令

AT+CWMODE=1 //选择Station模式

AT+RST //重启一下模块

AT+CWJAP=”JSST”,”jsst6666”//连接家里的Wifi

AT+CIPMUX=0 //启动单路/多路连接

打开电脑网络助手,开启TCP Server

AT+CIPSTART="TCP","192.168.1.100",8080 //连接服务器端

AT+CIPSEND=10 //确定发送的数据长度(单路)

通过上面的操作配置好后,就可以进行通信测试了。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180112G0BHAG00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券