使用 NODE-RED 连接外部 MQTT 发布者

connecting external MQTT publisher with NODE-RED

在我当前的项目中,我正在尝试将我的外部温度传感器连接到 NODE-RED。

我已将 MQTT 插入外部传感器。此传感器正在发布具有 tempMeasurement 个主题的数据。 MQTT发布者配置如下:

public class MQTTPublisher {

    // public static final String BROKER_URL =
    // "tcp://broker.mqttdashboard.com:1883";
    public static final String BROKER_URL = "tcp://test.mosquitto.org:1883";

    private MqttClient client;

    public MQTTPublisher() {
        try {
            client = new MqttClient(BROKER_URL, MqttClient.generateClientId(),
                    new MemoryPersistence());
            client.connect();

        } catch (MqttException e) {
            e.printStackTrace();
        }
    }

    public void publish(String topicName, int qos, byte[] payload)
            throws MqttException {
        final MqttTopic topic = client.getTopic(topicName);

        final MqttMessage message = new MqttMessage(payload);
        topic.publish(message);

        System.out.println("Published data. Topic: " + topic.getName()
                + "  Message: " + payload);
    }
}

在 Node-RED 的另一端,我创建了订阅 "tempMesurement" 的 MQTT 节点。 NODE-RED中MQTT节点配置如下:

我的问题是 MQTT 订阅者节点显示 disconnected 消息,如上图所示。您能否提出建议 - NODE-RED 中的配置有什么问题?我该如何解决这个问题?

如评论中所述,您需要从配置屏幕中的服务器名称中删除 tcp://