Hlavní navigace

Stavíme domácí NAS, česká komunita Mozilla a výběr hardware pro IoT

Petr Krčmář

Zápisky z prvního dne dalšího ročníku tradiční brněnské konference OpenAlt. Jak si postavit pořádný domácí NAS s FreeNAS, jak funguje česká komunita Mozilla a jak si vybrat vhodný hardware pro IoT.

Jiří Folta: Stavba domácího NASu na FreeNAS

Jiří Folta začal svou přednášku tím, proč vlastně potřebuje NAS. Fotím, takže potřebuji nějaké úložiště, na které dávám hodně fotek ve formátu RAW. Je toho hodně, takže je velmi nepohodlné to nějak složitě přenášet mezi zařízeními. Dále jsou to filmy ve vysoké kvalitě a hudba. Jsem fajnšmekr, takže rád koukám na filmy ve vysoké kvalitě, takže to opět zabere hodně místa.

Komerční řešení zavrhl velmi rychle. Když si to postavíte sami, vyjde vás to výrazně levnější a ještě máte kontrolu nad tím, co vám tam běží. Navíc vám to umožňuje si všechno přizpůsobit a neuvěřitelně rozšířit. Hardware bez disků stál zhruba 6500 Kč, včetně disků to bylo necelých 14 tisíc korun.

Použitý FreeNAS má rád hodně paměti kvůli ZFS a navíc doporučuje ECC paměti. Než jsem to nasadil naostro, nechal jsem tři dny běžet memtest a ten nevykazoval žádné chyby. Předpokládám tedy, že jsou moje paměti v pořádku. Dokumentace FreeNAS doporučuje kvalitní enterprise hardware a varuje před levnými experimenty. Když kvůli hardware přijdete o data, jste v tom sami.

Samotná instalace FreeNASu je velmi rychlá a prakticky nic po uživateli nepožaduje. Během instalace se vás to ptá jen na heslo roota a pak už se restartuje a dostanete se do funkčního systému. Jiří Folta používá FreeNAS rok a prakticky se o něj nemusí starat. První měsíc jsem si s tím hodně hrál, teď jsem na to vlastně už jedenáct měsíců nesáhl. Neodešel mi zatím žádný disk, všechno funguje.

Před časem se Folta rozhodl k velké aktualizaci svého NASu, kterému chtěl navýšit kapacitu, přidat paměti a sáhnout si na nový hardware. Koupil jsem si na Bazoši pěkné šasi, přidal jsem novou desku se 16 GB paměti a přidal disky. Do budoucna uvažuje nad 10Gb sítí, SSD cache a postavit si router s pfsense.

Poté workshop pokračoval praktickou ukázkou zprovoznění nového NAS, vytvoření diskového pole RaidZ, nasdílení pomocí NFS a Samby a oddělení uživatelů pomocí samostatných účtů. Chtěl jsem vám ukázat, že i nezručný člověk si může postavit vlastní síťový disk, má to spoustu výhod a hodně se toho naučíte.

Jakub Rychlý: Jak funguje česká komunita Mozilla

Jakub Rychlý se na začátku přednášky věnoval tomu, co vlastně komunita v Česku dělá: překlady, přednášky, podporu, komunitní srazy a vydává zprávy o dění v Mozille. Spousta lidí neumí anglicky, takže se snažíme co nejčastěji zveřejňovat informace v češtině. Vloni jsme vydali 80 zpráv, letos už jsme tohle číslo překonali.

Většina se toho děje na webu Mozilla.cz, který vlastní Mozilla Foundation, takže už nehrozí dřívější tahanice o doménu a značku. Nejvíc práce je na překladech, prakticky každý z nás už nějaké dělal. Používá se k tomu nástroj Pontoon, který vyvinula Mozilla. Každá komunita má svou sekci, vývojáři v každém šestitýdenním cyklu vytvoří nové stringy, které my přeložíme. České komunitě se dlouhodobě daří překlady doplňovat velmi rychle a drží se nad 99 % přeložených textů.

Novinkou jsou české překlady populárních doplňků. Pokud máte nějaký tip, pošlete nám ho a my ho můžeme přeložit do češtiny. Pokud je to možné, ne všechna rozšíření jsou na to bohužel připravena. Pontoon by měl do budoucna umožňovat překládat weby přímo naživo. Otevřete si stránku, kliknete na text a rovnou ho přepíšete. Zatím to ještě nefunguje, ale doufáme, že to vývojáři dotáhnou.

Na překladech v tuto chvíli pracuje asi šest lidí, někteří se věnují třeba jen mobilním aplikacím nebo web Mozilla.org. Déle pracující překladatelé mají vyšší oprávnění a schvalují překlady, které vytvořili ostatní. Stává se ale, že není co schvalovat, protože všechny překlady v dané kategorii jsou hotové. Nejvíc nových stringů je v překladech Mozilla.org a Firefoxu.

Komunita se snaží pořádat také srazy, většinou probíhají v Praze. Dělali jsme je také v Brně, ale nebyl o ně zájem, takže se vracíme do Prahy. Probíhají v Diversion Bistru, kde podle Rychlého dělají dobré řízky. Pokud se ke komunitě přidáte, vždycky se pro vás práce najde. Můžete překládat, doplňovat dokumentaci ve wiki, dělat podporu nebo třeba psát zprávičky.

Za několik dnů vyjde přelomový Firefox, který přinese velké množství změn. Proto se také česká komunita snaží přednášet a informovat o mnoha změnách, které probíhají nejen v jádře, ale také v uživatelském rozhraní Firefoxu. Nový Firefox je super a musíte ho používat, protože je super. Proto můžete lidi z české komunity potkat na mnoha konferencích a setkáních.

Petr Stehlík: Hardware pro IoT

Internet věcí je především slovo všech markeťáků, kteří potřebují prodávat a dostat k tomu lidi, kteří to zaplatí. Zatím vidíme chytré lavičky a zastávky, ale zatím to vypadá jen jako tahák na peníze. Začínají se objevovat praktické aplikace například pro odečty vody, chytré parkování, zabezpečovací zařízení a podobně.

Pro běžného uživatele ale internet věcí znamená spoustu malých drobností, které je možné připojit k internetu. Zajímavé je, že naše republika je velká jako jedno město v Americe nebo v Číně, přesto tu máme tři nekompatibilní celoplošné sítě. Všechny fungují v bezlicenčním pásmu 868 MHz, což je podobné pásmo, v jakém zvoní bezdrátové zvonky nebo se odemykají auta. Vznikají ale tři nekompatibilní sítě: Sigfox, LoRa a NB-IoT. Nejsou ale moc přátelské pro bastlíře, vypadá to, že budou ochotni prodávat přístup pro stovky tisíc čidel, ale když si chcete připojit kolo nebo chatu, máte smůlu.

Proto vzniká komunitní síť LoRaWAN, kterou si staví uživatelé sami. Síť je zaměřena na malá zařízení, která musí běžet na baterii celé roky. Na parkovišti zabetonujete jeden puk, který detekuje stojící auto a zůstane tam třeba deset let. Přesto jsou to podle Stehlíka velmi specializovaná nasazení, která nejsou primárně určena pro bastlíře. Pro domácí použití jsou vhodnější jednodušší řešení postavená na levném hardware.

Jednou z klasických možností je Arduino. Stačí vzít desku a připojit vysílač na 433 MHz a mám IoT věc za sedmdesát korun. Není to ale nutné, protože se ukazuje, že Arduino má celou řadu produktů zaměřenou na IoT. Je možné koupit například desky s Ethernetem, Sigfox nebo GSM. Pokud se nebojíte kupovat originální hardware, můžete si koupit rovnou hotové řešení. V zásadě tedy stačí dostat Arduino online a je to dostačující řešení na řadu použití.

Pokud vám toto řešení nestačí, můžete povýšit na STM32, které má výrazně více vývodů a procesory ARM. Navíc se dá programovat v běžném Arduino IDE, stačí přidat konektivitu a máte hotovo. Nebo nemusíte vůbec nic bastlit a můžete si pořídit PADI od Pine64, které má 16×24 mm a obsahuje kompletní počítač s Wi-Fi čipem a anténou. Je zajímavé, jak je to podobné čipu ESP8266, ale má to výrazně více paměti a je to hodně levné. Otázkou ale je softwarová podpora. Srdcem je RTL8710AF, které můžete získat i v jiných produktech.

Pak je tu především Espressif Systems, který vyrábí celou škálu desek postavenou na ESP8266, což je kompletní počítač včetně Wi-Fi modulu. Novinkou je ESP32, které je na trhu právě rok a je o řád lepší. Opravdu se jim to povedlo. Má dvě jádra, 512 kB RAM, hardwarové šifrování, Bluetooth, lepší sleep módy a další. Nabízí také ULP koprocesor, který dovoluje hlavní procesor uspat a přitom dokáže stále například komunikovat s periferiemi a ukládat si data, která hlavnímu procesoru předá po probuzení. Výhodou je extrémně nízká spotřeba v takovém režimu, která se pohybuje v nanoampérech.

Ještě čerstvější novinkou je ESP32-PICO.D4. Podařilo se jim integrovat procesor, paměť, krystal a všechno kolem do jednoho čipu 7×7 milimetrů. Navíc obsahuje i 4 MB flash paměti a vlastně stačí jen připojit anténu a napájení. Už je součástí malých desek, které používají Wi-Fi anténu z ohnutého plechu, který je nad plošným spojem.

Celou samostatnou rodinu pak tvoří jednodeskové počítače jako Raspberry Pi, Banana Pi, Orange Pi a další. Většina z nich má verzi Zero, která je očesaná, což je vhodné pro IoT kvůli rozměrům a spotřebě. Chybí například HDMI, které pro automatizaci vůbec není potřeba. Mají ale buď vlastní konektivitu nebo je možné ji snadno doplnit.

Petr Stehlík: Arduino: elektroměr a vodoměr

Petr Stehlík už řeší měření spotřeby elektřiny od roku 2013. Měl jsem vysokou spotřebu celého domu, i při zamčeném a zhasnutém domě. I když v domě nikdo nežije, má spotřebu 80 W. Když v něm jsme, tak má dům až 8 kWh denně. Kvůli hledání příčiny tedy začaly experimenty s měřením.

První fází bylo nakoupení tří jednofázových elektroměrů, které byly nasazeny za elektroměr dodavatele elektřiny. Mají displeje s číslem a LED diodu blikající v rytmu 1000 impulsů za kWh. Zároveň mají rozhraní S0 definované normou DIN 43864, které posílá impulzy stejnou rychlostí. Bohužel při nižších spotřebách čekáte na spotřebu i dlouhé minuty a do té doby nevíte, jaká je spotřeba.

K tomuto rozhraní je možné připojit Arduino, které může počítat samotné impulsy. Pokud byste neměli výstup S0, můžete použít fotorezistor nebo fototranzistor a přilepit ho přímo proti diodě, která bliká stejnou rychlostí. Rychlosti blikání se ale mohou lišit, některé elektroměry dávají za kWh tisíc impulsů, jiné dvojnásobek nebo třeba i čtvrtinu. Moderní elektroměry nabízejí také infraport, který nabízí běžnou sériovou linku schopnou odesílat i absolutní hodnoty.

Výsledkem jsou velmi podrobné údaje o tom, co se v domě děje a která zařízení jsou v danou chvíli v provozu. Docela podrobně se z toho dá usoudit, kdo je doma a co dělá. Neposílejte si ta data do cloudu, je to velký průnik do soukromí.

Podobně Petr Stehlík měří spotřebu plynu, což je podle něj velmi snadné. Stačí si vytisknout na 3D tiskárně držák, do něj vložit jazýčkové relé a opět počítat. Nově se zabývá také měřením spotřeby vody, což je úplně jiný úkol, protože je potřeba odečítat analogové hodnoty. Po havárii vody jsem zjistil, že mnohem důležitější než samostatné sledování je hlídat výrazné výkyvy.

Odečítat rotující kolečka na vodoměru je překvapivě složitý problém, jedno z koleček (to nejrychlejší) má polovinu kovovou, takže se Petr Stehlík pokusil o různé cesty: magnet, indukce, optické odečítání. Nic z toho nefunguje, nezkoušejte to, vyzkoušel jsem všechny slepé cesty. Nakonec zabral bezkontaktní přijímač TCRT5000, který si osvítí objekt před sebou a detekuje jeho přítomnost. Výstup se pak chová jako fotorezistor a je možné jej přímo připojit do analogového vstupu Arduina. Kolečko má opravdu různou odrazivost, takže hodnoty kolísají a je možné z nich vytvořit impulzy a měřit je elektroměrem. Výsledkem je přesnost jeden impuls na půl litru vody. Druhou variantou je přidat si do rozvodů vlastní vodoměr s výstupem S0.

Aby bylo možné zabránit potopě, je možné sledovat okamžitou spotřebu. Pokud je rychlost průtoku vyšší než vám jsou schopny dát kohoutky, vyvoláte poplach. Zároveň je nutné sledovat pomalý únik, který může trvat dlouhou bodu, takže se může hlídat nepřerušený průtok po dlouhou nepřerušenou dobu. Lepší než vyvolání poplachu je možné rovnou vodu zastavit pomocí elektricky ovládaného ventilu.

Petr Hodač: Video v Linuxu

Pokud chcete dělat video, musíte být podle Hodače připraveni hodně improvizovat. Vždycky koukám na lidi z našeho AVC SH, kteří všechny ty věci umí, tahají si tam ty kabely a dokáží všechno správně spojit, aby to dělalo to, co má.

Nejjednodušší je video rovnou streamovat. Každý si myslí, že to je až to poslední, ale naopak je to to nejjednodušší. V Linuxu se k tomu používá nástroj OBS. První věc, kterou potřebujete, je zvuk. Musíte mít mikrofon, nějak si zvuk přenést k sobě a poté poslat do externí zvukové karty. Pak se zvuk po USB dostane do počítače.

OBS umí například živé střihy. Můžete si připravit několik scén a mezi nimi přímo přepínat. Příprava scén je druhou nejdůležitější věcí, kterou je třeba zařídit. Je možné použít více kamer, vstupů nebo jako zdroj například použít plochu svého počítače. Můžete si obrazy různé slučovat, dávat přes sebe nebo si jednoduše vytvoříte picture in picture, což se hodí třeba při streamování takové přednášky.

OBS dovoluje streamovat na mnoho různých služeb, v konfiguraci stačí obvykle vybrat jen správnou službu a vložit klíč. Kdybyste ho někomu dali, mohl by streamovat za vás a to nechcete. My používáme YouTube, protože je to nejjednodušší. Zároveň je možné zvolit, v jakém rozlišení a kvalitě chcete vysílat. Je možné použít i hardwarový kodér H.264, který výrazně pomůže odlehčit procesoru. Pokud by zátěž vzrostla nad 80 %, začne vám to zahazovat snímky.

Samotné stříhání se pak dělá v hardwarových střižnách, protože jsou výkonnější a standardizovanější. Samotné streamování pak může dělat linuxový počítač, ale všechno předtím se dělá hardwarově. Velmi často se stříhá rovnou tak, aby vznikal konečný produkt, který je možné rovnou streamovat a zaznamenávat. Nechcete to stříhat potom znovu, takže nakonec jen uříznete začátek a konec, přidáte titulky a máte záznam.

Michal Stanke: Firefox v roce 2017

Mozilla se původně věnovala hlavně prohlížeči, ale od roku 2012 se věnovala hodně mobilnímu operačnímu systému Firefox OS. Za ty čtyři roky Mozilla prostě Firefox zanedbávala. Mobilní operační systém byl ale v loňském roce ukončen, takže se zase vývojáři plně věnují Firefoxu.

Asi nejvýraznější změnou je rozdělení Firefoxu do více procesů. Zní to banálně, ale bylo to opravdu hodně práce. Nově je rozhraní prohlížeče oddělené do samostatného procesu, takže javascriptem přetížené jádro neovlivňuje uživatelské rozhraní a jeho plynulost. Umožňuje to také sandboxování, takže je možné jednotlivé procesy oddělit od sebe i od zbytku operačního systému.

Dále také přišlo nové jádro Servo napsané v jazyce Rust, který je paměťově bezpečný, ale přinesl také nové přístupy ke zpracování stránek. Změny se ale nedějí jen uvnitř, ale mění se toho hodně i navenek. Mozilla začala intenzivně testovat nové funkce v programu Test Pilot. Některé experimenty už testováním úspěšně prošly a stanou se součástí nových verzí. Z jiných se stala rozšíření a je možné si je dodatečně doinstalovat.

Největší změnou je připravované vydání Firefox 57, které všechny tyto (a další) novinky spojí. Přidává nové funkce, vícevláknovost a části jádra Servo. Výsledkem je hodně moderní prohlížeč, který je rychlejší než Chrome. Alespoň doufám. Velkým tématem je změna rozhraní pro doplňky, kterých výrazně ubude – původních rozšíření je 25 tisíc, pro novou verzi je připraveno přibližně 6 tisíc. Mozilla se snaží uživatelům s přechodem hodně pomoci, pro nejpoužívanější rozšíření například vybrala alternativy. Jednou z výhod nového rozhraní také je, že Mozilla už nemusí ručně kontrolovat a schvalovat každé rozšíření, protože rozšíření používá standardizované rozhraní a nemůže provést nic víc. Dříve schvalování trvalo několik dnů, já jsem teď publikoval nové rozšíření a trvalo to minutu.

Vývoj Firefoxu ale poběží dál, Mozilla nesmí usnout na vavřínech. Na začátku příštího roku by měl přijít WebRender, což je úplně jiný přístup k zobrazování webových stránek. Využívají se principy známé z počítačových her, hodně zátěže se přesune na grafický čip, který je pro tyto úlohy přímo stavěný. Mozilla by také ráda přišla s novými službami. Nikdy dříve to nedělala, ale chtěla by. První vlaštovky už tu jsou, ale hodně se diskutuje, co by to mělo být dál.

Mozilla se také hodně věnuje hlasu, snaží se od komunity získat data, aby bylo možné natrénovat neuronovou síť. Cílem je udělat open-source rozpoznávání hlasu. Pokud chcete pomoci, můžete poslat nahrávky vlastního hlasu.

Našli jste v článku chybu?