Ich habe eine Liste von Bluetooth-Tags, die einige Informationen senden. Ich möchte eine Sammlung für jeden MAC (Addr) von Tags erstellen. Wie kann ich es tun? Hier sind die Einstellungen, die ich verwende, und ein Beispiel für einen JSON, den ich erhalte.Verschiedene Sammlung in EVE
DOMAIN = {
'ble': [
'additional_lookup': {
'url': 'regex("[\w]+")',
'field': 'name',
},
'schema': {
'address': {
'type': 'string'
},
'rssi': {
'type': 'string'
},
'name': {
'type': 'string',
'unique': True
},
'tx_power': {
'type': 'string'
},
'r_time': {
'type': 'string'
}
}
]
}
Dies ist ein Beispiel für JSON, die ich erhalten werde:
[{
"addr": "ff:ff:00:00:2a:15",
"datetime": "2016-10-06T05:19:38.+0000",
"name": "ITAG",
"rssi": -61,
"txpw": 0
}, {
"addr": "66:55:44:33:22:10",
"datetime": "2016-10-06T05:19:38.+0000",
"name": "NULL",
"rssi": -61,
"txpw": -100
},
{
"addr": "47:c9:df:25:34:b1",
"datetime": "2016-10-06T05:19:38.+0000",
"name": "NULL",
"rssi": -94,
"txpw": -100
}
]
Ich habe versucht, zu routen mit Flask, aber es ist zu schaffen keine neuen Kollektionen. Hier der Code:
from eve import Eve
import Flask
app = Eve()
@app.route('/ble', methods=['POST'])
def create_ble():
data = request.get_json()
json_data = json.loads(data)
quant = len(json_data['beacon_list'])
for i in range(0, quant-1):
beacon = json_data[i]
addr = json_data[i]['addr']
beacon = json.dumps(beacon)
mongo.db[addr].insert(beacon)
return
if __name__ == '__main__':
app.run()
Was haben Sie also versucht? – UnholySheep