MQTT将两个值发布到主题

时间:2017-01-15 20:03:08

标签: javascript mongodb mqtt arduino-ide

目前,我的草图会为每个主题发布一个传感器值。我想发布两个消息,如this

Arduino的

void loop()
{
  if (!client.connected()) {
    reconnect();
  }
  client.loop();

 int chk = DHT.read11(DHT11_PIN);
  int t = DHT.temperature;
  int h = DHT.humidity;

  char buffer[10];
  dtostrf(t,0, 0, buffer);
  client.publish("Sensor/Temperature", buffer);
  Serial.println(buffer);
  dtostrf(h,0, 0, buffer);
  client.publish("Sensor/Humidity",buffer);
  delay(1000);
}

我希望这个草图存储在我的MongoDB中。目前我只接受一个主题和一条消息。

server.JS

client.on('message', function (topic, message) {
        var messageObject = {
            topic: topic,
            message: message.toString(),
            Time:  new Date()
        };

        collection.insert(messageObject, function(error, result) {
            if(error != null) {
                console.log("ERROR: " + error);
            }
        });
    });

如何从Arduino中将两个传感器值推送到一个主题?

感谢您的预期努力。

1 个答案:

答案 0 :(得分:0)

我找到了一个非常合适的解决方案。希望它可以帮助某人。

void loop()
{
  if (!client.connected()) {
    reconnect();
  }
  client.loop();

 int chk = DHT.read11(DHT11_PIN);
  int t = DHT.temperature;
  int h = DHT.humidity;
  snprintf (msg, 75, "temperature %d humidity  %d ledStatus %s", t,h,ledStatus);
    Serial.print("Publish message: ");
    Serial.println(msg);
    client.publish("outTopic", msg);
    delay(6000);
}
相关问题