Guide to publishing Shinyei sensor data on the World Air Quality Index project

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

This page is made for those interrested in measuring Air Quality based on the Shinyei sensor. For more information about the Shinyei sensor, please refer to this on-going experiment page: sensor/shinyei/.


--

Hardware Setup

For this experiement, the hardware used to retrieve the data from the Shinyei Sensor is a PC Duino - but any Raspberry PI would also work fine.

All which is needed, on the PC Duino side, to extract the information from the Shinyei sensor is two digital input. In our configuration, we use the GPIO6 and GPIO7 from the PC Duino. Since the PC duino also provide a 5V output, we directly power supply the SHinyei from the Pc Duino pins.

For now, threshold input (IN1) is left unsed, but it will be used later as a way to split particule by size, and hence detect both PM10 and PM2.5 particules.

Scripts

The scripts are available online from github. They are based on the Air Quality data-upload API described at api/sensor.

To run the scripts, you just need to use this simple command: python shinyei-lpo-reader.py. It will output data in the following style:

 $ python shinyei-lpo-reader.py

16:51:27: 13.02 9.27
16:51:32: 10.15 3.03
16:51:37: 8.58 1.86
16:51:42: 8.97 1.01
16:51:47: 8.32 1.05
16:51:52: 8.22 1.05
16:51:57: 7.33 0.75
16:52:02: 6.72 0.75
16:52:07: 6.05 0.75
16:52:12: 6.4 0.75
16:52:17: 7.13 0.75
--- 16:52:22 --- 0.073053159646 0.00751250729585 ---
Posting {'type': 'shinyei-pdp42ns-1u', 'unit': 'lpo', 'value': 0.07305315964603189} {'type': 'shinyei-pdp42ns-2.5u', 'unit': 'lpo', 'value': 0.007512507295851456} -> 200 OK
Server says {u'sensorID': u'589', u'result': u'ok', u'dataids': [2835085, 2835086]}
Firs column is obviously the current time. The second and third column are the measured LPO (in percentage, from 0 to 100). The script measures the LPO over 1 minute, so the 'current' LPO indication will be displayed 10 times. The 1 minute average is displayed as '--- 16:52:22 --- 0.073053159646 0.00751250729585 ---' (unit from 0 to 1). After that, the averaged LPO is posted ( Posting {'type': 'shinyei-pdp42ns-1u', 'unit': 'lpo', 'value': 0.07305315964603189} {'type': 'shinyei-pdp42ns-2.5u', 'unit': 'lpo', 'value': 0.007512507295851456} -> 200 OK ) to the server.


--

Configuration

Once your setup is working, do not forget to use your own sensor ID, by replacing the value "shinyei.test-sensor" in the file shinyei-lpo-reader.py with your own sensor ID. Sensor ID can be any string, but we recommand to use the convention sensor-type.(location+).your-name, such as for instance shinyei.china.beijing.haidian.john-doe.

 uploader = AirQualityUploader("shinyei.test-sensor")
Once you have choosen your own sensor ID, do not forget to protect it by password so that no-one else but you can upload data. For that, you just need to contact us and let us the ID you want to protect. We will then provide you the password to be used.

--

Still to be done

There are sitll many things to be done. Si if you want to join us and support our work, here are some of the things which we need help for:
  • Hardware connectivity based on the Raspberry PI, Beagle Bonne and other IOT Hardware.
  • Use an intermediate arduino-like to poll and pre-process the data from the Shinyei.
  • Improve the python-scripts with fail-safe support (i.e. keep the data even though if there is no WIFI connection).




O pomiarach jakości powietrza i zanieczyszczeń:

O Poziomach Jakości Powietrza

- Wartości Indeksu Jakości Powietrza (AQI)Poziomy zagrożenia zdrowia
0 - 50 Dobra 0-50: Dobra - Jakość powietrza jest uznawana za zadowalającą, a zanieczyszczenie powietrza stanowi niewielkie ryzyko lub jego brak.
51 -100 Średnia 50-100: Średnia - Jakość powietrza jest dopuszczalna; jednak niektóre zanieczyszczenia mogą być umiarkowanie szkodliwe dla bardzo małej liczby osób, które są niezwykle wrażliwe na zanieczyszczenie powietrza.
101-150 Niezdrowa dla osób wrażliwych 100-150: Niezdrowe dla wrażliwych osób - u osób wrażliwych mogą wystąpić negatywne skutki dla zdrowia. Większość populacji może nie odczuwać negatywnych objawów.
151-200 Niezdrowa 150-200: Niezdrowe - Każdy może zacząć doświadczać negatywnych skutków zdrowotnych; U osób wrażliwych mogą wystąpić poważniejsze skutki zdrowotne.
201-300 Bardzo niezdrowa 200-300: Bardzo niezdrowe - Ostrzeżenie zdrowotne, poziom alarmowy. Bardzo prawdopodobny negatywny wpływ na całą populację.
300+ Zagrożenie dla życia 300 : Niebezpieczny - Alarm Zdrowotny: każdy może doświadczyć poważniejszych skutków zdrowotnych.

Aby dowiedzieć się więcej na temat jakości powietrza i zanieczyszczenia, sprawdź w wikipedii temat "jakość powietrza" lub nasz poradnik o jakości powietrza i jego wpływie na Twoje zdrowie.

Więcej przydatnych informacji zdrowotnych na blogu doktora Richarda Sainta z Pekinu: www.myhealthbeijing.com .


Uwaga dotycząca użytkowania: Wszystkie dane dotyczące jakości powietrza mogą być nieważne w chwili publikacji, a w celu zapewnienia jakości dane te mogą być w dowolnym momencie zmieniane bez powiadomienia. Projekt World Air Quality Index wykorzystuje wszystkie przydatne umiejętności, dba o rzetelność przy kompilowaniu treści tych informacji, ale w żadnym wypadku zespół projektowy World Air Quality Index lub jego agenci nie są odpowiedzialni za umowę, delikt lub w inny sposób za jakiekolwiek straty, obrażenia lub szkody wynikające bezpośrednio lub pośrednio z dostarczania tych danych.



Ustawienia


Ustawienia Języka:


Temperature unit:
Celcius