| | |
| | | mac = mac.toLowerCase(); |
| | | this.updateDeviceLastUpdated(db, mac, function(data) {}); |
| | | |
| | | //通过版本号来判断传感器数据的协议格式 |
| | | //var ver = this.toDec(fields[18]) * 256 + this.toDec(fields[19]); //版本号 |
| | | |
| | | |
| | | var x1 = this.toDec(fields[20]) * 256 + this.toDec(fields[21]); //PM2.5数据 |
| | | var x2 = this.toDec(fields[22]) * 256 + this.toDec(fields[23]); //PM10 |
| | | var x3 = this.toDec(fields[24]) * 256 + this.toDec(fields[25]); //0.1升0.3um量 |
| | |
| | | tel: "15950198162",
|
| | | email: "it01@moral.org.cn",
|
| | | open_id: "o-RTuwvMHWotyirPHLmdSB_dKoQU" |
| | | }, |
| | | options: { |
| | | 1: [500, 700, 900] |
| | | } |
| | | }; |
| | | configs[mac] = _config; |
| | |
| | | x5: x10, //湿度 |
| | | x6: x14 //光线强度 |
| | | }, |
| | | options: _config.options, |
| | | time: current.valueOf() |
| | | }; |
| | | queue.pushToMQ('ex_data_screen', sensor_data); |
| | |
| | | }, function(err, doc) { |
| | | if (err) return; |
| | | |
| | | if(x1 > 250) { |
| | | var opt1 = _config['options'][1]; |
| | | if(x1 > opt1[0]) { |
| | | var level = 1; |
| | | if(x1 > 750) { |
| | | if(x1 > opt1[2]) { |
| | | level = 3; |
| | | } else if(x1 > 500) { |
| | | } else if(x1 > opt1[1]) { |
| | | level = 2; |
| | | } |
| | | sensor_data._id = doc._id; |
| | | sensor_data._id = doc.insertedId; |
| | | sensor_data.level = level; |
| | | sensor_data.notice = _config.notice; |
| | | sensor_data.address = _config.address; |
| | |
| | | db.collection("devices").find().toArray(function(err, docs) { |
| | | docs.forEach(function(doc) { |
| | | var mac = doc.mac; |
| | | if(mac != null) { |
| | | var address = doc.address || ""; |
| | | var location = doc.location || {}; |
| | | var notice = doc.notice; |
| | | if(notice == null || notice == {}) { |
| | | var userID = doc.userID; |
| | | db.collection("users").find({"_id": userID}).limit(1).next(function(err, user){ |
| | | if(user) { |
| | | global.configs[mac] = { |
| | | mac: mac, |
| | | address: address, |
| | | location: location, |
| | | notice: { |
| | | tel: user.username, |
| | | email: user.email, |
| | | open_id: user.open_id |
| | | } |
| | | } |
| | | } |
| | | }); |
| | | } else { |
| | | global.configs[mac] = { |
| | | mac: mac, |
| | | address: address, |
| | | location: location, |
| | | notice: notice |
| | | var address = doc.address || ""; |
| | | var location = doc.location || {}; |
| | | var notice = doc.notice; |
| | | var options = doc.options; |
| | | var config = { |
| | | mac: mac, |
| | | address: address, |
| | | location: location, |
| | | notice: notice, |
| | | options: options |
| | | }; |
| | | if(notice == null || notice == {}) { |
| | | var userID = doc.userID; |
| | | db.collection("users").find({"_id": userID}).limit(1).next(function(err, user){ |
| | | if(user) { |
| | | config[notice] = { |
| | | tel: user.username, |
| | | email: user.email, |
| | | open_id: user.open_id |
| | | }; |
| | | global.configs[mac] = config; |
| | | } |
| | | } |
| | | }); |
| | | } else { |
| | | global.configs[mac] = config; |
| | | } |
| | | }); |
| | | }); |