Pamiętaj aby wypełnić formularz celem uzyskania X-Api-Key
Po 24h wykresy na https://metrics.airmonitor.pl powinny być widoczne. 24 godziny pozwolą na wyznaczenie średniej ruchomej celem wygładzenia wykresu z pomiarami.
Każdy klucz API ma przydzielony limit miesięcznych operacji w wysokości 20000. W przeliczeniu na godzinę daje to wartość 27,8 żądań. Stąd też ważne jest aby używać jeden klucz na urządzenie. W odmiennym przypadku może dojść do ograniczenia przyjmowania metryk z powodu wysycenia limitów.
Dostępne jest również REST API do wysyłania pomiarów o adresie https://airmonitor.pl/prod/measurements
Dostęp do danych jest bezpłatny.
Aby uzyskać dostęp do API należy zarejestrować się poprzez formularz celem uzyskania klucza API
Przykład kodu w języku Python
import requests
url = "https://airmonitor.pl/prod/measurements"
payload = {}
headers = {
'X-Api-Key': 'KLUCZ API'
}
response = requests.request("GET", url, headers=headers, data = payload)
print(response.text.encode('utf8'))
import json
import requests
data = {
"lat": str(55.000),
"long": str(15.000),
"pm25": 25,
"pm10": 10,
"sensor": "SDS021"
}
url = 'https://airmonitor.pl/prod/measurements'
resp = requests.post(url, timeout=10, data=json.dumps(data), headers={"X-Api-Key": X-Api-Key, "Content-Type": "application/json"})
resp.status_code
curl -X POST -H "Content-Type: application/json" -d '{
"lat": "55.000",
"long": "15.000",
"pm25": 25,
"pm10": 10,
"sensor": "SDS021"
}' https://airmonitor.pl/prod/measurements
const request = require('request');
let data = {
lat: "55.000",
long: "15.000",
pm25: 25,
pm10: 10,
sensor: "SDS021"
};
let options = {
uri: "https://airmonitor.pl/prod/measurements",
method: "POST",
json: data
};
request(options, (error, response) => {
if (error) {
return console.log(error);
}
if (response.statusCode === 200) {
// Success
}
});
import json
import requests
data = {
"lat": str(55.000),
"long": str(15.000),
"pm1": 1,
"pm25": 25,
"pm10": 10,
"sensor": "PMS7003"
}
url = ('https://airmonitor.pl/prod/measurements')
resp = requests.post(url, timeout=10, data=json.dumps(data), headers={"X-Api-Key": X-Api-Key, "Content-Type": "application/json"})
resp.status_code
curl -X POST -H "Content-Type: application/json" -d '{
"lat": "55.000",
"long": "15.000",
"pm1": 1,
"pm25": 25,
"pm10": 10,
"sensor": "PMS7003"
}' https://airmonitor.pl/prod/measurements
const request = require('request');
let data = {
lat: "55.000",
long: "15.000",
pm1: 1,
pm25: 25,
pm10: 10,
sensor: "PMS7003"
};
let options = {
uri: "https://airmonitor.pl/prod/measurements",
method: "POST",
json: data
};
request(options, (error, response) => {
if (error) {
return console.log(error);
}
if (response.statusCode === 200) {
// Success
}
});
Jak widać powyżej, jedyną różnicą między wersją dla sensorów SDS a PMS jest dodatkowa linia wysyłająca wartość pyłu zawieszonego PM1.
import json
import requests
data = {
"lat": str(55.000),
"long": str(15.000),
"pressure": 1000,
"temperature": 25,
"humidity": 55,
"sensor": "BME280"
}
url = 'https://airmonitor.pl/prod/measurements'
resp = requests.post(url, timeout=10, data=json.dumps(data), headers={"X-Api-Key": X-Api-Key, "Content-Type": "application/json"})
resp.status_code
curl -X POST -H "Content-Type: application/json" -d '{
"lat": "55.000",
"long": "15.000",
"pressure": 1000.10,
"temperature": 25.2,
"humidity": 55,
"sensor": "BME280"
}' https://airmonitor.pl/prod/measurements
const request = require('request');
let data = {
lat: "55.000",
long: "15.000",
pressure: 1000.10,
temperature: 25.2,
humidity: 55,
sensor: "BME280"
};
let options = {
uri: "https://airmonitor.pl/prod/measurements",
method: "POST",
json: data
};
request(options, (error, response) => {
if (error) {
return console.log(error);
}
if (response.statusCode === 200) {
// Success
}
});
import json
import requests
data = {
"lat": str(55.000),
"long": str(15.000),
"co2": 400,
"tvoc": 0.1,
"sensor": "CCS811"
}
url = 'https://airmonitor.pl/prod/measurements'
resp = requests.post(url, timeout=10, data=json.dumps(data), headers={"X-Api-Key": X-Api-Key, "Content-Type": "application/json"})
resp.status_code
curl -X POST -H "Content-Type: application/json" -d '{
"lat": "55.000",
"long": "15.000",
"co2": 400.0,
"tvoc": 0.1,
"sensor": "CCS811"
}' https://airmonitor.pl/prod/measurements
const request = require('request');
let data = {
lat: "55.000",
long: "15.000",
co2: 400.0,
tvoc: 0.1,
sensor: "CCS811"
};
let options = {
uri: "https://airmonitor.pl/prod/measurements",
method: "POST",
json: data
};
request(options, (error, response) => {
if (error) {
return console.log(error);
}
if (response.statusCode === 200) {
// Success
}
});
NodeJS wymaga biblioteki request, instalacja - npm install --save request