前言
学习教程: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()
{
}