了解如何使用MicroPython对ESP32或ESP通过8266板编程MQTT将BME支持280传感器读数(温度、湿度和压力)MQTT或任何MQTT任何平台的客户端。 例如,我们将传感器读数发布到Node-RED仪表板。
注:本教程与ESP32和ESP8266开发板均兼容。
概述
下图显示了我们将构建的项目的高级概述。
- ESP要求从BME280传感器获得温湿度读数
- 温度读数发布在esp / bme280 / temperature主题中
- 湿度读数发布在esp / bme280 /湿度主题
- 压读数发布在esp / bme280 / pressure主题中
- 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库文件
使用uPyCraft IDE上传MQTT库文件
使用Thonny IDE上传MQTT库文件
BME280 MicroPython库
BME280和ESP32原理图
BME280和ESP8266原理图
源代码
如何工作代码?
连接到MQTT代理
重新启动并重新连接
读取BME280传感器
发布MQTT消息
准备Node-RED仪表板
详情参阅 - 亚图跨际