深入了解ESP8266WIFI模块的工作原理及特点---AT指令详解---透传概念----TCP和UDP的特点与区别-嵌入式软件面试常问

这篇具有很好参考价值的文章主要介绍了深入了解ESP8266WIFI模块的工作原理及特点---AT指令详解---透传概念----TCP和UDP的特点与区别-嵌入式软件面试常问。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

为什么要拿这个简单的模块来讲一下呢?因为根据本人最近嵌入式软件面试来看,对于我们嵌入式应届,面试官主要问我们简历上做过的项目,大多应届生应该都接触过ESP8266或者ESP32吧,他们经常会对我们使用过的模块进行深入的追问,我们很有必要将自己使用过的模块深入学习了解,这篇文章就能帮到你哦。

我们来先认识一下ESP8266模块:

ESP8266 是串口型 WIFI,速度比较低,不能用来传输图像或者视频这些大容量的数据,主要应用于数据量传输比较少的场合,比如温湿度信息,一些传感器的开关量等。

esp8266wifi模块工作原理,嵌入式软件开发,面试,tcp/ip,udp,网络协议esp8266wifi模块工作原理,嵌入式软件开发,面试,tcp/ip,udp,网络协议

其他的电气特性,功耗特性我们就先不认识啦,我们在使用中也用不到这些。

模块实物图

esp8266wifi模块工作原理,嵌入式软件开发,面试,tcp/ip,udp,网络协议

资源介绍

esp8266wifi模块工作原理,嵌入式软件开发,面试,tcp/ip,udp,网络协议

原理图

esp8266wifi模块工作原理,嵌入式软件开发,面试,tcp/ip,udp,网络协议

功能介绍

无线组网

ESP8266 支持 softAP 模式,station 模式softAP + station 共存模式三种。
利用 ESP8266 可以实现十分灵活的组网方式和网络拓扑。

SoftAP:

即无线接入点,是一个无线网络的中心节点。通常使用的无线路由器就是一个无线接入点。

esp8266wifi模块工作原理,嵌入式软件开发,面试,tcp/ip,udp,网络协议

Station:

即无线终端,是一个无线网络的终端端。
esp8266wifi模块工作原理,嵌入式软件开发,面试,tcp/ip,udp,网络协议

SoftAP + station 共存模式

ESP8266 支持 softAP+station 共存的模式,用户设备、手机等可以作为station 连入 ESP8266 的 softAP 接口,同时,可以控制 ESP8266 的 station接口通过路由器(AP)连入 internet。
esp8266wifi模块工作原理,嵌入式软件开发,面试,tcp/ip,udp,网络协议

透传

透传,即透明传输功能。Host 通过 uart 将数据发给 ESP8266,ESP8266 再
通过无线网络将数据传出去;ESP8266 通过无线网络接收到的数据,同理通过uart 传到 Host。ESP8266 只负责将数据传到目标地址,不对数据进行处理,发送方和接收方的数据内容、长度完全一致,传输过程就好像透明一样。

透传需要先建立连接:
 无线网络参数:
 网络名称(SSID)
 安全模式
 密钥(password)
 TCP 连接参数
 协议类型
 连接类型(client)
 目的 IP 地址
 目的端口
 串口参数
 波特率
 数据位
 检验位
 停止位
 硬件流控

UART 成帧机制

我们讲一下USART传输因为我们ESP8266用来传输数据量较小,所以使用USART直接与单片机传输 。
判断 UART 传来的数据时间间隔,若时间间隔大于 20ms,则认为一帧结束;否则,一直接收数据到上限值 2KB,认为一帧结束。ESP8266 模块判断UART 来的数据一帧结束后,通过 WIFI 接口将数据转发出去。成帧时间间隔为 20ms,一帧上限值为 2KB。

WIFI加密

我们知道WIFI网络有很多种加密方式,下面简单介绍一下,此处不过多纠结,与我们研究的无关。

ESP8266 支持多种无线网络加密方式,包括:
 WEP (only station)
 WPA-PSK/TKIP
 WPA-PSK/AES
 WPA2-PSK/TKIP
 WPA2-PSK/AES

ESP8266模块的省电机制:

esp8266wifi模块工作原理,嵌入式软件开发,面试,tcp/ip,udp,网络协议
esp8266wifi模块工作原理,嵌入式软件开发,面试,tcp/ip,udp,网络协议

AT 指令说明

描述 Espressif ESP8266 模块 AT 指令集功能以及使用方法。

AT 指令集概述

指令集分为:基础 AT 命令、Wifi 功能 AT 命令、TCP/IP 工具箱 AT 命令等。
esp8266wifi模块工作原理,嵌入式软件开发,面试,tcp/ip,udp,网络协议
注意:
1)不是每条 AT 指令都具备上述 4 类命令。
2)后文指令中[ ]内数据为缺省值,不必填写或可能不显示。
3)波特率 115200。
4)参数为字符串的,需要加上双引号。例如:
AT+CWSAP=“ESP_756190”,“20130826”,1,4

指令集

esp8266wifi模块工作原理,嵌入式软件开发,面试,tcp/ip,udp,网络协议

AT+CWMODE

esp8266wifi模块工作原理,嵌入式软件开发,面试,tcp/ip,udp,网络协议
esp8266wifi模块工作原理,嵌入式软件开发,面试,tcp/ip,udp,网络协议

AT+CWJAP

esp8266wifi模块工作原理,嵌入式软件开发,面试,tcp/ip,udp,网络协议

AT+CWLAP

esp8266wifi模块工作原理,嵌入式软件开发,面试,tcp/ip,udp,网络协议

AT+CWQAP

esp8266wifi模块工作原理,嵌入式软件开发,面试,tcp/ip,udp,网络协议esp8266wifi模块工作原理,嵌入式软件开发,面试,tcp/ip,udp,网络协议

AT+ CWSAP

esp8266wifi模块工作原理,嵌入式软件开发,面试,tcp/ip,udp,网络协议

AT+CWLIF

esp8266wifi模块工作原理,嵌入式软件开发,面试,tcp/ip,udp,网络协议

AT+ CIPSTATUS

esp8266wifi模块工作原理,嵌入式软件开发,面试,tcp/ip,udp,网络协议

AT+CIPSTART

esp8266wifi模块工作原理,嵌入式软件开发,面试,tcp/ip,udp,网络协议esp8266wifi模块工作原理,嵌入式软件开发,面试,tcp/ip,udp,网络协议

AT+CIPSEND

esp8266wifi模块工作原理,嵌入式软件开发,面试,tcp/ip,udp,网络协议esp8266wifi模块工作原理,嵌入式软件开发,面试,tcp/ip,udp,网络协议

AT+CIPCLOSE

esp8266wifi模块工作原理,嵌入式软件开发,面试,tcp/ip,udp,网络协议
esp8266wifi模块工作原理,嵌入式软件开发,面试,tcp/ip,udp,网络协议

AT+CIFSR

esp8266wifi模块工作原理,嵌入式软件开发,面试,tcp/ip,udp,网络协议

AT+ CIPMUX

esp8266wifi模块工作原理,嵌入式软件开发,面试,tcp/ip,udp,网络协议
esp8266wifi模块工作原理,嵌入式软件开发,面试,tcp/ip,udp,网络协议

AT+ CIPSERVER

esp8266wifi模块工作原理,嵌入式软件开发,面试,tcp/ip,udp,网络协议

AT+ CIPMODE

esp8266wifi模块工作原理,嵌入式软件开发,面试,tcp/ip,udp,网络协议

AT+ CIPSTO

esp8266wifi模块工作原理,嵌入式软件开发,面试,tcp/ip,udp,网络协议

+IPD 接收到的网络数据

esp8266wifi模块工作原理,嵌入式软件开发,面试,tcp/ip,udp,网络协议

TCP/UDP/透传

TCP

TCP是一种面向连接的,提供可靠交付服务和全双工通信的,基于字节流的端到端的传输层通信协议。
TCP在传输数据之前必须先建立连接,数据传输结束后要释放连接。
每一条TCP连接提供的是端到端的服务,故TCP不提供广播或多播服务。
TCP提供可靠交付,有错误检查和数据重传机制。
TCP是面向字节流的。虽然应用进程和TCP的交互是一次一个数据块(大小不等),但TCP把应用程序交下来的数据看成仅仅是一连串的无结构的字流。TCP并不知道所传输的字节流的含义。

UDP

UDP是一种无连接的,尽最大努力交付的,基于报文的端到端的传输层通信协议。
UDP,在发送数据之前不需要建立连接。
UDP不保证可靠交付,主机不需要位置复杂的连接状态。
UDP是面向报文的。UDP对应用层交下来的报文,既不合并,也不拆分,而是保留这些报文的的边界,即应用层交给UDP多长的报文,UDP就照样发送,即一次发送一个报文。在接收端,UDP一次交付一个完整的报文。
UDP没有拥塞控制,网络出现的拥塞不会使源主机的发送速率降低。
UDP支持一对一、一对多、多对一和多对多的交互通信。
UDP的首部开销小,只有8个字节,比TCP的20个字节的首部要短。

TCP和UDP编程:

网络间通信要解决的是不同主机进程间的通信需要解决的首要问题是网络间进程标识问题以及多重协议的识别问题随着UNIX操作系统的广泛应用Socket成为最流行的网络通信应用程序的开发接口。

Socket是一种文件描述符,代表了一个通信管道的一个端点 在Socket类型的文件描述符上,可以完成建立连接,数据传输等操作

socket套接字分类

常用的Socket类型有两种:
1.流式Socket:SOCK_STREAM,提供面向连接的Socket
2.数据报式Socket:SOCK_DGRAM,提供面向无连接的

字节序的概念:指多字节数据的存储顺序

分类:

大端格式:将高位字节数据存储在低地址。
小端格式:将低位字节数据存储在低地址
esp8266wifi模块工作原理,嵌入式软件开发,面试,tcp/ip,udp,网络协议
网络协议制定了通讯字节序----大端
在主机内小端,因此我们进行网络通讯时要进行转换可以看看inet_ntop,inet_pton, htons htonl ntohs ntohl函数
我们在这里只放一下TCP和UDP的服务模型吧.

服务模型

esp8266wifi模块工作原理,嵌入式软件开发,面试,tcp/ip,udp,网络协议文章来源地址https://www.toymoban.com/news/detail-859428.html

到了这里,关于深入了解ESP8266WIFI模块的工作原理及特点---AT指令详解---透传概念----TCP和UDP的特点与区别-嵌入式软件面试常问的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • ESP8266 WIFI 模块和手机通信

    随着物联网智能化的不断发展,越来越多人选择了无线通信设备,比如WiFi、蓝牙、Lora、zigbee、2G/4G模块等物联网无线通信模块,从而可以更好地达到无线控制目的。 1.这款调试助手支持的功能比较齐全,可以自行到手机应用市场下载。 2.串口调试助手用的是正点原子提供的

    2024年02月06日
    浏览(35)
  • STM32 ESP8266模块的探索&AT指令介绍

    这是本文的配套资料,最终工程请参考 新_ESP8266资料stm32f103成功移植的项目 【免费】stm32f103c8t6esp8266资料资源-CSDN文库 我使用的是ai-thinker的esp8266-01s,以下为产品规格书 引脚定义:   依据引脚定义,GND接GND,VCC接3.3V,TX接USB转TTL的Rx, Rx 接USB转TTL的RX,之后尝试多次,都只

    2024年04月23日
    浏览(31)
  • STM32-连接wifi模块(esp8266)

    目录 1. ESP8266模块介绍 1.1. 系统结构图 1.2. 功能介绍  1.3. AT指令说明  2. STM32连接ESP8266 3. ESP8266示例 3.1. ESP8266透传模式  3.2. ESP8266上传数据例程 乐鑫智能互联平台——ESP8266 拥有高性能无线 SOC,是一个完整且自成体系的 WiFi 网络解决方案,能够独立运行,也可以作为 slave 搭

    2024年01月16日
    浏览(58)
  • 物联网智能网关(ESP8266WIFI模块)

    一、温湿度和光敏数据采集。要求:采集ESP8266平台中温湿度传感器与光敏电阻的数据并传输至网页端显示。 (1)分别对应温湿度传感器及光敏传感器的功能绘制或展示硬件连接原理图并简单说明。   光敏电路:光敏电路,实现感光效果   温湿度(DHT11)电路:测量温湿度

    2023年04月22日
    浏览(44)
  • esp8266WiFi模块通过MQTT连接华为云

    最近 突然想做物联网的项目,做一个类似远程控制家里的设备,比如控制灯,电视机,空调这样的,同时能够将家里的温湿度等信息可以实时上传到手机里。 刚开始认为这个不就是一个很简单的项目嘛, 几个小时 之内就能做出来,可是没想到诸事不顺,遇到各种各样的bu

    2023年04月20日
    浏览(48)
  • 【毕设调试一】WiFi模块esp8266的调试

    提示 : 主控芯片STM32F103C8T6,与WiFi通信串口为串口二,打印串口为串口三(不使用串口一是当时设计时,方便pcb走线) 说明 : 因为我是使用PCB画板的方式来走线的,并不是按模块来拼接的,走线的时候需要注意WiFi模块和主控芯片串口的连接(RX-TX),如下图所示,这个是可

    2024年02月05日
    浏览(37)
  • ESP8266WIFI模块(ESP01)上云端(OneNet平台,HTTP)

    1.注册账号并登录 Onenet平台 2.打开控制台 3.在控制台点击全部产品,选择基础服务的多协议接入 4.选择·HTTP并点击添加产品。 5.填写产品信息,名称随便起,行业任选一个,类别也任选,联网方式选择wifi 6.添加设备 并填写设备名称,随便起名个字,随便输入编号,但是同一

    2024年02月04日
    浏览(48)
  • stm32 的 ESP8266 wifi 模块 (ESP - 12s) 的使用

    1. ESP8266 的器件介绍 2. ESP2866外设  的引脚  3. 我所用的的ESP2866 的引脚图 4. 代码 编程的串口 5.wifi 的指令 1. AT     测试指令 2. AT+RST   重启模块 3. AT+GMR  查看版本信息 4. AT+RESTORE   恢复出厂设置 5.  AT+UART=115200,8,1,0,0   串口设置  串口号, 数据位, 停止位,  6. 

    2024年02月02日
    浏览(47)
  • ESP8266模块MQTT AT Commands 发送 json字符串

    ESP8266 wifi模块介绍 ESP8266EX 由乐鑫公司开发,提供了⼀套⾼度集成的 Wi-Fi SoC 解决⽅案,其低功耗、紧凑设计和⾼稳定性可以满⾜⽤户的需求。 ESP8266EX 拥有完整的且⾃成体系的 Wi-Fi ⽹络功能,既能够独⽴应⽤,也可以作为从机搭载于其他主机 MCU 运⾏。当 ESP8266EX 独⽴应⽤时

    2024年02月13日
    浏览(36)
  • 【STM32训练—WiFi模块】第二篇、STM32驱动ESP8266WiFi模块获取天气

    目录 第一部分、前言 1、获取心知天气API接口 2、硬件准备 第二部分、电脑串口助手调试WIFI模块获取天气 1、ESP8266获取天气的流程 2、具体步骤 第三部分、STM32驱动ESP8266模块获取天气数据 1、天气数据的解析 1.1、什么函数来解析天气数据? 2.1、解析后的数据如何使用?  2、

    2024年02月09日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包