0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

详细解析ESP8266两种工作模式的数据传输测试

FPGA之家 来源:电子电路开发学习 作者:wcc149 2021-04-27 11:23 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

ESP8266支持3种模式:Station模式、AP模式和Station+AP混合模式。关于这三种模式的区别可以类比我们的手机,当手机连接无线网时,此时手机为Station模式,当手机打开移动热点时,此时手机为AP模式。简单的说就是Station模式就是作为终端,AP模式就是作为路由器。而Station+AP混合模式,就和路由器的无线桥接功能是一样的,既可以连接别的无线网,同时也可以自己作为路由器。

本文分享ESP8266的两种工作模式下的数据传输:Station模式作为TCP客户端、AP模式作为TCP服务器,分别和网络调试助手进行通讯的AT指令配置流程。

AT指令可以由MCU的串口来完成,这样就可以实现两块ESP8266之间进行通讯,电脑和ESP8266的无线控制,手机和ESP8266的无线控制等。

ESP8266作为TCP客户端,电脑作为TCP服务器

ESP8266模块配置为Station模式连接WiFi,电脑也连接同一个WiFi,电脑使用网络调试助手建立一个TCP服务器,指定服务器地址和端口号。

ESP8266作为TCP客户端,和电脑上的网络调试助手进行通讯,或者直接透传。实现的效果是模块发送的数据,电脑可以接收到,电脑发送的数据,模块可以接收到。

1.模块配置为Station模式:AT+CWMODE=1

2.配置WiFi信息按照信号强度排序:AT+CWLAPOPT=1,127

3.扫描附近的WiFi信息:AT+CWLAP

//配置当执行AT+CWLAP指令时,WiFi信息按照信号强度排序

AT+CWLAPOPT=1,15

//1表示按照信号强度排序,15表示WiFi信息只显示加密方式,WiFi名称,信号强度,MAC地址

//扫描附近的WiFi信息

AT+CWLAP

+CWLAP:([加密方式],[WiFi名称],[RSSI信号强度],[MAC地址])

+CWLAP:(4,“Tenda_A3AA00”,-76,“c835aa:01”)

+CWLAP:(4,“Tenda_A3AA00 Sander”,-81,“e432e3:c4”)

+CWLAP:(3,“EZVIZ_D38296744”,-81,“5095e0:16”)

+CWLAP:(4,“TP-LINK_4723”,-84,“ccfb47:23”)

4.连接指定WiFi:AT+CWJAP=“Tenda_A3AA00”,“password123”

//连接指定AP

AT+CWJAP=“Tenda_A3AA00”,“password123”

//如果WiFi名称重复,需要指定MAC地址来确定要连接的WiFi

AT+CWJAP=“Tenda_A3AA00”,“password123”,“c835aa:01”

//如果WiFi名称或密码中含有特殊字符,前面要添加转义符号

如,目标WiFi名称为: ab,c,密码为: 0123456789“,则指令如下:

AT+CWJAP=”ab\,c“,”0123456789“\”

//查询已经连接的WiFi信息

AT+CWJAP?

//断开当前WiFi连接

AT+CWQAP

5.设置单连接模式:AT+CIPMUX=0

//如果之前使用AP模式开启过TCP服务器,要先关闭TCP服务器

AT+CIPSERVER=0

//设置单连接模式

AT+CIPMUX=0

6.电脑和模块连接同一WiFi,电脑启动网络调试助手,并建立TCP服务器。

75fac04e-a67e-11eb-aece-12bb97331649.jpg

7.模块作为TCP客户端,连接电脑上创建的TCP服务器

//主机地址和端口要和电脑上的TCP服务器保持一致,

AT+CIPSTART=“TCP”,“192.168.43.140”,6000

CONNECT

OK

8.如果连接成功,网络调试助手会显示有一个客户端上线,并显示了客户端的IP为192.168.1.105

760b125a-a67e-11eb-aece-12bb97331649.jpg

9.查询当前TCP服务器分配的IP地址:AT+CIPSTATUS

AT+CIPSTATUS

STATUS:3 //3表示已经建立TCP传输

+CIPSTATUS:0,“TCP”,“192.168.1.106”,6000,26441,0 //本地IP地址

OK

10.此时网络调试助手(TCP服务器)发送的信息,WiFi模块(TCP客户端)已经可以实时收到了。

+IPD,[数据长度]:[数据类型]

+IPD,30:Hello World —— By TCP Server

+IPD,28:MyBlog:www.wangchaochao.top

+IPD,16:MyWeChat:mcu149

761bf2a0-a67e-11eb-aece-12bb97331649.jpg

11.客户端发送数据到服务器。虽然服务器发送的数据客户端可以收到,但此时模块还处于AT模式,不能发送数据到服务器。

//设置本次要发送的字节数

AT+CIPSEND=4

OK

//输入要发送的数据,仅前四个字节数据被发出,其他数据无效。

Recv 4 bytes

SEND OK

762c7170-a67e-11eb-aece-12bb97331649.jpg

以上命令只能启动一次数据发送,如果需要数据实时收发,就需要配置成透传模式。

12.开启透传模式。

//开启透传模式,仅支持TCP单连接和UDP固定通信对端的情况

AT+CIPMODE=1

//开始透传

AT+CIPSEND

//此时发送的数据会直接给TCP服务器

7673e168-a67e-11eb-aece-12bb97331649.jpg

13.退出透传模式。

//输入不带回车换行的三个加号:+++,退出透传模式,返回到普通AT指令模式。

+++

//发送+++退出透传时,请至少间隔1秒再发下⼀条AT指令。

AT

OK

14.断开TCP连接。上面虽然退出了透传模式,此时还保持着TCP连接,服务器发送的数据可以实时收到。如果要断开TCP连接可以使用:AT+CIPCLOSE,可以看到服务器也显示客户端已经离线。

76833bea-a67e-11eb-aece-12bb97331649.jpg

ESP8266作为TCP服务器,电脑作为TCP客户端

ESP8266配置成AP模式,并开启TCP服务器,电脑连接ESP8266的WiFi,作为TCP客户端,两者之间数据传输。

1.模块配置成AP模式:AT+CWMODE=2

2.设置无线网名称和密码

//设置无线网名称和密码

AT+CWSAP=“ESP8266”,“12345678”,5,3

//3表示WPA2_PSK加密方式

//查询无线网信息

AT+CWSAP?

+CWSAP:[WiFi名称],[WiFi密码],[通道数],[加密方式],[最大支持连接数],[广播]

+CWSAP:“ESP8266”,“12345678”,5,3,4,0

3.设置无线网IP地址、网关、子网掩码

//设置IP、网关、子网掩码

AT+CIPAP=“192.168.5.1”,“192.168.5.1”,“255.255.255.0”

4.建立TCP服务器,设置端口号

//使用多连接模式

AT+CIPMUX=1

OK

//指定TCP服务器端口为1001

AT+CIPSERVER=1,1001

创建TCP服务器之后,会自动启动TCP服务监听,当有TCP客户端连接时,会有CONNECT提示

0,CONNECT

76a4172a-a67e-11eb-aece-12bb97331649.jpg

5.网络调试助手配置成客户端模式,连接ESP8266创建的TCP服务器,主机地址和端口要和之前配置的保持一致。

//ESP8266查询当前连接的客户端

AT+CWLIF

[IP地址],[MAC地址]

192.168.5.2,b8:86:87:4e:26:af

OK

6.网络调试助手(TCP客户端)发送消息给ESP8266(TCP服务器),因为ESP8266已经开启监听服务,数据会实时显示。

76c10646-a67e-11eb-aece-12bb97331649.jpg

7.ESP8266(TCP服务器)发送消息给网络调试助手(TCP客户端)。

//ESP8266作为服务器,要往客户端发数据,需要指定客户端编号和字节数

//往0号客户端发5个字节的数据

AT+CIPSEND=0,5

OK

//输入要发送的数据,仅前五个字节数据被发出,其他数据无效。

Recv 5 bytes

SEND OK

76fcab1a-a67e-11eb-aece-12bb97331649.jpg

编辑:lyn

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 数据传输
    +关注

    关注

    9

    文章

    2075

    浏览量

    67164
  • AT指令
    +关注

    关注

    1

    文章

    42

    浏览量

    12626
  • ESP8266
    +关注

    关注

    51

    文章

    966

    浏览量

    48992

原文标题:ESP8266两种工作模式数据传输测试

文章出处:【微信号:zhuyandz,微信公众号:FPGA之家】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    晶科鑫 | 国产26MHz晶振匹配Espressif(乐鑫) ESP8285/ESP8266芯片案例

    本,者可以共用同一套SDK,只是ESP8285内部集成了1MBFlash,SPIMode设置为DOUT,而ESP8266则需要外接Flash,并且是Din模式。除此之外,
    的头像 发表于 11-21 15:37 4042次阅读
    晶科鑫 | 国产26MHz晶振匹配Espressif(乐鑫) <b class='flag-5'>ESP</b>8285/<b class='flag-5'>ESP8266</b>芯片案例

    ESP8266ESP32开发板常见的2下载方式

    至240MHz CPU,而ESP8266是单核处理器,主频支持80MHz至160MHZ。 这些WiFi模块都带有GPIO,支持SPI,I2C,UART等各种协议。这款芯片都有STA/AP/STA+AP的工作
    的头像 发表于 11-10 20:30 311次阅读
    <b class='flag-5'>ESP8266</b>和<b class='flag-5'>ESP</b>32开发板常见的2<b class='flag-5'>种</b>下载方式

    ESP8266ESP32开发板常见的2下载方式

    的的Wi-Fi模块,在物联网(IoT)领域的DIY项目中可以首先考虑这2款产品。 款芯片都属于32位处理器。ESP32是低功耗双核80MHz至240MHz CPU,而ESP8266是单核处理器,主频支持
    发表于 10-24 18:04

    多通道数据传输终端 LoRa/LTE双模通信终端

    数据传输
    稳控自动化
    发布于 :2025年10月24日 13:57:21

    ADI GMSL技术两种视频数据传输模式的区别

    本文深入介绍GMSL技术,重点说明用于视频数据传输的像素模式和隧道模式之间的差异。文章将阐明这两种模式之间的主要区别,并探讨成功实施需要注意
    的头像 发表于 10-10 13:49 1745次阅读
    ADI GMSL技术<b class='flag-5'>两种</b>视频<b class='flag-5'>数据传输</b><b class='flag-5'>模式</b>的区别

    ESP8266】进入透传模式后,数据间隔怎么调整,

    01.TCP客户端用ESP8266透传模式发送数据是10ms发送一次,(连续发送) 02.TCP服务器接收到的数据是200ms左右接收一次,数据
    发表于 09-15 10:16

    工业智能网关数据传输核心功能全解析

    本文从功能模块化视角,深度解析工业智能网关在数据传输中的10大核心能力,覆盖协议转换、边缘计算、安全加密等关键场景。
    的头像 发表于 07-16 09:33 343次阅读
    工业智能网关<b class='flag-5'>数据传输</b>核心功能全<b class='flag-5'>解析</b>

    振弦式应变计两种数据传输方式介绍

    采集的效率与可靠性。下面给大家介绍振弦式应变计两种数据传输方式。一、有线传输:稳定可靠的传统方案有线传输是振弦式应变计最传统的数据传输方式,通过专用电缆将传感器与采集终
    的头像 发表于 07-15 13:38 337次阅读
    振弦式应变计<b class='flag-5'>两种数据传输</b>方式介绍

    像这样一款体积小巧的DTU数据传输终端你见过吗?

    数据传输
    才茂通信
    发布于 :2025年06月04日 14:33:29

    ESP8266烧录与机智云一键配网教程

    ESP8266模块因其低成本和高性能,广泛应用于智能家居和工业自动化等领域。机智云平台提供了一键配网功能,简化了设备的联网过程。本教程将详细介绍如何使用ESP8266进行烧录,并通过机智云实现一键配
    的头像 发表于 05-24 11:04 1546次阅读
    <b class='flag-5'>ESP8266</b>烧录与机智云一键配网教程

    SPI数据传输缓慢问题求解

    我遇到了 SPI 数据传输速率问题。 尽管将 SPI 时钟频率设置为 20 MHz,但我只获得了 2 Kbps 的数据传输速率。 我正在以 115200 的波特率通过 UART 监控数据。 我正在 cyfxusbspidmamo
    发表于 05-15 08:29

    LCR测试数据传输接口类型选型指南

    将深入探讨LCR测试仪的主流数据传输接口类型,并提供详细的选型指南和实际应用案例。 一、数据传输接口的核心作用 LCR测试仪通过测量元件的电
    的头像 发表于 04-01 15:16 644次阅读
    LCR<b class='flag-5'>测试</b>仪<b class='flag-5'>数据传输</b>接口类型选型指南

    iic协议的数据传输速率标准

    I2C协议定义了多种数据传输速率标准,以适应不同的应用需求。以下是I2C协议的主要数据传输速率标准: 标准模式(Standard-mode) :速率为100 kbps(每秒100,000位)。这是
    的头像 发表于 02-05 13:40 4341次阅读

    MPU数据传输协议详解

    在现代电子系统中,微控制器(MPU)扮演着核心角色,负责处理各种任务和数据。为了实现这些功能,MPU需要与其他设备进行数据交换。数据传输协议就是规定这些数据交换如何进行的一套规则。 M
    的头像 发表于 01-08 09:37 1416次阅读

    ptp对实时数据传输的影响

    在现代通信技术中,点对点(P2P)网络已经成为数据传输的一重要方式。P2P网络允许网络中的每个节点既可以作为客户端也可以作为服务器,直接进行数据交换。这种去中心化的网络结构对于实时数据传输
    的头像 发表于 12-29 09:53 1042次阅读