Něco jako domácí asistent (zatím pro zachycení dat)
Moderátor: Moderátoři
Něco jako domácí asistent (zatím pro zachycení dat)
Např. mám RPi Pico s WiFi a s tím chci začít. Připojím k němu snímač BME280 (teplota, tlak a vlhkost) a tyto data někam odešlu, ale vše chci mít doma.
Něco jsem si četl, že pro zachycení dat je ideální MQQT Broker pomocí Mosquitto, který to předá Telegrafu (to úplně nevím, proč to tak musí být), ten to uloží do Influx databáze, která k tomu přidává časové razítko (proto je lepší než jiné databáze) a nakonec se dají z těchto dat nakreslit grafy pomocí Grafany. Takový výstup by byl univerzální pro cokoliv, nejen pro jedno čidlo.
Během čtení jsem se také dočetl o monitorovacím systému Prometheus a proto nechci skončit ve slepé uličce s tím výše.
Stačí mi jen naznačit, co je dnes ideální a nezabývat se něčím, co je překonané.
Brokera mám vlastního, protože zprávy z čidel posílám ESPNow protokolem a přes Collectd sypu rovnou do Influxu. Collectd mám proto, že má primitivní textové rozhraní - nechtělo se mi implementovat přímo protokol Influxu.
Jelikož vysílám přes ESPNow, tak potřebuji bránu mezi ESPNow světem a lan sítí. Tato brána funguje jako zásobník - zprávy přijímá a ukládá dokud si je nevyzvednu. Tato brána je implementovaná na ESP32 a má duální napájení, takže vydrží i cca hodinový výpadek proudu a zprávy jsou uložené na flash paměti, takže přežijí i vybití baterie.
V Grafaně pak grafy už dle libosti.
Prometheus není vhodný pro ukládání číselných hodnot, protože se jim časem ztrácí přesnost. Influx naproti tomu drží data přesně. Prometheus je spíše správce událostí než časosběrná databáze.
Takže, pokud nejsi příliš hračička s vysokými nároky, tak bych zkusil cestu čidlo -> MQTT -> influx -> grafana
Jen pozor, Influx mne trochu hodně vyšplouchl, protože zahodil podporu pro 32bit architektury. A jelikož jej provozuji na turris Omnia, tak jsem uvázl na starší verzi.
RPi Pico je na některé věci zbytečně drahé, tak jsem ho prvně nahradil ESP2866, ale do této desky mi nešel nahrát micropython, tak jsem ji nahradil ESP32, která funguje dobře.
Zatím přenáším údaje z čidla BME280 (teplota, tlak a vlhkost) a teplotního čidla DS18B20. Mosquito zachytává "komáry" bez problému, údaje předává to telegrafu, který je ukládá do influxdb a z této databáze je načítá grafana, která z nich umí tvořit grafy a dashboardy.
A 1-wire se mi taky jevilo jako nespolehlivé - furt s tím byly nějaké potíže. Nevím, jak je to teď, ale SW řešení sběrnice bylo na prd, takže jsem měl I2C <-> 1Wire, ale byl to šváb navíc, který stejně furt zdechal, tak jsem se na to vykašlal. Ale pokud máš jedno čidlo přímo na desce, tak asi dobrý...
To jen jako takový malý postřeh...
Mám ještě prastarou stanici na úplně prvním RPi a ta jede snad už přes 10 let. Mám u ní také venkovní čidlo DS18B20 na 2 metrovém kabelu a těch 10 let funguje. Dokonce se snad psalo o DS18B20, že pro něj nesmí být moc dlouhý kabel, aby se na něj neindukovalo napětí, které ničilo porty na připojených zařízeních, ale to se u mě také nestalo, i když je metr kabelu venku.
V tom starém RPi ještě kreslím grafy přes RRDtool a export je pouze obrázek. To se nedá srovnat s grafanou.
Jeden z důvodů k tzv. domácímu asistentu je i můj švagr, který chce něco ke své chystané FVE.
K tomu bych chtěl využít již nasazený MQTT protokol a co tak zjišťuji, tak by to asi mělo jít.
Za mosquittem mám telegraf, který přesměrovává zachycené hodnoty z čidel do influx databáze a zrovna vyhledávám, jestli by uměl zachycenou fotku mosquittem uložit do adresáře.
Nemáte někdo něco podobného nasazené?