【发布时间】:2018-01-21 12:37:05
【问题描述】:
我有一个关于 MQTT 代理的问题。我的代码在这里,它适用于 Mosca 服务器。
var mqtt = require('mqtt');
var scanf = require('scanf');
var client = mqtt.connect('mqtt://localhost');
client.on('message', function (topic, message) {
// message is Buffer
console.log(message.toString())
//client.end()
})
client.on('connect', function () {
setInterval(function() {
console.log('Please scan data');
var data = scanf('%s');
console.log('Message Sent');
while(data==0){
client.subscribe('/sensors/#');
break;
}
if(data==1){
client.unsubscribe("/sensors/#");
}
},500);
});
我在输入 0 后尝试获取传感器数据,但我输入了 0,直到那时它们都获得了所有数据。 Arduino ide 每 500 毫秒发送一次数据,但我只想在输入 0 时获取数据。
【问题讨论】: