深入了解ESP8266WIFI模块的工作原理及特点---AT指令详解---透传概念----TCP和UDP的特点与区别-嵌入式软件面试常问
ESP8266-AT指令--透传--TCP-UDP
- 我们来先认识一下ESP8266模块:
- 模块实物图
- 资源介绍
- 原理图
- 功能介绍
- 无线组网
- SoftAP:
- Station:
- SoftAP + station 共存模式
- 透传
- UART 成帧机制
- WIFI加密
- ESP8266模块的省电机制:
- AT 指令说明
- AT 指令集概述
- 指令集
- AT+CWMODE
- AT+CWJAP
- AT+CWLAP
- AT+CWQAP
- AT+ CWSAP
- AT+CWLIF
- AT+ CIPSTATUS
- AT+CIPSTART
- AT+CIPSEND
- AT+CIPCLOSE
- AT+CIFSR
- AT+ CIPMUX
- AT+ CIPSERVER
- AT+ CIPMODE
- AT+ CIPSTO
- +IPD 接收到的网络数据
- TCP/UDP/透传
- TCP
- UDP
- TCP和UDP编程:
- socket套接字分类
- 字节序的概念:指多字节数据的存储顺序
- 分类:
- 服务模型
为什么要拿这个简单的模块来讲一下呢?因为根据本人最近嵌入式软件面试来看,对于我们嵌入式应届,面试官主要问我们简历上做过的项目,大多应届生应该都接触过ESP8266或者ESP32吧,他们经常会对我们使用过的模块进行深入的追问,我们很有必要将自己使用过的模块深入学习了解,这篇文章就能帮到你哦。
我们来先认识一下ESP8266模块:
ESP8266 是串口型 WIFI,速度比较低,不能用来传输图像或者视频这些大容量的数据,主要应用于数据量传输比较少的场合,比如温湿度信息,一些传感器的开关量等。
其他的电气特性,功耗特性我们就先不认识啦,我们在使用中也用不到这些。
模块实物图
资源介绍
原理图
功能介绍
无线组网
ESP8266 支持 softAP 模式,station 模式softAP + station 共存模式三种。
利用 ESP8266 可以实现十分灵活的组网方式和网络拓扑。
SoftAP:
即无线接入点,是一个无线网络的中心节点。通常使用的无线路由器就是一个无线接入点。
Station:
即无线终端,是一个无线网络的终端端。
SoftAP + station 共存模式
ESP8266 支持 softAP+station 共存的模式,用户设备、手机等可以作为station 连入 ESP8266 的 softAP 接口,同时,可以控制 ESP8266 的 station接口通过路由器(AP)连入 internet。
透传
透传,即透明传输功能。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模块的省电机制:
AT 指令说明
描述 Espressif ESP8266 模块 AT 指令集功能以及使用方法。
AT 指令集概述
指令集分为:基础 AT 命令、Wifi 功能 AT 命令、TCP/IP 工具箱 AT 命令等。
注意:
1)不是每条 AT 指令都具备上述 4 类命令。
2)后文指令中[ ]内数据为缺省值,不必填写或可能不显示。
3)波特率 115200。
4)参数为字符串的,需要加上双引号。例如:
AT+CWSAP=“ESP_756190”,“20130826”,1,4
指令集
AT+CWMODE
AT+CWJAP
AT+CWLAP
AT+CWQAP
AT+ CWSAP
AT+CWLIF
AT+ CIPSTATUS
AT+CIPSTART
AT+CIPSEND
AT+CIPCLOSE
AT+CIFSR
AT+ CIPMUX
AT+ CIPSERVER
AT+ CIPMODE
AT+ CIPSTO
+IPD 接收到的网络数据
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,提供面向无连接的
字节序的概念:指多字节数据的存储顺序
分类:
大端格式:将高位字节数据存储在低地址。
小端格式:将低位字节数据存储在低地址
网络协议制定了通讯字节序----大端
在主机内小端,因此我们进行网络通讯时要进行转换可以看看inet_ntop,inet_pton, htons htonl ntohs ntohl函数
我们在这里只放一下TCP和UDP的服务模型吧.
服务模型
深入了解ESP8266WIFI模块的工作原理及特点---AT指令详解---透传概念----TCP和UDP的特点与区别-嵌入式软件面试常问相关推荐
- HashMap的工作原理(图文+例子)详解,绝对简单通俗易懂
目录 什么是HashMap? HashMap的内部结构 内部结构之数组 内部结构之链表 Put方法与Get方法原理 JDK1.7月JDK1.8中HashMap的区别 什么是HashMap? 基于哈希表 ...
- GPS模块的工作原理是怎样的
GPS(全球定位系统)是一种通过卫星定位技术来确定地球上任何位置的系统.在现代社会中,GPS广泛应用于导航.交通管理.物流.气象预报.农业和科学研究等领域.而GPS模块则是用于接收和处理卫星信号的硬件 ...
- sever串口wifi拓展板_串口Wifi模块的工作原理和详细功能介绍
在无线网络领域里面,无线wifi是最火的名词.对于串口wifi模块的工作原理是什么呢?串口wifi模块又有什么功能呢?wifi方案设计远嘉科技给大家讲解有关串口wifi模块的工作原理,以及详细功能介绍 ...
- 数字量模块的工作原理讲解
数字量模块是用于连接外部机械触点和电子数字传感器,如光电开关和接近开关.数字输入模块将现场的外部数字信号电平转换为PLC的内部信号电平.输入电流通常是几毫安. 在工业自动化控制中,经常会遇到各种各样的 ...
- Sniff网络基础原理和软件实现技巧详解
Sniff网络基础原理和软件实现技巧详解 前言 SNIFF真是一个古老的话题,关于在网络上采用SNIFF来获取敏感信息已经不是什么新鲜事,也不乏很多成功的案例,那么,SNIFF究竟是什么呢? SNIF ...
- 2. IMU原理及姿态融合算法详解
文章目录 2. IMU原理及姿态融合算法详解 一.组合 二. 原理 a) 陀螺仪 b) 加速度计 c) 磁力计 三. 旋转的表达 a) 欧拉角 b) 旋转矩阵 c) 四元数 d) 李群 SO(3)\t ...
- 【 卷积神经网络CNN 数学原理分析与源码详解 深度学习 Pytorch笔记 B站刘二大人(9/10)】
卷积神经网络CNN 数学原理分析与源码详解 深度学习 Pytorch笔记 B站刘二大人(9/10) 本章主要进行卷积神经网络的相关数学原理和pytorch的对应模块进行推导分析 代码也是通过demo实 ...
- 强化学习教程(四):从PDG到DDPG的原理及tf代码实现详解
强化学习教程(四):从PDG到DDPG的原理及tf代码实现详解 原创 lrhao 公众号:ChallengeHub 收录于话题 #强化学习教程 前言 在前面强化学习教程(三)中介绍了基于策略「PG」算 ...
- at指令获取网络连接类型_【新手】ESP8266模块 AT指令详解
众所周知,ESP8266封装方式多样,天线可支持板载PCB天线,IPEX接口和邮票孔接口三种形式. ESP8266可广泛应用于智能电网.智能交通.智能家具.手持设备.工业控制等领域.当然,最出色的优点 ...
最新文章
- 342.基于高通量技术的微生物组研究实验设计
- 一位年龄 35 的前饿了么同事,退休了!
- Fedroa 15 默认开启是 命令行模式 即 runlevel5
- 万向节死锁_万向节死锁 gimbal lock
- 【matlab】将matlab中数据输出保存为txt或dat格式
- LMSn没有运行在RT (real time) 模式Oracle 19c RAC?
- ubuntu php mysql apache_Ubuntu+Apache+PHP+Mysql环境搭建(完整版)(转)
- Vue.js 学习笔记 七 控制样式
- 量子加密欲应用到智能手机 让黑客流泪
- 【JavaScript设计模式】装饰器模式
- 华为轮值董事长郭平新年致辞:不经艰难困苦,何来玉汝于成
- android短消息中心号码,短信服务中心号码(SMSC)的设置方法
- Silverlight MMORPG WebGame游戏设计(五)-----Client的嫁妆
- 289.南信大知网登录
- win10系统sqlserver2000数据库问题
- GPS:一个去中心化的抽奖式Token Offering模型
- Java ScriptEngineManager
- vb.net 窗体接收键盘事件_不用100就能够买到全键盘的无线键鼠套装,双飞燕FG1010魅力依旧...
- 2022年驾驶员考试推土机司机多选题专项训练及答案
- 分享! 您身边的免费3D CAD模型库 !