^

HomeBrige, czyli HomeKit dla pracowitych

Jaromir Kopp

25 listopada 2017

HomeKit to podstawowa i najwygodniejsza platforma do obsługi wyposażenia „inteligentnego domu” dla Apple Usera. Ostatnio dzięki pewnym ułatwieniom, które poczynił Apple, oraz naciskom środowisk użytkowników iOS, staje się coraz popularniejszy i bardziej przystępny cenowo (szczegóły znajdziecie w artykule o HomeKit). Jednak nie zawsze tak było i nadal jest wiele urządzeń, zwłaszcza od mniejszych producentów, które nie są i raczej nie będą opatrzone logiem HomeKit.
HomeBrige HomeKit
Gdy w 2014 roku Apple dodał do iOS API HomeKit, pozwolił na jego używanie bez ograniczeń zarejestrowanym deweloperom. Jednak producenci sprzętu, aby zacząć tworzyć urządzenia z nim zgodne, musieli sprostać rygorystycznym warunkom. Takie podejście od razu wywołało bunt, który dzięki „odwrotnej inżynierii” i informacjom dostępnym dla deweloperów zaowocował rozwojem kilku rozwiązań dla hobbystów symulujących HomeKit. Do niedawna nie było pewności, czy Apple jedną „złośliwą” aktualizacją iOS nie zablokuje ich rozwoju. Na szczęście podczas WWDC 2017 okazało się, że podjęto wręcz przeciwne kroki. Zadecydowano o wspieraniu takich amatorskich działań, udostępniając dokumentację HomeKit dla hobbystów i projektantów prototypów, bez konieczności certyfikacji.
Choć ze strony Apple już nic nam nie grozi, to przy korzystaniu z takich amatorskich rozwiązań opartych na tanich urządzeniach, należy zachować szczególną ostrożność. O zagrożeniach i zasadach bezpieczeństwa możecie przeczytać w osobnym artykule w tym wydaniu.
Konfiguracja i uruchomienie HomeBridge wymaga sporo nakładu pracy. Dlaczego warto się pomęczyć? Bo HomeBridge otwiera HomeKit dla wielu, często bardzo tanich urządzeń oraz dla rozwiązań, które raczej nigdy nie doczekają się zgodności z HomeKit. Ponadto otwiera ogromne pole do popisu dla hobbystów—eksperymentatorów.
HomeBrige HomeKit

HomeBridge, co to jest?

Jest to napisana w JavaScript dla środowiska Node.js aplikacja stanowiąca pomost pomiędzy HomeKit a rozszerzeniami, również pisanymi w JavaScript, obsługującymi konkretne urządzenia. Oznacza to dużą elastyczność, bo „plugin” daje się napisać dla praktycznie dowolnego sprzętu. Jednak uruchomienie samego HomeBridge nic nam nie da, jeżeli nie wyposażymy go we wspomniane rozszerzenia.
Jak wspomniałem, HomeBridge do pracy wymaga Node.js. To nie jest wielkim problemem, bo środowisko można zainstalować w praktycznie każdym systemie od macOS, przez QNAP Container Station, czy podobne rozwiązania na inne NAS, po nanokomputery Raspberry Pi i ich klony. Jednak podstawowym kryterium doboru platformy jest ciągła i niezawodna praca urządzenia, na którym HomeBridge zainstalujemy. Od tego zależy sensowność, komfort i bezpieczeństwo naszej instalacji.
HomeBrige HomeKit

Wybór sprzętu na centralę

Pierwszym kryterium jest wspomniana stała praca, warto więc podczas wyboru uwzględnić aspekt zużycia energii. Najlepiej pod tym względem wypadają nanokomputery Pi i im podobne. Jeżeli w domu mamy dysk sieciowy dobrej firmy lub planujemy taki zakupić, może być on jeszcze lepszym rozwiązaniem. Jedynie należy sprawdzić, czy obsługuje „kontenery” czasem zwane „dockami”. W QNAP jest to „Container Station”, a w Synology „Docker”. Rozwiązanie z NAS jest elastyczniejsze, łatwiejsze w uruchomieniu i często bardziej niezawodne, a serwer i tak działa cały czas. Komputer przeznaczony tylko do tego celu, jeżeli nie ma innych poważnych zastosowań, wydaje się znacznym przerostem formy nad treścią, ale czasem może się nadać do pierwszych eksperymentów z HomeBridge.
HomeBrige HomeKit

Parametry techniczne

W zasadzie każdy serwer NAS pozwalający na uruchamianie „kontenerów” będzie miał wystarczające parametry do obsługi HomeBridge. Należy pamiętać, że programy dla Node.js są interpretowane (jak skrypty), co wymaga większej ilości zasobów. Jeżeli decydujemy się na nanokomputer jako centralę HomeBridge, to zadaniu sprostają najprostsze urządzenia, jak Orange Pi zero. Zależnie od metody podłączenia do naszej lokalnej sieci może przydać się WiFi, ale połączenie kablem ethernet w zupełności wystarczy i bywa pewniejsze. Pamięć operacyjna RAM 256 MB też będzie odpowiednia, chyba że zechcemy eksperymentować z obsługą kamer IP. W takim przypadku przyda się 512 MB lub więcej. System operacyjny i oprogramowanie zmieści się nawet na karcie SD 8 GB (pamięć masowa nanokomputerów jest zazwyczaj tak rozwiązana), jednak warto wybrać karty dobrej firmy gwarantujące dużą niezawodność przy częstym zapisywaniu. Normalny komputer z macOS i procesorem Intel pozwoli na instalację wszystkiego, co jest potrzebne do uruchomienia HomeBridge. Dla starszych „maczków” z PowerPC lepiej wybrać Ubuntu zamiast Mac OS.

Jak wcześniej ostrzegałem,

sam HomeBridge nie przyda się do niczego, jeżeli nie będziemy mieć odpowiednich „pluginów” dla urządzeń, jakie chcemy obsługiwać. Dlatego przed zabraniem się do kompletowania sprzętu i instalacji warto przejrzeć listę gotowych dodatków, bo napisanie własnego nie jest łatwą sprawą, nawet dla znających JavaScript i Node.js. Sprawdzoną metodą jest wpisanie w wyszukiwarkę Google’a hasła „HomeBridge plugin …” gdzie w miejsce „…” wpisujemy nazwę urządzenia lub systemu, które chcemy podpiąć do HomeKit. Przeglądanie dostępnych pluginów najlepiej wykonać u źródła, czyli w serwisie npm (serwis z aplikacjami dla node.js).

Jeżeli te informacje Was jeszcze nie zniechęciły,

to w następnym numerze Mój Mac Magazynu postaram się przeprowadzić Was przez konfigurację HomeBridge. Niecierpliwym polecam przejrzenie cyklu na blogu INTELIGENTNY DOM „TANIM KOSZTEM”, HOMEKIT.

Jaromir Kopp

Użytkownik komputerów Apple od 1991 roku. Dziennikarz technologiczny, programista i deweloper HomeKit. Propagator przyjaznej i dostępnej technologii. Lubi programować w Swift i czystym C. Tworzy rozwiązania FileMaker. Prowadzi zajęcia z IT i programowania dla dzieci oraz młodzieży, szkoli też seniorów. Współautor serii książek o macOS wydanych przez ProstePoradniki.pl. Projektuje, programuje oraz samodzielnie wykonuje prototypy urządzeń Smart Home. Jeździ rowerem.
Komentarze (0)
L

0 komentarzy