Senzor prachových částic IKEA VINDRIKTNING vylepšený o čidlo CO2, teploty, vlhkosti, Bluetooth, Wi-Fi komunikaci a s vizualizací dat na TMEP.CZ

Monitoruj ovzduší ve svém domě, bytu, kanceláři čidlem prachových částic IKEA VINDRIKTNING vylepšeným o Wi-Fi, Bluetooth, a měření koncentrace CO2, teploty a vlhkosti.
Ikea Vindriktning vylepšený o Wi-Fi, Bluetooth, CO2, teplotu a vlhkost

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

Zřízení účtu na tmep.cz
Zřízení účtu na tmep.cz
Registrace

Po Registraci musíš jít do své e-mailové schránky a registraci potvrdit.

Účet zaregistrován.
Účet zaregistrován.

Teď se jen přihlaš.

Přihlášení
Přihlášení

A pojďme přidat čidla, a to rovnou dvě!

Seznam  čidel, zatím bez čidla.
Seznam čidel, zatím bez čidla.

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

Nastavení čidla
Nastavení čidla

Č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).

Nastavení čidla: pokračování.
Nastavení čidla: pokračování.

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.

Nastavení čidla: korekce
Nastavení čidla: korekce

Přijaté hodnoty můžeš i upravovat na straně serveru.

Nastavení čidla: obecné
Nastavení čidla: obecné

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é.

Nastavení čidla: web
Nastavení čidla: web

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ě.

Nastavení čidla CO2
Nastavení čidla CO2

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.

Android widget
Android widget

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.

Seznam čidel: Debug
Seznam čidel: Debug
Výpis z ladící výstupu
Výpis z ladící výstupu

Sdílet článek

4 komentáře

  1. 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.

    1. 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.

Napsat komentář: Vít Jelínek Zrušit odpověď na komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *

Mohlo by se také líbit