[1]物联网基础知识

news2024/10/6 10:31:32

前言

学习教程:B站太极创客,原教程采用的开发板为ESP8266,开发环境Arduino

本人使用开发板:ESP32S3,开发环境Vscode中的platformio,框架为Arduino

乐鑫科技:ESPRESSIF

注意:引脚输入电压不能超过3.3V

互联网基础知识

物联网是在互联网的基础上的应用

互联网协议:TCP/IP协议

TCP/IP包含以下协议:

  • 应用层:HTTP、FTP、mDNS、WebSocket、OSC
    DNS服务器:把网址转化为IP地址
  • 传输层:TCP、UDP
    TCP协议:稳定,可以保证所有数据都能被接收端接收,数据的传输顺序不会被打乱,传输数据如有损坏则重发受损数据。应用领域:电子邮件、文件传输,缺点:传输速度比较慢
    UDP协议:比TCP速度块,但是不能保证所有数据都能被接收端接收,数据一旦受损,UDP协议将抛弃受损数据,有数据损坏不会重发受损数据。应用领域:在线语音/视频,网游
  • 网络层:IP,IP协议版本IPV4(4个10进制组成,192.168.0.3),IPV6(8组16进制组成)
    电脑查看IP地址的方法:在控制端输入 ipconfig 命令
    默认网关:wifi路由器的IP地址
  • 链路层(网络接口层):Ethernet、Wi-Fi,主要作用是实现设备之间的物理链接(WIFI)

HTTP协议

请求响应两部分组成

(1)请求

HTTP1.0定义了三种请求方法:GET(读取)、POST(发送)和HEAD

HTTP1.1新增了五种请求方法:OPTIONS、PUT、DELETE、TRACE、CONNECT

 

 (2)响应

响应状态码200,代表连接成功,404代表连接失败

常见的服务器状态码:

100~199:成功接收请求,要求客户端继续提交下一次请求才能完成整个处理过程。

200~299:成功接收请求并已完成整个处理过程。常用200

300~399:完成请求,客户需进一步细化请求。

400~499:客户端的请求有错误,常用404和403(403的含义是权限不够,服务器拒绝访问。)

500~599:服务器端出现错误,常用500

 

 

ESP32的三种工作模式

(1)接入点模式:建立WIFI网络

 (2)无线终端模式:Wireless Station,连接WIFI路由器

      

 (3)混合模式:AP+STA

 ESP32物联网开发基础

使用无线终端模式,自动连接最强wifi网络

#include <Arduino.h>
#include <WiFi.h>
#include <WiFiMulti.h>

WiFiMulti wifiMulti;

void setup()
{
  Serial.begin(115200); // 启动串口通讯
  wifiMulti.addAP("613专属", "613613613");
  wifiMulti.addAP("leisure", "shadow27");

  Serial.println("Connecting to... ");

  /*等待wifi连接*/
  int i = 0;
  while (wifiMulti.run() != WL_CONNECTED)
  {
    delay(1000);
    Serial.print(i++);
    Serial.print(' ');
  }

  Serial.println('\n'); // WiFi连接成功后
  Serial.print("Connected to ");
  Serial.println(WiFi.SSID()); // 连接的WiFI名称
  Serial.print("IP address:\t");
  Serial.println(WiFi.localIP()); // NodeMCU的IP地址
}

void loop()
{
}

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

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

相关文章

机器人开发--CanOpen

机器人开发--CanOpen1 介绍1.1 概述1.2 应用2 历史发展3 协议3.1 协议细节&#xff08;来自CiA文档&#xff09;3.2 协议框架OSI 模型服务COB-IDNMTSYNC紧急事件对象 (EMCY)服务数据对象 (SDO)SDO 下载SDO 上传SDO 加速写传输报文过程数据对象PDO3.3 应用细节&#xff08;伺服电…

基于springboot+mybatis+mysql+layui员工工资管理系统

基于springbootmybatismysqllayui员工工资管理系统一、目的二、需求功能划分系统结构设计软件界面截图三、系统开发配置一、目的 ​ 运用JavaEE企业级系统开发、数据库系统、面向对象技术及UML以及软件需求工程所学专业知识&#xff0c;解决所设定业务领域软件开发中的需求分析…

2021一带一路暨金砖大赛之企业信息系统安全赛项AWD_writeup

更多详情私聊博主 订阅专栏解锁更多~~觉得不错麻烦点个赞~~~ AWD_writeup 主要考点:后门账户、数据库操作、cve漏洞、后门漏洞、自动化攻击 1、解法一 ssh弱口令账户 用户登录后cat /etc/passwd 发现系统存在额外账户 使用msf进行ssh爆破尝试 msfconsole use auxiliary/sca…

洛谷 最长公共子序列

LCS 题面翻译 题目描述&#xff1a; 给定一个字符串 sss 和一个字符串 ttt &#xff0c;输出 sss 和 ttt 的最长公共子序列。 输入格式&#xff1a; 两行&#xff0c;第一行输入 sss &#xff0c;第二行输入 ttt 。 输出格式&#xff1a; 输出 sss 和 ttt 的最长公共子序…

程序的动态链接(4):动态链接信息

前言 操作系统在执行动态链接的可执行文件时&#xff0c;会首先加载动态链接器&#xff0c;然后由动态链接器根据保存在可执行文件中的动态链接信息&#xff0c;完成依赖动态库的加载、符号解析以及重定位等工作。这些动态链接信息包括但不限于&#xff1a; 动态链接器路径&a…

联邦调查局和国际执法合作加强打击非法DDS攻击

©网络研究院 美国司法部在12月14日查封了48个出售“booter”或“stresser”服务的域名&#xff0c;这些服务使非技术用户可以轻松、廉价地发起强大的分布式拒绝服务(DDoS)攻击&#xff0c;旨在离线攻击目标。 司法部还指控六名美国男子犯有计算机罪&#xff0c;他们涉嫌…

基于simulink的PV光伏发电MPPT仿真

up目录 一、理论基础 二、核心程序 三、测试结果 一、理论基础 由于人口增加、城市化和工业化&#xff0c;能源需求与日俱增&#xff0c;可再生能源是我们传统能源的替代品&#xff0c;因为传统能源是有限的&#xff0c;而且会过期。 太阳能、风能和水能等清洁能源变得越来越…

老生常谈React的diff算法原理-面试版

第一次发文章 not only&#xff08;虽然&#xff09;版式可能有点烂 but also &#xff08;但是&#xff09;最后赋有手稿研究 finally看完他你有收获 diff算法&#xff1a;对于update的组件&#xff0c;他会将当前组件与该组件在上次更新是对应的Fiber节点比较&#xff0c;将比…

关于2022年国内软件质量调查问卷的一些感悟与收获

&#x1f4cb;前言 1️⃣关于2022年国内软件质量调查主题征文活动 CSDN《2022年国内软件质量调查》正式开启&#xff0c;我们诚邀各位博主&#xff0c;特别是测试领域的各位技术er参与调查&#xff0c;并围绕主题&#xff0c;撰写《我填写“2022年国内软件质量调查问卷”的感想…

刷了一个月面试题,终于拿到了字节跳动的offer

一面 自我介绍项目中的监控&#xff1a;那个监控指标常见的有哪些&#xff1f;微服务涉及到的技术以及需要注意的问题有哪些&#xff1f;注册中心你了解了哪些&#xff1f;consul 的可靠性你了解吗&#xff1f;consul 的机制你有没有具体深入过&#xff1f;有没有和其他的注册…

(二)fiber的基本认识

上一篇文章我们了解了react新老结构的差异以及存在的缺点&#xff0c;其中react的解决方案就是采用fiber架构和添加Schedule模块。 ✍️&#xff1a;Schedule模块的主要工作是任务的调度&#xff0c;负责调度不同优先级任务的执行时机&#xff0c;这个我们后面再讲&#xff0c;…

Ardor公链生态与Jelurida产业区块链布局

Ardor公链 Ardor公链&#xff08;ARDR&#xff09;基于NXT公链&#xff0c;并于2018年1月1日推出了多链架构&#xff0c;旨在克服单链本质上的局限性。根据Ardor平台的白皮书&#xff0c;其主要目标是&#xff1a; 解决最终用户必须拥有作为手续费&#xff08;Gas费&#xff…

FineReport复杂表格软件- 相对层次坐标

1. 概述 相对层次坐标是用来描述目标单元格和当前单元格之间的位置关系的表达式&#xff0c;概念图如下图所示&#xff1a; 说明&#xff1a; 参数 说明 Cellx 表示需要返回结果的单元格 Celly 表示位移时参考的单元格 z 代表相对位移的位置 注&#xff1a;相对后移需要…

【Linux】必须掌握的Linux常见指令分类讲解

目录一.Linux下的文件树二.工作目录切换命令1.ls——显示当前路径下的文件和目录2.pwd——显示当前目录的绝对值路径3.cd——切换至指定目录三.文件目录管理命令1.touch——创建空文件2.tree——树状打印目录3.mkdir——创建目录4.rmdir 和 rm ——删除目录5.cp——拷贝文件或目…

Python编程小白入门技巧,从入门到精通只需一个月。

毫无疑问&#xff0c;Python 是当下最火的编程语言之一。对于许多未曾涉足计算机编程的领域「小白」来说&#xff0c;深入地掌握 Python 看似是一件十分困难的事。其实&#xff0c;只要掌握了科学的学习方法并制定了合理的学习计划&#xff0c;Python 从 入门到精通只需要一个月…

【iOS】接口与API设计

文章目录前言用前缀避免命名空间冲突提供“全能初始化方法”实现description方法尽量使用不可变对象使用清晰而协调的命名方式方法命名类与协议的命名为私有方法名加前缀理解Objective-C错误模型理解NSCopying协议前言 我们在构建程序应用时&#xff0c;如果决定重用代码&…

DPDK 网卡驱动学习

DPDK版本19.02 初始化&#xff1a; /* Launch threads, called at application init(). */ int rte_eal_init(int argc, char **argv) {.../* rte_eal_cpu_init() ->* eal_cpu_core_id()* eal_cpu_socket_id()* 读取/sys/devices/system/[cpu|node]* 设置lcore_con…

考试管理系统

开发工具(eclipse/idea/vscode等)&#xff1a; 数据库(sqlite/mysql/sqlserver等)&#xff1a; 功能模块(请用文字描述&#xff0c;至少200字)&#xff1a; 模块划分&#xff1a;老师模块、班级模块、学生模块、课程模块、试题模块、试卷模块、 组卷模块、考试模块、答题模块 管…

Python数据分析实战之用户消费行为数据分析

任务1&#xff1a;数据预处理 表格数据资源如下百度网盘&#x1f447; 链接&#xff1a;https://pan.baidu.com/s/1pUYfRIe557v6O9ByB2rhEw 提取码&#xff1a;ovgl import numpy as np import pandas as pd import matplotlib.pyplot as plt # %matplotlib inline # 更改绘…

OrangePi 5 Docker下安装OpenWRT作软路由(同样适用于树莓派等设备)

OrangePi5 Docker下安装OpenWRT作软路由&#xff08;同样适用于树莓派等设备&#xff09; 说明 本文的软路由作为家中的二级路由&#xff0c;用一根网线连接主路由的LAN口和二级路由的WAN口&#xff08;当主路由使用配置类似&#xff09; 如果你想要作为旁路由或中继路由使用…