× Domů

Vyplatí se upgrade Ikea Vindriktning, ano či ne?

7/2024
Vindriktning box

Toto měl být původně konstrukční návod, docela mě to mrzí, ale nějak se to prostě zvrtlo. "Snímač kvality vzduchu" Ikea Vindriktning je na trhu přibližně tři roky. Za tu dobu si získal řadu příznivců a v komunitách ESPHome nebo Tasmota je tento indikátor polétavého prachu skloňován ve všech pádech. Mnozí fandové navrhli různé doplňky a rozšíření nebo usilovali o vydolování dalších dat ze sensoru. Některé firmy dokonce vyrábějí kompletní desky elektroniky, kterými lze nahradit původní, jinak docela jednoduché zapojení. Diskuze kolem Vindriktning jsou běžné a často nekonečné.

Nakonec mi to nedalo a po krátkém bloudění jsem v Ikea ten svůj Vindriktning objevil, zaplatil a natěšeně si ho přinesl domů. Toto zařízení měří množství prachových mikročástic ve vzduchu. Obsahuje sensor prachu Cubic PM1006, ventilátorek, uzoučkou desku elektroniky a pár barevných LED. Vše je v malé krabičce. Výstupem této "prachoměrky" je právě svit barevných LED v závislosti na množství polétavého prachu v ovzduší. Při množství prachových částic do 35 µg/m3 svítí zelená, do 85 µg/m3 svítí oranžová a při vyšších koncentracích pak již jen červená. Z čeho vycházejí tyto značně vysoké meze, které neodpovídají běžným národním standardům, se mi nepodařilo zjistit. Přiložený návod budí úsměv, zvláště když ani neuvádí jednotku měřené veličiny, tedy µg/m3.

Rozhodně se však tomuto doplňku domácnosti nedají upřít některé pozitivní vlastnosti. Je to maličké a kompaktní. Designem to rozhodně nikoho neurazí. Je to docela originální a na českém trhu něco podobného určitě chybělo. Napájení je řešeno prostřednictvím konektoru USB C, který již dnes lze považovat za běžný a kvalitní standard. Uvnitř jsou použity na propojení konektory a celkově to vypadá velmi uspořádaně. Na sensor prachových částic je Vindriktning také velmi levný.

Než jsem šel nakupovat, tak jsem si přečetl dost recenzí a diskuzí. Ne každá byla pozitivní, ale můj první dojem z pěkné krabičky zvítězil nad všemi pomlouvači. Naprostá většina publikovaných úprav spočívá v tom, že se do Vindriktning přidá WeMos mini. Jen se připojí napájení 5.0V a čte se jediný signál ze sensoru, kterým jsou seriová data. Inicializace sensoru, řízení ventilátoru a řízení svitu barevných LED je stále plně v režii původního čínského procesoru Eastsoft ES7P001. Jen pro zajímavost, existuje k němu dokumentace i vývojové prostředí, ovšem vše je v čínštině.

Našel jsem na webu dvě schémata, která vytvořili nezištně dobří lidé. Obsahují sice drobné chyby a jedno je trochu neúplné, ale zapojení se z nich dá interpretovat pohodlně i bez vlastního talentu k reverznímu inženýrství. Když vím, jak to zhruba funguje, tak to mohu doplnit o spojení se světem pomocí WeMos mini. V návodech mě zaujalo, že si nikdo nedělá starost s převodníky úrovní. Někdo prohlásil, že ESP8266 je 5 volt tolerant a všichni se tím řídí. Přitom ani při pozornějším pohledu do datasheetu ESP8266 o takové vlastnosti nenajdete ani zmínku. Faktem je i moje zkušenost, jednou jsem nepřepnul USB převodník FTDI na 3,3V. A ESP8266 fungoval. Ovšem jen nějakou chvíli a pak se nevratně odporoučel. Ano, záleží to na mnoha faktorech a za určitých podmínek to fungovat může, ale obecně to prostě neplatí.

web faceWeb face

Neznaje malých cílů jsem se rozhodl, že ze zařízení vyjmu původní procesor. Jeho funkci plně nahradím pomocí WeMos mini. Budu řídit práci prachového sensoru PM1006, otáčky ventilátoru, vyhodnocovat a odesílat data a měnit barvy WS2812, které do krabičky přidám. Tohle vše jsem chtěl realizovat prakticky jen odstraněním některých původních součástek a přidáním propojek na originálním plošném spoji. Říkal jsem si, kdyby se mi něco nepovedlo, vždycky mohu koupit perfektní desku Vindriktning z laskakit.cz a použít ji. Ovšem jak jsem nad tím vším přemýšlel, tak mi začalo docházet, že to nebude tak jednoduché. Pro TX a RX signály sensoru a také pro WS2812 bych musel použít převodníky úrovní. To vše dohromady s řízením ventilátoru by nakonec znamenalo docela komplikace a konečný efekt by se nejspíš vytratil v nepřehledné spleti drátů.

Úplně jsem opustil svoji krásnou ideu a pustil se již dávno prošlapanou cestičkou - tři dráty a dost! Jen jsem na ten nezbytný signál Tx ze sensoru přidal jednoduchý převodník úrovně High-Low se schottky diodou a resistorem. Možná se ptáte, proč jsem si tedy nakonec nekoupil nový, vylepšený, univerzální a podle mého názoru opravdu dobrý board Vindriktning v eShopu laskakit.cz? Nejspíš proto, že jsem začínal tušit, že za investici cca 500Kč ten Ikea Vindriktning nejspíš nestojí. Wemos mini mám a věřil jsem, že bude plně stačit a že některé nedobré vlastnosti snímače vylepším parametrizací v programu.

Věděl jsem také, že rozhodně nemá smysl do krabičky přidávat žádné další čidlo. Samotný sensor má teplotu cca 30 stupňů a WeMos topí také slušně. Uvádí se, že teplota v krabičce je o cca 5 i více stupňů nad teplotou okolí i s tím běžícím ventilátorkem. Vložit tam čidlo CO2 SCD41 citlivé na průvan v ceně cca 1000Kč už považuji za čiré zoufalství. Jednoduše řečeno, oteplení vnitřního prostoru, způsobené přidaným prvkem v podobě ESP8266, ESP32 či jiného procesoru s Wifi rozhraním, značně ztěžuje racionální použití dalších sensorů uvnitř Vindriktning boxu. Řadě sensorů mevyhovuje ani akustcký šum a proudění vzduchu, způsobené nezbytným ventilátorem.

Držák pro WeMos

Na internetu jsem našel pěkný a vtipný držáček pro Wemos na uchycení do krabičky sensoru. Pak to už byla poměrně jednoduchá hardwarová konstrukce. Jen jsem přidal elegantně jedno tlačítko a také zapojil správný pin pro wake up, co kdyby byl někdy třeba. Všechno jsem to vložil na své místo a krabičku zašrouboval. S výsledkem jsem byl opravdu spokojen. Naštěstí jsem měl v ESP8266 nahrán jakýsi dřívější program s OTA, protože jsem si vlastně nedomyšleně zašrouboval dovnitř i sériový port na programování. Tak jsem ladil program výhradně přes WiFi nebo na druhém testovacím modulu WeMos, jen abych krabičku nemusel znovu rozdělat.

Držák pro WeMos

Protože jsem měl trochu pochybnosti o existující knihovně pro čidlo Cubic PM1006, tak jsem si napsal jednoduchou utilitku sám. V originále probíhá čtení sensoru v periodě cca půl minuty. Nejprve se zapne ventilátor. Po 8 sekundách se začne provádět série sedmi měření s intervalem 2 sekund. Vypne se ventilátor a pak následuje pauza dlouhá 10 sekund. Takto to jde pořád dokola. Moje utilita průběžně čte jednotlivé byte ze sériové linky a když obdrží celou zprávu, tak vypočte CRC kontrolní součet. Při chybě se naměřená data ignorují. Ale komunikace funguje na jedničku. Platná data se sčítají a počítá se průměr ze čtrnácti položek, což odpovídá vzorkům, obdrženým během jedné minuty. Funguje to moc pěkně.

Program jsem mimo jiné doplnil ještě o možnost nastavení zesílení a offsetu čidla pro případnou kalibraci. Za samozřejmé jsem považoval ukládání naměřených hodnot a tak jsem využil server tmep.cz, kde mám zřízen účet. Měl jsem sice ještě nějaké další nápady, ale byl jsem moc zvědav, jak to bude vypadat, respektive, jak to bude měřit.

Ilustrační graf

Zařízeníčko jsem zapnul a odjel na pár dní pryč. Ovšem hned druhý den ráno jsem při pohledu na naměřený graf strnul. Viděl jsem peak asi 960 µg/m³, tedy na hranici horního rozsahu čidla. To by odpovídalo nejspíš požáru v domě. Později jsem zjistil, že to si jen synek cosi opékal na plotně k snídani. Ale jinak se hodnoty jevily docela věrohodně, alespoň trendy vcelku odpovídaly.

Problém jsem začal registrovat až po několika dnech nepřetržité funkce Vindriktning. Hodnoty naměřených prachových částic začaly postupně bezdůvodně narůstat. Mám udělaný měřáček s čidlem PMS5003 a displejem. Když jsem naměřené hodnoty porovnával, tak byly patrné značné rozdíly. Za normálních podmínek by bylo možné ledacos kompenzovat offsetem a zesílením. Problém je v tom, že po vypnutí prachoměrky se to nastavilo zase do původních mezí. Prostě po nějakém čase, třeba v řádu dnů, začnou měřené hodnoty bezdůvodně růst. A automatický periodický restart WeMos bohužel nic neřeší, protože ten čidlo neovlivní.

Je pravda, že o podobných jevech je v diskuzích řada komentářů. Značná nepřesnost, nízká citlivost a naopak velký offset při měření nízkých hodnot. Také postavení několika Vindriktning vedle sebe dopadlo pro jejich hodnocení vcelku fatálně. Z toho, co jsem vyčetl, musím soudit, že moje problémy nejsou ojedinělé. Spíš jsou pro PM1006 charakteristické. Také je obtížné uvěřit, že tento sensor měří PM2.5 částice. Jeho vnější podoba s čidlem Sharp GP2Y1010AU0F je až zarážející. Sharp ovšem dovede měřit pouze prach bez rozlišení velikosti jeho zrn. Částice PM2.5 se obecně považují za nejkritičtější faktor pro lidské zdraví, ale podle náznaků měří PM1006 pouze celé spektrum až do velikosti PM10. Nemuselo by to tak zásadně vadit, kdyby existovala alespoň přijatelná stabilita naměřených údajů.

Mám obavy, že přestože jsem prachoměrce věnoval dost času, tak skončí někde v šuplíku. Naštěstí to není velká investice. A již hotový program po drobných úpravách a doplnění použiju v monitoru polétavého prachu s nějakým jiným čidlem. Konec konců třeba PMS5003 se jeví docela dobře a patří k těm lacinějším na trhu.

Můj názor tedy je, že se bez Ikea Vindriktning docela dobře obejdu. S úpravami či bez nich. Že vaše nezletilá dcera kouří tajně na záchodě poznáte totiž i bez Vindriktning.

BTW: Nevěšejte hlavu. Ikea má novou, lepší prachoměrku. Jmenuje se poeticky Vindstyrka, ale už není tak laciná.