पहला कदम डेटा-प्लेटफ़ॉर्म पेज से टोकन प्राप्त करना है।
एक बार जब आपके पास अपना टोकन हो जाए, तो आप अपना डेटा अपलोड करने के लिए निम्न स्क्रिप्ट का उपयोग कर सकते हैं। अपना पहला स्टेशन डेटा अपलोड करने के बाद, अपने स्टेशनों को कॉन्फ़िगर करने और अपलोड किए गए डेटा को सत्यापित करने के लिए aqicn.org/data-feed/verification/ पर जाएँ।
समर्थित सॉफ्टवेयर प्लेटफॉर्म:
हम इन 3 प्लेटफार्मों के लिए उपयोग हेतु तैयार सॉफ्टवेयर उपलब्ध कराते हैं:
- Arduino : यदि आपके पास Arduino CPU है, तो github.com पर aqicn/gaia-a08-arduino पर उपलब्ध रेडी-टू-यूज़ सॉफ़्टवेयर का उपयोग करें।
- पायथन: नीचे दिए गए कोड-स्निपेट का उपयोग करें
- कमांड लाइन (CURL): नीचे दिए गए कोड-स्निपेट का उपयोग करें
यदि आपके पास कोई निगरानी स्टेशन नहीं है, और आप इसे लगवाना चाहते हैं, तो हमारे GAIA वायु गुणवत्ता निगरानी स्टेशनों की जांच करें।
यदि आप DIY स्टेशन पसंद करते हैं, तो GAIA A08 देखें।
--
नमूना कोड (पायथन)
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)
नमूना कोड (कर्ल)
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}]\
}'
नमूना कोड (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();
}