小编gre*_*ter的帖子

MQTT.js 多重订阅

我在玩 MQTT 和 MQTT.js。我运行了一个 MQTT 代理,现在我想订阅多个主题。一个主题没有问题,但多个主题没有问题。

我有这两个主题:

'sensor/esp8266-1/humidity'
'sensor/esp8266-1/temperature'
Run Code Online (Sandbox Code Playgroud)

我用这段代码订阅了这两个主题

var mqtt = require('mqtt');
var client  = mqtt.connect('mqtt://10.0.0.18');


client.subscribe('sensor/esp8266-1/humidity');
client.subscribe('sensor/esp8266-1/temperature');

client.on('message', function(topic, message, packet) {
    console.log(packet)
});
Run Code Online (Sandbox Code Playgroud)

使用此代码 console.log 返回以下内容

Packet {
  cmd: 'publish',
  retain: false,
  qos: 0,
  dup: false,
  length: 35,
  topic: 'sensor/esp8266-1/temperature',
  payload: <Buffer 32 31 2e 32 30> }
Packet {
  cmd: 'publish',
  retain: false,
  qos: 0,
  dup: false,
  length: 32,
  topic: 'sensor/esp8266-1/humidity',
  payload: <Buffer 34 31 2e 30 30> }
Run Code Online (Sandbox Code Playgroud)

这看起来很不错,但是我如何从中获得温度/湿度数据?

我用这个试过了

console.log(packet.payload.toString())
Run Code Online (Sandbox Code Playgroud)

但是现在我每次都得到温度和湿度,没有这些我知道数字意味着什么。

最后,我想用正确的数据填充两个变量(温度/湿度)。后来我想连接这两个变量并将它们存储到 SQL …

javascript mqtt iot

0
推荐指数
1
解决办法
6613
查看次数

标签 统计

iot ×1

javascript ×1

mqtt ×1