{"id":942,"date":"2019-07-01T06:53:37","date_gmt":"2019-07-01T06:53:37","guid":{"rendered":"https:\/\/diysmarthome.hu\/?p=942"},"modified":"2019-07-01T10:24:15","modified_gmt":"2019-07-01T10:24:15","slug":"hazi-szerver-kivalasztasa-avagy-a-raspberry-pi-on-tul","status":"publish","type":"post","link":"https:\/\/diysmarthome.hu\/leirasok\/hazi-szerver-kivalasztasa-avagy-a-raspberry-pi-on-tul\/","title":{"rendered":"H\u00e1zi szerver kiv\u00e1laszt\u00e1sa, avagy a Raspberry Pi-on t\u00fal"},"content":{"rendered":"
Szeretj\u00fck a Raspberry Pi mini sz\u00e1m\u00edt\u00f3g\u00e9peket, hiszen sokoldal\u00fa k\u00fcty\u00fck, amik b\u00edrj\u00e1k a strap\u00e1t. Rengeteg projekt \u00e9p\u00fcl erre a platformra, azonban megvannak a korl\u00e1tai. De merre tov\u00e1bb, ha \u00fagy \u00e9rezz\u00fck kicsit t\u00f6bb kell?<\/strong><\/p>\n N\u00e1lam a m\u00e1lna az okosotthon vez\u00e9rl\u0151 szerep\u00e9t t\u00f6lt\u00f6tte be Home Assistant<\/strong> seg\u00edts\u00e9g\u00e9vel, de hogy pontosabb legyek a n\u00e9pszer\u0171 Hass.io verzi\u00f3 futott rajta. Ez a verzi\u00f3 sok hasznos dolgot hoz, mint p\u00e9ld\u00e1ul az egy kattint\u00e1sos friss\u00edt\u00e9s, illetve az addonok t\u00e1mogat\u00e1sa<\/strong>. Az eg\u00e9sz rendszer egy dockeriz\u00e1lt megold\u00e1s, ami hasonl\u00f3 mint amir\u0151l kor\u00e1bban m\u00e1r \u00edrtunk<\/a>. Ez am\u00fagy nagyon szuper\u00fcl m\u0171k\u00f6dik is, viszont vannak h\u00e1tul\u00fct\u0151i is. A Home Assistant rengeteg adatot \u00edr ki mag\u00e1nak, hiszen alapb\u00f3l szinte mindent loggol. Ezt a legt\u00f6bb mem\u00f3riak\u00e1rtya nem szereti, ez\u00e9rt k\u00f6r\u00fcltekint\u0151en v\u00e1lasszuk ki a megfelel\u0151t, olyat vegy\u00fcnk, ami b\u00edrja a folyamatos \u00edr\u00e1s\/olvas\u00e1s m\u0171veleteket (mint p\u00e9ld\u00e1ul a Sandisc A2<\/strong> sorozat). M\u00e1sik hasznos \u00e9s olcs\u00f3, de \u00e9lettartam n\u00f6vel\u0151 megold\u00e1s, ha passz\u00edv \u00e9s akt\u00edv h\u0171t\u0151t is tesz\u00fcnk a m\u00e1ln\u00e1ra, hiszen 0-24 \u00f3r\u00e1ban menni fog.<\/p>\n De m\u00e9g ezek ut\u00e1n is el\u0151fordulhat hogy meghal a mem\u00f3riak\u00e1rtya<\/strong>, amit el\u0151sz\u00f6r a rengeteg hiba\u00fczenet jelez (nem tud menteni, nem tud \u00edrni), majd k\u00e9ptelen a rendszer \u00fajraindulni. (FONTOS! M\u00e1r az els\u0151 ilyen jelekn\u00e9l ments\u00fck el a be\u00e1ll\u00edt\u00e1sainkat, mert vissza\u00e1ll\u00edtani nem mindig lesz m\u00f3dunk!) Ha Rpi 3B+ verzi\u00f3val rendelkez\u00fcnk, akkor van egy alternat\u00edv megold\u00e1s is a mem\u00f3riak\u00e1rtya probl\u00e9m\u00e1k elker\u00fcl\u00e9s\u00e9re: cser\u00e9lj\u00fck SSD<\/strong>-re. Igen ebben a v\u00e1ltozatban m\u00e1r elvileg t\u00e1mogatja a m\u00e1lna az SSD-r\u0151l \u00fczemel\u00e9st. Ez lehet egy kieg\u00e9sz\u00edt\u0151 lappal (shield) vagy USB-s k\u00fcls\u0151 megold\u00e1s. Egyed\u00fcli h\u00e1tul\u00fct\u0151je, hogy minden esetben az USB vez\u00e9rl\u0151t terhelj\u00fck, hiszen az rpi-ben a legt\u00f6bb perif\u00e9ria ezen cs\u00fccs\u00fcl. Ilyen a mem\u00f3riak\u00e1rtya \u00e9s a h\u00e1l\u00f3k\u00e1rtya is. \u00d6r\u00f6mteli h\u00edr, hogy az \u00fajonnan megjelent Rpi 4-ben sokat gyors\u00edtottak az USB vez\u00e9rl\u0151n is, \u00edgy m\u00e1r sokkal ink\u00e1bb alkalmasabb okosotthon k\u00f6zpontnak.<\/p>\n <\/a><\/p>\n \u00c9n t\u00f6bbsz\u00f6ri \u00fajratelep\u00edtget\u00e9s ut\u00e1n d\u00f6nt\u00f6ttem \u00fagy, hogy m\u00e1r nem k\u00e9pes ez a pici g\u00e9p kiszolg\u00e1lni az ig\u00e9nyeimet. Ez\u00e9rt elkezdtem n\u00e9zegetni alternat\u00edv\u00e1kat. A Home Assistant oldala szerint a Hass.io m\u00e1r nem csak az Rpi-ket t\u00e1mogatja, hanem t\u00f6bb m\u00e1s mellett az Intel NUC<\/strong> g\u00e9peit is. De mik is ezek a NUC-ok? Az Intel m\u00e1r r\u00e9gebb \u00f3ta a piacon l\u00e9v\u0151 mini PC megold\u00e1sai. Ezek nagyon kis m\u00e9ret\u0171 \u00e1m teljes \u00e9rt\u00e9k\u0171 asztali sz\u00e1m\u00edt\u00f3g\u00e9pek (USDT). Persze nem er\u0151g\u00e9pekre kell gondolni \u2013 b\u00e1r van olyan kiad\u00e1s ami j\u00e1t\u00e9kokhoz lett tervezve, a legt\u00f6bb ink\u00e1bb irodai munk\u00e1ra alkalmas \u2013, m\u00e9gis korrekt hardveres param\u00e9terekkel rendelkeznek: el\u00e9rhet\u0151ek ak\u00e1r 8. gener\u00e1ci\u00f3s i7-es processzorral (laptop verzi\u00f3), ami mell\u00e9 ak\u00e1r 32 GB RAM is k\u00e9rhet\u0151. Nagy er\u0151ss\u00e9g\u00fck m\u00e9g, hogy M2-es SSD fogad\u00e1s\u00e1ra k\u00e9pesek, amik a szok\u00e1sos SATA v\u00e1ltozatn\u00e1l jelent\u0151sen gyorsabbak. Portok ter\u00e9n sem kell kompromisszumot k\u00f6tni, kb minden el\u00e9rhet\u0151 (m\u00e9g Thunderbolt 3 is), illetve vezet\u00e9k n\u00e9lk\u00fcli megold\u00e1sok ter\u00e9n sincs ok panaszra; m\u00e9g Bluetooth 5.0 is van az AC-s wifi mellett. Ezeknek a kis g\u00e9peknek egyed\u00fcli negat\u00edvuma a vide\u00f3 teljes\u00edtm\u00e9ny, mivel az (egy-k\u00e9t kiv\u00e9telt\u0151l eltekintve) a processzorba \u00e9p\u00edtett vide\u00f3chipben kimer\u00fcl. Szerencs\u00e9re okosotthon szerver c\u00e9lra ez b\u0151ven elegend\u0151, s\u0151t m\u00e9g sok is.<\/p>\n Sz\u00f3val a NUC-ok n\u00e9pszer\u0171 g\u00e9pek, nagyon j\u00f3 \u00e1r\/\u00e9rt\u00e9k ar\u00e1nnyal. Mini PC fronton a legfrissebb processzorok mindig ezekbe a g\u00e9pekbe ker\u00fclnek, k\u00f6sz\u00f6nhet\u0151en annak, hogy az Intel gy\u00e1rtja. Persze vannak m\u00e1s alternat\u00edv\u00e1k is, p\u00e9ld\u00e1ul a Gigabyte Brix, Asus VivoMini vagy a Dell OptiPlex Micro. Aki nem akar ennyit r\u00e1sz\u00e1nni, annak \u00e9rdemes k\u00f6r\u00fcln\u00e9zni a haszn\u00e1lt piacon, kifoghat \u00e9ppens\u00e9ggel egy j\u00f3 NUC-ot, vagy egy Lenovo Thinkcentre Tiny-t 30-40 ezer forint k\u00f6rny\u00e9k\u00e9n. Ut\u00f3bbi az\u00e9rt is lehet j\u00f3 v\u00e9tel, mivel \u00fczleti haszn\u00e1latra lett tervezve, \u00edgy j\u00f3l b\u00edrja a folyamatos \u00fczemet \u00e9s val\u00f3sz\u00edn\u0171leg nincsen t\u00falhajtva. \u00c9n ut\u00f3bbit v\u00e1lasztottam, azaz egy Lenovo Thinkcentre M92P-t 8GB RAM-mal, k\u00e9tmagos i5 3470T processzorral. Ehhez m\u00e1r csak egy SSD kellett, amib\u0151l b\u0151ven el\u00e9g egy manaps\u00e1g el\u00e9g j\u00f3 \u00e1ron beszerezhet\u0151 120 GB-s v\u00e1ltozat.<\/p>\n <\/a><\/p>\n Ha megvan a g\u00e9p a kiv\u00e1lasztott g\u00e9p, akkor javasolt a BIOS friss\u00edt\u00e9se. \u00c9n ugyanis belefutottam abba az esetbe, hogy a Linux nem volt k\u00e9pes boot-olni SSD-r\u0151l, csak a Windows. Ennek oka az is lehet, hogy az \u00e9n g\u00e9pem gy\u00e1rilag Windows-zal ker\u00fclt forgalomba. Windows al\u00f3l egy\u00e9bk\u00e9nt a 2012-es \u00e9vj\u00e1rat\u00fa BIOS<\/strong>-t k\u00f6nnyen \u00e9s gyorsan fel lehetett friss\u00edteni 2018-as v\u00e1ltozatra, amivel a probl\u00e9ma meg is sz\u0171nt (FONTOS!<\/strong> K\u00f6r\u00fcltekint\u0151en j\u00e1rjunk el, mert elrontott BIOS friss\u00edt\u00e9ssel k\u00f6nnyen haszn\u00e1lhatatlann\u00e1 v\u00e1lhat a g\u00e9p!<\/em>). De ha m\u00e1r a BIOS-n\u00e1l tartunk, \u00e9rdemes egy k\u00e9t dolgot be\u00e1ll\u00edtani; ilyen p\u00e9ld\u00e1ul hogy billenty\u0171zet n\u00e9lk\u00fcl is k\u00e9pes legyen a g\u00e9p elindulni. Hasznos lehet m\u00e9g az \u00e1ramsz\u00fcnet ut\u00e1ni \u00e1llapotba vissza\u00e1ll\u00e1s, vagy a gyors boot. Ha virtualiz\u00e1lunk, akkor annak t\u00e1mogat\u00e1s\u00e1t is \u00e9rdemes bekapcsolni. De ami a legfontosabb: ne felejts\u00fck el a boot sorrendet ellen\u0151rizni, hogy USB pendrive-r\u00f3l tudjon a g\u00e9p indulni. Ez a telep\u00edt\u00e9s miatt sz\u00fcks\u00e9ges lesz, ahogy az internet el\u00e9r\u00e9s is.<\/p>\n <\/a><\/p>\n Ha megvagyunk az alapokkal, akkor j\u00f6het a f\u0151 oper\u00e1ci\u00f3s rendszer kiv\u00e1laszt\u00e1sa. Itt mindenki v\u00e1laszthat kedve szerint, \u00e1m javaslom, hogy valami Linux rendszer legyen az, mondjuk az Ubuntu. Abb\u00f3l is t\u00f6bbf\u00e9le kiad\u00e1s l\u00e9tezik, v\u00e1laszthatjuk a leg\u00fajabbat vagy az egyel r\u00e9ggebbi, \u00e1m LTS (hossz\u00fa lej\u00e1rat\u00fa t\u00e1mogatotts\u00e1g) v\u00e1ltozatot. Grafikus fel\u00fcletre nem lesz sz\u00fcks\u00e9g\u00fcnk, az am\u00fagy is csak feleslegesen lass\u00edtan\u00e1 a g\u00e9pet, azaz a szerver v\u00e1ltozat a javasolt. Ha Ubuntu mellett d\u00f6nt\u00f6tt\u00fcnk, akkor a telep\u00edt\u00e9s sor\u00e1n el\u00e9g csak az SSH-t v\u00e1lasztanunk a felkin\u00e1lt lehet\u0151s\u00e9gek k\u00f6z\u00fcl, a dockert k\u00e9s\u0151bb manu\u00e1lisan telep\u00edtj\u00fck. P\u00e1r alap adat megad\u00e1sa ut\u00e1n hamar fel is \u00e9p\u00fcl az alap szerver\u00fcnk. Ezen a ponton ak\u00e1r a hely\u00e9re is k\u00f6lt\u00f6ztethetj\u00fck, mert innent\u0151l nem lesz sz\u00fcks\u00e9g se monitorra se billenty\u0171zetre a g\u00e9pen, hiszen ak\u00e1r t\u00e1volr\u00f3l SSH-n kereszt\u00fcl is meg tudjuk tenni a be\u00e1ll\u00edt\u00e1st.<\/p>\n Telep\u00edt\u00e9shez \u00e9n a dockeriz\u00e1lt Hass.io<\/strong> v\u00e1ltozatot v\u00e1lasztottam, de mi magunk is \u00f6sszerakhatjuk a saj\u00e1t v\u00e1ltozatunkat. Err\u0151l Meki<\/strong> \u00edrt egy cikket<\/a> kor\u00e1bban. Egy\u00e9b telep\u00edt\u00e9si m\u00f3dokr\u00f3l itt<\/a> lehet olvasni.<\/em><\/p>\n Els\u0151 l\u00e9p\u00e9s<\/strong>ben telep\u00edthet\u00fcnk p\u00e1r extra alkalmaz\u00e1st, mint a Midnight Commander, a HTOP vagy \u00e9ppen a Vim. Ut\u00e1na rakjuk fel a Docker CE v\u00e1ltozatot:<\/p>\n https:\/\/docs.docker.com\/install\/linux\/docker-ce\/ubuntu\/<\/a><\/p>\n Majd<\/strong> az al\u00e1bbi plusz k\u00f6nyvt\u00e1rakat:<\/p>\n Ha ezzel megvagyunk mehet is fel a Hass.io. A Hass.io nagy el\u0151nye a nat\u00edv telep\u00edt\u00e9shez k\u00e9pest, hogy ez egy dockeriz\u00e1lt k\u00f6rnyezet, amivel k\u00e9pes \u00f6nmag\u00e1t vez\u00e9relni. Azaz m\u00f3dunk van az egy kattint\u00e1sos friss\u00edt\u00e9sre \u00e9s el\u00e9rhet\u0151v\u00e9 v\u00e1lnak az addonok. Ezekre k\u00e9s\u0151bb m\u00e9g visszat\u00e9rek. A Hass.io telep\u00edt\u00e9se \u00edgy n\u00e9z ki:<\/p>\n K\u00e9t param\u00e9ter van amit meg kell eml\u00edteni. Az egyik a ‘-m’, amivel a g\u00e9p\u00fcnk t\u00edpus\u00e1t mondhatjuk meg, illetve a ‘-d’ amivel a telep\u00edt\u00e9s hely\u00e9t. Ezek k\u00f6z\u00fcl a g\u00e9p t\u00edpusa a fontos nek\u00fcnk, mivel p\u00e1r v\u00e1ltozatra optimaliz\u00e1lt\u00e1k a Hass.io build-j\u00e9t. A r\u00e9szletes le\u00edr\u00e1s \u00e9s lista a https:\/\/github.com\/home-assistant\/hassio-installer<\/a> oldalon \u00e9rhet\u0151 el. \u00c9n ezt a param\u00e9tert kihagytam, mivel a g\u00e9pem nem volt a list\u00e1ban. A parancs sikeres lefut\u00e1sa ut\u00e1n elvileg m\u00e1r rendelkez\u00e9sre \u00e1ll a HomeAssistant-unk, csak g\u00e9pelj\u00fck be a b\u00f6ng\u00e9sz\u0151nkbe a g\u00e9p c\u00edm\u00e9t a HA portj\u00e1val: http:\/\/G\u00c9P_C\u00cdME:8123\/<\/em> \u00e9s fejezz\u00fck be a telep\u00edt\u00e9st a fel\u00fcleten. B\u0151vebben a telep\u00edt\u00e9sr\u0151l itt<\/a> lehet olvasni.<\/p>\n Ha k\u00e9szen vagyunk a telep\u00edt\u00e9ssel a HA felaj\u00e1nl p\u00e1r integr\u00e1ci\u00f3t, hiszen van amit felismer a h\u00e1l\u00f3zaton. Ezeket be is \u00e1ll\u00edthatjuk, majd menj\u00fcnk a Hass.io men\u00fcn bel\u00fcl az Add-on store-ba. Javaslom a MariaDB<\/strong> feltelep\u00edt\u00e9s\u00e9t, amivel az alap\u00e9rtelmezett SQLite-ot tudjuk lecser\u00e9lni. Egyszer\u0171en csak megadjuk mint \u00faj recorder<\/a>. Hogy ezt fel\u00fcletr\u0151l is meg tudjuk tenni, rakjuk fel a Configurator<\/strong> addont. Hogy l\u00e1ssuk a dockeriz\u00e1lt k\u00f6rnyezet\u00fcnket hasznos lehez m\u00e9g a Portainer<\/strong> feltelep\u00edt\u00e9se. Ennek m\u0171k\u00f6d\u00e9s\u00e9hez viszont a Protection mode<\/em>-ot kapcsoljuk ki.<\/p>\n Bels\u0151 h\u00e1l\u00f3zaton nem felt\u00e9tlen\u00fcl \u00e9rdemes a HTTPS<\/strong> kapcsolat be\u00e1ll\u00edt\u00e1s\u00e1val foglalkozni, csak feleslegesen bonyol\u00edtjuk vele az \u00e9let\u00fcnket. Ha szeretn\u00e9nk k\u00edv\u00fclr\u0151l el\u00e9rhet\u0151v\u00e9 tenni a Home Assistant-unkat, akkor m\u00e1r van \u00e9rtelme, de ebben az esetben ink\u00e1bb aj\u00e1nlom a Home Assistant Cloud<\/strong> szolg\u00e1ltat\u00e1st havi 5 doll\u00e1r<\/em>\u00e9rt. A szolg\u00e1ltat\u00e1st a Nabu Casa Ltd<\/strong> biztos\u00edtja, ami viszont a Home Assistant kital\u00e1l\u00f3j\u00e1\u00e9, azaz ezzel t\u00e1mogathatjuk az eg\u00e9sz rendszer fejleszt\u00e9s\u00e9t. Nem mellesleg \u00edgy k\u00f6nnyen integr\u00e1lhatjuk Amazon Alexa<\/strong> vagy Google Home<\/strong> asszisztens\u00fcnket is a Home Assistant-tal.<\/p>\n Ha a fentit v\u00e1lasztottuk, akkot minden helyen ahol ssl-t k\u00e9r, nyugodtan \u00e1ll\u00edtsuk false-ra az \u00e9rt\u00e9ket.<\/em><\/p>\n Ha egyedi be\u00e1ll\u00edt\u00e1st szeretn\u00e9nk eszk\u00f6z\u00f6lni, vagy csak nem tetszik az online editor, akkor felrakhatjuk a Samba Share<\/strong> vagy az FTP<\/strong> addont, ami haszn\u00e1lat\u00e1val a h\u00e1l\u00f3zaton el\u00e9rhet\u0151v\u00e9 tehetj\u00fck a Home Assistant f\u00e1jlrendszer\u00e9t. Ez j\u00f3 szolg\u00e1latot tehet ha k\u00fcls\u0151 f\u00e1jlokat szeret\u00e9nk haszn\u00e1lni, p\u00e9ld\u00e1ul Floorplan-hez.<\/p>\n B\u00e1r a Home Assistant m\u00e1r alapb\u00f3l tartalmaz MQTT br\u00f3kert, \u00e9n lecser\u00e9ltem az addonk\u00e9nt el\u00e9rhet\u0151 Mqtt server \u00e9s Web client<\/strong> medolg\u00e1sra, amit \u00edgy k\u00f6nnyebben kezelhetek.<\/p>\n Ha olyan eszk\u00f6zeink vannak, amiken Tasmota firmware fut, akkor nagy seg\u00edts\u00e9g lehet a TasmoAdmin<\/strong> addon, amivel egy fel\u00fcleten l\u00e1tjuk \u00e9s kezelhetj\u00fck ezeket az eszk\u00f6z\u00f6ket. Firmware friss\u00edt\u00e9sre is alkalmas.<\/p>\n Automatiz\u00e1ci\u00f3ra sokszor csak nagyon korl\u00e1tozottan lehet haszn\u00e1lni a Home Assistant be\u00e9p\u00edtett megold\u00e1s\u00e1t, ez\u00e9rt sokan kezdt\u00e9k el haszn\u00e1lni a Node-RED<\/strong>-et. Ez\u00e9rt ez is az aj\u00e1nlott addonok k\u00f6z\u00f6tt van.<\/p>\n Aki szeretn\u00e9 tabletr\u0151l vez\u00e9relni az okosotthon\u00e1t annak t\u00f6bbf\u00e9le megold\u00e1s \u00e1ll ma m\u00e1r rendelkez\u00e9s\u00e9re. Alapvet\u0151en a Home Assistant \u00faj Lovelace fel\u00fclete is el\u00e9gg\u00e9 rugalmas, hogy ell\u00e1ssa ezt a funkci\u00f3t, de haszn\u00e1lhatunk erre appot vagy telep\u00edthetj\u00fck a Home Panel<\/strong>-t.<\/p>\n J\u00f3 tan\u00e1csk\u00e9nt javaslom mindenk\u00e9ppen ments\u00fck el a be\u00e1ll\u00edt\u00e1sainkat, mert ha valami elromlik, sokat seg\u00edthet az \u00fajj\u00e1\u00e9p\u00edt\u00e9sben. M\u00e1sik fontos javaslat a be\u00e1ll\u00edt\u00e1sok szepar\u00e1l\u00e1sa: a jelszavakat mindenk\u00e9ppen a secrets.yaml<\/em> f\u00e1jlba szervezz\u00fck ki, amire a Home Assistant dokument\u00e1ci\u00f3ja is kit\u00e9r. Ezen fel\u00fcl is, ha sok egyforma eszk\u00f6z\u00fcnk van, akkor \u00e9rdemes azokat k\u00fcl\u00f6n f\u00e1jlokba csoportos\u00edtani \u00e9s \u00fagy hivatkoyni a configuration.yaml f\u00e1jlban.<\/p>\n Van lehet\u0151s\u00e9g\u00fcnk egyedi sz\u00ednpalet\u00e1t haszn\u00e1lni, amit a customize.yaml<\/em>-be rakjunk bele. Itt<\/a> is el\u00e9rhet\u0151 sok j\u00f3 \u00f6ssze\u00e1ll\u00edt\u00e1s, illetve rengeteg egyedi Lovelace kieg\u00e9sz\u00edt\u0151.<\/p>\nsudo apt-get install bash jq curl avahi-daemon dbus software-properties-common apparmor-utils<\/pre>\n
sudo su\r\ncurl -sL https:\/\/raw.githubusercontent.com\/home-assistant\/hassio-installer\/master\/hassio_install.sh | bash -s -- -m intel-nuc -d \/home\/user\/docker\/hassio<\/pre>\n