Projektas “MRH Smart home”–įranga Home Assistant serveriui

Free: Free computer chip image, public | Free Photo - rawpixel - nohat.cc

Įrangos parinkimas Home Assistant (HA) serveriui baigėsi netikėtai. Tačiau apie viską nuo pradžių.

Kai galvoje nusistovėjo sprendimas, kad pagrindinė išmanių namų platforma bus HA, iškilo kitas logiška klausimas – o ant kokios įrangos šis daiktas suksis?

Kaip ir daugumai HA naujokų, pirma mintis buvo apie  mini kompiuteriukus Rasbery PI. Maži, praktiškai neužimantys vietos, tylūs, nes neturi ventiliatoriaus aušinimui, nebrangūs ir turi mažas energijos sąnaudas. Tuo labiau, kad galima įsigyti ir gatavus, out of the box sprendimus su jau įdiegtu HA serveriu, kaip, pvz., paprastas, pradinio lygio Home Assistant Green, kuris kainuoja kažkur 99 EUR arba labiau praplėstą ir rimtesnį Home Assistant Yelow, kuri palaiko ne tik LAN ir Wi-Fi, bet ir Zigbee 3.0, OpenThread bei Matter ryšio protokolus (apie juos pakalbėsime vėliau, kituose įrašuose). Tačiau tai jau žymiai brangesnis daiktas, kuris kainuoja apie 200 EUR

Mano poreikius labiausiai atitiktų būtent paskutinis variantas, tačiau yra keletas “bet” dalykų:

  1. Šį įranga yra sunkiai plečiama, jei to prireiktų, paprasčiau pakeisti naujesniu ir galingesniu Rasbery PI. Tačiau HA pritaikymas naujesnei kartai dažniausiai vėluoja. Kaip ir dabar, nežiūrint to, kad jau yra 5-ta šių kompiuteriukų karta, HA kol kas palaiko tik 4-tą.
  2. Patikimumo klausimas. Vietoje kietojo disko yra naudojama atminties kortelė, kuri savo patikimumu neprilygsta SSD diskams, nežiūrint kokios klasės ir kainos ji bebūtų. Ir tai yra ne teorinis išvedžiojimas o praktinis patyrimas iš mano darbo. Savo laiku, kai atsirado galimybė, VMware virtualizacijos serveriuose vietoje brangių RAID kontrolerių ir kietų diskų buvo pradėtos naudoti atminties kortelės, nes pati VMware operacinė sistema tapo pakankamai maža ir tilpo į vidutinio dydžio korteles. Kainų skirtumas tarp kortelės ir diskų posistemės su diskais buvo keleriopas, tad nenuostabu, kad greitai dauguma ant to užkibo. Deja, kažkur po metų ar daugiau prasidėjo pirmieji kortelių gedimai ir su laiku jų tik daugėjo (šiaip serverio gyvavimo laikas gamyboje yra kažkur 5 metai, paskui jie keičiami naujesnės kartos serveriais). Didelių bėdų tai neiššaukė, nes virtualizacijai naudojami serverių telkiniai, tad vieno ar dviejų serverių gedimas paprastai sistemų darbo nestabdo. Tačiau sekantys serveriai jau buvo klasikinės komplektacijos su normaliais diskais. Namų reikmėms tikriausiai niekas nestato aukšto patikimumo infrastruktūros. Aš taip pat nesiruošiu to daryti. Tad atminties kortelė vietoje HDD – man netinkamas sprendimas. Tiesa, jau yra variantų, kaip galima įdėti NVME SSD diskus, bet vis tiek plėtimo galimybės daugiau nei ribotos.

Kadangi HA galima diegti ant įvairių platformų bei operacinių sistemų, tai kitas variantas, kuris man pasirodė labiau  priimtinas bei patrauklesnis – Intel NUK tipo mini kompiuteriai. Jie taip pat yra maži, tylūs, turi mažas energijos sąnaudas. Taip pat dažniausiai palaiko LAN, Wi-fi bei Bluetooth ryšio protokolus. Be to, konfigūracijų bei gamintojų pasirinkimas yra tikrai didelis, ir jie turi žymiai geresnes plėtimo bei patikimumo galimybes nei Rasbery PI. Be to, tokie mini kompiuteriai gali būti pakankamai galingi, kad su virtualizacijos pagalba juos galima panaudoti keliems tikslams, kaip, pvz., dar papildomai, šalia HA virtualaus serverio, turėti DNS pi-hole serverį ir pan.

Tačiau, kainų lygis, jei kalbame apie vidutinio ir didesnio galingumo sistemą, parsideda maždaug nuo 400 EUR ir tai tikrai ne riba. Bet čia viskas priklauso nuo poreikio. Galima išsiversti ir su pora šimtų eurų.

Dar vienas variantas, atnaujinti (refurbished) ofiso kompiuteriai, kurie yra taip pat galingi, puikiai plečiami, dažiausiai yra nedidelių matmenų su Small Form Factory  (SFF) arba Super Small Form Factory  (SSFF) korpusais. Tačiau jie yra triukšmingesni ir ne tokie taupūs elektrai. Tačiau vidutinio galingumo sistemą galima rasti pardavime nuo 150 EUR.

Be to, tiek Intel NUK, tiek PC platformoms reikia papildomai įsigyti USB Zigbee maršrutizatorių, jei norime turėti ne tik LAN, Wi-Fi ir Bluetooth protokolus.

Taigi, prieš priimant sprendimą dėl “geležies” HA serveriui man norėjosi pradžiai pasidaryti POC (Proof of concept) ir pasižiūrėti ar ši sistema man tinka bei, kaip sakoma, limpa prie rankų. Tam tikslui puikiai tiko buvęs uošvio kelerių metų senumo kompiuteris, kuris jau kažkurį laiką rinko dulkes ant mano stalo.

Senolis yra maždaug vidutinio galingumo DELL Optiplex 7010 SFF kompiuteris su 16 GB RAM ir Intel Core I5 procesoriumi bei įdiegta MS Windows 10 operacine sistema. Vienintelis jo trūkumas – lėtas Hitachi mechaninis 7200 rpm SATA diskas, kuris ir yra pagrindinis stabdis, neleidžiantis išnaudoti galimo našumo potencialo. Bet POC’ui to pilnai pakanka.

Tam, kad neperdarinėti visos sistemos, buvo papildomai įdiegtas nemokamas Oracle VirtualBox hypervisorius (nes jis man labiau patinka nei kiti, kai diegiama Windows sistemoje) ir įdiegtas virtualus HA serveris.

Truputį pamaigius ir šiek tiek perpratus HA ypatumus, supratau, kad HA yra tai, ko man reikia ir dar tai limpa prie rankų Smile. Todėl tolimesnį POC’o žingsniai buvo pabandyti įvairaus tipo išmanius įrenginius ir “pažaisti” su pirmais, paprastais automatizacijos scenarijais.

Tam, kad galima būtų pabandyti įvairesnį spektrą įrenginių (ne tik Wi-Fi), buvo įsigyti Zigbee 3.0 USB maršrutizatorius ir papildomas USB ilgas laidas, kad Zigbee anteną galimą būtų laikyti toliau nuo įrangos, nes tai jautrus trukdžiams protokolas.

Be to, kad sistema galėtų veikti greitai, esamas Hitachi mechaninis HDD buvo pakeistas nauju Samsung 1 TB SSD SATA disku. Tas diskas puikiai tiko, nes net ir mažame kompiuterio korpuse jam atsirado vietos. Pasirodo HDD laikiklis yra dvipusis, tad liko ir senas 3.5” diskas, o kitoje pusėje buvo įmontuotas 2.5” naujas diskas. Samsung šiems diskams turi puikų valdymo softą, kuris dar ir leidžia klonuoti diskus, Tad visa migracija ir disko montavimas užėmė kažkur apie pusantros valandos. Su naujuoju disku kompiuteris tapo kokius 5 kartus greitesnis ir aš apsisprendžiau šį kompiuterį naudoti ir toliau kaip hypervizorių virtuliam HA serveriui. Kodėl taip? HA serveriui tikrai tiek resursų nereikia, tad šalia galima dar kažką paleisti. O jei kada prireiks migruoti į naują geležį, tai perkelti virtualią mažiną yra žymiai paprasčiau, nei viską diegti iš naujo. O kad jau teko lįsti į kompiuterio vidų, tai tuo pačiu pakeičiau ir CMOS bateriją, kad ateityje nekiltų problemų su sistemos startu.

Tačiau, kad visa sistema galėtų būti laikoma darbine, ją reikia perdiegti kitaip. Esantis “buterbrodas”, kurį sudaro starto eilės tvarka MS Windows 10 OS, hypervizorius VirtualBox ir ant viršaus HA virtualus serveris netinka, nes restartavus kompiuteriui iš naujo, pvz., po elektros dingimo, pirmiausiai kraunasi Windows OS, kuri laukia slaptažodžio įvedimo. Aišku, galima padaryti ir startą be slaptažodžio (bet to tikrai nedarysiu), tačiau toliau reikia paleisti VirtualBox’a ir tik ant galo HA virtualų serverį. Automatizuoti nelabai pavyks, nes VirtualBox’e reikia rankiniu būdų “prikabinti” USB įrenginį prieš paleidžiant virtualią mašiną.

Tad galutinė konfigūracija, kuria padarysiu artimiausiu laiku bus tokia:

  1. VMware ESXi hypervizorius, todėl, kad patinka, lengvai valdosi ir turiu ilgametę (10+ metų) tokios sistemos administravimo patirtį.
  2. Virtualus HA serveris su automatinio starto opcija.
  3. Virtuali MS Windows mašina valdymo ir kitokioms reikmėms.

Apie pradinę HA konfigūraciją ir su kokiais įrenginiais eksperimentavau bei kokias išvadas pasidariau papasakosi vėliau.

Taigi, gavosi platforma, skirta HA, nors ir naši, puikiai plečiama, tačiau ūžianti, kelis kartus didesnė nei pirmi du anksčiau aprašyti variantai ir nelabai taupi elektrai. Tačiau tie minusai tiesiog pasidarė niekiniai, atkeliavus naujai tinklo įrangai.

O kad kažką protingo ir per nuotolį valdomo diegti namų tinkle, tas tinklas iš pagrindų buvo perkurtas, kad atitiktų IoT tinklams keliamus saugumo reikalavimus. Apie tai ir bus sekanti pasakojimo apie projekto “MRH Smart home” įgyvendinimą dalis, kurioje pagaliau paaiškinsiu ką reiškia trumpinys “MRH” ir kam jis reikalingas.

Parašykite komentarą