Kategorie Porady

Jak zostać deweloperem HomeKit Cz. 3

W HomeKit wiele się zmieniło… i to na lepsze! Niestety, nie o wszystkich niespodziankach wiemy wszystko, co byśmy już chcieli wiedzieć, a o innych nie mogę powiedzieć wszystkiego z powodu wszechobecnych NDA. Jednak i tak będzie interesująco. W tym odcinku cyklu Jak zostać deweloperem HomeKit mam dla Was dwie wiadomości i obie są dobre.

HomeKit będzie obsługiwał piloty!

Tak, chodzi o urządzenia zwane po amerykańsku „remote”. Użytkownicy od kilka lat postulowali wprowadzenie do HomeKit takich akcesoriów. Choć Apple dodał głośniki zgodne z AirPlay (2) jako kategorię HomeKit wraz z iOS 11.4, to nadal nie ma charakterystyk odpowiedzialnych za sterowanie odtwarzaniem. Podobnie jest z pilotami.

Różnego rodzaju atrapy pilotów tworzone były przez amatorów między innymi dla HomeBridge. Ustalono nawet nieoficjalne, własne (jest to dopuszczone w HomeKit, ale niewspierane przez systemową aplikację Dom) charakterystyki odpowiednich profilów sterujących sprzętem AV. Inne udawały przełączniki.

Wraz z iOS 12 ma się to zmienić. Podczas sesji „HomeKit deep drive” WWDC 2018 zaprezentowano na jednym ze slajdów obok „głośników” również „piloty”. Niestety wiemy jedynie, że ich obsługa ma się pojawić w nowych systemach, ale to wszystko. Z pilotami jest pewien problem. Zdecydowana większość posługuje się łącznością jednokierunkową, a HomeKit zawsze wymaga odpowiedzi zwrotnej i informacji, czy sterowane urządzenie jest osiągalne. Jednak ikona symbolizująca tę kategorię urządzeń pokazana na slajdzie przypomina tradycyjne piloty na podczerwień, więc jest szansa, że sterowanie za pomocą IR zostanie zaimplementowane.

W naszym serwisie WWW zamieściłem hipotezę, że w roli pilota będzie można używać Apple TV. Już teraz potrafi ona włączać i wyłączać telewizor oraz sterować jego głośnością. Jest wyposażona nie tylko w emiter podczerwieni, ale i odbiornik, bo sterować nią daje się nie tylko przez Bluetooth, ale i starymi pilotami IR z iPod, MacBook i wcześniejszych ATV.

To była dobra wiadomość dla wszystkich użytkowników HomeKit. Teraz czas na coś specjalnie dla deweloperów akcesoriów.

Apple HomeKit ADK

Pamiętacie, jak ostatnio zachwalałem przystąpienie do programu MFi? Jako jedną z największych zalet przedstawiłem dostęp do gotowych bibliotek HomeKit przygotowanych przez producentów mikrokontrolerów. Bez tego w zasadzie nie byłbym w stanie sam sobie poradzić z oprogramowaniem protokołu HomeKit, z wszystkimi jego niuansami i restrykcjami. Producenci wielu układów stosowanych w akcesoriach dostarczają zazwyczaj za darmo gotowe rozwiązania.

Złożoność, struktura, sposób działania poszczególnych SDK bardzo się różni zależnie od producenta. Dostosowują oni biblioteki do możliwości swoich układów i do zadań, jakie najczęściej wykonują. Z tych powodów przenoszenie naszej logiki akcesoriów pomiędzy różnymi mikrokontrolerami jest bardzo utrudnione. Teraz to się może zmienić.

Chyba najważniejszą nowością zapowiedzianą podczas wspomnianej sesji jest udostępnienie przez Apple HomeKit Accessory Development Kit. Jest to zestaw gotowych bibliotek zapewniających obsługę wszelkich niuansów HomeKit, tak jak to Apple potrafi sam zrobić najlepiej. Jest to coś podobnego do rozwiązań dostarczanych przez wspomnianych producentów chipsetów, jednak jest identyczne dla wszystkich platform, na jakie Apple zdecydował się skompilować biblioteki.

To jest prawdziwa rewolucja!

Deweloperzy HomeKit dostają standaryzowane, certyfikowane narzędzie, które pozwala skoncentrować się na stworzeniu i oprogramowaniu własnej logiki akcesoriów. Do tego zapewnia bardzo łatwe przenoszenie kodu pomiędzy różnymi typami mikrokontrolerów i platform. Aby było ciekawiej, to wszystkie funkcje niespecyficzne dla rodzajów transmisji są identycznie, niezależnie od tego, czy nasze akcesorium będzie działać na Wi-Fi (Ethernet) czy Bluetooth! Wraz ze zmianami w HomeKit wystarczy pobrać nowe biblioteki. W 99% przypadków nie będzie trzeba dokonywać zmian, chyba że zechcemy skorzystać z nowych możliwości.

Jak Apple tego dokonał?

Wydzielił funkcje, z których korzysta się podczas interakcji z HomeKit. Wziął na siebie całą obsługę protokołów transmisji, szyfrowania, uwierzytelniania, konfiguracji Wi-Fi i Bonjur oraz powiadomień. Pozostało oprogramowanie funkcji samego akcesorium, choć i do tego Apple wzorem innych dostawców daje gotowe przykłady. Druga rzecz, jakiej nie ma, to obsługa logiki platformy, czyli funkcji bezpośrednio związanych ze sprzętem. Tu Apple również postarał się maksymalnie uprościć zadania. Stworzył zestawy funkcji, których przeznaczenie i sposób działania dokładnie udokumentował, ale które muszą być oprogramowane zgodnie z daną platformą. To zadanie spoczywa na barkach producentów układów i ewentualnie co ambitniejszych programistów. Producenci mają teraz zdecydowanie mniej pracy, bo odpada im cały „środek”, czyli wspomniana obsługa protokołów HomeKit.

Kolejne benefity to szansa na wsparcie dla znacznie większej ilości chipsetów. Apple swoje biblioteki dostarcza w formie skompilowanej na bardzo wiele platform i ich wariantów. Niektóre, mam wrażenie, że zaskoczyły nawet samych producentów, którzy tak jak ja powątpiewali w możliwość uruchomienia protokołów HomeKit na tych układach. Ciekawe, czy razem z Apple się im to uda. Niestety, nie mogę zdradzić szczegółów, ale jestem bardzo zadowolony z listy wspieranych mikro (i nie tylko) kontrolerów, a Apple już zapowiedział, że to nie koniec. Na razie musimy jeszcze poczekać na „wypełnienie” funkcji określonych w ADK przez producentów układów, ale część z nich już się wzięła do pracy.

Ostatnią zaletą tego rozwiązania, którą należy przypomnieć, jest łatwiejsza certyfikacja zaprojektowanych na podstawie Apple HomeKit ADK, akcesoriów.

Zapewniam Was, że teraz jest jeszcze więcej zachęt, aby podjąć trud zostania deweloperem MFi 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.

Ostatnie wpisy

Router Synology RT6600ax. Potężny zarządca sieci

Markę Synology kojarzycie zapewne z urządzeniami NAS. Te świetne dyski sieciowe dają możliwość przechowywania bezpiecznie…

2 lata temu

Sonos ogłasza partnerstwo z Apple i pokazuje dwa głośniki

Na rynek wchodzą dwa nowe głośniki marki Sonos: Era 100 i Era 300. Model Era…

2 lata temu

Sejf Smart Safe współpracuje z HomeKit

Akcesoriów, które możemy dodać do naszego inteligentnego domu jest coraz więcej. Do tego zacnego grona…

2 lata temu

FileMaker Cloud w Polsce

Wiecie, że jedna z najlepszych baz danych - FileMaker (obecnie zmieniana jest nazwa na Claris),…

2 lata temu

Ivory zamiast Tweetbot’a. Mastodon lepszy od Twittera?

Elon Musk wszedł na Twittera i zrobił rewolucje. Ostateczną ocenę jego poczynań w tym serwisie…

2 lata temu

Najważniejsza funkcja nowego HomePod’a

Ten produkt miał już nie istnieć. Kiedy pojawiły się informację, że Apple nie przedłuży życia „dużego”…

2 lata temu

Serwis wykorzystuje pliki cookies. Korzystając ze strony wyrażasz zgodę na wykorzystywanie plików cookies.