ESP32服务器和PC客户端的Wi-Fi通信
ESP32客户端-服务器Wi-Fi通信
本指南将向您展示如何设置ESP32板作为服务端,PC作为客户端,通过HTTP通信,以通过Wi-Fi(无需路由器或互联网连接)交换数据。简而言之,您将学习如何使用HTTP请求将一个板的数据发送到访问该服务器的设备。ESP32板将充当服务器。
概述
如果一个ESP32板作为服务器,那么客户端可以通过在服务器IP地址后分别添加/temperature、/humidity等路径来请求温度、湿度等数据。使用的ESP32S3微处理器和BHT20传感器。
设置服务器ESP32
- 配置为接入点:首先,您需要将ESP32设置为接入点(AP),并定义SSID和密码。
- 处理路由:然后,处理ESP32将监听的路由。例如,当ESP32服务器收到/temperature URL的请求时,它会发送由readTemp()函数返回的温度值。
为了测试服务器是否工作正常,您可以在智能手机的Wi-Fi设置中连接到ESP32-Access-Point(密码为123456789),然后在浏览器中输入192.168.4.1/temperature、192.168.4.1/humidity等URL来查看相应的数据。
设置客户端
- 连接到服务器网络:客户端(PC或者手机)将作为Wi-Fi站连接到服务器ESP32的网络。
- 发送HTTP请求:客户端将向服务器发送HTTP GET请求以获取温度、湿度等数据。
代码实现
在服务器上传相应的代码,代码见下。服务器代码负责创建接入点、处理路由并发送数据,而客户端代码负责连接到服务器网络、发送HTTP请求并显示数据。
// Import required libraries
#include "WiFi.h"
#include "Grove_Temperature_And_Humidity_Sensor.h"
#include "ESPAsyncWebServer.h"
#include
#define DHTTYPE DHT20 // DHT 20
DHT dht(DHTTYPE); // DHT10 DHT20 don't need to define Pin
// Set your access point network credentials
const char* ssid = "ESP32-Access-Point";
co