Novice: Trenutno ni obvestil.
Dobrodošel, Gost. Prosim, prijavi se ali se registriraj.

 ZEVS ForumTehnikaMerilniki in instrumentiDavis Airlink (primerjava z Nova SDS011)
Strani: [1]
Natisni
Avtor Tema: Davis Airlink (primerjava z Nova SDS011)  (Prebrano 8269 krat)
0 Člani in 1 Gost gledajo to temo.
Tminc
Cirokumulus

Odsoten Odsoten

RD: 0000-00-00
Sporočila: 388


Lokacija: Tolmin

WWW
« dne: 04. Oktober 2020, 19:36:16 »

Nekaj informacij v pomoč komu, ki bo v prihodnosti nabavil omenjeni detektor.
Namesti se lahko zunaj, zaščiten je pred dežjem. Za priklop potrebuje 5 V napajanje (kabel je priložen, napajalnik ne). Nameščen mora biti v dosegu brezžičnega omrežja. Če je nameščen v domačem omrežju, so podatki dostopni lokalno.

Detektor na klice odgovarja z json stringom, ki se ga lahko enostavno razčleni in vrednosti shrani v datoteko. Trenutno je detektor že podprt v Weather Display, ki skrbi za logiranje in analizo ter grafe. Za tiste, ki uporabljate/mo/jo weewx ali kakšen drug program pa se lahko podatke shrani v datoteko. Spisal sem enostavno python skripto (testirano na Linux, verjetno bi z malimi spremembami delalo tudi v Windows).
V skripti je potrebno zamenjati IP naslov (moj primer 10.0.0.21:8080) in direktorij za logiranje.

Preračun AQI izvaja Weather Display, narediti ga je moč tudi ročno, vendar je treba izbrati ustrezen standard (recimo US ali EU).

lp Peter


Koda:
#!/usr/bin/env python

# referencna stran: https://weatherlink.github.io/airlink-local-api/

from datetime import datetime
import sys
import urllib2
import json
import time

dir ="/home/pi/data"

# curl -X GET -H "application/json" http://10.0.0.21:8080/v1/current_conditions

data = json.load(urllib2.urlopen('http://10.0.0.21:8080/v1/current_conditions'))

razmere = data['data']['conditions'][0]
cas = data['data']['ts']

print "Lokacija: ", data['data']['name']
print "Cas: ", ( datetime.fromtimestamp(cas).strftime("%H:%M %d.%m.%Y") )
print "--------------------------------"
print "Trenutne razmere"
print "Temperatura zraka: %.1f stC" % ( (float(razmere['temp'])-32)*5/9 )
print "Temperatura rosisca: %.1f stC" % ( (float(razmere['dew_point'])-32)*5/9 )
print "Relativna vlaznost: %.0f %%" % ( razmere['hum'] )
print "--------------------------------"
print "  Trenutni podatki  "
print "PM 2.5: %.0f ug/m3" % ( razmere['pm_2p5'] )
print "PM  10: %.0f ug/m3" % ( razmere['pm_10p0'] )
print "\n"
print "  Zadnja ura  "
print "PM 2.5: %.0f ug/m3" % ( razmere['pm_2p5_last_1_hour'] )
print "PM  10: %.0f ug/m3" % ( razmere['pm_10p0_last_1_hour'] )
print "\n"
print "  Zadnje 3 ure  "
print "PM 2.5: %.0f ug/m3" % ( razmere['pm_2p5_last_3_hours'] )
print "PM  10: %.0f ug/m3" % ( razmere['pm_10p0_last_3_hours'] )
print "\n"
print "  Zadnjih 24 ur  "
print "PM 2.5: %.0f ug/m3" % ( razmere['pm_2p5_last_24_hours'] )
print "PM  10: %.0f ug/m3" % ( razmere['pm_10p0_last_24_hours'] )


# Log v fajl
filename=datetime.now().strftime(dir + "/DAL_%Y-%m.log")
aqi=open(filename,"a+")
aqi.write("%s,%s,%s,%s,%s,%s,%s,%s,%s\n" %(cas,razmere['pm_2p5'],razmere['pm_10p0'],razmere['pm_2p5_last_1_hour'],razmere['pm_10p0_last_1_hour'],razmere['pm_2p5_last_3_hours'],razmere['pm_10p0_last_3_hours'],razmere['pm_2p5_last_24_hours'],razmere['pm_10p0_last_24_hours'],))
aqi.close()
« Zadnje urejanje: 11. Maj 2021, 20:41:30 od Tminc » Prijavljen
Tminc
Cirokumulus

Odsoten Odsoten

RD: 0000-00-00
Sporočila: 388


Lokacija: Tolmin

WWW
« Odgovori #1 dne: 11. Maj 2021, 21:16:34 »

Po mesecih uporabe lahko napišem par besed o Davis Airlink in Nova SDS011 detektorjih.

Namestitev
Davisov detektor ima kvalitetno ohišje, ki se ga enostavno obesi oz. pričvrsti na navpično podlago (npr. leseni steber). Potrebuje bližino 220V napajanja in omrežje wifi.
Nova SDS011 je brez ohišja in mora biti nujno zaščiten pred dežjem. Možno ga je privijačiti na leseno podlago ali pospraviti kam drugam. Potrebuje pretvornik serial/USB (na Raspberry Pi) ali direktno na Arduino.

Dostop do podatkov
Do podatkov z Davisovega detektorja je dostop preko HTTP API. Podatke se lahko enostavno shranjuje v tekstovno datoteko (testiral na Win/Linux), se pa avtomatsko pošiljajo tudi na Weatherlink. Davis meri vrednosti kontinuirano.
Za Nova SDS011 je potrebno uporabiti skripto za branje (ali na Raspberry ali na Arduino+PC). Za daljšo življenjsko dobo fotodiode, meritev izvajam vsake 3 minute. Skripta zabeleži 20 izmerkov in izračuna povprečje.

Vrednosti
O točnosti je težko govoriti, vsak detektor navaja svojo točnost in toleranco. Vseeno imam občutek, da Davisov detektor v vlažnih in hladnih razmerah kaže nerealno visoke vrednosti. Ampak to je zgolj občutek. Na začetku sem imel Nova SDS011 zakrit med podstavki in dobra 2 m nad tlemi. Od maja naprej pa je nameščen na prosto, približno pol metra stran od Davisovega detektorja. Primerjalni rezultati so na voljo na tej povezavi:

http://tolmin.zevs.si/zrak.html

Potrebno je vzeti v zakup, da Davisov detektor dejansko meri PM1.0 in nato preračuna PM2.5 in PM10. Detektor Nova SDS011 pa naj bi imel drugačen način merjenja. Predlagam opazovanje zgolj PM10. Tudi interval merjenja se med detektorjema razlikuje. Vseeno pa je videti, da bistvene razlike med detektorjema ni. Težko pa je reči, kateri kaže bolj pravilne vrednosti.

Cena
Davis Airlink: 230 EUR (naročeno in dobavljeno iz UK, vključuje poštnino)
Nova SDS011: približno 20-30 EUR
Prijavljen
Strani: [1]
Natisni
Pojdi na: