【ESP8266 (12F)】Wi-Fi通信与TCP IP协议栈(测试文章)_esp8266的通信协议(2)

一、Wi-Fi通信

Wi-Fi是一种无线局域网技术,它可以让设备在一定范围内通过无线电波进行数据传输。Wi-Fi遵循IEEE 802.11标准,目前常见的有802.11b/g/n等协议。不同的协议有不同的频率、速率和兼容性。

ESP8266支持802.11b/g/n协议,可以工作在2.4GHz频段。它可以作为一个Wi-Fi客户端(Station,STA)或者一个Wi-Fi热点(Access Point,AP),也可以同时兼具两种角色(STA+AP)。不同的工作模式有不同的功能和应用场景。

1.1 STA模式

STA模式是指ESP8266作为一个Wi-Fi客户端,连接到一个已存在的Wi-Fi热点,例如路由器或者手机。这样,ESP8266就可以通过热点访问互联网,或者与其他连接到同一个热点的设备进行通信。

要使用STA模式,需要知道热点的SSID(网络名称)和密码(如果有的话)。ESP8266提供了一些AT指令来设置和查询STA模式的相关参数,例如:

  • AT+CWJAP=“SSID”,“PASSWORD”:连接到指定的热点
  • AT+CWJAP?:查询当前连接的热点信息
  • AT+CWQAP:断开当前连接的热点
  • AT+CWLAP:扫描附近可用的热点
  • AT+CIPSTA=“IP”,“GATEWAY”,“NETMASK”:设置STA模式下的IP地址、网关和子网掩码
  • AT+CIPSTA?:查询STA模式下的IP地址、网关和子网掩码

1.2 AP模式

AP模式是指ESP8266作为一个Wi-Fi热点,提供无线网络服务给其他设备。这样,其他设备就可以连接到ESP8266,或者通过ESP8266访问互联网(如果ESP8266同时连接了另一个热点)。

要使用AP模式,需要设置ESP8266的SSID(网络名称)、密码(如果有的话)、加密方式(默认为WPA2-PSK)、信道(默认为1)等参数。ESP8266提供了一些AT指令来设置和查询AP模式的相关参数,例如:

  • AT+CWSAP=“SSID”,“PASSWORD”,CHANNEL,ENCRYPTION:设置AP模式下的SSID、密码、信道和加密方式
  • AT+CWSAP?:查询AP模式下的SSID、密码、信道和加密方式
  • AT+CWLIF:查询当前连接到ESP8266的设备列表
  • AT+CIPAP=“IP”,“GATEWAY”,“NETMASK”:设置AP模式下的IP地址、网关和子网掩码
  • AT+CIPAP?:查询AP模式下的IP地址、网关和子网掩码

1.3 STA+AP模式

STA+AP模式是指ESP8266同时兼具STA和AP两种角色。这样,ESP8266既可以连接到一个外部热点,也可以提供一个内部热点。这种模式可以实现设备之间的桥接功能,例如将有线网络转换为无线网络,或者将一个无线网络扩展到另一个无线网络。

要使用STA+AP模式,需要分别设置STA和AP两种模式的相关参数,参考前面的介绍。ESP8266提供了一些AT指令来设置和查询STA+AP模式的相关参数,例如:

  • AT+CWMODE=3:设置工作模式为STA+AP
  • AT+CWMODE?:查询当前工作模式
  • AT+CIPAPMAC=“MAC”:设置AP模式下的MAC地址
  • AT+CIPAPMAC?:查询AP模式下的MAC地址
  • AT+CIPSTAMAC=“MAC”:设置STA模式下的MAC地址
  • AT+CIPSTAMAC?:查询STA模式下的MAC地址

二、TCP/IP协议栈

TCP/IP是一种网络通信协议,它定义了不同设备之间如何进行数据交换。TCP/IP由四层组成,分别是链路层、网络层、传输层和应用层。每一层都有不同的功能和协议,例如:

  • 链路层:负责在物理介质上发送和接收数据帧,例如以太网、Wi-Fi等
  • 网络层:负责在不同网络之间传输数据包,例如IP协议、ICMP协议等
  • 传输层:负责在两个端点之间建立可靠或不可靠的连接,例如TCP协议、UDP协议等
  • 应用层:负责提供具体的应用服务,例如HTTP协议、FTP协议、MQTT协议等

ESP8266内置了TCP/IP协议栈,可以实现各种网络通信功能。ESP8266提供了一些AT指令来设置和查询TCP/IP协议栈的相关参数,例如:

  • AT+CIPSTATUS:查询当前连接状态
  • AT+CIPSTART=“TYPE”,“ADDRESS”,PORT:建立一个TCP或UDP连接
  • AT+CIPCLOSE:关闭一个TCP或UDP连接
  • AT+CIPSEND=LENGTH:发送指定长度的数据
  • AT+CIPMUX=MODE:设置单连接或多连接模式
  • AT+CIPSERVER=MODE,PORT:开启或关闭服务器模式

三、实验步骤

本文将通过一个简单的实验来演示ESP8266的Wi-Fi通信和TCP/IP协议栈的使用方法。实验目的是让ESP8266连接到一个Wi-Fi热点,并与一个PC端进行TCP通信,发送和接收数据。

实验所需的硬件和软件如下:

  • ESP8266开发板(本文使用NodeMCU)
  • USB数据线
  • PC端(本文使用Windows 10)
  • 串口调试工具(本文使用SSCOM)
  • Wi-Fi热点(本文使用手机)

实验步骤如下:

  1. 将ESP8266开发板通过USB数据线连接到PC端,并安装相应的驱动程序。
  2. 打开SSCOM软件,选择正确的串口号和波特率(默认为115200),并打开串口。
  3. 在SSCOM软件中输入AT指令,测试ESP8266是否正常工作。如果返回OK,则表示正常。
  4. 在SSCOM软件中输入AT+CWJAP=“SSID”,"PASSWORD"指令,让ESP8266连接到指定的Wi-Fi热点。如果返回OK,则表示连接成功。
  5. 在SSCOM软件中输入AT+CIFSR指令,查询ESP8266在STA模式下的IP地址。记下这个IP地址,后面会用到。
    自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数嵌入式工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年嵌入式&物联网开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

img

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上嵌入式&物联网开发知识点,真正体系化!

img

img

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以+V:Vip1104z获取!!! (备注:嵌入式)

img

最后

资料整理不易,觉得有帮助的朋友可以帮忙点赞分享支持一下小编~

你的支持,我的动力;祝各位前程似锦,offer不断,步步高升!!!

44156ee24.jpg" alt=“img” style=“zoom: 67%;” />

最后

资料整理不易,觉得有帮助的朋友可以帮忙点赞分享支持一下小编~

你的支持,我的动力;祝各位前程似锦,offer不断,步步高升!!!

更多资料点击此处获qu!!

  • 31
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值