From cf17ccfff2c5b2ed138f1693c815c4b93811f24b Mon Sep 17 00:00:00 2001
From: 沈斌 <bluelazysb@hotmail.com>
Date: Tue, 17 Apr 2018 21:07:56 +0800
Subject: [PATCH] 通用ip - 0.0.0.0
---
method.js | 77 +++++++++++++++++++++-----------------
1 files changed, 43 insertions(+), 34 deletions(-)
diff --git a/method.js b/method.js
index 4ef0589..254054f 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,23 +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: [500, 700, 900]
- }
- };
- configs[mac] = _config;
+ _config = config.ALARM_DEFAULTS;
+ _config.mac = mac;
+ global.configs[mac] = _config;
}
var current = moment();
@@ -198,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()
@@ -213,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,
@@ -229,6 +220,7 @@
}, function(err, result) { });
}
+ var _this = this;
db.collection("data").insertOne({
mac: mac,
x1: x1,
@@ -250,7 +242,7 @@
p3: p3,
p4: p4,
fei: fei,
- ferval: ferval,
+ ferval: feival,
aqi: aqi,
s: s,
rank: rank,
@@ -261,23 +253,37 @@
}, function(err, doc) {
if (err) return;
- var opt1 = _config['options'][1];
- if(x1 > opt1[0]) {
- var level = 1;
- if(x1 > opt1[2]) {
- level = 3;
- } else if(x1 > opt1[1]) {
- level = 2;
- }
+ var level1 = _this.getLevel(x1, _config['options'][1]);
+ var level2 = _this.getLevel(x9, _config['options'][2]);
+ var level3 = _this.getLevel(x11, _config['options'][3]);
+ var level4 = _this.getLevel(x10, _config['options'][4]);
+ var level5 = _this.getLevel(x14, _config['options'][5]);
+ 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);
});
+};
+
+module.exports.getLevel = function(val, option) {
+ var level = 0;
+ if(option == null || option.length < 3) return level;
+ if(val > option[0]) {
+ var level = 1;
+ if(val > option[2]) {
+ level = 3;
+ } else if(val > option[1]) {
+ level = 2;
+ }
+ }
+ return level;
};
module.exports.updateDeviceSleep = function(db, data, callback) {
@@ -351,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,
@@ -369,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