def __init__(self, value_json):
        #init variable
        self.last_gateway_sum = {}  #float(os.environ['last_gateway_sum'])
        self.last_gateway_count = {}  #float(os.environ['last_gateway_count'])

        self.gateway = {}
        self.gateway_sum = {}
        self.gateway_count = {}

        self.tag_kal = {}  #float(os.environ['tag_kal'])
        self.pathloss_kal = {}  #float(os.environ['pathloss_kal'])

        for datas in value_json['Gateway']['value']:
            data = value_json['Gateway']['value'][datas]
            self.gateway[data['Mac']] = data['last']
            self.gateway_sum[data['Mac']] = data['sum']
            self.gateway_count[data['Mac']] = data['count']
            self.last_gateway_sum[data['Mac']] = data['sum'][4]
            self.last_gateway_count[data['Mac']] = data['count'][4]

        for datas in value_json['Tag']['value']:
            data = value_json['Tag']['value'][datas]
            self.tag_kal[data['Mac']] = data['Last_kal']

        for datas in value_json['Pathloss']['value']:
            data = value_json['Pathloss']['value'][datas]
            self.pathloss_kal[data['Mac']] = data['Last_kal']

        #init estimate
        P = value_json['kalman']['P']
        K = value_json['kalman']['K']
        Q = value_json['kalman']['Q']
        R = value_json['kalman']['R']
        self.est = estimate_dis(P, K, Q, R)
Example #2
0
    def __init__(self, value_json):
        #init variable
        self.last_gateway_sum = {}  #float(os.environ['last_gateway_sum'])
        self.last_gateway_count = {}  #float(os.environ['last_gateway_count'])

        self.gateway = {}
        self.gateway_sum = {}
        self.gateway_count = {}

        ##begin test adjust rssi
        ##
        self.adjust = {}
        self.adjust['ac:23:3f:a2:16:59'] = 2
        self.adjust['ac:23:3f:a2:16:93'] = 0
        self.adjust['ac:23:3f:a2:16:c2'] = -3
        self.adjust['ac:23:3f:a2:16:c0'] = 1
        ##
        ##end test adjust rssi

        self.location = {}
        self.tag_kal = {}  #float(os.environ['tag_kal'])
        self.pathloss_kal = {}  #float(os.environ['pathloss_kal'])
        self.dis_pathloss = {}
        self.dis_tag = {}

        self.delta = value_json['Delta'].copy()

        for gateway in value_json['Gateway']:
            for datas in gateway['value']:
                data = gateway['value'][datas].copy()
                self.gateway[data['Mac']] = data['last']
                self.gateway_sum[data['Mac']] = data['sum']
                self.gateway_count[data['Mac']] = data['count']
                self.last_gateway_sum[data['Mac']] = data['sum'][4]
                self.last_gateway_count[data['Mac']] = data['count'][4]

        for datas in value_json['Tag']['value']:
            data = value_json['Tag']['value'][datas].copy()
            self.tag_kal[data['Mac']] = data['Last_kal']
            self.dis_tag[data['Mac']] = 0

        for pathloss in value_json['Pathloss']:
            for datas in pathloss['value']:
                data = pathloss['value'][datas].copy()
                self.pathloss_kal[data['Mac']] = data['Last_kal']
                self.location[data['Mac']] = data['location']
                self.dis_pathloss[data['Mac']] = self.calculate_path_dis(
                    data['location'], pathloss['location'])

        #init estimate
        P = value_json['kalman']['P']
        K = value_json['kalman']['K']
        Q = value_json['kalman']['Q']
        R = value_json['kalman']['R']
        self.est = estimate_dis(P, K, Q, R)

        self.rssi1m = value_json['kalman']['RSSI1m']
Example #3
0
    def __init__(self, value_json):
        #init variable
        self.last_gateway_sum = {}  #float(os.environ['last_gateway_sum'])
        self.last_gateway_count = {}  #float(os.environ['last_gateway_count'])

        self.gateway = {}
        self.gateway_sum = {}
        self.gateway_count = {}

        self.location = {}
        self.tag_kal = {}  #float(os.environ['tag_kal'])
        self.pathloss_kal = {}  #float(os.environ['pathloss_kal'])
        self.dis_pathloss = {}
        self.dis_tag = {}

        self.delta = value_json['Delta'].copy()

        for gateway in value_json['Gateway']:
            for datas in gateway['value']:
                data = gateway['value'][datas].copy()
                self.gateway[data['Mac']] = data['last']
                self.gateway_sum[data['Mac']] = data['sum']
                self.gateway_count[data['Mac']] = data['count']
                self.last_gateway_sum[data['Mac']] = data['sum'][4]
                self.last_gateway_count[data['Mac']] = data['count'][4]

        for datas in value_json['Tag']['value']:
            data = value_json['Tag']['value'][datas].copy()
            self.tag_kal[data['Mac']] = data['Last_kal']
            self.dis_tag[data['Mac']] = 0

        for pathloss in value_json['Pathloss']:
            for datas in pathloss['value']:
                data = pathloss['value'][datas].copy()
                self.pathloss_kal[data['Mac']] = data['Last_kal']
                self.location[data['Mac']] = data['location']
                self.dis_pathloss[data['Mac']] = self.calculate_path_dis(
                    data['location'], pathloss['location'])

        #init estimate
        P = value_json['kalman']['P']
        K = value_json['kalman']['K']
        Q = value_json['kalman']['Q']
        R = value_json['kalman']['R']
        self.est = estimate_dis(P, K, Q, R)
Example #4
0
    def __init__(self, value_json):
        #init variable
        self.last_gateway_sum = {}  #float(os.environ['last_gateway_sum'])
        self.last_gateway_count = {}  #float(os.environ['last_gateway_count'])
        self.check_none = 1
        self.check_enough = 0

        self.gateway = {}
        self.gateway_sum = {}
        self.gateway_count = {}
        #2020.04.09
        #self.calib=[-53.66,-49.05,-49.38,-48.27,-48.16,-47.13,-48.66,-48.08,-47.23,-47.01,-50.23,-49.68,-49.77,-50.09,-50.27,-53.15,-53.55,-50.71,-50.44,-51.03,-51.35,-53.04,-54.29,-57.70,-59.09,-61.35,-56.310,-62.53,-63.99,-61.23,-57.24,-54.44,-54.94,-54.12,-53.980,-53.780,-53.66]
        #2020.04.10
        #self.calib=[-53.66,-54.22,-50.87,-49.13,-49.000,-49.20,-50.61,-50.47,-53.21,-52.29,-53.13,-56.51,-58.53,-60.72,-59.02,-57.52,-55.22,-53.60,-50.44,-51.03,-51.35,-53.04,-54.29,-57.70,-59.09,-61.35,-56.310,-62.53,-63.99,-61.23,-57.24,-54.44,-54.94,-54.12,-53.980,-53.780,-53.66]
        #2020.04.14
        self.calib = [
            -53.66, -51.92, -52.58, -52.82, -52.00, -50.86, -49.33, -48.84,
            -48.68, -49.74, -49.26, -51.72, -51.60, -52.42, -52.78, -52.70,
            -54.15, -53.41, -50.44, -51.03, -51.35, -53.04, -54.29, -57.70,
            -59.09, -61.35, -56.310, -62.53, -63.99, -61.23, -57.24, -54.44,
            -54.94, -54.12, -53.980, -53.780, -53.66
        ]

        ##begin test adjust rssi
        ##
        self.adjust = {}
        #self.adjust['ac:23:3f:a2:16:59']=3.1251703178650487
        #self.adjust['ac:23:3f:a2:16:93']=-1.3577211252097143
        #self.adjust['ac:23:3f:a2:16:c2']=-0.47533575755330304
        #self.adjust['ac:23:3f:a2:16:c0']=1.1714324033986117
        ##
        ##end test adjust rssi

        ##begin hard set angle beacon
        ##
        self.angle_beacon = {}
        self.angle_beacon['ac:23:3f:a2:16:59'] = 90
        self.angle_beacon['ac:23:3f:a2:16:93'] = 180
        self.angle_beacon['ac:23:3f:a2:16:c2'] = 180
        self.angle_beacon['ac:23:3f:a2:16:c0'] = 270

        self.location = {}
        self.tag_kal = {}  #float(os.environ['tag_kal'])
        self.pathloss_kal = {}  #float(os.environ['pathloss_kal'])
        self.dis_pathloss = {}
        self.dis_tag = {}
        self.location_pathloss = {}
        self.beacon = []
        self.last_tag_location = None

        self.delta = value_json['Delta'].copy()

        for gateway in value_json['Gateway']:
            for datas in gateway['value']:
                data = gateway['value'][datas].copy()
                self.gateway[data['Mac']] = data['last']
                self.gateway_sum[data['Mac']] = data['sum']
                self.gateway_count[data['Mac']] = data['count']
                self.last_gateway_sum[data['Mac']] = data['sum'][4]
                self.last_gateway_count[data['Mac']] = data['count'][4]
                if data['count'][4] > 2000:
                    self.check_enough = 1

        for datas in value_json['Tag']['value']:
            data = value_json['Tag']['value'][datas].copy()
            self.tag_kal[data['Mac']] = data['Last_kal']
            self.dis_tag[data['Mac']] = 0
        if not (value_json['Tag']['location'] is None):
            self.last_tag_location = value_json['Tag']['location'].copy()
            self.check_none = 0

        for pathloss in value_json['Pathloss']:
            self.location_pathloss = pathloss['location'].copy()
            for datas in pathloss['value']:
                data = pathloss['value'][datas].copy()
                self.adjust[data['Mac']] = 0
                self.pathloss_kal[data['Mac']] = data['Last_kal']
                self.location[data['Mac']] = data['location']
                self.dis_pathloss[data['Mac']] = self.calculate_path_dis(
                    data['location'], pathloss['location'])

        #init estimate
        P = value_json['kalman']['P']
        K = value_json['kalman']['K']
        Q = value_json['kalman']['Q']
        R = value_json['kalman']['R']
        self.est = estimate_dis(P, K, Q, R)

        self.rssi1m = value_json['kalman']['RSSI1m']

        self.Recalculate_Adjust(self.last_tag_location, self.location_pathloss,
                                self.location, self.angle_beacon)
    def __init__(self, value_json):
        #init variable
        self.last_gateway_sum = {}  #float(os.environ['last_gateway_sum'])
        self.last_gateway_count = {}  #float(os.environ['last_gateway_count'])
        self.check_none = 1
        self.check_enough = 0
        self.gateway_kal = {}
        self.last_gateway_kal = {}

        self.gateway = {}
        self.gateway_sum = {}
        self.gateway_count = {}

        #2020.04.09
        #self.calib=[-53.66,-49.05,-49.38,-48.27,-48.16,-47.13,-48.66,-48.08,-47.23,-47.01,-50.23,-49.68,-49.77,-50.09,-50.27,-53.15,-53.55,-50.71,-50.44,-51.03,-51.35,-53.04,-54.29,-57.70,-59.09,-61.35,-56.310,-62.53,-63.99,-61.23,-57.24,-54.44,-54.94,-54.12,-53.980,-53.780,-53.66]
        #2020.04.10
        #self.calib=[-53.66,-54.22,-50.87,-49.13,-49.00,-49.20,-50.61,-50.47,-53.21,-52.29,-53.13,-56.51,-58.53,-60.72,-59.02,-57.52,-55.22,-53.60,-50.44,-51.03,-51.35,-53.04,-54.29,-57.70,-59.09,-61.35,-56.310,-62.53,-63.99,-61.23,-57.24,-54.44,-54.94,-54.12,-53.980,-53.780,-53.66]
        #2020.04.14=[-00.10,-00.20,-00.30,-00.40,-00.50,-00.60,-00.70,-00.80,-00.90,-01.00,-01.10,-01.20,-01.30,-01.40,-01.50,-01.60,-01.70,-01.80
        self.calib = [
            -43.24, -42.75, -42.66, -42.59, -42.72, -43.29, -44.07, -44.39,
            -46.08, -49.23, -55.39, -54.95, -56.89, -56.68, -51.45, -48.19,
            -46.31, -46.27, -47.70, -51.03, -51.35, -53.04, -54.29, -57.70,
            -59.09, -61.35, -56.310, -62.53, -63.99, -61.23, -57.24, -54.44,
            -54.94, -54.12, -53.980, -53.780, -53.66
        ]
        #self.calib= [-43.24,-42.75,-42.66,-42.59,-42.72,-43.29,-44.07,-45.39,-49.23,-48.06,-55.39,-54.95,-56.89,-56.68,-51.45,-48.19,-46.31,-46.27,-47.70,-51.03,-51.35,-53.04,-54.29,-57.70,-59.09,-61.35,-56.310,-62.53,-63.99,-61.23,-57.24,-54.44,-54.94,-54.12,-53.980,-53.780,-53.66]

        ##begin test adjust rssi
        ##
        #self.adj={}
        self.adjust = {}
        #self.adj['ac:23:3f:a2:16:59']=0.029
        #self.adj['ac:23:3f:a2:16:93']=0
        #self.adj['ac:23:3f:a2:16:c2']=-3.476
        #self.adj['ac:23:3f:a2:16:c0']=0
        ##
        ##end test adjust rssi

        ##begin hard set angle beacon
        ##
        self.angle_beacon = {}
        self.angle_beacon['ac:23:3f:a2:16:59'] = 110
        self.angle_beacon['ac:23:3f:a2:16:93'] = 185
        self.angle_beacon['ac:23:3f:a2:16:c2'] = 195
        self.angle_beacon['ac:23:3f:a2:16:c0'] = 280

        self.location = {}
        self.tag_kal = {}  #float(os.environ['tag_kal'])
        self.pathloss_kal = {}  #float(os.environ['pathloss_kal'])
        self.dis_pathloss = {}
        self.dis_tag = {}
        self.location_pathloss = {}
        self.beacon = []
        self.last_tag_location = None

        self.delta = value_json['Delta'].copy()

        for gateway in value_json['Gateway']:
            for datas in gateway['value']:
                data = gateway['value'][datas].copy()
                self.gateway[data['Mac']] = data['last']
                self.gateway_sum[data['Mac']] = data['sum']
                self.gateway_count[data['Mac']] = data['count']
                self.last_gateway_sum[data['Mac']] = data['sum'][4]
                self.last_gateway_count[data['Mac']] = data['count'][4]
                self.gateway_kal[data['Mac']] = data['kalman']
                self.last_gateway_kal[data['Mac']] = data['kalman'][4]
                if data['count'][4] > 2000:
                    self.check_enough = 1

        for datas in value_json['Tag']['value']:
            data = value_json['Tag']['value'][datas].copy()
            self.tag_kal[data['Mac']] = data['Last_kal']
            self.dis_tag[data['Mac']] = 0
        if not (value_json['Tag']['location'] is None):
            self.last_tag_location = value_json['Tag']['location'].copy()
            self.check_none = 0

        for pathloss in value_json['Pathloss']:
            self.location_pathloss = pathloss['location'].copy()
            for datas in pathloss['value']:
                data = pathloss['value'][datas].copy()
                self.adjust[data['Mac']] = 0
                self.pathloss_kal[data['Mac']] = data['Last_kal']
                self.location[data['Mac']] = data['location']
                self.dis_pathloss[data['Mac']] = self.calculate_path_dis(
                    data['location'], pathloss['location'])

        #init estimate
        P = value_json['kalman']['P']
        K = value_json['kalman']['K']
        Q = value_json['kalman']['Q']
        R = value_json['kalman']['R']
        self.est = estimate_dis(P, K, Q, R)

        self.rssi1m = value_json['kalman']['RSSI1m']