From f85709d6aed1c914b37d184482163658f1bd287d Mon Sep 17 00:00:00 2001 From: 沈斌 <bluelazysb@hotmail.com> Date: Fri, 02 Feb 2018 12:00:38 +0800 Subject: [PATCH] 秦工修改协议未通知,为了与硬件端统一,修改fei取值(59位->71+72+73(71位符号位:0正1负)) --- method.js | 63 ++++++++++++++----------------- 1 files changed, 28 insertions(+), 35 deletions(-) diff --git a/method.js b/method.js index 7e89d44..1761222 100644 --- a/method.js +++ b/method.js @@ -164,7 +164,10 @@ var p3 = this.toDec(fields[47]); var p4 = this.toDec(fields[48]); var fei = this.toDec(fields[58]); - var ferval = this.toDec(fields[59]); + //var ferval = this.toDec(fields[59]); + + var feival = this.toDec(fields[71]) == 0 ? (this.toDec(fields[72]) * 256 + this.toDec(fields[73])) : -1 * (this.toDec(fields[72]) * 256 + this.toDec(fields[73])); + var t = this.toDec(fields[56]); var aqi = this.toDec(fields[60]) * 256 + this.toDec(fields[61]); //AQI @@ -173,27 +176,9 @@ var _config = global.configs[mac]; if(_config == null) { - _config = { - mac: mac, - address: "���������������������������������", - location: { - lat:31.430616, - lng:120.988327 - }, - notice: { - tel: "15950198162", - email: "it01@moral.org.cn", - open_id: "o-RTuwvMHWotyirPHLmdSB_dKoQU" - }, - options: { - 1: [1000, 2000, 3000], - 2: [1000, 2000, 3000], - 3: [1000, 2000, 3000], - 4: [1000, 2000, 3000], - 5: [1000, 2000, 3000] - } - }; - configs[mac] = _config; + _config = config.ALARM_DEFAULTS; + _config.mac = mac; + global.configs[mac] = _config; } var current = moment(); @@ -202,13 +187,15 @@ mac: mac, location: _config.location, data: { - x0: ferval, + x0: feival, x1: x1, //PM2.5 - (������:ppm) x2: x3, //PM2.5 - 0.1���0.3um��� x3: x9, //������ x4: x11, //������ x5: x10, //������ - x6: x14 //������������ + x6: x14, //������������ + + mcu: mcu }, options: _config.options, time: current.valueOf() @@ -217,7 +204,7 @@ var rank = 0; if(s > 0) { - rank = this.random(1000, 99999);//this.random(1000, 99999999); + rank = this.random(100200, 102000);//this.random(1000, 99999999); db.collection("device_ranks").insertOne({ mac: mac, rank: rank, @@ -271,12 +258,15 @@ var level3 = _this.getLevel(x11, _config['options'][3]); var level4 = _this.getLevel(x10, _config['options'][4]); var level5 = _this.getLevel(x14, _config['options'][5]); - sensor_data._id = doc.insertedId; - sensor_data.level = Math.max(level1, level2, level3, level4, level5); - sensor_data.notice = _config.notice; - sensor_data.address = _config.address; - sensor_data.data = { 1: [x1, level1], 2: [x9, level2], 3: [x11, level3], 4: [x10, level4], 5: [x14, level5] }; - queue.pushToMQ('ex_data_alarm', sensor_data); + var level = Math.max(level1, level2, level3, level4, level5); + if(level > 0) { + sensor_data._id = doc.insertedId; + sensor_data.level = level; + sensor_data.notice = _config.notice; + sensor_data.address = _config.address; + sensor_data.data.levels = [level1, level2, level3, level4, level5]; + queue.pushToMQ('ex_data_alarm', sensor_data); + } callback(doc, rank); }); @@ -367,13 +357,16 @@ }; module.exports.initConfigs = function(db) { + var _address = config.ALARM_DEFAULTS.address; + var _location = config.ALARM_DEFAULTS.location; + var _options = config.ALARM_DEFAULTS.options; db.collection("devices").find().toArray(function(err, docs) { docs.forEach(function(doc) { var mac = doc.mac; - var address = doc.address || ""; - var location = doc.location || {}; + var address = doc.address || _address; + var location = doc.location || _location; + var options = doc.options || _options; var notice = doc.notice; - var options = doc.options; var config = { mac: mac, address: address, @@ -385,7 +378,7 @@ var userID = doc.userID; db.collection("users").find({"_id": userID}).limit(1).next(function(err, user){ if(user) { - config[notice] = { + config["notice"] = { tel: user.username, email: user.email, open_id: user.open_id -- Gitblit v1.8.0