Langkah pertama adalah mendapatkan token dari halaman platform data .
Setelah Anda memiliki token sendiri, Anda dapat menggunakan skrip berikut untuk mengunggah data Anda. Setelah Anda mengunggah data stasiun pertama Anda, kunjungi aqicn.org/data-feed/verification/ untuk mengonfigurasi stasiun Anda dan memverifikasi data yang diunggah.
Platform Perangkat Lunak yang Didukung:
Kami menyediakan software siap pakai untuk 3 platform tersebut:
- Arduino : Jika Anda memiliki CPU Arduino, gunakan perangkat lunak siap pakai yang tersedia di github.com di aqicn/gaia-a08-arduino .
- Python: Gunakan cuplikan kode di bawah ini
- Baris perintah (CURL): Gunakan cuplikan kode di bawah ini
Jika Anda tidak memiliki stasiun pemantauan apa pun, dan ingin memilikinya, periksa stasiun pemantauan Kualitas Udara GAIA kami.
Jika Anda lebih menyukai stasiun DIY, periksa GAIA A08 .
Cara Kerja
Saat mengunggah data Anda, sebaiknya hitung rata-rata data satu menit terakhir (yang biasanya sekitar 60 sampel per polutan), dan kirim data rata-rata tersebut ke server kami setiap menit.
Jika Anda tidak yakin cara mengunggah data, atau jika Anda ingin menggunakan skrip khusus Anda sendiri, kirimkan saja pesan kepada kami melalui formulir di bawah ini dan kami akan melakukan yang terbaik untuk membantu Anda.
--
Kode contoh (python)
import requests
# Sensor parameter
sensorReadings = [
{'specie':'pm25', 'value': 393.3},
{'specie':'pm10', 'value': 109.3}
]
# Station parameter
station = {
'id': "station-001",
'location': {
'latitude': 28.7501,
'longitude': 77.1177
}
}
# User parameter - get yours from https://aqicn.org/data-platform/token/
userToken = "dummy-token-for-test-purpose-only"
# Then Upload the data
params = {'station':station,'readings':sensorReadings,'token':userToken}
request = requests.post( url = "https://aqicn.org/sensor/upload/", json = params)
#print(request.text)
data = request.json()
if data["status"]!="ok":
print("Something went wrong: %s" % data)
else:
print("Data successfully posted: %s"%data)
Contoh kode (ikal)
curl -X POST https://aqicn.org/sensor/upload -H 'Content-Type: application/json' --data '{\
"token": "dummy-token-for-test-purpose-only",\
"station": { "id": "station-001" },\
"readings": [{"specie":"pm2.5", "value": 393.3}]\
}' Contoh kode (Arduino)
#include <WiFi.h>
#include <HTTPClient.h>
#include <ArduinoJson.h>
#define LATITUDE 28.7501
#define LONGITUDE 77.1177
void upload(float pm25_concentration, float pm10_concentration, const char * token)
{
static char stationID[32];
uint64_t efuseMac = ESP.getEfuseMac();
uint16_t chip = (uint16_t)(efuseMac >> 32);
snprintf(stationID, 32, "station-%x", chip);
doc["token"] = token;
doc["station"]["id"] = stationID;
doc["station"]["location"]["latitude"] = LATITUDE;
doc["station"]["location"]["longitude"] = LONGITUDE;
doc["readings"][0]["specie"] = "pm25";
doc["readings"][0]["value"] = pm25_concentration;
doc["readings"][0]["unit"] = "µg/m3";
doc["readings"][1]["specie"] = "pm10";
doc["readings"][1]["value"] = pm10_concentration;
doc["readings"][1]["unit"] = "µg/m3";
static char json_body[1024];
serializeJson(doc, json_body);
HTTPClient http;
http.begin("https://aqicn.org/sensor/upload");
http.addHeader("Content-Type", "application/json");
int httpResponseCode = http.POST(json_body);
if (httpResponseCode > 0)
{
String response = http.getString();
Serial.println(httpResponseCode);
Serial.println(response);
}
else
{
Serial.print("Error on sending POST: ");
Serial.println(httpResponseCode);
}
http.end();
} 

