了解如何使用MicroPython对ESP32或ESP8266板进行编程,以便通过MQTT将DS18B20温度读数发布到支持MQTT或任何MQTT客户端的任何平台。例如,我们将传感器读数发布到Node-RED仪表板。
注意:本教程与ESP32和ESP8266开发板均兼容。
概述
下图显示了我们将构建的项目的高级概述。
- ESP向DS18B20温度传感器请求温度读数
- 温度读数发布在esp / ds18b20 / temperature主题中
- Node-RED订阅了该主题
- Node-RED接收温度读数并将其显示在仪表/图表上
- 您可以在任何支持MQTT的平台上接收读数,并根据需要处理读数
前提
要遵循本教程,您需要在ESP32或ESP8266板上安装MicroPython固件。 您还需要一个IDE来编写代码并将其上传到板上。 我们建议使用Thonny IDE或uPyCraft IDE:
- Thonny IDE
- Thonny IDE的安装和入门
- 使用esptool.py刷新MicroPython固件
- uPyCraft IDE
- uPyCraft IDE入门
- 安装uPyCraft IDE(Windows,Mac OS X,Linux)
- 将MicroPython固件闪存/上传到ESP32和ESP8266
MQTT代理
要使用MQTT,您需要一个代理。我们将使用安装在Raspberry Pi上的Mosquitto代理。
您可以使用任何其他MQTT代理,包括云MQTT代理。 稍后,我们将在代码中向您展示如何做到这一点。
所需零件
MQTT库文件
使用uPyCraft IDE上传MQTT库文件
使用Thonny IDE上传MQTT库文件
ESP32与DS18B20原理图
ESP8266与DS18B20原理图
源代码
代码如何工作
详情参阅 - 亚图跨际