def update_base_level(): if 'data' not in request.form: return 'Nothing received' data = json.loads(request.form['data']) wdm = WifiDeeperMagic(cache) wdm.store_base_level(data['name'],data['base_level']) return "thank you"
def update_base_level(): if 'data' not in request.form: return 'Nothing received' data = json.loads(request.form['data']) wdm = WifiDeeperMagic(cache) wdm.store_base_level(data['name'], data['base_level']) return "thank you"
def data(): print "starting push logic" p.start("entire_push") if 'data' not in request.form: return 'Nothing received' #Test code: # request.form = {'data' : json.dumps([ # {'name' : 'sensors', # 'data' : 'shit'}, # {'name' : 'wifi', # 'data' : [{'label' : 'blah', # 'level' : -56, # 'freqMhz' : 2600, # 'estimatedDistance' : 10}]}])} #p.off() p.start('initial') data = json.loads(request.form['data']) wifi_magic = WifiMagic() wifi_deep_magic = WifiDeeperMagic(cache) walls = None p.start('sensors') sensors_magic = SensorsMagic(walls) p.pstop('sensors') p.start('load_particles') saved_particles = get_db("particles") p.pstop('load_particles') pf = ParticleFilter(particles=saved_particles) p.pstop('initial') p.start('weights') for d in data: if d['name'] == 'sensors': result = sensors_magic.parse(d['data']) print 'dheading: %f' % result['dheading'] sensors_magic.update_particles(pf.get_particles(), result) if d['name'] == 'wifi': wifidata = d['data'] corr = wifi_deep_magic.get_corrections() for r in wifidata: if r['label'] in corr: oldLvl = r['level'] r['level']+=corr[r['label']] #print "corrected",r['label'],'from',oldLvl,'to',r['level'] result = wifi_magic.parse(wifidata) set_db("router_dist", result) result = wifi_magic.update_particles(pf.get_particles(), result) p.pstop('weights') p.start('resample') pf.resample(); p.pstop('resample') p.start('save_to_cache') set_db("particles", pf.get_particles()) p.pstop('save_to_cache') #x, y = pf.get_position() #std = pf.get_std() #print "Particles updated to", x, y, " (var:", std,")" p.pstop('entire_push') #return json.dumps([x, y, std]) return 'Thank you!'
def data(): print "starting push logic" p.start("entire_push") if 'data' not in request.form: return 'Nothing received' #Test code: # request.form = {'data' : json.dumps([ # {'name' : 'sensors', # 'data' : 'shit'}, # {'name' : 'wifi', # 'data' : [{'label' : 'blah', # 'level' : -56, # 'freqMhz' : 2600, # 'estimatedDistance' : 10}]}])} #p.off() p.start('initial') data = json.loads(request.form['data']) wifi_magic = WifiMagic() wifi_deep_magic = WifiDeeperMagic(cache) walls = None p.start('sensors') sensors_magic = SensorsMagic(walls) p.pstop('sensors') p.start('load_particles') saved_particles = get_db("particles") p.pstop('load_particles') pf = ParticleFilter(particles=saved_particles) p.pstop('initial') p.start('weights') for d in data: if d['name'] == 'sensors': result = sensors_magic.parse(d['data']) print 'dheading: %f' % result['dheading'] sensors_magic.update_particles(pf.get_particles(), result) if d['name'] == 'wifi': wifidata = d['data'] corr = wifi_deep_magic.get_corrections() for r in wifidata: if r['label'] in corr: oldLvl = r['level'] r['level'] += corr[r['label']] #print "corrected",r['label'],'from',oldLvl,'to',r['level'] result = wifi_magic.parse(wifidata) set_db("router_dist", result) result = wifi_magic.update_particles(pf.get_particles(), result) p.pstop('weights') p.start('resample') pf.resample() p.pstop('resample') p.start('save_to_cache') set_db("particles", pf.get_particles()) p.pstop('save_to_cache') #x, y = pf.get_position() #std = pf.get_std() #print "Particles updated to", x, y, " (var:", std,")" p.pstop('entire_push') #return json.dumps([x, y, std]) return 'Thank you!'