本指南展示了如何在两个ESP32板之间设置HTTP通信,以通过Wi-Fi在不连接互联网(路由器)的情况下交换数据。 简而言之,您将学习如何使用HTTP请求将数据从一个板发送到另一个板。 ESP32开发板将使用Arduino IDE进行编程。
为了演示的目的,我们将BME280传感器的读数从一块板发送到另一块板。接收器将在OLED显示屏上显示读数。
项目概述
一个ESP32板将充当服务器,另一个ESP32板将充当客户端。下图概述了所有工作原理。
- ESP32服务器创建自己的无线网络(ESP32软接入点)。因此,其他Wi-Fi设备可以连接到该网络(SSID:ESP32-Access-Point,密码:123456789)
- ESP32客户端设置为站。因此,它可以连接到ESP32服务器无线网络
- 客户端可以向服务器发出HTTP GET请求,以请求传感器数据或任何其他信息。它只需要使用服务器的IP地址就可以在特定路径上发出请求:/temperature, /humidity 或 /pressure
- 服务器侦听传入的请求,并使用读数发送适当的响应
- 客户端接收读数并将其显示在OLED显示屏上
举例来说,ESP32客户端通过在服务器IP地址上分别请求/temperature,/humidity 和/pressure来请求温度,湿度和压力给服务器。
ESP32服务器正在侦听这些路由,并在发出请求时通过HTTP响应发送相应的传感器读数。
所需零件
安装库
ESP32服务器(接入点)
ESP32服务器是一个接入点(AP),用于侦听/温度,/湿度和/压力URL上的请求。当收到对这些URL的请求时,它将发送最新的BME280传感器读数。
出于演示目的,我们使用的是BME280传感器,但是您可以通过修改几行代码来使用任何其他传感器。
原理图
如下图所示,将ESP32连线至BME280传感器。
ESP32服务器的Arduino Sketch
代码如何工作
测试ESP32服务器
ESP32客户端(站)
原理图
如下图所示,将ESP32连线至OLED显示器。
ESP32客户端的Arduino Sketch
代码如何工作
测试ESP32客户端
详情参阅 - 亚图跨际