【通信模块】简单玩转WiFi模块(ESP32、ESP8266)

笔者学习太极创客的学习笔记,链接如下:www.taichimaker.com

前期准备
电脑端口

在这里插入图片描述

固件烧录

在这里插入图片描述

WIFI到网页
对应七层网络协议

在这里插入图片描述

WIFI工作模式(链路层)

接入点模式、无线中断模式、混合模式

在这里插入图片描述

IP协议(网络层)

在这里插入图片描述

子网掩码:限制IP属于子网地址和设置设备本身地址

在这里插入图片描述

TCP/UDP协议(传输层)
TCP协议
  • TCP协议可以保证数据传输的准确性,但是传输速度比UDP协议而言要慢
  • 电子邮件及文件上传

在这里插入图片描述

UDP协议
  • UDP协议并不能保证所有数据都被接收端所接受(实际也有99%👆),但速度快;

  • 通常用于网络游戏以及语音聊天或视频聊天应用,游戏;

在这里插入图片描述

HTTP协议(应用层)
  • HTTP协议由请求响应构成; HTTP的工作模式像一问一答
  • HTTP请求 = 请求头(Request Header) + 请求体(Request Body)
  • HTTP响应 = 响应头(Response Header)+ 响应体(Response Body)
HTTP请求

GET获取 POST发送 Head

在这里插入图片描述

浏览器输入www.taichi-maker.com这一网址并按下回车,这时候浏览器会把这一操作转换成一个HTTP请求;

在这里插入图片描述
在这里插入图片描述

HTTP响应

HTTP响应 = 响应头(Response Header)+ 响应体(Response Body)

响应头
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

以下是常见的服务器状态码:
100~199:成功接收请求,要求客户端继续提交下一次请求才能完成整个处理过程。
200~299:成功接收请求并已完成整个处理过程。常用200
300~399:完成请求,客户需进一步细化请求。
400~499:客户端的请求有错误,常用404和403(403的含义是权限不够,服务器拒绝访问。)
500~599:服务器端出现错误,常用500

响应体:

在这里插入图片描述

DNS ( Domain Name System域名系统)
  • 所有设备、网站服务器都具有独立的IP地址;

  • 网站服务器的IP地址很难记忆;

  • 把DNS看作是一个巨型电话本;

在之前的教程中,我曾经给大家讲过网络中的所有设备都具有独立的IP地址。
这一点对于网站服务器来说也不例外.当我们使用浏览器访问某一个网站时,实际上是通过浏览器向网站服务器发送Http请求。
然而网站服务器的IP地址很难记忆,比如太极创客网站的域名由两个单词组成、太极是太极、Maker是创客。
这很好记,但是要想记住太极创客服务器的IP就没那么容易了。因为那是4个毫无规律的数字.

为了解决IP地址问题,DNS被派上了用场:

  • 我们可以把dns看作是一个巨型电话本。

  • 电话本中的联系人一栏就是网站的域名,而电话本中的电话号码一栏则是这些网站的IP地址。

  • 有了dns我们就可以使用简单易记的域名来访问网站了。

还是用太极创客网站来举例吧,每当我们在浏览器中输入域名www.taichimaker.com并按下回车后,
这时浏览器首先会向DNS服务器发送请求,请求的内容大致如下:
“亲爱的DNS服务器,我那个明明可以靠脸吃饭却偏偏要学物联网的主人想访问一个域名是www.taichi-maker.com的网站。
麻烦您把这个域名的网站服务器IP地址告诉我好吗?”DNS服务器在接收到这—请求后,会做出以下应答
:“亲爱的浏览器,您要的网站服务器ip地址是12.34.56.78。
”浏览器在接收到这一—IP地址后,就开始向这个IP地址所对应的网站服务器正式发出HTTPGET请求了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/876435.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Kafka知识总结(选举机制+控制器+幂等性)

文章收录在网站:http://hardyfish.top/ 文章收录在网站:http://hardyfish.top/ 文章收录在网站:http://hardyfish.top/ 文章收录在网站:http://hardyfish.top/ 选举机制 控制器(Broker)选举 控制器就是…

springboot使用Gateway做网关并且配置全局拦截器

一、为什么要用网关 统一入口: 作用:作为所有客户端请求的统一入口。说明:所有客户端请求都通过网关进行路由,网关负责将请求转发到后端的微服务 路由转发: 作用:根据请求的URL、方法等信息将请求路由到…

Redisson中的RScoredSortedSet的常见使用场景及排行榜例子

Redisson 中的 RScoredSortedSet 类是对 Redis 内置的 Sorted Set 数据结构的一个封装,它支持对集合中的元素进行排序,每个元素都有一个与之关联的分数(score)。 RScoredSortedSet 可以用于多种场景,以下是一些常见的使用案例: 排…

【初阶数据结构篇】时间(空间)复杂度

文章目录 算法复杂度时间复杂度1. 定义2. 表示方法3. 常见时间复杂度4.案例计算分析冒泡排序二分查找斐波那契数列(递归法)斐波那契数列(迭代法) 空间复杂度案例分析冒泡排序斐波那契数列(递归法)斐波那契数…

欧鹏 数据库 第五次作业

文章目录 第五次作业题目一,触发器1)建立两个表:good(商品表),orders(订单表) 二,在商品表中导入记录三,储存过程 1)建立触发器,订单中增加订单数量后,商品表数量同步减少对应的商品订单出单数量,并测试2)建立触发器,实现功能:客户取消订单,恢复商品表对应商品的数量3)建立触发…

QT 5 同时使用Q_DECLARE_METATYPE(pointdata) 和继承 QObjectUserData

在Qt框架中,QObjectUserData 和 Q_DECLARE_METATYPE() 宏都与Qt的元对象系统有关,但它们的使用方式有一些特别的限制和兼容性问题。 关于QObjectUserData: QObjectUserData 是一个用来存储用户数据的类。在Qt中,每个 QObject 可以…

CI/CD学习之路

CI/CD之路 https://mp.weixin.qq.com/mp/appmsgalbum?__bizMzg4NDg0MjQ0MQ&actiongetalbum&album_id3433192036428447744&scene173&subscene&sessionidsvr_0b1e7fe1d6b&enterid1721879847&from_msgid2247485821&from_itemidx1&count3&am…

【漏洞复现】ServiceNow UI Jelly模板注入(CVE-2024-4879)

声明:本文档或演示材料仅用于教育和教学目的。如果任何个人或组织利用本文档中的信息进行非法活动,将与本文档的作者或发布者无关。 一、漏洞描述 ServiceNow是一家专注于提供企业级云计算服务的企业,其旗舰产品是基于云的服务管理解决方案&…

视觉巡线小车(STM32+OpenMV)——总结

文章目录 目录 文章目录 前言 一、效果展示 二、完整流程 1、STM32CubeMX配置 2、Keil编辑 3、硬件接线 4、参数调试 5、图像处理调试 三、总结 前言 基于前面的系列文章,已基本介绍完了基于STM32OpenMV的视觉巡线小车,本文将以小编自己的小车…

SeaCMS海洋影视管理系统远程代码执行漏洞复现

SeaCMS海洋影视管理系统远程代码执行漏洞复现 Ⅰ、环境搭建Ⅱ、漏洞复现Ⅲ、漏洞分析 免责声明:请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失,均由使用者本人负责&…

Greenplum数据库中常用的聚合函数及其对应的分析函数

一、SUM()函数及其对应的分析函数(SUM() OVER) SUM()函数是一种常用的聚合函数,用于计算某一列的总和。在Greenplum数据库中,SUM()函数可以与分析函数SUM() OVER结合使用,实现对某一列的累计求和操作。 语法示例&…

全栈嵌入式C++、STM32、Modbus、FreeRTOS和MQTT协议:工业物联网(IIoT)可视化系统设计思路(附部分代码解析)

项目概述 随着工业4.0时代的到来,工业物联网(IIoT)在提高生产效率、降低运营成本和实现智能制造方面得到了广泛应用。本项目旨在开发一个全面的工业物联网监控系统,能够实时监测设备的温度、压力、振动和电流等参数,并…

【Python实战因果推断】60_随机实验与统计知识2

目录 An A/B Testing Example An A/B Testing Example 在许多公司中,一种常见的策略是提供廉价甚至免费的产品,这种产品本身可能并不盈利,但其目的是吸引新客户。一旦公司获得了这些客户,就可以向他们推销其他更盈利的产品&#x…

ThinkPHP一对一关联模型的运用(ORM)

一、序言 最近在写ThinkPHP关联模型的时候一些用法总忘,我就想通过写博客的方式复习和整理下一些用法。 具体版本: topthink/framework:6.1.4topthink/think-orm:2.0.61 二、实例应用 1、一对一关联 1.1、我先设计了两张表&#x…

Makefile 如何将生成的 .o 文件放到指定文件夹

研究了不少文章,我行通了一个,但是也不全,目前只能适用当前文件夹,如果源文件有子文件夹处理不了,还得继续研究。很多人说编译完把O文件移动走或者直接删掉。我想说的是不符合我的要求,移走或者删除O文件&a…

git使用报错 无法切换到master,因存在未提交的更改。 在切换分支之前提交或撤消更改。 有关详细信息,请查看“输出”窗口

"git使用报错 无法切换到master,因存在未提交的更改。 在切换分支之前提交或撤消更改。 有关详细信息,请查看“输出”窗口" 这个错误消息通常出现在你尝试切换Git分支时,当前工作目录中有未提交的更改。Git会阻止你切换分支&#…

Linux下的网络通讯

UDP:用户数据报协议 传输层 特点: 1.无连接 2.不安全、不可靠 3.面向报文 4.占用资源开销小 TCP : 传输控制协议 传输层 1. TCP特点: 1.面向连接 2.安全、可靠 3.面向字节流 4.占用资源开销大 三次握手: 指建立tc…

[SWPU2019]Web1

上来看到两个功能,登录和注册,看到登录框直接sqlmap嗦一下 失败 注册admin显示被注册,那就注册一个账密都为aaa 登录进来发现两个功能点 发了一个广告却显示代管理确认,这里肯定没有管理员,所以我们得想办法自己上去a…

lxml.etree模式使用(一)

from lxml import etree from copy import deepcopydef prettyprint(element, **kwargs):print("/")xml etree.tostring(element, pretty_printTrue, **kwargs)print(xml.decode(), end)# 1. 创建元素 root etree.Element("root")# 2. 添加子元素 root.a…

【Python】基础学习技能提升代码样例3:JSON文本处理

对json的处理,无非是编码和解码两部分 编码:将python数据结构转换为json字符串解码: 将json字符串转换为python数据结构 另外,还有.json文件的读写 一、编码 json.dumps(obj, *, skipkeysFalse, ensure_asciiTrue, check_circularTrue, a…