Publishing API for Dylos and Shinyei sensors

Note. The content on this page is outdated.
For the most recent upload API document, go to https://aqicn.org/data-feed/upload-api/

If you have a Dylos or Shinyei sensor, and you would like to publish its data on the World Air Quality Index, then this page is for you. One of the easiest solution for uploading the Dylos data is to use the ready made scripts available on github. But if you need to brew your own system, or upload data from the Shinyei sensor, then you can use the APIs described on this page.

Note that this API specification is not final, but still on-going work, so if you meet any difficulty with the integration, just contact us to get the support.


--

API Endpoint

http://sensor.aqicn.org/

API Method: Uploading data

post /sensor/upload
Parameters
  • id: Sensor ID, eg dylos.test-sensor-id
  • key: Sensor password - optional, only if the sensor ID is 'locked'.
  • time: Sensor time, with timezone information, in ISO 8601 format- eg 2014/10/08 18:03:45 +0800
  • location: Sensor position (latitude, longitude) - optional only if correlation with BAM sensor is requested

  • data: Array, containing all the raw readings
    • type: Sensor data type. For now, can be "dylos-0.5", "dylos-2.5", "shinyei-pdp42ns-2.5u" or "shinyei-pdp42ns-1u".
    • unit: Sensor data unit. For now, can be "pc" (particule count) or "lpo" (low pulse occupancy).
    • value: Sensor data reading. eg 94948 or 0.374

    Notes
    1. The above parameters are encapsulated within the argument 'postdata' of the post request.
    2. The LPO value must be between 0 and 1. 0 Means transparent, 1 Opaque. For more information on how to extrac the LPO from the Shinyei sensor, please refer to this page: api/shinyei.
Example:
...
Return value:
  • result: Can be either ok or error.

    In case of ok result, the returned value will contain the sensor id as well as the upload data ids (for information purpose only).
    ...

    In case of error, the returned value will contain a description (field msg) and an error code (field ecode) which can be one of the following:

    • 101: There are missing arugments from the posted data. Minimum arguments are id, time and data.
    • 102: Key is not valid - the sensor is protected by password and the provided password is not correct.
    • 103: No data posted (i.e empty array or data is not an array).
    • 104: Unit, type of value information not available from the data field.
    • 105: Sensor type is unknown.
    • 106: The field value is not numeric.
    • 107: Time string can not be decode (is it ISO 8601 complaiant?)
    • 108: SQL query failed.
    ...

Example

 $ curl -i "http://sensor.aqicn.org/sensor/upload/" -d 'postdata={id:"dylos.test-sensor-id",time:"2014-10-16T19:20:31+08:00",data:[{type:"dylos-2.5",value:88,unit:"pc"}]}'

HTTP/1.1 200 OK
Date: Sun, 09 Nov 2014 08:28:34 GMT
Server: Apache/2.2.15 (CentOS)
X-Powered-By: PHP/5.3.3
Vary: Accept-Encoding
Connection: close
Transfer-Encoding: chunked
Content-Type: text/json; charset=utf-8

{"result":"ok","sensorID":"588","dataids":[2825275]}


API Method: Getting the raw sensor data

get /sensor/download
Parameters
  • id: Sensor ID, eg dylos.test-sensor-id
  • callback: Optional JsonP callback (eg "foo").
Example :
 http://sensor.aqicn.org/sensor/download/?id=dylos.test-sensor-id&callback=foo 

Return value:
...

Example

 $ curl -i "http://sensor.aqicn.org/sensor/download/?id=dylos.test-sensor-id&callback=foo"

HTTP/1.1 200 OK
Date: Sun, 09 Nov 2014 08:42:12 GMT
Server: Apache/2.2.15 (CentOS)
X-Powered-By: PHP/5.3.3
Vary: Accept-Encoding
Connection: close
Transfer-Encoding: chunked
Content-Type: text/json; charset=utf-8

{"id":"dylos.test-sensor-id","data":{"dylos-0.5":[{"time":"1413458432","value":"89"}],"dylos-2.5":[{"time":"1413458432","value":"89"},{"time":"1413458431","value":"88"}]}}


ہوا کے معیار اور آلودگی کی پیمائش کے بارے میں:

ہوا کے معیار کی سطح کے بارے میں

- ایئر کوالٹی انڈیکس (AQI) اقدارصحت کی تشویش کی سطح
0 - 50 اچھی ہوا کے معیار کو تسلی بخش سمجھا جاتا ہے، اور ہوا آلودگی سے کم یا کوئی خطرہ ہوتا ہے
51 -100 معتدل فضائی معیار قابل قبول ہے؛ تاہم، بعض آلودگیوں کے لئے وہاں بہت کم تعداد میں لوگوں کے لئے اعتدال پسند صحت کی تشویش ہو سکتی ہے جو فضائی آلودگی سے غیر معمولی حساس ہیں.
101-150 حساس افراد کیلئے غیر صحتمند حساس گروپوں کے ارکان صحت کے اثرات کا تجربہ کرسکتے ہیں. عام عوام کو متاثر نہیں ہونے کا امکان ہے.
151-200 مضر صحت ہر کوئی صحت کے اثرات کا سامنا کرنا شروع کر سکتا ہے؛ حساس گروہوں کے ارکان زیادہ سنجیدہ صحت کے اثرات کا تجربہ کرسکتے ہیں
201-300 انتہائی مضر صحت انتباہ صحت برائے ہنگامی حالات. پوری آبادی متاثر ہونے کا امکان ہے
300+ خطرناک صحت کی انتباہ: ہر ایک کی صحت کو زیادہ سنگین اثرات کا سامنا کر نا پڑ سکتا ہے

ہوا کے معیار اور آلودگی کے بارے میں مزید جاننے کے لیے، ویکیپیڈیا ایئر کوالٹی کا موضوع یا ایئر کوالٹی اور آپ کی صحت کے لیے ایئرنو گائیڈ دیکھیں۔

بیجنگ کے ڈاکٹر رچرڈ سینٹ سائر ایم ڈی کے صحت سے متعلق بہت مفید مشوروں کے لیے، www.myhealthbeijing.com بلاگ دیکھیں۔


استعمال کی اطلاع: اشاعت کے وقت تمام ایئر کوالٹی کے اعداد وشمار غیرتصدیق شدہ ھیں ، اور معیار کی یقین دہانی کے باعث ان اعداد و شمار کو بغیراطلاع ترمیم کیا جا سکتا ہے، کسی نوٹس کے بغیر. ورلڈ ایئر کوالٹی انڈیکس نے اس معلومات کے مضامین کو مرتب کرنے میں تمام معقول مہارت اور دیکھ بھال کا استعمال کیا ہے اور کسی بھی حالت میں نہیں ورلڈ ایئر کوالٹی انڈیکس پروجیکٹ ٹیم یا اس کے ایجنٹوں کو اس ڈیٹا کی فراہمی سے براہ راست یا غیر مستقیم طور پر پیدا کسی بھی نقصان، چوٹ یا نقصان کے لئے معاہدے، تشدد یا دوسری صورت میں ذمہ دار ہوسکتا ہے.



Settings


Language Settings:


Temperature unit:
Celcius