- Architektura ZigBee:
- Transmisja danych w ZigBee
- Podstawy sieci dla routerów Xbee i Koordynatora
- Inna topologia sieci w ZigBee
- Oprogramowanie układowe Xbee
- Polecenia XBee AT:
Generalnie wiele osób myli się z dwoma terminami XBee i ZigBee, większość z nich używa ich zamiennie. Ale w rzeczywistości tak nie jest; ZigBee to standardowy protokół sieci bezprzewodowej. Podczas gdy XBee to produkt obsługujący różne protokoły komunikacji bezprzewodowej, w tym ZigBee, Wi-Fi (moduł Wi-Fly), 802.15.4, moduł 868 MHz itp. Tutaj koncentrujemy się głównie na module RF Xbee / Xbee-PRO ZB, który składa się z: oprogramowania ZigBee.
Wystarczy pomyśleć o kalkulatorze w komputerze, w którym złożone obliczenia są wykonywane z przyjaznym dla użytkownika interfejsem. Zadanie byłoby bardzo trudne i żmudne, gdyby dostępny był tylko sprzęt. Zatem na najwyższym poziomie dostępność oprogramowania ułatwia proces rozwiązywania problemów. Cały proces jest podzielony na warstwy oprogramowania przez rzeczywisty sprzęt, który jest wywoływany przez wyższe poziomy.
W życiu codziennym używamy nawet koncepcji warstw. Na przykład wysyłanie kuriera / listu do domu znajomego, wysyłanie wiadomości e-mail z jednego punktu świata do drugiego. Podobnie, większość nowoczesnych protokołów sieciowych wykorzystuje nawet koncepcję warstw w celu rozdzielenia różnych komponentów oprogramowania na niezależne moduły, które można składać na różne sposoby. Być może trzeba będzie ubrudzić sobie ręce, aby dogłębnie zrozumieć architekturę Xbee, ale sprawimy, że wszystko będzie dla Ciebie bardzo proste.
Zacznijmy od kilku podstawowych terminów, takich jak routing, unikanie kolizji i potwierdzanie. Aby zrozumieć pierwszy termin, użyj jego nazwy, „trasa”, co oznacza śledzenie lub identyfikację ścieżki. W sieci, routing oznacza zapewnienie kierunku danych z węzła źródłowego do węzła docelowego. Gdy dwa węzły w sieci próbują transmitować jednocześnie, stwarza sytuację zwaną kolizją. Tak więc, generalnie technika wielokrotnego dostępu z wykrywaniem nośnika z unikaniem kolizji (CSMA / CA) w celu uniknięcia kolizji, możesz dowiedzieć się więcej o CSMA, korzystając z tego łącza. Zasadniczo w nim węzły mówią w ten sam sposób, co rozmowa ludzka; krótko sprawdzają, czy nikt nie mówi, zanim zaczną wysyłać dane.
Jeśli odbiornik pomyślnie odbierze przesłane dane, potwierdza nadajnik. Przepływ danych nie może przytłoczyć odbiornika radiowego. Każde radio odbierające ma ograniczoną prędkość, z jaką może przetwarzać przychodzące dane i ograniczoną ilość pamięci, w której może przechowywać przychodzące dane.
Architektura ZigBee:
W stosie ZigBee dostępne są cztery główne warstwy: warstwa fizyczna, warstwa dostępu do mediów, warstwa sieciowa i warstwa aplikacji.
Warstwa aplikacji definiuje różne obiekty adresujące, w tym profile, klastry i punkty końcowe. Możesz zobaczyć warstwy stosu ZigBee na powyższym rysunku.
Warstwa sieci: dodaje możliwości routingu, które pozwalają pakietom danych RF przechodzić przez wiele urządzeń (wiele „przeskoków”) w celu kierowania danych ze źródła do miejsca docelowego (każdy z każdym).
Warstwa MAC zarządza transakcjami danych RF między sąsiednimi urządzeniami (punkt do punktu). MAC obejmuje takie usługi, jak zarządzanie ponowieniem transmisji i potwierdzeniem oraz techniki unikania kolizji.
Warstwa fizyczna: określa, w jaki sposób urządzenia są połączone w celu utworzenia sieci; określa moc wyjściową, liczbę kanałów i szybkość transmisji. Większość aplikacji ZigBee działa w paśmie ISM 2,4 GHz przy szybkości transmisji 250 kb / s.
Większość rodzin XBee ma wbudowane linie sterowania przepływem, we / wy, A / D i wskaźniki, które można skonfigurować za pomocą odpowiednich poleceń. Próbki analogowe są zwracane jako wartości 10-bitowe. Odczyt analogowy jest skalowany w taki sposób, że 0x0000 reprezentuje 0 V, a 0x3FF = 1,2 V. (Wejścia analogowe w module nie mogą przekraczać 1,2 V)
Aby przekonwertować odczyt A / D na mV, wykonaj następujące czynności:
AD (mV) = (odczyt A / D * 1200mV) / 1023
Transmisja danych w ZigBee
Możesz zadzwonić do sieci jako połączenie oprogramowania i sprzętu, które jest w stanie przesyłać dane z jednego miejsca do drugiego. Sprzęt jest odpowiedzialny za przenoszenie sygnałów z jednego punktu sieci do drugiego. Oprogramowanie składa się z zestawów instrukcji, które umożliwiają pracę zgodnie z naszymi oczekiwaniami.
Generalnie transmisja danych przez pakiety ZigBee może odbywać się na dwa sposoby: unicast i broadcast.
Transmisja rozgłoszeniowa:
W prostych słowach „Nadawanie” oznacza informację / program transmitowany przez radio lub telewizję. Innymi słowy, transmisje rozgłoszeniowe są wysyłane do wielu lub wszystkich urządzeń w sieci. Transmisje rozgłoszeniowe z protokołem ZigBee są propagowane w całej sieci tak, że wszystkie węzły odbierają transmisję. Aby to osiągnąć, koordynator i wszystkie routery odbierające transmisję rozgłoszeniową trzykrotnie retransmitują pakiet.
Transmisja pojedyncza:
Transmisje Unicast w ZigBee kierują dane z jednego urządzenia źródłowego do innego urządzenia docelowego. Urządzenie docelowe może być bezpośrednim sąsiadem urządzenia źródłowego lub może mieć kilka przeskoków między drogą. Przykład pokazano poniżej na rysunku wyjaśniającym mechanizm rozpoznawania niezawodności łącza dwukierunkowego.
Podstawy sieci dla routerów Xbee i Koordynatora
Czego potrzebujesz, aby dotrzeć do domu znajomego? Potrzebujesz tylko jego adresu. Podobnie, aby przesłać dane z jednego modułu Xbee do drugiego, potrzebujesz jego unikalnego adresu. Podobnie jak w przypadku ludzi, Xbee ma nawet kilka adresów, z których każdy pełni określoną rolę w sieci. Istnieją dwa typy adresów Adres statyczny (adres 64-bitowy) i adres dynamiczny (adres 16-bitowy).
Adresy:
64-bitowy adres jest uniwersalny i unikalny; jest on umocowany przez producenta wewnątrz modułu Xbee. Żadne inne radio ZigBee na ziemi nie będzie miało tego samego adresu statycznego, z tyłu każdego modułu xbee można zobaczyć ten adres, jak pokazano poniżej, a zwłaszcza wyższa część adresu „0013A200” jest taka sama dla każdego modułu xbee.
Urządzenie otrzymuje 16-bitowy adres, który powinien być unikalny lokalnie, kiedy dołącza do sieci ZigBee. 16-bitowy adres 0x0000 jest zarezerwowany dla koordynatora. Wszystkie inne urządzenia otrzymują losowo wygenerowany adres z routera lub urządzenia koordynującego, który umożliwia połączenie. 16-bitowy adres może się zmienić, gdy okaże się, że dwa urządzenia mają ten sam 16-bitowy adres lub urządzenie opuszcza sieć i później się łączy (może otrzymać inny adres).
Identyfikator węzła:
Naszemu mózgowi zawsze łatwiej jest zapamiętać ciągi znaków zamiast liczb. Stąd każdemu modułowi Xbee w sieci można przypisać identyfikator węzła. Identyfikator węzła to zbiór znaków, czyli ciągów znaków, które mogą być bardziej przyjaznym dla człowieka sposobem adresowania węzła w sieci.
Sieci osobiste:
Sieci tworzone przez te moduły Xbee nazywane są sieciami osobistymi lub sieciami PAN. Każda sieć ma unikalny identyfikator PAN (identyfikator PAN). Ten identyfikator jest wspólny dla wszystkich urządzeń w tej samej sieci. ZigBee obsługuje zarówno 64-bitowy, jak i 16-bitowy identyfikator PAN. Oba adresy PAN służą do jednoznacznej identyfikacji sieci. Urządzenia w tej samej sieci ZigBee muszą mieć te same 64-bitowe i 16-bitowe identyfikatory PAN. Jeśli kilka sieci ZigBee działa w swoim zasięgu, każda z nich powinna mieć unikalne identyfikatory PAN.
16-bitowy identyfikator PAN jest używany do adresowania warstwy MAC we wszystkich transmisjach danych RF między urządzeniami w sieci. Jednak ze względu na ograniczoną przestrzeń adresową 16-bitowego identyfikatora PAN (65 535 możliwości) może istnieć możliwość, że wiele sieci ZigBee (znajdujących się w swoim zasięgu) może mieć ten sam 16-bitowy identyfikator PAN. Aby rozwiązać te konflikty, ZigBee Alliance utworzyło 64-bitowy identyfikator PAN. ZigBee definiuje trzy różne typy urządzeń: koordynator, router i urządzenie końcowe.
W każdej sieci wymagany jest zawsze jeden koordynator do pobierania opłat za utworzenie sieci. Więc nigdy nie może spać. Odpowiada również za wybór kanału i identyfikatora PAN (zarówno 64-bitowego, jak i 16-bitowego) do uruchomienia sieci. Umożliwia podłączenie routerów i urządzeń końcowych do sieci. Może pomóc w routingu danych w sieci.
W sieci może być wiele routerów. Jeden router może odbierać sygnały z innych routerów / EP (punktów końcowych). Nie może też nigdy spać. Musi dołączyć do Zigbee PAN, zanim będzie mógł przesyłać, odbierać lub kierować dane. Po dołączeniu może pozwolić routerom i urządzeniom końcowym na dołączanie do sieci. Po dołączeniu może również pomóc w trasowaniu danych. Może buforować pakiety danych RF dla uśpionych urządzeń końcowych.
Może być również wiele punktów końcowych. Może przejść w tryb uśpienia, aby oszczędzać energię. Musi dołączyć do ZigBee PAN, zanim będzie mógł przesyłać lub odbierać dane i nie może nawet pozwolić urządzeniom na dołączenie do sieci. Transmisja / odbieranie danych zależy od rodzica.
Ponieważ urządzenie końcowe może przejść w tryb uśpienia, urządzenie nadrzędne musi buforować lub wstrzymywać przychodzące pakiety danych, aż urządzenie końcowe zostanie obudzone i odebrane.
Inna topologia sieci w ZigBee
Topologia sieci odnosi się do sposobu, w jaki została zaprojektowana sieć. Tutaj topologia jest geometryczną reprezentacją relacji wszystkich łączy i urządzeń łączących (koordynator, router i urządzenia końcowe) między sobą.
Tutaj mamy cztery podstawowe siatki topologii, gwiazdę, hybrydę i drzewo.
W topologii siatki każdy węzeł jest połączony ze sobą, oczekując urządzenia końcowego, ponieważ urządzenia końcowe nie mogą się bezpośrednio komunikować. Aby umożliwić prostą komunikację między dwoma radiotelefonami ZB, musisz skonfigurować jedno z oprogramowaniem układowym koordynatora, a drugie z oprogramowaniem układowym routera lub punktu końcowego. Główną zaletą sieci Mesh jest to, że jeśli jedno z łączy stanie się bezużyteczne, nie powoduje to obezwładnienia całego systemu.
W topologii gwiazdy każde urządzenie ma dedykowane połączenie typu punkt-punkt z centralnym sterownikiem (koordynatorem). Wszystkie urządzenia nie są ze sobą bezpośrednio połączone. W przeciwieństwie do topologii siatki, w topologii gwiazdy jedno urządzenie nie może wysłać niczego bezpośrednio do innego urządzenia. Koordynator lub hub jest do wymiany: jeśli jedno urządzenie chce wysłać dane do innego, wysyła je do koordynatora, który następnie przesyła dane do urządzenia docelowego.
Sieć hybrydowa to sieci, które zawierają dwa lub więcej typów standardów komunikacyjnych. Tutaj sieć hybrydowa jest połączeniem sieci gwiazdy i drzewa, niewiele urządzeń końcowych jest podłączonych bezpośrednio do węzła koordynującego, a inne urządzenia końcowe potrzebują pomocy węzła nadrzędnego, aby otrzymać dane.
W sieci Tree routery tworzą szkielet i urządzenia końcowe, generalnie skupione wokół każdego routera. Nie różni się zbytnio od konfiguracji kratowej, z wyjątkiem faktu, że routery nie są ze sobą połączone. Sieci te można zwizualizować, korzystając z powyższego rysunku.
Oprogramowanie układowe Xbee
Moduł programowalny XBee jest wyposażony w procesor aplikacji o dowolnej skali. Ten procesor aplikacji jest dostarczany z programem ładującym. To oprogramowanie układowe XBee ZV jest oparte na stosie Embernet 3.xx ZigBee-PRO, moduły XBee-Znet 2.5 można zaktualizować do tej funkcji. Oprogramowanie można sprawdzić za pomocą polecenia ATVR, które omówimy w dalszej części rozdziału. Numery wersji XBee będą miały 4 cyfry znaczące. Numer wersji można również zobaczyć za pomocą polecenia ATVR. Odpowiedź zwraca 3 lub 4 liczby. Wszystkie liczby są szesnastkowe i mogą mieć zakres od 0 do 0xF. Wersja jest zgłaszana jako „ABCD”. Cyfry ABC to główny numer wydania, a D to numer wersji z głównego wydania. API omówione w rozdziale 4 i komendy AT są prawie takie same dla oprogramowania układowego Znet 2.5 i ZB.
W telekomunikacji całe polecenie Hayesa to specyficzne dla języka polecenia opracowane dla modemu Hayes Smart Modem, 1981 r. Były to serie krótkich słów do sterowania modemem, co w tamtych czasach upraszczało komunikację i konfigurowanie modemu.
XBee działa również w trybie poleceń i wyłączył komendy AT, co oznacza UWAGA, polecenia te mogą być wysyłane do XBee przez terminale XBee i AT skonfigurowane radia XBee mają dwa tryby komunikacji
Przezroczysty: Radio przekazuje otrzymane informacje tylko do zdalnego adresu radiowego, na który zostało skonfigurowane. Dane przesyłane przez port szeregowy są odbierane przez XBee bez zmian.
Polecenie: Ten tryb służy do rozmowy z radiem i konfiguracji niektórych wstępnie skonfigurowanych trybów, komunikujemy się z modułami w tych trybach i zmieniamy konfigurację.
Możesz wpisać +++ i poczekać jedną sekundę bez naciskania jakichkolwiek innych przycisków, komunikat OK powinien wtedy pojawić się jako obraz terminala. Po OK, XBee mówi nam, że spędził w trybie COMMAND i jest gotowy do otrzymywania wiadomości konfiguracyjnych.
Polecenia XBee AT:
AT (TEST): To jest polecenie testowe, aby sprawdzić, czy moduł odpowiada OK, ponieważ odpowiedź potwierdza to samo.
ATDH: Adres docelowy wysoki. Aby skonfigurować górne 32 bity 64-bitowego adresu docelowego, połączenie DL i DH daje 64-bitowy adres docelowy.
ATDL: adres docelowy niski. To znowu do konfigurowania niższych 32 bitów 64-bitowego adresu docelowego.
ATID: To polecenie zmienia identyfikator PAN (Pers ID to 4 bajty szesnastkowe i może wynosić od 0000 do FFFF
ATWR: Napisz. Zapisz wartości parametrów w pamięci nieulotnej, aby modyfikacje parametrów były zachowywane podczas kolejnych resetowań.
Uwaga: Po wydaniu WR do modułu nie należy przesyłać żadnych dodatkowych znaków do
Po otrzymaniu odpowiedzi „OK \ r”.
ATRE (Restore Defaults): Przywraca ustawienia fabryczne modułu, jest bardzo przydatne, jeśli moduł nie odpowiada.
Jeśli chcesz dowiedzieć się więcej o modułach ZigBee, oto świetne źródło informacji od Digi.