Articles

Zigbee

istnieją trzy klasy urządzeń Zigbee:

  • ZigBee coordinator (ZC): najbardziej zdolne urządzenie, koordynator tworzy korzeń drzewa sieci i może łączyć się z innymi sieciami. W każdej sieci jest dokładnie jeden koordynator Zigbee, ponieważ jest to urządzenie, które pierwotnie uruchomiło sieć (Specyfikacja Zigbee LightLink umożliwia również pracę bez koordynatora Zigbee, dzięki czemu jest bardziej użyteczna dla gotowych produktów domowych). Przechowuje informacje o sieci, w tym działa jako Centrum zaufania i repozytorium kluczy bezpieczeństwa.
  • router Zigbee (ZR): oprócz uruchamiania funkcji aplikacji, router może działać jako router pośredni, przekazując dane z innych urządzeń.
  • ZigBee end device (ZED): zawiera wystarczająco dużo funkcji, aby rozmawiać z węzłem nadrzędnym (koordynatorem lub routerem); nie może przekazywać danych z innych urządzeń. Ta zależność pozwala węzłowi spać przez znaczną część czasu, dając tym samym długą żywotność baterii. ZED wymaga najmniejszej ilości pamięci, a zatem może być tańszy w produkcji niż ZR lub ZC.

obecne protokoły ZigBee obsługują sieci beacon-enabled i non-beacon-enabled. W sieciach nie obsługujących beaconów, używany jest mechanizm dostępu do kanału CSMA/CA. W tego typu sieciach routery Zigbee zazwyczaj mają swoje odbiorniki stale aktywne, co wymaga dodatkowego zasilania. Pozwala to jednak na heterogeniczne sieci, w których niektóre urządzenia odbierają w sposób ciągły, podczas gdy inne transmitują, gdy jest to konieczne. Typowym przykładem sieci heterogenicznej jest Bezprzewodowy Włącznik Światła: Węzeł Zigbee przy lampie może być stale odbierany, ponieważ jest niezawodnie zasilany z sieci zasilającej lampę, podczas gdy przełącznik światła zasilany bateryjnie pozostanie uśpiony, dopóki przełącznik nie zostanie rzucony. W takim przypadku przełącznik budzi się, wysyła polecenie do lampy, otrzymuje potwierdzenie i wraca do snu. W takiej sieci węzeł lamp będzie co najmniej routerem Zigbee, jeśli nie koordynatorem Zigbee; węzeł switch jest zazwyczaj urządzeniem końcowym Zigbee. W sieciach z obsługą beaconów routery ZigBee przesyłają okresowe sygnały nawigacyjne w celu potwierdzenia ich obecności do innych węzłów sieci. Węzły mogą spać między sygnalizatorami, co wydłuża ich żywotność baterii. Interwały beaconów zależą od szybkości transmisji danych; mogą wynosić od 15,36 milisekund do 251,65824 sekund przy 250 kbit/s, od 24 milisekund do 393,216 sekund przy 40 kbit/s i od 48 milisekund do 786,432 sekund przy 20 kbit / s. długie interwały beaconów wymagają precyzyjnego pomiaru czasu, co może być kosztowne w przypadku tanich produktów.

ogólnie rzecz biorąc, protokoły Zigbee minimalizują czas włączenia radia, aby zmniejszyć zużycie energii. W sieciach sygnalizacyjnych węzły muszą być aktywne tylko podczas przesyłania sygnału nawigacyjnego. W sieciach bez beaconów zużycie energii jest zdecydowanie asymetryczne: niektóre urządzenia są zawsze aktywne, podczas gdy inne spędzają większość czasu na spaniu.

oprócz Smart Energy Profile 2.0, urządzenia Zigbee muszą być zgodne ze STANDARDEM IEEE 802.15.4-2003 Low-rate Wireless Personal Area Network (LR-WPAN). Standard określa niższe warstwy protokołu-warstwę fizyczną (PHY) i część kontroli dostępu do mediów warstwy łącza danych. Podstawowym trybem dostępu do kanałów jest carrier-sense multiple access z unikaniem kolizji (CSMA / CA). Oznacza to, że węzły komunikują się w sposób nieco analogiczny do sposobu, w jaki ludzie rozmawiają: węzeł krótko sprawdza, czy inne węzły nie rozmawiają, zanim się zacznie. CSMA / CA nie jest używany w trzech znaczących wyjątkach:

  • potwierdzenia wiadomości
  • beacony są wysyłane według ustalonego harmonogramu.
  • urządzenia w sieciach z obsługą beaconów, które mają niskie opóźnienia, wymagania czasu rzeczywistego mogą również korzystać z gwarantowanych szczelin czasowych.

warstwa Sieciowadytuj

głównymi funkcjami warstwy sieciowej są umożliwienie prawidłowego korzystania z podwarstwy MAC i zapewnienie odpowiedniego interfejsu do użytku przez następną górną warstwę, a mianowicie warstwę aplikacji. Jego możliwości i struktura są zwykle związane z takimi warstwami sieci, w tym routingiem. Funkcja warstwy sieciowej jest dokładnie taka, jak się wydaje; zajmuje się funkcjami sieciowymi, takimi jak łączenie, rozłączanie i konfigurowanie sieci. Spowoduje to dodanie sieci, przydzielenie adresów oraz dodanie i usunięcie niektórych urządzeń. Warstwa ta wykorzystuje topologie gwiazd, siatek i drzew. Dodaje interfejs do warstwy aplikacji.

z jednej strony encja danych tworzy i zarządza jednostkami danych warstwy sieciowej z ładunku warstwy aplikacji i wykonuje routing zgodnie z aktualną topologią. Z drugiej strony istnieje kontrola warstwy, która służy do obsługi konfiguracji nowych urządzeń i ustanawiania nowych sieci: może określić, czy sąsiednie urządzenie należy do sieci i wykrywa nowych sąsiadów i routery. Sterowanie może również wykryć obecność odbiornika, co umożliwia bezpośrednią komunikację i synchronizację MAC.

protokołem routingu używanym przez warstwę sieciową jest aodv. W AODV, aby znaleźć urządzenie docelowe, aodv wysyła żądanie trasy do wszystkich swoich sąsiadów. Następnie sąsiedzi przekazują prośbę swoim sąsiadom i dalej, aż do osiągnięcia celu. Po dotarciu do celu wysyła odpowiedź trasy za pośrednictwem transmisji unicast po najniższej ścieżce kosztowej z powrotem do źródła. Gdy źródło otrzyma odpowiedź, zaktualizuje swoją tabelę routingu dla adresu docelowego następnego skoku w ścieżce i kosztu ścieżki.

warstwa aplikacji

warstwa aplikacji jest warstwą najwyższego poziomu zdefiniowaną przez specyfikację i jest efektywnym interfejsem systemu Zigbee dla jego użytkowników końcowych. Zawiera większość komponentów dodanych przez specyfikację Zigbee: zarówno ZDO, jak i jego procedury zarządzania, wraz z obiektami aplikacji zdefiniowanymi przez producenta, są uważane za część tej warstwy. Ta warstwa wiąże tabele, wysyła wiadomości między powiązanymi urządzeniami, zarządza adresami grup, ponownie składa Pakiety, a także transportuje dane. Jest odpowiedzialny za świadczenie usług na rzecz profili urządzeń Zigbee.

główne komponentyedytuj

ZDO (ZigBee device object), protokół w stosie protokołów ZigBee, jest odpowiedzialny za ogólne zarządzanie urządzeniami, klucze bezpieczeństwa i zasady. Jest odpowiedzialny za zdefiniowanie roli urządzenia jako koordynatora lub urządzenia końcowego, jak wspomniano powyżej, ale także za odkrywanie nowych (one-hop) urządzeń w sieci i identyfikację ich oferowanych usług. Następnie może nawiązać bezpieczne połączenia z urządzeniami zewnętrznymi i odpowiednio odpowiadać na wiążące żądania.

podlayer wsparcia aplikacji (APS) jest drugim głównym standardowym komponentem warstwy i jako taki oferuje dobrze zdefiniowany interfejs i usługi sterowania. Działa jako pomost między warstwą sieciową a innymi elementami warstwy aplikacji: przechowuje aktualne tabele wiążące w postaci bazy danych, za pomocą której można znaleźć odpowiednie urządzenia w zależności od usług, które są potrzebne i które oferują różne urządzenia. Jako związek między obydwoma podanymi warstwami, kieruje również wiadomości między warstwami stosu protokołów.

modele Komunikacjiedit

ZigBee wysokopoziomowy model komunikacji

aplikacja może składać się z komunikujących się obiektów, które współpracują ze sobą w celu realizacji żądanych zadań. Celem Zigbee jest dystrybucja pracy między wieloma różnymi urządzeniami, które znajdują się w poszczególnych węzłach Zigbee, które z kolei tworzą sieć (wspomniana praca będzie zazwyczaj w dużej mierze lokalna dla każdego urządzenia, na przykład kontrola każdego urządzenia gospodarstwa domowego).

zbiór obiektów tworzących sieć komunikuje się za pomocą udogodnień udostępnianych przez APS, nadzorowanych przez interfejsy ZDO. Usługa danych warstwy aplikacji opiera się na typowej strukturze żądanie-potwierdzenie/wskazanie-odpowiedź. W obrębie jednego urządzenia może istnieć do 240 obiektów aplikacji, ponumerowanych w zakresie od 1 do 240. 0 jest zarezerwowane dla interfejsu danych ZDO i 255 dla transmisji; zakres 241-254 nie jest obecnie używany, ale może być w przyszłości.

dostępne są dwie usługi dla obiektów aplikacji (w Zigbee 1.0):

  • usługa pary klucz-wartość (KVP) jest przeznaczona do celów konfiguracyjnych. Umożliwia opis, żądanie i modyfikację atrybutu obiektu poprzez prosty interfejs oparty na inicjałach getting / set I event, niektóre zezwalają na żądanie odpowiedzi. Konfiguracja wykorzystuje skompresowany XML (można użyć pełnego XML), aby zapewnić elastyczne i eleganckie rozwiązanie.
  • usługa wiadomości została zaprojektowana tak, aby oferować ogólne podejście do przetwarzania informacji, unikając konieczności dostosowywania protokołów aplikacji i potencjalnych kosztów ponoszonych przez KVP. Umożliwia przesyłanie dowolnych ładunków przez ramki APS.

adresowanie jest również częścią warstwy aplikacji. Węzeł sieci składa się z nadajnika radiowego zgodnego z 802.15.4 i jednego lub więcej opisów urządzeń (zasadniczo zbiory atrybutów, które mogą być ankietowane lub ustawiane, lub które mogą być monitorowane za pomocą zdarzeń). Urządzenie nadawczo-odbiorcze jest podstawą adresacji, a urządzenia w węźle są określone przez identyfikator punktu końcowego w zakresie 1-240.

Komunikacja i wykrywanie urządzeniaedit

aby aplikacje mogły się komunikować, ich urządzenia muszą używać wspólnego protokołu aplikacji (rodzaje wiadomości, formaty itd.); Te zestawy konwencji są zgrupowane w profilach. Ponadto o powiązaniu decyduje dopasowanie identyfikatorów klastra wejściowego i wyjściowego, unikalnych w kontekście danego profilu i powiązanych z przepływem danych przychodzących lub wychodzących w urządzeniu. Tabele wiązania zawierają pary źródłowe i docelowe.

w zależności od dostępnych informacji, wykrywanie urządzeń może przebiegać różnymi metodami. Gdy adres sieciowy jest znany, adres IEEE może być żądany za pomocą komunikacji unicast. Gdy tak nie jest, petycje są nadawane (adres IEEE jest częścią ładunku odpowiedzi). Urządzenia końcowe po prostu odpowiedzą żądanym adresem, podczas gdy koordynator sieci lub router wyśle również adresy wszystkich powiązanych z nim urządzeń.

Ten Rozszerzony protokół wykrywania pozwala zewnętrznym urządzeniom dowiedzieć się o urządzeniach w sieci i oferowanych przez nie usługach, które punkty końcowe mogą zgłaszać po zapytaniu przez urządzenie wykrywające (które wcześniej uzyskało ich adresy). Można również korzystać z usług dopasowywania.

użycie identyfikatorów klastra wymusza powiązanie komplementarnych podmiotów za pomocą tabel wiążących, które są utrzymywane przez koordynatorów Zigbee, ponieważ tabela musi być zawsze dostępna w sieci, a koordynatorzy najprawdopodobniej będą mieli Stałe zasilanie. Niektóre aplikacje mogą potrzebować kopii zapasowych zarządzanych przez warstwy wyższego poziomu. Wiązanie wymaga ustanowienia łącza komunikacyjnego; po jego istnieniu decyduje się, czy dodać nowy węzeł do sieci, zgodnie z Polityką aplikacji i bezpieczeństwa.

komunikacja może nastąpić zaraz po stowarzyszeniu. Adresowanie bezpośrednie wykorzystuje zarówno adres radiowy, jak i identyfikator punktu końcowego, podczas gdy adresowanie pośrednie wykorzystuje każde odpowiednie pole (adres, punkt końcowy, klaster i atrybut) i wymaga, aby były one wysyłane do koordynatora sieci, który utrzymuje skojarzenia i tłumaczy żądania komunikacji. Adresowanie pośrednie jest szczególnie przydatne, aby niektóre urządzenia były bardzo proste i zminimalizować ich zapotrzebowanie na pamięć masową. Oprócz tych dwóch metod dostępna jest transmisja do wszystkich punktów końcowych w urządzeniu, a adresowanie grupowe służy do komunikacji z grupami punktów końcowych należącymi do zestawu urządzeń.