1

在我当前的项目中,我正在尝试将外部温度传感器连接到 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 订阅者节点显示断开连接的消息,如上图所示。您能否建议 - NODE-RED 中的配置有什么问题?我该如何解决这个问题?

4

1 回答 1

1

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

于 2015-11-21T09:28:12.150 回答