master
parent
6e1328d2e5
commit
b74dad9a1b
4 changed files with 756 additions and 645 deletions
@ -1 +1 @@ |
||||
node_modules/ |
||||
node_modules/ |
||||
|
@ -1,37 +1,115 @@ |
||||
const mqtt = require('mqtt').connect('mqtt://192.168.3.4'); |
||||
const mysql = require('mysql').createConnection({ |
||||
host : 'db.yimian.xyz', |
||||
user : 'home', |
||||
password : 'KJ4j2JL6s^k@jsa2', |
||||
database : 'home' |
||||
}); |
||||
|
||||
|
||||
|
||||
mysql.connect(); |
||||
const sql = 'INSERT INTO sola_mqtt(timestamp,topic,value) VALUES(?,?,?)'; |
||||
|
||||
|
||||
|
||||
mqtt.on('connect', function () { |
||||
mqtt.subscribe('hass/#', function (err) { |
||||
if (!err) { |
||||
console.log('Connected...'); |
||||
} |
||||
}) |
||||
}) |
||||
|
||||
mqtt.on('message', function (topic, message) { |
||||
// message is Buffer
|
||||
console.log(topic.toString(), message.toString()); |
||||
let params = [(new Date()).valueOf(), topic.toString(), message.toString()]; |
||||
|
||||
mysql.query(sql,params,function (err, result) { |
||||
if(err){ |
||||
console.log('[INSERT ERROR] - ',err.message); |
||||
return; |
||||
}
|
||||
}); |
||||
|
||||
|
||||
}) |
||||
const mqtt = require('mqtt').connect('mqtt://192.168.3.4'); |
||||
const fs = require('fs'); |
||||
const redis = require('redis').createClient(6379, '127.0.0.1'); |
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
var data = [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]; |
||||
var res = [0, 0, 0, 0]; |
||||
|
||||
|
||||
|
||||
|
||||
|
||||
mqtt.on('connect', function () { |
||||
mqtt.subscribe('#', function (err) { |
||||
if (!err) { |
||||
console.log('Connected...'); |
||||
mqtt.publish('hass/refresh', '1'); |
||||
} |
||||
}) |
||||
}) |
||||
|
||||
|
||||
|
||||
setInterval(()=>{ |
||||
let o = []; |
||||
|
||||
let date = new Date(); |
||||
|
||||
o = o.concat(data) |
||||
o.push(date.getHours()) |
||||
o.push(date.getMonth()+1) |
||||
o = o.concat(res); |
||||
|
||||
o = o.map(Number) |
||||
redis.get('smartMode', (e, v)=>{ |
||||
if(v=='0'){ |
||||
//console.log(date.valueOf(), o);
|
||||
fs.appendFile('/var/dataset/'+date.getFullYear()+'-'+(date.getMonth()+1)+'-'+date.getDate()+'.dat', '['+o+']\n', ()=>{});
|
||||
} |
||||
|
||||
}); |
||||
}, 1000); |
||||
|
||||
|
||||
|
||||
|
||||
|
||||
mqtt.on('message', function (topic, message) { |
||||
// message is Buffer
|
||||
console.log(topic.toString(), message.toString()); |
||||
if(topic.toString() == 'hass/snsr/hall/p0'){ |
||||
data[0] = message.toString(); |
||||
}else if(topic.toString() == 'hass/snsr/hall/p1'){ |
||||
data[1] = message.toString(); |
||||
}else if(topic.toString() == 'hass/snsr/hall/p2'){ |
||||
data[2] = message.toString(); |
||||
}else if(topic.toString() == 'hass/snsr/hall/p3'){ |
||||
data[3] = message.toString(); |
||||
}else if(topic.toString() == 'hass/snsr/din/p0'){ |
||||
data[4] = message.toString(); |
||||
}else if(topic.toString() == 'hass/snsr/din/p1'){ |
||||
data[5] = message.toString(); |
||||
}else if(topic.toString() == 'hass/snsr/din/p2'){ |
||||
data[6] = message.toString(); |
||||
}else if(topic.toString() == 'hass/snsr/din/p3'){ |
||||
data[7] = message.toString(); |
||||
}else if(topic.toString() == 'hass/snsr/kit/p0'){ |
||||
data[8] = message.toString(); |
||||
}else if(topic.toString() == 'hass/snsr/kit/p1'){ |
||||
data[9] = message.toString(); |
||||
}else if(topic.toString() == 'hass/snsr/kit/p2'){ |
||||
data[10] = message.toString(); |
||||
}else if(topic.toString() == 'hass/snsr/kit/p3'){ |
||||
data[11] = message.toString(); |
||||
}else if(topic.toString() == 'hass/snsr/liv/p0'){ |
||||
data[12] = message.toString(); |
||||
}else if(topic.toString() == 'hass/snsr/liv/p1'){ |
||||
data[13] = message.toString(); |
||||
}else if(topic.toString() == 'hass/snsr/liv/p2'){ |
||||
data[14] = message.toString(); |
||||
}else if(topic.toString() == 'hass/snsr/liv/p3'){ |
||||
data[15] = message.toString(); |
||||
}else if(topic.toString() == 'hass/snsr/livb/p0'){ |
||||
data[16] = message.toString(); |
||||
}else if(topic.toString() == 'hass/snsr/livb/p1'){ |
||||
data[17] = message.toString(); |
||||
}else if(topic.toString() == 'hass/snsr/livb/p2'){ |
||||
data[18] = message.toString(); |
||||
}else if(topic.toString() == 'hass/snsr/livb/p3'){ |
||||
data[19] = message.toString(); |
||||
} |
||||
|
||||
|
||||
|
||||
if(topic.toString() == 'hass/snsr/hall/light'){ |
||||
res[0] = message.toString(); |
||||
}else if(topic.toString() == 'hass/snsr/din/light'){ |
||||
res[1] = message.toString(); |
||||
}else if(topic.toString() == 'hass/snsr/kit/light'){ |
||||
res[2] = message.toString(); |
||||
}else if(topic.toString() == 'hass/snsr/liv/light'){ |
||||
res[3] = message.toString(); |
||||
} |
||||
|
||||
|
||||
if(topic.toString() == 'inner/smartLightMode'){ |
||||
redis.set('smartMode', message.toString()); |
||||
} |
||||
|
||||
|
||||
}) |
||||
|
@ -1,11 +1,12 @@ |
||||
{ |
||||
"name": "sola_mqtt", |
||||
"version": "1.0.0", |
||||
"main": "index.js", |
||||
"author": "iotcat <i@iotcat.me>", |
||||
"license": "MIT", |
||||
"dependencies": { |
||||
"mqtt": "^3.0.0", |
||||
"mysql": "^2.18.1" |
||||
} |
||||
} |
||||
{ |
||||
"name": "dataset_generator", |
||||
"version": "1.0.0", |
||||
"main": "index.js", |
||||
"author": "iotcat <i@iotcat.me>", |
||||
"license": "MIT", |
||||
"dependencies": { |
||||
"mqtt": "^3.0.0", |
||||
"mysql": "^2.18.1", |
||||
"redis": "^3.0.2" |
||||
} |
||||
} |
||||
|
Loading…
Reference in new issue