Mqtt.js 如何处理多个主题

Mqtt.js how to handle multiple topics

我正在使用多个 ESP8266 来监控我家周围的多个房间。我想知道如果每个房间都在等待特定的温度水平来打开空调或加热器,那么处理传入数据的最佳方式是什么。

我是在全局 .on message method 中处理所有数据以及 AC/Heater 的关闭和打开,还是为每个房间创建一个 .on message?我正在使用 MQTT.js (https://www.npmjs.com/package/mqtt)

this.client.on("message", (topic, message) => {
  console.log(`Received ${message}`);
  const roomId = JSON.parse(message);
  this.onReceiveMessage(topic, message);
});

谢谢

当一条消息传递给客户端时,只会有一个事件,如果您在 message 事件侦听器上添加多个事件,它们都将使用相同的 topicmessage 给定消息的值。

因此,在 message 客户端上注册超过 1 个没有任何价值,您应该在提供的 topic 上进行过滤,然后您选择如何组织代码完全取决于您和你想采取什么行动。