1
在我當前的項目中,我嘗試將外部溫度傳感器連接到NODE-RED。將外部MQTT發佈者與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);
}
}
論節點-RED的另一側,我已經創建MQTT節點,具有訂閱「tempMesurement」。 MQTT節點的在NODE-RED的配置如下:
我的問題是MQTT訂戶節點被示出斷開消息作爲顯示在上述圖中。你能否建議 - NODE-RED中的配置有什麼問題?我該如何解決這個問題?
更新與MQTT服務器配置對話框中的形象問題(所示的,當你點擊鉛筆圖標)。但我認爲你已經把完整的url放在服務器端,而不是'test.mosquitto.org' – hardillb
@hardillb:我已經用配置更新了這個問題。請注意,我沒有對「安全」,「出生信息」進行任何更改,並會顯示「標籤。 – Pankesh
正如@hardillb所說,您不應在代理服務器中包含'tcp://'。它應該連接 – knolleary