使用 MQTT 传递传感器数据的 Cylon
Cylon with MQTT Passing Sensor Data
这可能很简单,但我无法在线找到解决方案。我正在使用 Cylon 和 MQTT 进行气象站项目,并尝试将变量传递到 MQTT 推送中,但它传递的是文字文本。发布成功,但只有 "msg" 而不是传感器数据。这是片段..
Cylon.robot({
connections: {
edison: { adaptor: 'intel-iot' }
},
devices: {
bmp180: { driver: 'bmp180' }
},
work: function(my) {
my.bmp180.getTemperature(function(err, val) {
if (err) {
console.log(err);
return;
}
console.log("\tTemp: " + val.temp + " C");
var msg = { "temperature" : val.temp,
"pressure" : val.press,
"altitude" : val.alt
};
var msgPressure = { "pressure" : val.press };
var msgAltitude = { "altitude" : val.alt };
device
.on('connect', function() {
console.log('connect');
device.subscribe('weather/push');
device.publish('weather/push', JSON.stringify({ msg: 1}));
});
device
.on('message', function(topic, payload) {
console.log('message', topic, payload.toString());
});
});
}
}).start();
谢谢
JSON.stringify({msg:1})
将生成如下所示的字符串:{'msg': 1}
您可能希望在您的发布行中 JSON.stringify(msg)
发送 msg 对象。
这可能很简单,但我无法在线找到解决方案。我正在使用 Cylon 和 MQTT 进行气象站项目,并尝试将变量传递到 MQTT 推送中,但它传递的是文字文本。发布成功,但只有 "msg" 而不是传感器数据。这是片段..
Cylon.robot({
connections: {
edison: { adaptor: 'intel-iot' }
},
devices: {
bmp180: { driver: 'bmp180' }
},
work: function(my) {
my.bmp180.getTemperature(function(err, val) {
if (err) {
console.log(err);
return;
}
console.log("\tTemp: " + val.temp + " C");
var msg = { "temperature" : val.temp,
"pressure" : val.press,
"altitude" : val.alt
};
var msgPressure = { "pressure" : val.press };
var msgAltitude = { "altitude" : val.alt };
device
.on('connect', function() {
console.log('connect');
device.subscribe('weather/push');
device.publish('weather/push', JSON.stringify({ msg: 1}));
});
device
.on('message', function(topic, payload) {
console.log('message', topic, payload.toString());
});
});
}
}).start();
谢谢
JSON.stringify({msg:1})
将生成如下所示的字符串:{'msg': 1}
您可能希望在您的发布行中 JSON.stringify(msg)
发送 msg 对象。