-
Notifications
You must be signed in to change notification settings - Fork 2
Sensor data querying scripts
manuelbcr edited this page Nov 23, 2023
·
1 revision
import json
import pandas as pd
import requests
from oauthlib.oauth2 import LegacyApplicationClient
from requests_oauthlib import OAuth2Session
client_id = 'client_id'
client_secret = 'clien_secret'
token_url = 'host/ws/oauth2/token'
api_url = 'host/ws/download'
sensors_url = 'host/ws/api/sensors'
def get_sensor_data(sensor_name, start, end):
data = {}
payload = {
'grant_type' : 'client_credentials',
'client_id': client_id,
'client_secret': client_secret
}
response = requests.post(token_url, data=payload)
if response.status_code == 200:
access_token = response.json().get('access_token')
if access_token:
payload = {
'from': start,
'to': end,
'size': 5000
}
headers = {'Authorization': f'Bearer {access_token}'}
data = json.loads(requests.get(sensors_url + '/' + sensor_name + '/data', headers=headers, params=payload).text)
return data
sensor_name = 'UIBK_DPP_IMU'
start = '2023-07-19'
end = '2023-07-20'
data = get_sensor_data(sensor_name, start, end)
if(data):
names = []
for field in data['properties']['fields']:
names.append(field['name'])
df = pd.DataFrame(data['properties']['values'])
df.columns = namesimport json
import pandas as pd
import requests
from oauthlib.oauth2 import LegacyApplicationClient
from requests_oauthlib import OAuth2Session
token_url = 'host:9000/ws/oauth2/token'
api_url = 'host:9000/ws/download'
sensors_url = 'host:9000/ws/api/sensors'
email= 'xy@mail.com'
password= 'password'
def get_sensor_data(sensor_name, start, end):
data = {}
payload = {
'grant_type' : 'password',
'client_id': client_id,
'client_secret': client_secret,
'username': email,
'password': password,
}
response = requests.post(token_url, data=payload)
if response.status_code == 200:
access_token = response.json().get('access_token')
if access_token:
payload = {
#'size': 500,
#'orderBy': 'generation_time',
'from': start,
'to': end,
#'fields': "generation_time,generation_time_microsec,timestamp,acc_y",
#'timeline': "generation_time_microsec",
#'filter': "seqnr < 56098,seqnr >56086, generation_time>1692343500032",
}
headers = {'Authorization': f'Bearer {access_token}'}
data = json.loads(requests.get(sensors_url + '/' + sensor_name + '/data', headers=headers, params=payload).text)
return data
sensor_name = 'UIBK_DPP_IMU'
start = '2023-08-30'
end = '2023-08-31'
data = get_sensor_data(sensor_name, start, end)
if(data):
names = []
for field in data['properties']['fields']:
names.append(field['name'])
df = pd.DataFrame(data['properties']['values'])
df.columns = names