简介
本文旨在解释如何在ESP32开发板运行的Arduino核心上配置异步HTTP Web服务器。
本ESP32教程的测试是使用集成在ESP32 FireBeetle板中的DFRobot的ESP-WROOM-32设备进行的。
例如,我们将开发一个非常简单的“hello world”应用程序,它将向连接到它的客户端返回一条消息。作为客户端,我们将使用Web浏览器。
库
为了设置网络服务器,我们需要两个库。第一个是ESPAsyncWebServer,我们将在代码中使用到它。
该库允许设置异步HTTP(和Websocket)服务器,这意味着它可以同时处理多个连接[1]。
此外,正如我们将在代码中看到,一旦我们设置了服务器回调函数,我们就无需在主循环上定期调用任何客户端处理函数,就像我们在ESP8266HTTP网络服务器原始实现上所做的那样。
所需的第二个库是AsyncTCP,它依赖于前一个库。因此,我们不会在代码中直接与其交互,只需包含该库即可。
该库是ESP32开发板的异步TCP库,它是ESPAsyncWebServer库实现的基础[2]。当然,这是一个较低级别的库,并且使用起来更为复杂。
在撰写本文时,Arduino IDE库管理器上并没有任何库,因此我们必须从GitHub页面下载它们,并将其放在我们的Arduino库文件夹中。
如需下载这两个库,只需单击GitHub页面顶部的“克隆或下载(Clone or download)”按钮,如图1高亮显示部分所示。