Meteostanice s Wemos D1 mini |
19.10.2020 |
Dostal jsem za úkol vytvořit modul, který bude monitorovat dvě teploty - vnější, vnitřní, a vlhkost vzduchu. Zařízení bude umístěné v prostoru , kde je sice WiFi signál, ale není tam možnost připojení k elektrické síti. Rozhodl jsem se tedy, že použiji ESP modul Wemos D1 mini, jako externí čidlo teploty oblíbený DS18B20, a jako vnitřní čidlo senzor Si7021. Napájené to bude z 18650 LiIon článku přes Wemos LiIon Shield, který umí článek i nabíjet. Napětí článku bude kontrolované Analogovým vstupem procesoru, a data budou ukládána na server Thingspeak. |
|
Hotový modul mi vyšel takto :-) Dole modul Wemos D1 mini, uprostřed Wemos LiIon battery shield, a nahoře kousek bastldesky na které je odporový dělič pro monitoring baterie, konektor pro připojení externího DS18B20 na kabelu, Senzor Si7021 na "štaflích" a propojka DeepSleep.
Jednotlivé desky:
|
|
Schéma
zapojení:
|
DS18B20 je připojený na D3 (GPIO0), je použito tzv. "Fantomové napájení", použity jsou jenom 2 vodiče Si7021 - SDA na pinu D2, SCL na D1 Odporový dělič R2 a R3 přizpůsobuje napětí článku 4.2V na hodnoty které používá Wemos. Ten pracuje s napětím 3.3V, takže odporama byl poměr upraven tak, aby výstupní napětí odpovídalo této hodnotě. Hodnoty odporů si můžete upravit podle toho, co zrovna máte v ve skladových zásobách :-) naměřená hodnota se potom upraví softwarově. Baterie ve schématu je jenom orientační, aby bylo vidět, jak to zapojit. Článek 18650 jsem v programu Fritzing nenašel. Já s tím programem vůbec neumím, jsem rád, že jsem sesmolil alespoň takové schéma :-( Článek 18650 - já jsem použil 2 články paralelně, které jsem vykuchal ze starého akupacku notebooku. Oba články dohromaty mají změřenou kapacitu 3650mAh, a jsou zapojené konektorem do shieldu. Ze shieldu jsem ještě vytáhnul jeden (černý) drát z + pólu a zapojil ho konektorem do bastldesky:
|
Jak vidíte, bastldeska není nic složitého. Senzor Si7021 jsem umístil na prodlužovací "štafle" z jednoduchého důvodu. Abych mohl elektroniku zavřít do krabičky, a aby čidlo zůstalo mimo krabičku. Nezapomeňte propojit D0 a RST. Já jsem tam dal propojku, aby bylo možné ji rozpojit. Propojení D0 a RST je nutné, aby se modul dokázal probudit z režimu DeepSleep (režim nízké spotřeby).
|
Program je napsaný klasicky v Arduino IDE: /* Do programu je třeba doplnit jméno vašeho AP, kam se bude zařízení připojovat (SSID) a heslo. Potom je třeba doplnit Write API key pro ukládání dat na Thingspeak. Další hodnotu, kterou musíte nastavit je konstanta napětí baterie. Vzhledem k tomu, že nepoužíváme nijak přesné odpory, bude se naměřená hodnota od skutečného napětí baterie lišit. Je proto NUTNÉ k napájecímu článku připojit voltmetr, a metodou pokus/omyl doladit tuto konstantu, aby nám Wemos dával stejné hodnoty jako máme na voltmetru. Průběh napětí v celém rozsahu napájení je celkem lineární, takže nemusíme kalibraci provádět při několika hodnotách. Stačí nastavit při jednom napětí, a bude nám to sedět. Program je ke stažení zde: wemosd1_web.ino Použité knihovny jsou standardní, ty dokáže Arduimo IDE nalézt na webu samo.
|
Změřil jsem proud, který je odebírán PŘÍMO z napájecího článku, když je Wemos D1 v DeepSleep módu, a vychází mi nějakých 0,67mA. Dalo by se dostat asi ještě níž, ale to jsem už neřešil. Uvidím, jak dlouho to na články s kapacitou 3650mAh pojede. To můžete sledovat online na stránce s grafy :-) |
Jak potom vypadají výstupy na Thinkspeak z tohoto zařízení se můžete podívat ZDE. Jenom bych chtěl upozornit, že grafy i budíky jsou na této stránce ze dvou těchto zařízení. Jedno je umístěné v kanceláři, a druhé, to, které je zde popsané mimo kancelář. |
Celkem to funguje bez problému. Já jsem v tom mém zařízení použil ještě jednu funkci, abych nemusel sledovat, kdy mi dojde baterka. Pokud napětí klesne pod 3V, tak mi zařízení pošle na mobil SMS, že je třeba nabít baterii. Pro toto upozornění ale používám placenou SMS bránu, takže jsem tuto část z publikovaného programu vymazal. |
|
Ještě odkazy na
jednotlivé komponenty: |
|
|
Doplněno 18.11.2020 Bohužel,
něco se úplně nepovedlo, jak je vidět z grafu napájení.
Napájecí články, které byly
vykuchané ze starého akupacku notebooku, a i když
měly na nabíječce změřenou kapacitu 3650mAh, tak to
nějak nedaly
:-( Nyní jsem použil pro druhý pokus nové články od firmy Liito-kala.com s kapacitou 2x3000mAh (změřeno asi 5700mAh), takže uvidíme, jak bude vypadat křivka s těmito články. |
|
|
Nakupujete moduly pro Arduino na eBay, nebo Aliexpress? Existuje zde portál, který vám za tyto nákupy vrátí až 5% zpět přes tzv. CashBack Jak to funguje: hlavně VÁS to nic nestojí. Stačí se zaregistrovat na tipli.cz Když potom chcete něco nakoupit na eBay, Aliexpress atd, tak se přihlásíte na Tipli.cz, a odtud teprve přejdete na obchod, ve kterém chcete nakupovat. Tam nakoupíte za NORMÁLNÍ cenu. Server Tipli.cz tanto nákup zaregistruje, a na váš účet vám pošle provizi až 10% z částky, za kterou jste nakoupil. To je vše. Zkusil jsem to, protože jsem si říkal, že nemám co ztratit, a ono to opravdu funguje :-) Nakupovat přes Tipli.cz můžete jak v zahraničních, tak v našich obchodech (MALL, Kasa, Baťa, atd.) Dříve jsem používal portál Plnápeněženka.cz. Sice jsem od nich dostal zpět skoro 3000 Kč, ale v poslední době jsem začal zjišťovat, že některé částky, hlavně ty vyšší se mi na Plnoupeněženku nezaregistrovaly. Nechci je obviňovat, že to dělají schválně, ale vypadá to tak. Navíc server Tipli.cz vrací vyšší částky z nákupu.
|
|
|
|
|
|
|
|
Pokud budete chtít
s něčím poradit, napište mi na email dole. |
|
|
|
Na hlavní stránku |