প্রথম ধাপ হল ডেটা-প্ল্যাটফর্ম পৃষ্ঠা থেকে একটি টোকেন পাওয়া।
একবার আপনার নিজের টোকেন হয়ে গেলে, আপনি আপনার ডেটা আপলোড করতে নিম্নলিখিত স্ক্রিপ্টটি ব্যবহার করতে পারেন। আপনি আপনার প্রথম স্টেশন ডেটা আপলোড করার পরে, আপনার স্টেশনগুলি কনফিগার করতে এবং আপলোড করা ডেটা যাচাই করতে aqicn.org/data-feed/verification/ এ যান৷
সমর্থিত সফ্টওয়্যার প্ল্যাটফর্ম:
আমরা সেই 3টি প্ল্যাটফর্মের জন্য সফ্টওয়্যার ব্যবহারের জন্য প্রস্তুত প্রদান করি:
- Arduino : আপনার যদি একটি Arduino CPU থাকে, তাহলে ব্যবহার করার জন্য প্রস্তুত সফ্টওয়্যারটি ব্যবহার করুন github.com-এ aqicn/gaia-a08-arduino এ উপলব্ধ।
- Python: নিচের কোড-স্নিপেট ব্যবহার করুন
- কমান্ড লাইন (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}]\ }'
নমুনা কোড (আরডুইনো)
#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(); }