
Sieć Weave znajduje się na każdym węźle sieci domowej (HAN), na każdym urządzeniu mobilnym wspomagającym parowanie lub sterowanie węzłem oraz w usłudze, która synchronizuje węzły i urządzenia mobilne. W systemie Weave te elementy (węzeł, urządzenie, usługa) są nazywane zasobami
.Narzędzie Weave może zapewnić źródło danych zgodnych z prawdą, a także różne sposoby komunikacji między nimi.
Istnieją 4 główne elementy Weave. Dobrze jest poznać każdy z nich na najwyższym poziomie i dowiedzieć się, jak wchodzą w interakcje ze sobą i są nakładane na system.
Schemat

Schemat
to model danych dla platformy Weave.Schemat definiuje 3 elementy:
- Obiekty Jednostka podstawowych możliwości, takich jak stan usługi, powiadomienie o stanie lub prośba o zmianę stanu.
- Interfejsy Grupa cech, które reprezentują określoną funkcję, takie jak właściwości i zdarzenia tworzące zasuwkę
- Zasoby Logiczne lub fizyczne rzeczy składające się z cech i interfejsów, takie jak urządzenie Nest, struktura lub użytkownik
Schemat ten jest jak baza danych rozmieszczona w wielu zasobach, gdzie „kopia poszczególnych cech (źródło prawdziwości)” nie jest w całości zawarta w jednym zasobie, ale jest podzielona na zasoby na podstawie cech. Zasób główny cechy jest usługą wydawcy, a pozostałe zasoby to jej subskrybenci.
Może to być na przykład prosty schemat składający się z 2 cech wspólnych w 3 zasobach. Zasób 1 może być wydawcą Trait A, a zadanie 3 – wydawcą Trait B. Pozostałe zasoby to subskrybenci tych cech:

W zależności od potrzeb systemu system może też wykorzystywać więcej niż 1 zasob jako wydawca.
Usługa
Usługa w Weave jest często nazywana zasobem, gdy z perspektywy schematu może się prezentować jako wiele zasobów. Krótko mówiąc: wszystkie pozostałe zasoby systemu Weave.
Czujnik może na przykład publikować i subskrybować tylko te cechy, które są odpowiednie do jego działania. Niektóre z nich mogą być udostępniane innym zasobom, takim jak węzeł lub węzeł. Czujnik może nie rejestrować innych zasobów. Usługa może jednak subskrybować lub publikować wszystkie te cechy.
Profile

Funkcja tkania jest podzielona na logiczne konstrukcje zwane profilami prawie 20 profili.
. Każdy profil odpowiada konkretnemu zestawowi funkcji Weave, który składa się z protokołów, typów wiadomości i kodów błędów. W OpenWeave jestNa przykład profil Zarządzanie danymi
obsługuje zarządzanie cechami w czasie rzeczywistym zgodnie ze wzorcem publikowania wiadomości. Może aktualizować stan cechy obecności w zasobie domowym na podstawie informacji z innych zasobów (zmiana stanu z „dom” na „Poza domem” ponieważ Twoje urządzenie mobilne wykryje, że prawdopodobnie nie jesteś w domu).Inny profil to Echo
. Ten profil jest analogiczny do pingu sieci i służy do testowania połączeń sieciowych, czasu oczekiwania, zabezpieczeń i żywotności.Jeszcze inny profil to Obsługa administracyjna sieci.
Ten profil zawiera funkcje skanowania sieci bezprzewodowych i konfigurowania swoich danych logowania do obsługi administracyjnej zasobów w tej sieci.Wiadomości

Aby móc korzystać z funkcji profili, zasoby HAN muszą mieć możliwość przesyłania wiadomości do siebie. Weave zawiera warstwę wiadomości
, która obsługuje wszystkie komunikaty między zasobami w systemie.Są 2 rodzaje wiadomości:
- Komunikat ogólny Informacje ogólne dotyczące Weave
- Komunikat tunelu Kod hermetyzacji pakietu IP
Każdy profil ma swój własny zestaw typów wiadomości, z których korzysta, aby poinformować użytkowników o swoich funkcjach. Na przykład profil zarządzania danymi może wysyłać ogólny komunikat Request Update (Żądanie aktualizacji) w celu zmiany stanu cechy. Profil echa może wysłać ogólną wiadomość do żądania echa do zasobu, co spowoduje wysłanie wiadomości odpowiedzi echa.
Tkaniny

Aby przekazywać wszystkie te wiadomości między zasobami, należy udostępnić tkankę
. Tkanina to zbiór zasobów obsługujących Weave, które umożliwiają świadczenie usług związanych z innymi zasobami.Wszystkie zasoby w tym materiale są używane w wspólnym języku Weave, niezależnie od używanego połączenia czy typu sieci. Do każdego węzła w tkaninie przypisywany jest dodatkowy adres IPv6, który bezpiecznie chroni aplikację Weave.
Weave używa podstawowej technologii transportowej (na przykład Wi-Fi lub Thread), aby wysyłać wiadomości między tkaninowymi adresami IPv6.
Podsumowanie
Czego się nauczysz:
- W systemie Weave węzły, urządzenia i usługa są nazywane zasobami.
- Weave zapewnia źródło danych zgodnych z prawdą i bezpieczną komunikację dla każdego zasobu w systemie Weave
- Weave składa się z 4 głównych elementów:
- Schemat Model danych i interfejsu API
- Profile Protokoły aplikacji , które zarządzają zestawem funkcji
- Komunikacja Obsługuje wszystkie wiadomości między zasobami
- Tkanina Kolekcja zasobów obsługujących Weave