如何使用Arduino IDE编程ESP32 Web服务器
通过 Wi-Fi 网络与微控制器进行通信,用于 Arduino web 服务器曾经是一种相当新奇的做法。如今,您可以使用 ESP32 开发板和 Arduino IDE 在几分钟内启动并运行一个本地 ESP32 web 服务器。
在此演示中,您将需要一个Adafruit ESP32 Feather,以及一个运行在 2.4 GHz 的 Wi-Fi 网络。我们将使用 Arduino 2.0 IDE 对 ESP32 进行编程。还可以使用磁铁、LED和电阻器,但这些都是可选的。
ESP32 网络服务器软件准备
通过安装 Arduino 2.0 IDE 开始设置 ESP32 网络服务器。为了让其与 ESP32 设备配合使用,打开 Arduino IDE > 偏好设置对话框,并在其他板管理器 URLs 字段中添加以下行:
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
导航到工具 > 板 > 板管理器,搜索“esp32”。安装出现的“esp32 by Espressif Systems”板定义,您将能够对 ESP32 板进行编程,并访问一系列示例。
LED 服务器控制
通过 USB 将您的 ESP32 Feather 开发板连接到计算机,并在调试图标右侧的下拉菜单中选择适当的端口。选择后,会出现一个板列表。在这种情况下,输入 Adafruit esp32 并选择出现的 Adafruit ESP32 Feather 选项。
导航到 文件 > 示例 > WiFi 并加载 SimpleWiFiServer。修改代码行 30 和 31,以包含您的实际 SSID 和密码。如果存在多个选项,请确保您正在访问 2.4 GHz 网络。点击上传按钮,程序将被编译并发送到您的开发板。
编程完成后,ESP32 Feather 将尝试连接到您的网络。在 Arduino IDE 中打开串行监视器(右上角的图标)并设置为 115200 波特。它将列出一个用于访问的 IP 地址,不过您可能需要重置和/或向下滚动以显示。导航到浏览器中列出的 IP 地址,您会看到两行文本和链接,邀请您开启或关闭引脚 5。
您可以将 LED/电阻连接到引脚 5(如第一张图片所示),以便代码按原样工作。或者,您可以将其设置为内置 LED,以避免这一小硬件问题。为此,请在代码的第 38、103 和 106 行用 LED_BUILTIN 替代 [pin] 5,这样它就会在没有外部硬件的情况下亮起。可选地,您也可以在代码的第 87 和 88 行中将“LED on pin 5”更改为“内置 LED”,以确保用户界面准确。重新上传以使更改生效。
用于您的ESP32 Web服务器的霍尔效应传感器
远程控制很棒,但您希望您的ESP32网络服务器在远程位置感知什么?这里我们将利用ESP32-WROOM-32E模块内置的霍尔效应传感器来显示附近的磁场。
在第88行的client.print函数下面添加以下代码行:
int val = 0;
val = hallRead();
client.print("磁场状态 ");
client.print(val);
这段代码建立了一个变量“val”来存储霍尔效应读数。它读取板载霍尔传感器,并在客户端的网页浏览器上打印结果。注意这是一个取决于场方向的模拟值。
要进行测试,将代码上传到您的ESP32 Feather,然后将浏览器指向正确的IP地址。您现在会注意到第三行显示磁场读数。
将磁铁放在ESP32-WROOM-32E模块的顶部,然后刷新您的浏览器。这个数值将根据当前的磁场进行更新。您仍然可以通过点击页面链接或简单地导航到相应地址来开关灯,但现在这个动作也会更新磁场数值。
进一步使用ESP32
本文概述了如何使用Arduino、ESP32开发板和Wi-Fi网络设置一个非常简单的Web服务器。ESP32的Wi-Fi功能允许通过正确设置访问云和广泛的互联网。该模块可以应用于各种消费者、DIY和原型制作应用。
在Arduino IDE中创建您的ESP32 Web服务器之前,请查看Arrow.com上来自行业领先制造商的海量产品选择,例如下面这些,以帮助您入门。
文章标签