You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows 10下Node-RED无法连接MQTT Broker问题求助

问题分析与解决方案

从你的日志和操作描述来看,核心问题是本地没有运行MQTT Broker服务——Node-RED的MQTT输入/输出节点仅作为客户端存在,本身不提供Broker功能,必须依赖一个独立运行的MQTT Broker才能建立连接。

解决步骤

1. 安装并启动本地MQTT Broker

推荐使用Eclipse Mosquitto(轻量且广泛使用的开源MQTT Broker):

  • 下载Windows版本安装包完成安装
  • 按下Win+R输入services.msc打开服务管理器,找到Mosquitto Broker服务,确保它处于正在运行状态(未启动则右键选择启动)
  • 验证Broker可用性:打开两个命令提示符窗口,第一个输入mosquitto_sub -t test_topic,第二个输入mosquitto_pub -t test_topic -m "hello",若第一个窗口收到消息,说明Broker运行正常

2. 正确配置Node-RED的MQTT节点

  • 本地测试时,服务器地址填写localhost或127.0.0.1,端口保持默认的1883
  • 若要让ESP8266连接PC上的Broker,需额外配置:
    • Node-RED的MQTT Broker节点服务器地址填写PC的局域网IP(如你日志中的192.168.2.60)
    • 修改Mosquitto配置文件(默认路径C:\Program Files\Mosquitto\mosquitto.conf):注释掉bind_address 127.0.0.1一行,保存后重启Mosquitto服务,允许外部设备(ESP8266)接入

3. 排除其他常见问题

  • 禁止使用location.host作为服务器地址:这是浏览器端JavaScript变量,Node-RED环境不识别,该配置必然失败
  • 检查端口占用:打开命令提示符输入netstat -ano | findstr :1883,若1883端口被其他进程占用,可结束该进程,或修改Mosquitto配置(在mosquitto.conf中添加port 1884),同时同步修改Node-RED的MQTT节点端口
  • 确认防火墙规则:即便关闭防火墙,也可手动检查是否允许Mosquitto通过防火墙(安装时通常会自动添加规则,若缺失,可在Windows防火墙高级设置中添加允许1883端口的入站规则)

内容的提问来源于stack exchange,提问作者johnsmith

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 11:05:21