平,
我因某种原因而陷入困境。我正在玩Arduino板,我想在客户端读取数据。
我的服务器代码是:
if(Meteor.isServer) {
var five = Meteor.npmRequire("johnny-five");
var board = new five.Board();
Meteor.startup(function() {
board.on("ready", Meteor.bindEnvironment(function() {
var temperature = new five.Thermometer({
controller: 'TMP36',
pin: 'A0'
});
Meteor.setInterval(function() {
console.log(temperature.celsius);
}, 5000);
}))
})
}
我不想将数据保存到集合中,而是在线阅读。如何将变量temperature.celsius从服务器传递到客户端?我无法在客户端中运行代码,因为我正在使用NPM require,它只能在服务器中运行。
答案 0 :(得分:3)
在Meteor.setInterval定义之后,添加:
Meteor.methods({
temperature: function () {
return temperature;
},
});
然后在代码底部添加:
if (Meteor.isClient) {
Template.tempReport.result = function () {
return Session.get('temperature') || "";
};
Template.tempReport.events = {
'click button' : function () {
Meteor.call('temperature',function(err, response) {
Session.set('temperature', response);
});
}
};
}
最后在你的HTML中:
<template name="tempReport">
<div>Temperature: {{temperature}} <button>Update</button></div>
</Template>