Node-Red调用Tasmota传感器节点报错ECONNREFUSED 192.168.77.21:1883
解决Node-RED中node-red-contrib-tasmota Sensor节点连接Tasmota ESP32时的ECONNREFUSED错误
错误原因
Error: connect ECONNREFUSED 192.168.77.21:1883 表示Node-RED的Sensor节点尝试连接ESP32的1883端口,但该端口无服务监听,导致连接被拒绝。核心问题是Tasmota设备默认是MQTT客户端,而非MQTT Broker,它不会在1883端口提供Broker服务。
解决步骤
1. 部署独立MQTT Broker
在局域网内部署一个MQTT Broker(比如在Node-RED所在机器安装Mosquitto),记录Broker的IP地址(默认端口1883)。用MQTT客户端工具(如MQTTX)测试连接,确认Broker可正常访问。
2. 配置Tasmota设备连接到Broker
登录ESP32的Tasmota后台(http://192.168.77.21/),进入「Configuration」→「Configure MQTT」:
- 「MQTT Host」填写部署好的Broker IP
- 「MQTT Port」设为1883
- 配置「MQTT Client ID」「用户名/密码」(若Broker开启认证)
- 保存配置,设备重启后会连接到Broker
3. 配置Node-RED的Sensor节点
打开Sensor节点配置面板:
- 「Broker」选择已配置的MQTT Broker(指向步骤1的Broker IP和端口)
- 「Topic」填写Tasmota设备的传感器数据主题(可在Tasmota后台「Full Topic」中查看,格式类似
tele/[设备名]/SENSOR) - 保存并部署Node-RED流程
额外排查项
- 防火墙检查:确保Node-RED机器与ESP32之间的1883端口未被防火墙拦截
- 日志查看:在Tasmota后台「Console」中查看设备连接Broker的日志,确认无连接报错
- 信息核对:再次确认MQTT Broker的IP,避免误填为ESP32的IP
内容的提问来源于stack exchange,提问作者Cixo
相关产品推荐
相关产品推荐

