沈斌
2017-01-06 92b327d79a3d774e9aa6949b0a5981c89e10c491
method.js
@@ -131,6 +131,10 @@
    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量
@@ -180,6 +184,9 @@
                tel: "15950198162",

                email: "it01@moral.org.cn",

                open_id: "o-RTuwvMHWotyirPHLmdSB_dKoQU"
            },
            options: {
                1: [500, 700, 900]
            }
        };
        configs[mac] = _config;
@@ -199,6 +206,7 @@
            x5: x10, //湿度
            x6: x14  //光线强度
        },
        options: _config.options,
        time: current.valueOf()
    };
    queue.pushToMQ('ex_data_screen', sensor_data);
@@ -253,14 +261,15 @@
    }, 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;
@@ -345,34 +354,31 @@
    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;
            }
        });
    });