parent
671b68d70a
commit
98150ad7f2
105
node/index.js
105
node/index.js
|
|
@ -56,12 +56,16 @@ function createPool() {
|
||||||
//connection.release();
|
//connection.release();
|
||||||
} else {
|
} else {
|
||||||
results.forEach(function (thisRow) {
|
results.forEach(function (thisRow) {
|
||||||
settings[thisRow.node_id] = {
|
if(Object.keys(settings).indexOf(thisRow.node_id) > -1) {
|
||||||
measurement_interval: thisRow.measurement_interval_minutes,
|
settings[thisRow.node_id].temperature_site.push(thisRow.group_id)
|
||||||
measurement_offset: thisRow.offset_from_midnight_minutes,
|
} else {
|
||||||
wake_window_length: thisRow.wake_window_length_minutes,
|
settings[thisRow.node_id] = {
|
||||||
temperature_site: thisRow.group_id,
|
measurement_interval: thisRow.measurement_interval_minutes,
|
||||||
};
|
measurement_offset: thisRow.offset_from_midnight_minutes,
|
||||||
|
wake_window_length: thisRow.wake_window_length_minutes,
|
||||||
|
temperature_site: [thisRow.group_id],
|
||||||
|
};
|
||||||
|
}
|
||||||
});
|
});
|
||||||
connection.release();
|
connection.release();
|
||||||
}
|
}
|
||||||
|
|
@ -72,6 +76,54 @@ function createPool() {
|
||||||
return pool;
|
return pool;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function update_settings() {
|
||||||
|
pool.getConnection(function (err, connection) {
|
||||||
|
if (err) {
|
||||||
|
console.log("error setting the database: ", err);
|
||||||
|
} else {
|
||||||
|
connection.execute(
|
||||||
|
`SELECT
|
||||||
|
datavis_node2group.node_id,
|
||||||
|
datavis_node2group.group_id,
|
||||||
|
datavis_nodeconfiguration.measurement_interval_minutes,
|
||||||
|
datavis_nodeconfiguration.offset_from_midnight_minutes,
|
||||||
|
datavis_nodeconfiguration.wake_window_length_minutes
|
||||||
|
FROM datavis_grouptype
|
||||||
|
JOIN datavis_group2type
|
||||||
|
ON datavis_grouptype.unique_id=datavis_group2type.type_id
|
||||||
|
JOIN datavis_node2group
|
||||||
|
ON datavis_group2type.group_id=datavis_node2group.group_id
|
||||||
|
JOIN datavis_nodeconfiguration
|
||||||
|
ON datavis_nodeconfiguration.node_id=datavis_node2group.node_id
|
||||||
|
WHERE datavis_grouptype.name = 'Temperature Site';`,
|
||||||
|
[],
|
||||||
|
function (err2, results) {
|
||||||
|
if (err2) {
|
||||||
|
console.log(`Some other error getting node settings: ${err2}`);
|
||||||
|
//connection.release();
|
||||||
|
} else {
|
||||||
|
results.forEach(function (thisRow) {
|
||||||
|
if(Object.keys(settings).indexOf(thisRow.node_id) > -1) {
|
||||||
|
settings[thisRow.node_id].temperature_site.push(thisRow.group_id)
|
||||||
|
} else {
|
||||||
|
settings[thisRow.node_id] = {
|
||||||
|
measurement_interval: thisRow.measurement_interval_minutes,
|
||||||
|
measurement_offset: thisRow.offset_from_midnight_minutes,
|
||||||
|
wake_window_length: thisRow.wake_window_length_minutes,
|
||||||
|
temperature_site: [thisRow.group_id],
|
||||||
|
};
|
||||||
|
}
|
||||||
|
});
|
||||||
|
connection.release();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
setInterval(update_settings, 60000)
|
||||||
|
|
||||||
const socket = dgram.createSocket("udp4");
|
const socket = dgram.createSocket("udp4");
|
||||||
let stream = fs.createWriteStream(`${filePath}/${thisDate}-log.dat`, {
|
let stream = fs.createWriteStream(`${filePath}/${thisDate}-log.dat`, {
|
||||||
flags: "a+",
|
flags: "a+",
|
||||||
|
|
@ -345,7 +397,7 @@ function storeType1Messages(msgs) {
|
||||||
storeType1Messages(msgs.slice(-1 * (msgs.length % 2500)));
|
storeType1Messages(msgs.slice(-1 * (msgs.length % 2500)));
|
||||||
} else {
|
} else {
|
||||||
let theseParams = [];
|
let theseParams = [];
|
||||||
msgs.forEach(function (msg) {
|
/*msgs.forEach(function (msg) {
|
||||||
// YYYY-MM-DD HH:mm:ss
|
// YYYY-MM-DD HH:mm:ss
|
||||||
const server_received_time = sqlCurrentTimestamp();
|
const server_received_time = sqlCurrentTimestamp();
|
||||||
theseParams.push(
|
theseParams.push(
|
||||||
|
|
@ -367,11 +419,44 @@ function storeType1Messages(msgs) {
|
||||||
msg.data.remaining_charge_capacity || 500000,
|
msg.data.remaining_charge_capacity || 500000,
|
||||||
server_received_time,
|
server_received_time,
|
||||||
);
|
);
|
||||||
});
|
});*/
|
||||||
|
let num_rows = 0
|
||||||
|
for(let i =0; i < msgs.length; i++) {
|
||||||
|
if(settings[msg.source.slice(4)]) {
|
||||||
|
settings[msg.source.slice(4)] = {
|
||||||
|
measurement_interval: 360,
|
||||||
|
measurement_offset: 0,
|
||||||
|
wake_window_length: 4,
|
||||||
|
temperature_site: ["Unknowable 1"],
|
||||||
|
}
|
||||||
|
}
|
||||||
|
settings[msg.source.slice(4)].temperature_site.forEach(temperature_site => {
|
||||||
|
num_rows += 1
|
||||||
|
theseParams.push(
|
||||||
|
msg.source.slice(4),
|
||||||
|
msg.reporting_node || "000000000000",
|
||||||
|
temperature_site || "Unknowable 1",
|
||||||
|
msg.timestamp,
|
||||||
|
msg.data["18_inch_temperature"] || 500000,
|
||||||
|
msg.data["36_inch_temperature"] || 500000,
|
||||||
|
msg.data.device_temperature || 500000,
|
||||||
|
msg.data.ambient_temperature || 500000,
|
||||||
|
msg.data.relative_humidity || 500000,
|
||||||
|
msg.data.barometric_pressure || 500000,
|
||||||
|
msg.data.accelerometer_x || 500000,
|
||||||
|
msg.data.accelerometer_y || 500000,
|
||||||
|
msg.data.accelerometer_z || 500000,
|
||||||
|
msg.data.battery_charge_percent || 500000,
|
||||||
|
msg.data.battery_voltage || 500000,
|
||||||
|
msg.data.remaining_charge_capacity || 500000,
|
||||||
|
server_received_time,
|
||||||
|
);
|
||||||
|
})
|
||||||
|
}
|
||||||
const thisSQL =
|
const thisSQL =
|
||||||
"INSERT IGNORE INTO datavis_measurement (source_node_id, reporting_node_id, associated_group_id, collection_time, temperature_18_inch, temperature_36_inch, device_temperature, ambient_temperature, relative_humidity, barometric_pressure, accelerometer_x, accelerometer_y, accelerometer_z, battery_charge_percent, battery_voltage, remaining_battery_capacity, server_received_time) VALUES " +
|
"INSERT IGNORE INTO datavis_measurement (source_node_id, reporting_node_id, associated_group_id, collection_time, temperature_18_inch, temperature_36_inch, device_temperature, ambient_temperature, relative_humidity, barometric_pressure, accelerometer_x, accelerometer_y, accelerometer_z, battery_charge_percent, battery_voltage, remaining_battery_capacity, server_received_time) VALUES " +
|
||||||
"(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?),"
|
"(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?),"
|
||||||
.repeat(msgs.length)
|
.repeat(num_rows)
|
||||||
.slice(0, -1) +
|
.slice(0, -1) +
|
||||||
";";
|
";";
|
||||||
pool.getConnection(function (err, connection) {
|
pool.getConnection(function (err, connection) {
|
||||||
|
|
@ -469,7 +554,7 @@ function storeType13Messages(msgs) {
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
const thisSQL =
|
const thisSQL =
|
||||||
"INSERT INTO datavis_nodefilemanifest (node_id,collection_time,program_id,program_version,server_received_time) VALUES " +
|
"INSERT IGNORE INTO datavis_nodefilemanifest (node_id,collection_time,program_id,program_version,server_received_time) VALUES " +
|
||||||
"(?,?,?,?,?),".repeat(n).slice(0, -1) +
|
"(?,?,?,?,?),".repeat(n).slice(0, -1) +
|
||||||
";";
|
";";
|
||||||
pool.getConnection(function (err, connection) {
|
pool.getConnection(function (err, connection) {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue