本教程演示如何在ESP32上设置MicroPython Web服务器。 一个网页将显示连接到ESP32的DHT22传感器的温度和湿度。 另一个网页将提供NeoPixel RGB LED的远程颜色和亮度控制。

https://embed.notionlytics.com/wt/ZXlKd1lXZGxTV1FpT2lJeE9EWmhNbU5rWVRrd016UTBPVGt5T1RKaU9XUTBOVGN6TldFd09XRXlOaUlzSW5kdmNtdHpjR0ZqWlZSeVlXTnJaWEpKWkNJNklsZHNTR2hsVEZSUFdXeHpaVmRhUW1ZNU1YQmxJbjA9

对于网络服务器, 该库功能非常丰富:

该库可以提供大多数流行的Web MIME类型,例如HTML,CSS,JavaScript,图像,PDF,CSV,ZIP,XML等。您只需将文件放在Web路径中,即可通过Web浏览器请求它们。

终端命令

上面的命令启动rshell并连接到ttyUSB0上的ESP32。 Track A启用了ASCII编码的二进制文件传输,我目前发现它更可靠。 Tack E nano可以使用Nano文本编辑器直接在ESP32上编辑文件。 Rsync将当前目录中的所有文件复制到ESP32的根目录中。 同步完成后,输入repl并导入start.py以启动Web服务器。

另一个示例test.pyhtml演示了Python模板语言。 这使您可以使用Python代码在服务器上动态生成内容。 第三个示例wstest.html提供了websocket功能。

start.py文件(我在上面从main.py重命名)也具有获取和发布的路由处理示例。 浏览到测试路径会弹出一个示例表格,该表格会命中测试路径get处理程序。 提交表单将命中测试路由后处理程序。

接线图

ESP32是一款功能非常强大的芯片,可以轻松与传感器和其他电子组件集成。 这样可以轻松在网页上显示传感器数据,例如DHT-22温度/湿度传感器。 也可以将控件添加到网页上,以操纵与ESP32相连的硬件,例如NeoPixel RGB LED。接线非常简单。

我正在使用Wemos Lolin32 ESP32转接板。它便宜且狭窄,适合放在面包板上。它还具有锂电池插孔和充电电路。

这是显示实时温度湿度数据的网络服务器的代码。单个dht路由会轮询DHT-22,并返回服务器发送的事件流。

服务器端Python代码

HTML代码