Node-Red使用MQTT协议接收及发送消息到ESP32单片机
以下方法经本人验证通过,环境如下:
Node-RED V0.20.5
ESP32-CAM + HC-SR04 + Arduino IDE
mosquitto version 2.0.11
MatrixDB
前言:Node-RED 是构建物联网(IOT, Internet of Things)应用程序的一个强大工具,而MQTT则是当下使用广泛的物联网通信协议之一,为此我使用一块ESP-32单片机作为客户端,连接HC-SR04超声波测距模块做了两个简单的实验。
- 实验一:获取物体距离数据,使用MQTT协议发送消息,并在Node-Red端进行接收,将数据保存在MatrixDB数据库中
- 实验二:Node-Red使用MQTT协议发送消息,ESP32收到消息后对LED灯进行控制
实验中我使用了同一块ESP-32,实际应用中他们既可以是相同的物联网设备,当然也可以是不同的。实验目的是抛砖引玉,实际物联网中各类复杂场景都可以此为基础进行实现。
本实验的环境我在开篇已经列出,对于环境的准备,你可根据自己的情况参考下列文章做出调整:
- Node-RED的安装可参考文章:群晖使用docker安装node-red
- ESP-32开发环境的搭建可参考文章:win10利用arduino + esp32-cam搭建网络摄像头
- 私有MQTT服务端的搭建可参考文章:群晖使用Docker安装MQTT服务端 mosquitto
- MatrixDB的安装可参考文章: CentOS 7 安装纵横数据库(MatrixDB)
第一步: 连接HC-SR04超声波测距模块
…