Igram se sa ESP8266 i Thingspeakom, tu sve radi, podaci se uploadaju na server no ima jedan problem. DHT22 pokazuje postotak relativne vlaznosti zraka 80%, iako drugi referentni senzori pokazuju 55%. Probao sam zakaciti senzor na Raspberry Pi i ista prica. Sluti li netko u cemu bi mogao biti problem? Neispravan senzor?
Senzori su u 99% slucajeva jako tocni. Problem zna biti da se neki library za komunikaciju s odredjenim senzorom koji je u startu bio predvidjen za ATmega seriju mikrokontrolera pocne koristiti i kao driver za ESP8266 processor koji je 32 bit-ni pa onda moze doci do svakakvih pogresnih 'ocitanja'.
Ovo je primjer drivera za DS1621 temperaturni senzor koji je na AVR mikrokontrolerima radio ispravno ali na ESP8266 nije sve dok nisam autoru library-ja poslao ispravak kojega je nakon toga uvrstio u repozitorij i driver sad radi ispravno i za ESP8266:
formatting link
Problem je bio u tome da autor kada je library pisao nije racunao na to da bi int mogo zauzimati i 32 bita pa je umejsto maske 0xFFFFFF00 koristio masku 0xFF00.
Osim toga se moze vidjeti i da sam u library-ju ispravio i gresku koja je uzrokovala da se je svaka temperatura koja je manja od -1 stupanj ocitala kao 0.5 stupnja veca od stvarne.
Mislim da smo prosle godine raspravljali bas o tome :-)
--
Let There Be Light
Custom LED driveri prema specifikacijama
http://tinyurl.com/customleddriver
Chupo
A koji si ti referentni i koliko ih ima? Mozda reference ne valjaju?
I koju temperaturu ti pokazuje DHT22 u odnosu na referentne okolo? (rel.vlaga ovisi o temperaturi zraka, a i preciznost je ovisna o temperaturi)
Koliko je udaljen DHT22 od referentnih (pogotovo visinski), i na sto su montirani (razne zone - DHT22 koji visi u zraku ne bude davao isto kao neki sobni naslonjen na hladan zid, npr.)
Kak se ponasa DHT22 i ostali kada im stavis vlage (lonac s vrelom vodom ispod)
A uz sve to, ti svi ebay senzori i nisu bas tak pouzdani izgleda :(
Ne samo da ima primjetnih razlika u mjerenjima (offset), nego i polude:
A koji si ti referentni i koliko ih ima? Mozda reference ne valjaju?
I koju temperaturu ti pokazuje DHT22 u odnosu na referentne okolo? (rel.vlaga ovisi o temperaturi zraka, a i preciznost je ovisna o temperaturi)
Koliko je udaljen DHT22 od referentnih (pogotovo visinski), i na sto su montirani (razne zone - DHT22 koji visi u zraku ne bude davao isto kao neki sobni naslonjen na hladan zid, npr.)
Kak se ponasa DHT22 i ostali kada im stavis vlage (lonac s vrelom vodom ispod)
A uz sve to, ti svi ebay senzori i nisu bas tak pouzdani izgleda :(
Ne samo da ima primjetnih razlika u mjerenjima (offset), nego i polude:
formatting link
--
Opinions above are GNU-copylefted.
Imam 2 mjeraca temp i vlage, jedan je stand alone sa Sensirion DHT senzorom
ne znam na pamet kojim, drugi je willhi higrostat koji sam koristio za
usporedbu. Oba instrumenta su pokazivala relativnu vlaznost s odstupanjem od
1-2%, dok je DHT pokazivao za 30ak % vise iako su sva 3 senzora bili jedan
do dugog.
Siguran sam da je moj DHT poludio, btw., temp. pokazuje dobro, a vlaznost
preko 80%. Imam jedno pitanje vezano uz thingspeak. Zasto nakon X sati
"padne" stream na thingspeak? Isprobavam razlicite verzije koda koje sam
pronasao na webu s obzirom da nemam pojma o programiranju :) Mozda je do
code-a...
Za kraj, definitivno ti DHT senzori ne valjaju nista. Cheap Chinese crap.
Da li to znaci da si eliminirao problem s driverima za razne senzore pisanima za AVR mikrokontrolere u kombinaciji s 32 bitnim processorima ko sta su ESP8266 ili ESP32? Mislim na problem kojega sam opisao u odgovoru Dakky-ju.
--
Let There Be Light
Custom LED driveri prema specifikacijama
http://tinyurl.com/customleddriver
Chupo
Da li to znaci da si eliminirao problem s driverima za razne senzore pisanima za AVR mikrokontrolere u kombinaciji s 32 bitnim processorima ko sta su ESP8266 ili ESP32? Mislim na problem kojega sam opisao u odgovoru Dakky-ju.
Srecom postoje libraries koje su spremne za rad sa ESP8266.
Nego, imam jedan problemcic, slozio sam si vremensku stanicu s esp i max7219 modulima i stvar funkcionira, no sat pokazuje +1H.
Vjerujem koliko malo se kuzim u kodiranje da je do ovog:
void updateTime() { long curEpoch = localEpoc + ((millis() - localMillisAtUpdate) / 1000); long epoch = round(curEpoch + 3600 * utcOffset + 86400L) % 86400L; h = ((epoch % 86400L) / 3600) % 24; m = (epoch % 3600) / 60; s = epoch % 60; }
Ali ako se ta variabla negdje podesava samo jedanput onda ne mozes koristiti -- jer bi se onda vrijednost te variable stalno mijenjala.
Epoch vrijeme je Unix-ov nacin racunanja vremena gdje se svaki datum gleda kao broj sekundi proteklih od 01.01.1970.
86400 sekundi je jedan dan a 3600 sekundi je jedan sat tako da korekciju sati radis tamo gdje se mnozi s 3600.
--
Let There Be Light
Custom LED driveri prema specifikacijama
http://tinyurl.com/customleddriver
Chupo
Chupo ti si genije, imas od mene pivu :) Dao sam si malo truda i sad
pokazuje vrijeme kako treba. Hvala jos jednom!
ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here.
All logos and trade names are the property of their respective owners.