Produkty značky Ikea jsou velmi populární díky nízké ceně a jednoduchému designu. Takovým hitem se stal i produkt Ikea Vindriktning – jednoduché zařízení pro měření prachových částic, což je velmi důležitým parametrem pro hodnocení kvality vzduchu. Množství částic pak Vindriktning zobrazuje na třech LEDkách – a to je všechno. Nic moc, že?
No nedalo se nic dělat a takovou příležitost jsme si nemohli nechat ujít. Rozebrali jsme Vindriktning a vytvořili vlastní desku LaskaKit ESP-VINDRIKTNING s ESP32, který obsahuje Wi-Fi i Bluetooth připojení. A to rozhodně není všechno. Kromě toho, že deska je rozměrově kompatibilní – všechny šroubky sedí jak mají – dali jsme na tu samou desku ještě tři adresovatelné LEDky a konektor s I2C sběrnicí a napájením. Pohodlně tak můžeš připojit třeba čidlo koncentrace CO2, teploty a vlhkosti SCD41.
S tou samou krabičkou tak nebudeš měřit jenom množství prachových částic, ale můžeš k tomu přidat i koncentraci CO2, vlhkost a samozřejmě teplotu – tím už se dá měřit kvalita vzduchu na velmi dobré úrovni a výsledek měření tak můžeš spojit například s aktivní ventilací či pouhým upozorněním obyvatele bytu, že by si třeba měli vyvětrat.
Deska obsahuje i programátor, stačí ti tak jenom jeden USB-C kabel – přes ten se totiž LaskaKit ESP-VINDRIKTNING napájí i programuje. Třeba v Arduino IDE.
Výsledek měření můžeš kromě zobrazení na adresovatelné LEDky (první LED indikuje třeba teplotu, druhá CO2, třetí množství prachových částic) poslat i někam dál – třeba na vlastní server nebo službu TMEP.cz. Tato služba přehledně zobrazuje naměřené údaje, které tam pošleš. Kromě webového rozhraní si můžeš nainstalovat appku a vytvořit widget na tvůj telefon [Android, Apple] – naměřené údaje tak budeš mít vždycky na očích. Kromě aplikace pro telefon můžeš využít i widget pro OS Windows na tvém počítači.
Hardware
Základním předpokladem je, že máš doma Ikea VINDRIKTNING, kterému jsi odstranil základní desku a nahradil jí LaskaKit ESP-VINDRIKTNING. Díky této desce si pořád můžeš barvičkama indikovat množství prachu, ale navíc si můžeš data posílat i ven. Nepovinným doplňkem je pak modul LaskaKit SCD41 – záleží na tobě, co všechno chceš měřit. LaskaKit SCD41 umí měřit koncentraci CO2, teplotu a vlhkost. A to dost přesně.
Vytváříme účet na tmep.cz
Na stránce tmep.cz klikni na Můj účet
Po Registraci musíš jít do své e-mailové schránky a registraci potvrdit.
Teď se jen přihlaš.
A pojďme přidat čidla, a to rovnou dvě!
Vytvoření čidel na TMEP.cz
A proč dvě? Protože předpokládáme, že sis kromě LaskaKit ESP-VINDRIKTNING zároveň koupil i čidlo koncentrace CO2, teploty, vlhkosti LaskaKit SCD41.
A proměnných je to vážně hodně – prach, CO2, teplota a vlhkost. Takže si pro přehlednost vytvoříme dvě čidla – zvlášť čidlo prachových částic, a druhé pro koncentraci CO2, teplotu a vlhkost. Pokud sis jej tedy zakoupil.
Čidlo prachových částic
Čidlo musí mít nějaké jméno – to je na tobě. Doména musí být ale unikátní. Jako výrobce čidla zvol LáskaKit.cz a typ čidla Prašnost.
Vyplnit musíš i GUID, což je ID pod kterým se čidlo do TMEP.cz hlásí. My zvolili „pm„, ale je to jenom na tobě. Jen nezapomeň, že název se musí shodovat s tím, co pošleš v HTTP GET Requestu (o tom bude povídání níže).
Každé čidlo v TMEP.cz může mít nastaveno, z jaké IP adresy bude přijímat data. Zároveň si můžeš ošetřit příjem dat přimo na serveru tím, že zadáš minimální a maximální hodnotu. Pokud není hodnota v mezích, zahodí se. Zároveň můžeš ignorovat i skoky – to se třeba může dít u čidla teploty DS18B20, které je špatně zapojeno. Skok tak může být třeba i o 50°C – což je nesmysl a musí být odfiltrováno.
A využít můžeš i hlídač neaktivity – když ti vypadne v bytě proud, přijde ti e-mail ze serveru TMEP.cz.
Přijaté hodnoty můžeš i upravovat na straně serveru.
Teď už jenom stačí vyplnit Nadpis popřípadě umístění čidla a vyplnit správné jednotky. Pokud máš nějaké zařízení napájené z baterie, můžeš si nastavit i hlídač napětí. Zase ti přijde e-mail, pokud bude napětí nižší než je nastavené.
Nakonec s můžeš upravit zobrazení dat: jiné pozadí pro hodnoty odeslané v noci a přes den, porovnání grafů Včera a Dnes nebo můžeš hodnoty posílat i na mapu TMEP.cz.
Po najetí kurzoru na kolonku se ti sice ukáže nápověda, ale pokud by to stále nebylo jasné, mrkni na wiki https://wiki.tmep.cz/doku.php?id=portal:nastaveni_cidla.
A tím bychom měli přidáno první čidlo. Údaje, které budou potřebova upravit v kódu jsou: doména čidla a GUID.
Čidlo koncentrace CO2, teploty a vlhkosti
Druhé čidlo bude pro LaskaKit SCD41 – to měří koncentraci CO2, teplotu a vlhkost. Pokud sis jej ale nezakoupil, můžeš tuto kapitolu přeskočit – a nebo si to čidlo doobjednat 🙂
Vytvořili jsme tak nové, už druhé, čidlo a upravili jej následově.
Důležité údaje, které si je potřeba poznamenat a následně v kódu upravit jsou : doména čidla a GUID. Jako Výrobce čidla zvolíš LáskaKit.cz a typ Teplota, vlhkost a CO2.
Další nastavení čidla už je na tobě – zda si chceš hlídat maximální a minimální hodnotu, dělat nějaké operace na hodnotami, hlídat neaktivitu a další.
Tím za sebou máme vytvoření dvou čidel na TMEP.cz – jedno čidlo pro množství prachových částic, druhé pro množství koncentrace CO2, teploty a vlhkosti. Už sis ho objednal?
Software – kód pro ESP32
Na náš github produktu jsme přidali i vzorový kód. Ten přečte množství prachových částic z čidla (je tam PM1006), koncentraci CO2, teplotu a vlhkost.
Data se posílají přes HTTP GET Request. Formát pro čidlo prachových částic je následující.
http://TVOJE_DOMENA_pro_cidlo_PRASNOSTI.tmep.cz/index.php?TEBOU_ZVOLENE_GUID_PRO_PM1006=HODNOTA
Pro CO2, teplotu a vlhkost pak
http://TVOJE_DOMENA_pro_cidlo_CO2_teplota_vlhkost.tmep.cz/index.php?TEBOU_ZVOLENE_GUID_PRO_SCD41&humV=HODNOTA&CO2=HODNOTA, kde za GUID následuje hodnota teploty, humV očekává hodnotu vlhkosti a parametr CO2 zase koncentraci CO2.
LEDky jsme (zatím) nevyužili.
Kód najdeš na https://github.com/LaskaKit/ESP-Vindriktning/tree/main/SW
Pokud sis LaskaKit SCD41 (ještě) neobjednal, i tak můžeš vzorový kód využít – stačí smazat vše, co se týká tohoto modulu.
Kód v Arduino IDE kompiluj pro ESP32.
Zobrazení
A vizualizace dat ze senzoru prachových částic vypadá třeba takto.
A z LaskaKit SCD41 zase takto.
Ve tvé mobilní aplikaci pak můžeš mít takové hezké widgety.
Poznámka: pokud ti nelze přidat více widgetů (platí pro OS Android), je to způsobeno Launcherem, který ti přednastavil tvůj výrobce telefonu – někde si můžeš přidat více stejných widgetů, jinde ne. Pokud ti to nejde, ale chceš je, doporučujeme Launcher Nova – ke stažení na google play.
A poznámka na konec. Pokud ti data nepřichází na server a nevíš, kde je problém, mrkni do debug v seznamu čidel. Díky této vychytávce můžeš zjistit, kde je problém.
4 Responses
Dobry den, pouzil jsem tento navod i zdrojovy kod pro ESP32 a PM cidlo vetsinu casu ukazuje statickou hodnotu 1000. Obcas (treba 3 hodiny denne) to zacne ukazovat realne hodnoty a pak zase jen 1000. Nevite, cim to muze byt? Teplota, vlhkost i CO2 funguji ok.
Dobrý den,
tohoto chování jsme si nevšimli. Zkuste, prosím, zkontrolovat propojení (zda je všechno správně zapojeno – ventilátor i čidlo) a popřípadě vyměnit adaptér a USB kabel.
Dobrý den,
je možné na desku nahrát tasmotu?