我正在做一个家庭自动化项目(IoT),其中我的Websocket服务器是MQTT代理的订阅者。它从微控制器获取温度和光强度数据。简而言之,数据将另存为JSON数据,然后我必须将所有接收到的数据的日志保存在文件中。我使用了.writeFileSync()
,但它只产生了[object Object]
,因此我必须手动编辑data.JSON,然后才能运行程序,因为如果不这样做,它将产生错误。
这是脚本:
var config = require('./data.json');
function writeData() {
fs.writeFileSync('data.json', config);
}
然后我尝试将其更改为
var config = require('./data.json');
let data2 = JSON.stringify(config);
function writeData() {
fs.writeFileSync('data-2.json', data2);
}
但是我找不到名为data-2.json
的文件。
请帮助。
EDIT
我已经在这部分调用了writeData()函数:
s.on('dev:on', function (id) {
if (id == 'lamp1') {
config.lamp1 = true;
} else if (id == 'fan1') {
config.fan1 = true;
}
client.publish(id, "true");
writeData();
console.log('Device ON RECEIVED for ' + id);
});
其余的代码与此类似。
答案 0 :(得分:0)
这应该有效:
const fs = require('fs');
let config = require('./data.json');
function writeData() {
fs.writeFileSync('data-2.json', JSON.stringify(config));
}
writeData();