Ahoj,
doma již pár let měřím teploty, tlak a vlhkost vzduchu pomocí čidel připojených k RasPi. Většina čidel je připojená přes I2C (až na vlhkost, ale to není podstatné) a to včetně DS18B20, protože SW 1-Wire přes GPIO byla silně nespolehlivá. RaspberryPi mi teploty rovnou ukládá do RRD a zároveň slouží jako NAS a na pár dalších blbostí. Jako NAS je to na hranici použitelnosti, zároveň mi dosluhuje router a zvažuji koupi Turrise, takže bych si uklidil na skříni a RPi zrušil a dal do skříně. Zároveň zvažuji již delší dobu přidání dalších měřených veličin, jako jsou (pro začátek) srážky (a časem sluneční svit, směr a síla větru).
Inspirován nedávným seriálem o bezdrátovém čidlu jsem si říkal, že bych mohl rovnou zlikvidovat ty metry drátů, které mi propojují venkovní čidla a vytvořil podobné řešení jako v seriálu -- napájení baterií a dobíjení pomocí soláru. Nyní se dostávám k jádru pudla.
Takže potřebuji propojit bezdrátově teplotní, vlhkostní čidla a srážkové měřidlo. V úvahu přichází tyto moznosti
- Arduino a 433MHz -- zde záleží hodně na vlastnostech GPIO na RPi/Turris-u -- jestli jsou schopny zpracovat přerušení, aby mi neběžela zbytečně vytěžující smyčka čekající na změnu na portu s připojeným 433MHz přijímačem (RPi zvládá, ale jestli i Turris...).
- Arduino a ESP8266 -- ESP v jednodušší variantě se sériovým portem jen na přenos dat
- Když už ESP8266, tak nějakou vyšší variantu, třeba ESP12, které má GPIO a podobně a nemusel bych si komplikovat život s Arduinem. Stejně mi stačí I2C (a 1-Wire).
Těmi 433MHz si nejsem jistý, bude to chtít pohledat nějakou knihovnu, která by umožnila přenost dat mezi Arduino a RPi/Turris -- Víte o nějaké vhodné? Pro RPi jsem našel tohle:
https://www.raspberrypi.org/forums/viewtopic.php?f=37&t=82906, zatím jsem to moc nezkoumal...
Arduino a ESP8266 je další možnost, která se otvírá -- jednodušší odesílání dat díky TCP/IP, takže stačí odesílat data ve vhodném formátu a na straně RPi/Turris-u je jen zpracovávat.
A samotné ESP8266 umí skoro vše potřebné samo o sobě, tak proč nepoužít je samotné... Hezká idea, ale potřebuji nějak vyřešit srážkoměr. Ten sepne na krátký okamžík při napršení daného objemu vody a to je vše. ESP se z hlubokého spánku údajně neumí probudit jinak než resetem, ale datasheet
Navíc, alespoň některá ESP8266 jsou (podle některých zdrojů) citlivá na napájecí napětí - bezpečně maximálně 3.6V, což nevím, jestli zvládne při použití LiPol baterky a nabíjecího modulu TP4056.
Arduino a ESP8266 i 433MHz prijímače/vysílače jsou pro mne nové věci, takže o tom mnoho nevím. Možná jsou mé úvahy zcela zcestné a není třeba se až tak bát spotřeby a tak. Jaké byste navrhli řešení pro daný problém?