AVT-5313_cz1.pdf
(
3932 KB
)
Pobierz
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
PROJEKTY
System sterowania
inteligentnego budynku
z interfejsem ZigBee (1)
AVT
5313
W swojej praktyce inżynierskiej
już dwukrotnie podejmowałem
wyzwanie zaprojektowania
systemu automatyzacji
różnych procesów związanych
z utrzymaniem mieszkania,
lecz za każdym razem był
on kompromisem pomiędzy
ceną a funkcjonalnością.
Głównym ograniczeniem była
jak zwykle cena dobrej klasy
modułów do bezprzewodowej
transmisji sygnałów, która
nawet w przypadku dość
nieskomplikowanych podzespołów
dochodziła do 70 złotych. Na
szczęście ten okres mamy już
za sobą i dzisiaj za cenę
około 50 złotych można kupić
zaawansowany technicznie
moduł ZigBee, który swoją
funkcjonalnością przewyższa
tradycyjny moduł RF, rzec by
można, o kilka dekad rozwoju
technologii transmisji. Czas
więc na projekt zaawansowany,
w pełni konigurowalny
i pozbawiony wielu poprzednich
ograniczeń, a dodatkowo
wyposażony w ultranowoczesny
interfejs użytkownika –
intelliDom
.
Rekomendacje:
urządzenie
przyda się wszystkim
domatorom-majsterkowiczom,
którzy chcą uczynić swoje
mieszkanie jeszcze bardziej
funkcjonalnym.
dla przeciętnego użytkownika. Czasy zmie-
niają się i to, co jeszcze kilka lat temu było
poza zasięgiem technicznych i inansowych
możliwości większości z nas, nadciąga dzi-
siaj ku nam wielkimi krokami. To wszystko
za sprawą inteligentnych technologii oraz
stałego, dynamicznego rozwoju mikrokon-
trolerów, czego najlepszym przykładem
może być technologia ZigBee.
nawet kilka lat), nieskomplikowaną i tanią
budową oraz ograniczonym zasięgiem (zwy-
kle rzędu kilkudziesięciu metrów). Specyika-
cja protokołu transmisji oparta na standardzie
IEEE 802.15.4 podlega ciągłemu rozwojowi,
za który jest odpowiedzialna grupa zrzesza-
jąca ponad 150 irm z całego świata, stowa-
rzyszona pod nazwą ZigBee Alliance (wśród
nich znajdują się tacy giganci, jak Intel, Phi-
lips, Motorola czy Samsung). Dla przykładu,
w tej chwili ZigBee Alliance pracuje nad
standardem, dzięki któremu bezprzewodowe
produkty ZigBee będą mogły pracować bez
baterii, pobierając energię wyłącznie z otocze-
nia (dzięki zastosowaniu specjalnego układu,
który przetworzy na prąd elektryczny wibra-
cje, ruch, światło czy fale radiowe). Bezprze-
wodowa transmisja pakietów danych, w ra-
mach specyikacji ZigBee, odbywać się może
w nielicencjonowanych pasmach 868 MHz,
915 MHz lub 2,4 GHz, przy czym komunikacja
ta charakteryzuje się niewielkimi przepływ-
nościami danych (do 250 kbps). W paśmie
2,4 GHz przewidziano 16 kanałów szerokości
5 MHz. Specyikacja ZigBee określa ponadto
w sposób szczegółowy parametry wszystkich
Podstawy ZigBee
Aby w pełni zrozumieć zasadę działania
i sposób konigurowania tego typu systemów
należy choćby pokrótce opisać technologię,
dzięki której stała się możliwa budowa tak
zaawansowanego systemu. ZigBee jest stan-
dardem bezprzewodowej transmisji danych
w sieciach PAN (
Personal Area Network
).
Transmisja może odbywać się w topologiach:
mesh, gwiazda, drzewo lub
peer-to-peer.
Zig-
Bee jest przeznaczone do budowy np. sieci
automatyki domowej, systemów monitoringu
i kontroli dostępu, systemów kontrolnych czy
bezprzewodowych sieci pomiarowych. Sieci
ZigBee charakteryzują się małym poborem
energii (czas pracy na zasilaniu bateryjnym
Inteligentny dom
– to słowo-klucz do
niedawna kojarzyło się ze wspaniałą, uży-
teczną technologią przyszłości, niedostępną
24
ELEKTRONIKA PRAKTYCZNA 10/2011
System sterowania inteligentnego budynku z interfejsem ZigBee
AVT-5313 w ofercie AVT:
AVT-5313A – płytka drukowana
Podstawowe informacje:
• Ustawienia ważniejszych FUSE BIT’ów
(sterownik główny):
CKSEL3..0: 1111
SUT1..0: 11
JTAGEN: 1
CKDIV8: 1
EESAVE: 0
• Ustawienia ważniejszych FUSE BIT’ów (moduł
pokojowy):
CKSEL3..0: 1111
SUT1..0: 11
• Napięcie zasilania modułów: 230 V
AC
.
• Moduł sterownika i moduły wykonawcze.
• Sterowanie maksymalnie 8 modułami
wykonawczymi za pomocą kontrolera
z wyświetlaczem TFT i panelem dotykowym.
• Nowoczesny design, sterowanie za pomocą
interfejsu dotykowego.
• Komunikacja za pomocą sieci ZigBee (moduły
Telegesis ETRX357).
za tym idzie
zmieniły swoich ro-
dziców i dzieci) oraz buforowanie
danych jest poza użytkownikiem tzn. dla
typowych aplikacji cały ten proces nie musi
być znany, wystarczy znać adres urządzenia
(sprzętowy EUI64 lub sieciowy NodeID), do
którego chcemy przesłać dane, a cała droga
transmisji (routing) i mechanizm, który na-
leży zastosować nie jest już naszym zmar-
twieniem. O to dba specyikacja stosu ZigBee
i oprogramowanie producenta konkretnego
modułu ZigBee (tzw. irmware).
Słowa wyjaśnienia wymagają jeszcze po-
jęcia „rodzic” i „dziecko” w znaczeniu specy-
ikacji ZigBee. Wyobraźmy sobie sytuację, że
włączamy zasilanie nowego modułu ZigBee
w związku, z czym nastąpi próba połączenia
go z istniejącą siecią. W takim wypadku mo-
duł ten musi połączyć się z obecnym w sieci
innym modułem ZigBee. To właśnie ten już
włączony do sieci moduł spełnia funkcje ro-
dzica dla podłączającego się modułu – łączy
go z innymi urządzeniami i przekazuje mu
adres sieciowy. W takim przypadku nowo
podłączony moduł jest właśnie dzieckiem
dla modułu, z którym się połączył. Biorąc to
pod uwagę należy przypomnieć, że:
• Koordynator może być tylko rodzicem –
jest on pierwszym urządzeniem w sieci.
• Router może być jednocześnie rodzicem
i dzieckiem dla innych modułów.
• Urządzenie końcowe może być tylko
dzieckiem.
• Koordynator i router nie mogą przejść
w tryb uśpienia, gdyż muszą spełniać
swoje zadania zarządzania siecią.
Na rysunku
rysunku
1
przedstawiono
przykładowe koniguracje pracy sieci ZigBee.
Na tym etapie dysponujemy podstawo-
wą wiedzą na temat specyikacji technolo-
gii ZigBee. Pora więc na wybór konkretnego
rozwiązania sprzętowego (modułu) z długiej
listy urządzeń dostępnych na rynku.
Podstawowym założeniem przyświeca-
jącym wyborowi modułu ZigBee była chęć
posiadania urządzenia, które jest dość rozbu-
dowane pod względem sprzętowym, a zara-
zem łatwe do koniguracji i obsługi. Ideałem
Dodatkowe informacje:
• Prezentację wideo demonstrującą
funkcjonowanie systemu intelliDom można
obejrzeć na stronie internetowej
http://www.
youtube.com/watch?v=lcYnrZms7l8
warstw izycznych i programowych interfej-
su danych jak również deiniuje mechanizmy
bezpieczeństwa (możliwe jest użycie 128-bi-
towego szyfrowania AES) i zarządzania siecią
minimalizując niezbędne działania po stronie
użytkownika. Nie zagłębiając się w detale
skomplikowanych mechanizmów warstwy
sprzętowej należy zauważyć, że urządzenia
ZigBee można podzielić na 3 typy:
• koordynator (ZigBee Coordinator – ZC):
w każdej sieci ZigBee może występować
tylko jeden koordynator, który służy jako
węzeł początkowy (zapoczątkowujący
tworzenie sieci), i do którego to mogą
się przyłączać pozostałe urządzenia. Ko-
ordynaor zazwyczaj pełni rolę urządze-
nia zbierającego dane i zarządzającego
utrzymaniem sieci (jego adres sieciowy
NodeID równy jest zawsze 0x0000).
• router (ZigBee Router – ZR): to urządze-
nie które zarządza przekazywaniem pa-
kietów danych pomiędzy modułami Zig-
Bee ale może też posiadać pełną funkcjo-
nalnośc urządzenia końcowego. Router
może być jednocześnie tzw. rodzicem
(dla urządzeń do niego przyłączonych)
jak i tzw. dzieckiem (dla urządzeń, do
których jest przyłączony).
• urządzenie końcowe (ZigBee End Device
– ZED): zwykle jest urządzeniem wyko-
nawczym/pomiarowym, które okresowo
odbiera lub przesyła dane do routera, do
którego jest przyłączone a resztę czasu
jest usypiane w celu zmniejszenia zuży-
cia energii. Urządzenie końcowe może
komunikować się z innymi modułami
tylko za pośrednictwem swojego rodzica.
Z punktu widzenia użytkownika najważ-
niejsze jest, iż cały skomplikowany mecha-
nizm utrzymania sieci, przekierowywania
pakietów danych, znajdowania nowych dróg
transmisji pomiędzy urządzeniami wymie-
niającymi dane (np. urządzeniami mobil-
nymi, jeśli zmieniły swoje położenie a co
Dodatkowe materiały na CD/FTP:
ftp://ep.com.pl
, user:
14464
, pass:
87f371o5
• wzory płytek PCB
• karty katalogowe i noty aplikacyjne
elementów oznaczonych w
Wykazie
elementów
kolorem czerwonym
Projekty pokrewne na CD/FTP:
(wymienione artykuły są w całości dostępne na CD)
AVT5276 RadioTherm – Bezprzewodowy
system pomiaru i kontroli
temperatury (EP 2/2011)
byłoby aby takie urządzenie było wyposażo-
no w szereg automatycznych mechanizmów
realizowanych przez nie samodzielnie (np.
jako wynik predeiniowanych zdarzeń), co
przyczyniłoby się do uproszczenia programu
obsługi po stronie aplikacji systemu docelo-
wego lub umożliwiłoby budowę takiego sys-
temu nawet bez udziału dedykowanego mi-
krokontrolera. Oczywiście, nie bez znacze-
nia pozostawał aspekt inansowy. Po długich
poszukiwaniach i przejrzeniu tomów doku-
mentacji wybór padł na moduł ETRX357
produkowany przez irmę Telegesis (UK)
Limited (
www.telegesis.com
). Nie dość, że
spełnia wymagania z dużym zapasem, to do-
datkowo irma Telegesis dostarcza doskonałe
oprogramowanie Telegesis Terminal, wspar-
cie techniczne (w tym miejscu serdeczne
REKLAMA
25
ELEKTRONIKA PRAKTYCZNA 10/2011
PROJEKTY
podziękowania dla Pana Davida Chalmersa)
i środowisko testowe.
Moduł ETRX357 charakteryzuje się na-
stępującymi, wybranymi cechami funkcjo-
nalnymi:
• wbudowany mikrokontroler sterujący
ARM Cortex-M3 ze 192 kB pamięci Flash
i 12 kB pamięci RAM (implementacja
stosu EmberZNet ZigBee stack),
• Szeroki zakres napięć zasilających (2,1
do 3,6 V),
• mały pobór prądu w trybie uśpienia (ok.
1 MA),
• może pracować jako urządzenie końco-
we, router lub koordynator,
• 24 linie I/O,
• 6-wejściowy przetwornik ADC,
• 4 wejścia przerwań zewnętrznych,
• 8 układów czasowo-licznikowych,
• 14 konigurowalnych zdarzeń sprzęto-
wych mogących generować automatycz-
ne akcje,
• zestaw 50 akcji automatycznych reali-
zowanych przez moduł samodzielnie po
wystąpieniu dedykowanego zdarzenia,
• możliwość pracy jako koncentrator danych
(funkcjonalność „sink” wprowadzona wy-
łącznie w modułach irmy Telegesis),
• wyspecjalizowana i wygodna w użyciu
lista komend sterujących AT,
• wysoka czułość toru radiowego
(–100 dBm) oraz odporność na współist-
niejące sieci WiFi i Bluetooth,
• sprzętowy mechanizm szyfrujący wyko-
rzystujący kodowanie AES-128,
• aktualizacja oprogramowania dzięki
wbudowanemu interfejsowi RS232 lub
poprzez sieć ZigBee,
• małe wymiary modułu i wygod-
ny w montażu rodzaj obudowy SMT
(25 mm×19 mm).
Te wszystkie cechy funkcjonalne spra-
wiły, że implementacja obsługi tego rodzaju
modułu jest dość łatwa, biorąc oczywiście
pod uwagę stopień skomplikowania samego
urządzenia i sprowadza się do odpowiednie-
go skonigurowania sprzętowych cech modu-
łu oraz reakcji na generowane komunikaty.
Rysunek 1. Przykładowe koniguracje pracy sieci typu ZigBee
Tabela 1. Składnia komendy A
T+N
Składnia komendy
Opis
AT+N?
Zapytanie o informacje o parametry pracy modułu ZigBee
+N=<devicetype>,<channel>,<power>,<PID>,<EPID>
lub
+N=NoPAN (w przypadku niepołączonego modułu)
Odpowiedź modułu (tylko lokalnie)
a następnie OK.
Komendy tej używamy w celu weryikacji czy lokalny moduł ZigBee jest już zalogowany do sieci
jak również w celu identyikacji głównych cech sprzętowych i sieciowych tegoż modułu.
Tabela 2. Składnia ko
mendy AT&F
Składnia komendy
Opis
AT&F Zerowanie urządzenia do ustawień fabrycznych
Odpowiedź modułu
Brak
Komendy tej używamy w celu przywrócenia wartości wszystkich rejestrów koniguracyjnych modułu
ZigBee do ich wartości domyślnych (fabrycznych). Ponadto, zastosowanie tej komendy powoduje
wylogowanie modułu z sieci ZigBee czyszcząc tablice Neighbour Table i Routing Table, w których
znajdują się informacje d
otyczące koniguracji sieci.
Opis komend AT modułów ZigBee
Moduły ZigBee irmy Telegesis mogą być
obsługiwane za pomocą komend AT. Każ-
da komenda wysyłana do modułu ZigBee
za pośrednictwem interfejsu RS232 musi
zaczynać się przedrostkiem AT a kończyć
znacznikiem
<CR>
(Carriage Return, heksa-
decymalnie 0x0D). Każda odpowiedź modu-
łu ZigBee na przesłane dane (jeśli jest ocze-
kiwana) ma następująca składnię:
<CR><LF><Komunikat><CR><LF>
CR to znak powrotu karetki (0x0D), nato-
miast LF to znak nowej linii (0x0A). Zaleca
się, aby przed każdym, kolejnym wysłaniem
komendy sterującej odczekać na poprawne
wykonanie poprzedniej komendy sygnali-
Tabela 3. Składnia komend ATS
Składnia komendy
Opis
ATSXX[b[b]]=<data>[,<password>] Zapis do rejestru koniguracyjnego lokalnego modułu ZigBee
OK(poprawnie dokonany zapis)
lub
ERROR:<errorcode> (w przypadku wystąpnienia błędu)
Komendy używamy do zapisania wartości do rejestru koniguracyjnego modułu ZigBee. Należy pa-
miętać, iż niektóre z tych rejestrów są chronione hasłem dostępu (wartość domyślna= password).
Parametr XX to numer rejestru, zaś parametr data to liczba szesnastkowa wpisywana do rejestru
XX (16- lub 32-bitowa, w zależności od specyikacji konkretnego rejestru koniguracyjnego). Ponad-
to, udostępniono możliwość zapisu (zmiany) wyłącznie wybranych bitów rejestrów koniguracyjnych,
których deskryptor określa parametr b (dla rejestrów 16-bitowych) lub bb (dla rejestrów 32-bito-
wych). Przykłady zastosowań:
ATS00=3FFC – zapis do 32-bitowego rejestru 0x00 wartości heksadecymalnej 0x3FFC
ATS0AE=1:password – ustawienie bitu nr 0x0E 16-bitowego rejestru 0x0A chronionego hasłem
dostępu
Odpowiedź modułu (tylko lokalnie)
26
ELEKTRONIKA PRAKTYCZNA 10/2011
System sterowania inteligentnego budynku z interfejsem ZigBee
Tabela 6. Składnia komendy AT+UCAST
Składnia komendy
zowane ciągiem:
<CR><LF>OK<CR><LF>
lub
<CR><LF>ER-
ROR:XX<CR><LF>
(w wypadku wystąpienia błędu). Szczegółowe
opisy wybranych komend AT umieszczono w
tabelach 1…9
.
Dla zrozumienia zasady działania modułów irmy Telegesis
oraz sposobu ich konigurowania, poniżej przedstawię krótką listę
najczęściej używanych rozkazów sterujących, których użyto przy
Opis
AT+UCAST:<address>
=<data>
Wysyła wiadomość (unicast) do wybranego
modułu ZigBee
SEQ:XX (potwierdzenie sekwencji nadawczej
wraz z kolejnym jej numerem)
a następnie OK
i ACK:XX lub NACK:XX (potwierdzenie odebra-
nia danych lub jego brak po stronie odbiornika
transmisji)
lub
ERROR:<errorcode> (w przypadku wystąpnienia
błędu)
Odpowiedź modułu
(lokalnie)
Tabela 4. Składnia komendy ATREMS podczas zapisu rejestru
Składnia komendy
Opis
Zapis do rejestru koniguracyjne-
go innego modułu ZigBee (zapis
zdalny)
ATREMS:<address>,XX[b[b]]=<data>
[,<password>]
UCAST:[<EUI64>,]<length>=<data>
EUI64 jest numerem nadawcy, natomiast
wartośc length określa długośc wiadomości
zapisaną hexadecymalnie. Dołączanie numeru
EUI64 do nagłówka wiadomości wychodzących
można wyłączyć poprzez ustawienie bitu nr 0
rejestru koniguracyjnego 0x10.
Komendy używana do wysłania krótkiej wiadomości do wybranego
modułu ZigBee. Numer modułu, do którego jest adresowana wiadomość
określa parametr address , który może być numerem EUI64 lub NodeID
urządzenia docelowego. Maksymalna długość wiadomości wynosi 82
bajty w wypadku podania numeru NodeID lub 74 bajty dla numeru
EUI64. Jeśli zainicjowana przez użytkownika transmisja zakończy się
powodzeniem, moduł nadawczy ZigBee poinformuje swojego hosta wy-
syłając potwierdzenie sekwencji nadawczej wraz z kolejnym jej numerem
(SEQ:XX) i notyikatorem OK. Dodatkowo, lokalny host zostanie także
poinformowany o potwierdzeniu transmisji po stronie odbiornika (adresa-
ta) przy pomocy notyikatorów ACK:XX lub NACK:XX (jeśli potwierdzenia
takie nie zostały wyłączone) przy czym wystąpienie notyikatora NACK
nie daje pewności, iż adresat wiadomości nie odebrał przesłanych da-
nych. Przykład wiadomości:
AT+UCAST:000D6F0000012345,Hello – wiadomość „Hello” wysyłana do
modułu ZigBee o numerze EUI64 równym 0x000D6F0000012345
SEQ:XX (potwierdzenie sekwencji
nadawczej wraz z kolejnym jej
numerem)
i OK
a następnie:
SWRITE:<NodeID>,<EU-
I64>,<errorcode >
NodeID i EUI64 to parametry
identyikujące moduł ZigBee,
którego rejestr poddano operacji
zapisu. Poprawny zapis potwier-
dzany jest kodem błędu równym
0 (errorcode=00)
lub
ERROR:<errorcode> (w wypadku
wystąpienia błędu)
Komendy używamy do zapisu wartości do rejestru koniguracyjnego
innego modułu ZigBee o znanym adresie. Adres modułu, którego rejestr
koniguracyjny chcemy poddać operacji zapisu określa wartość address ,
która to może być numerem EUI64 lub NodeID urządzenia docelowego.
Należy pamiętać, że niektóre z tych rejestrów są chronione hasłem do-
stępu (wartość domyślna=password). Parametr XX to numer rejestru, zaś
parametr data to liczba szesnastkowa (16- lub 32-bitowa, w zależności
od specyikacji konkretnego rejestru koniguracyjnego). Ponadto, udostęp-
niono możliwość zapisu (zmiany) wyłącznie wybranych bitów rejestrów
koniguracyjnych, których deskryptor określa parametr b (dla rejestrów
16-biotwych) lub bb (dla rejestrów 32-biotwych). Przykłady zastosowań:
ATREMS:000D6F0000012345,00=3FFC – zapis do 32-bitowego rejestru
0x00 modułu ZigBee o adresie EUI=000D6F0000012345 wartości heksa-
decymalnej 0x3FFC
ATREMS:000D6F0000012345,0AE=1:password – ustawienie bitu nr E
16-bitowego rejestru 0x0A chronionego hasłem dostępu modułu ZigBee
o adresie EUI=000D6F0000012345
Reakcja modułu po
stronie odbiorczej (ad-
resata wiadomości)
Odpowiedź modułu (tylko lokalnie)
Tabela 7. Składnia
komendy AT+SCAST
Składnia komendy
Opis
AT+SCAST:<data> Wysyła dane do koncentratora danych
SEQ:XX (potwierdzenie sekwencji nadawczej wraz
z kolejnym jej numerem)
a następnie OK
i ACK:XX lub NACK:XX (potwierdzenie odebrania
danych lub jego brak po stronie odbiornika
transmisji)
lub
ERROR:<errorcode> (w przypadku wystąpnienia
błędu)
Odpowiedź modułu
(lokalnie)
Tabela 5. Składnia komendy ATREMS podczas odczytu rejestru
Składnia komendy
Opis
Odczyt wartości rejestru koniguracyj-
nego innego modułu ZigBee (odczyt
zdalny)
ATREMS:<address>,XX[b[b]]?
UCAST:[<EUI64>,]<length>=<data>
EUI64 jest numerem nadawcy, natomiast parametr
length zawiera liczbę bajtów wiadomości zapisaną
szesnastkowo. Dołączanie numeru EUI64 do na-
główka wiadomości wychodzących można wyłączyć
poprzez ustawienie bitu nr 0 rejestru koniguracyj-
nego 0x10.
Koncentrator danych jest funkcjonalnością wprowadzoną przez irmę Tele-
gesis do modułów ZigBee serii ETRX2 i ETRX3. Dzięki temu moduł może
w sposób automatyczny wysyłać dane do zdeiniowanego wcześniej
koncentratora danych (modułu ZigBee pracującego jako koncentrator), bez
znajomości jego parametrów sieciowych. Funkcjonalność tę wykorzystuje
wiele automatycznych mechanizmów zintegrowanych w modułach irmy
Telegesis, takich jak: reakcje na zdarzenia zewnętrzne (zmiany stanów
portów wejściowych), zdarzenia generowane przez timery dostępne
w modułach ZigBee czy też reakcje na zdarzenia sieciowe. Maksymalna
długość wiadomości wynosi 82 bajty lub 74 bajty, gdy do nagłówka
wiadomości sieciowych dołączany jest numer EUI64 modułu nadawczego.
Jeśli zainicjowana przez użytkownika transmisja zakończy się powodze-
niem, moduł nadawczy ZigBee poinformuje swojego hosta wysyłając po-
twierdzenie sekwencji nadawczej wraz z kolejnym jej numerem (SEQ:XX)
i notyikatorem OK. Dodatkowo, lokalny host zostanie także poinformo-
wany o potwierdzeniu transmisji po stronie odbiornika (adresata) przy
pomocy notyikatorów ACK:XX lub NACK:XX (jeśli potwierdzenia takie
nie zostały wyłączone) przy czym wystąpienie notyikatora NACK nie
daje pewności, iż adresat wiadomości nie odebrał przesłanych danych.
Przykład wiadomości:
AT+SCAST:Hello world – wysłanie danych o treści „Hello world” do
koncentratora danych
SEQ:XX (potwierdzenie sekwencji
nadawczej wraz z kolejnym jej
numerem)
i OK
a następnie
SREAD:<NodeID>,<EUI64>,<Regi-
ster>, <errorcode>[=<Data>]
NodeID i EUI64 to parametry
identyikujące moduł ZigBee, którego
rejestr odczytywano. Register to
numer odczytanego rejestru a Data
to odczytana wartość. Poprawny od-
czyt potwierdzany jest kodem błędu
równym 0 (errorcode=00)
lub
ERROR:<errorcode> (w przypadku
wystąpnienia błędu)
Komendy używamy do odczytu wartości do rejestru koniguracyjnego
innego modułu ZigBee o znanym adresie. Do tego celu moduł nadawczy
używa polecenia unicast. Pozostałe parametry jak dla operacji zapisu.
Przykłady zastosowań:
ATREMS:000D6F00000AAC93,00? – zapytanie o wartość 32-bitowego
rejestru 0x00 modułu ZigBee o adresie EUI=000D6F00000AAC93
ATREMS:000D6F00000AAC93,0AE? – zapytanie o wartość bitu nr 0x0E
16-bitowego rejestru 0x0A modułu ZigBee o adresie EUI=000D-
6F00000AAC93
ATREMS:000D6F00000AAC93,1812? – zapytanie o wartość bitu nr 0x12
32-bitowego rejestru 0x18 modułu ZigBee o adresie EUI=000D6F00000A-
AC93
Reakcja koncentrato-
ra danych
Odpowiedź modułu (tylko lokalnie)
27
ELEKTRONIKA PRAKTYCZNA 10/2011
PROJEKTY
implementacji obsługi technologii ZigBee
w urządzeniu intelliDom. Należy podkre-
ślić, iż jest to jedynie próbka możliwości
modułów ZigBee irmy Telegesis, ponieważ
pełna dokumentacja, chociażby listy ob-
sługiwanych rozkazów sterujących, zawie-
ra niemalże 100 stron. Dla poprawnienia
czytelności opisu w specyikacji składni
wszystkich rozkazów pominięte zostały no-
tyikatory <CR> i <LF>.
Znaczenia użytych skrótów:
<PID>
16-bitowy PAN ID (identyikator
sieci ustalany przez koordynatora) zapisany
heksadecymalnie (0000… FFFF)
<EPID>
64-bitowy extended PAN ID
(identyikator sieci) zapisany heksadecymal-
nie wykorzystywany w przypadku współist-
nienia sieci o takim samym numerze PAN ID
<NodeID>
16-bitowy unikalny adres
sieciowy modułu ZigBee nadawany przez
koordynatora (czasami nazwany „krótkim
adresem sieciowym”). Adres ten jednoznacz-
nie identyikuje każdy moduł ZigBee, przy
czym należy mieć na uwadze, iż jest on
nadawany dynamicznie w czasie logowania
urządzenia do sieci w związku, z czym może
się zmienić np. podczas kolejnego logowa-
nia. Użycie tego adresu zapewnia skrócenie
pakietów danych transmitowanych przez
sieć ZigBee.
Tabela 8. Składn
ia komendy AT+EN
Składnia komendy
Opis
AT+EN
Utworzenie nowej sieci ZigBee
JPAN:<channel>,<PID>,<EPID>
a następnie OK
lub
ERROR:<errorcode> (w przypadku wystąpnienia błędu)
Komendy używamy do ustanowienia nowej sieci ZigBee dla modułów, które nie są elementami
jakiejkolwiek istniejącej sieci. Czas jej wykonania może wynosić nawet 16 s. Moduł, który odebrał
tego polecenie przeprowadza analizę możliwości utworzenia sieci ZigBee (skanuje wszystkie kanały
transmisji, poza wykluczonymi wartością rejestru 0x00), wybiera przypadkowy, nieużywany przez
inną sieć numer PID i EPID (chyba, że określono inaczej ustawieniami rejestrów 0x02 i 0x03)
i automatycznie staje się koordynatorem sieci oraz jej centrum uwierzytelniającym dla kolejnych
elementów tej sieci.
Odpowiedź modułu
(tylko lokalnie)
Tabela 9. Składnia
komendy AT+JN
Składnia komendy
Opis
AT+JN
Zalogowanie (dołączenie) do sieci ZigBee
JPAN:<channel>,<PID>,<EPID>
a następnie OK
lub
ERROR:<errorcode> (w przypadku wystąpnienia błędu)
Odpowiedź modułu
(lokalnie)
Zgłoszenie modułu po
stronie koordynatora
NEWNODE:<node EUI64>,<NodeID>,<parent EUI64>
Komendy używamy do zalogowania modułu do istniejącej sieci ZigBee dla modułów, które nie są
elementami jakiejkolwiek istniejącej sieci. Czas jej wykonania może wynosić do 4 s. Moduł, który
odebrał to polecenie skanuje wszystkie kanały transmisji (poza wykluczonymi wartością rejestru
0x00) w poszukiwaniu sieci ZigBee, która zezwoli na przyłączenie. W wypadku, gdy wartości
rejestrów 0x02 (PID) i 0x03 (EPID) są różne od 0 (wartość domyślna) moduł ZigBee zaloguje się
wyłącznie do sieci o podanych wartościach PID i/lub EPID. Opcjonalne komunikaty wysyłane przez
moduł ZigBee do hosta a związane z procesem logowania do sieci to:
LeftPAN – moduł ZigBee opuścił sieć, do której był wcześniej zalogowany (efekt zamierzonego
wylogowania modułu z sieci jako reakcji na wysłane polecenie),
LostPAN – moduł ZigBee typu End Device stracił kontakt ze swoim „rodzicem” (innym modułem
ZigBee (routerem), który
pośredniczył w komunikacji z koordynatorem).
Tabela 10. Struktura rejestru pod adresem 0x0A (mechanizmy logowania i uwierzytelniania)
Rejestr
0x0A Zapis
Wartośc nieulotna
Opis
Podstawowe funkcje s
ieciowe i zabezpieczeń
Wartość
domyślna
0000 (16-bitowa zapisana heksadecymalnie)
Wartość
ustawiana
0114
Składnia
komendy
koniguru-
jącej
Lokalnie: ATS0A=0114:<password>
Zdalnie: ATREMS:<address>,0A=0114:<password>
Wartość ta znajduje zastosowanie podczas procesu ustanawiania nowej sieci ZigBee jak i w trakcie procesu logowania do sieci, gdyż
ustanawia podstawowe mechanizmy sieciowe dotyczące procesów logowania i uwierzytelniania jak również ustanawia typ urządzenia
ZigBee (domyślnie: router). Ustawiane są następujące bity:
- Bit 2: wysyła klucz sieciowy zakodowany z użyciem klucza uwierzytelniającego przy powtórnym logowaniu
- Bit 4: wysyła klucz sieciowy zakodowany z użyciem klucza uwierzytelniającego przy logowaniu do sieci
- Bit 8: wymusza użycie predeiniowanego (rejestr 0x09) klucza uwierzytelniającego zamiast klucza przypadkowego
Domyślnie, w trakcie procesu logowania do sieci, koordynator wysyła niezakodowany klucz sieciowy do każdego urządzenia próbującego
zalogować się do sieci a następnie wysyła zakodowany, przypadkowy klucz uwierzytelniający. Taki mechanizm nie zapewnia bezpieczeństwa
naszej sieci i powoduje, iż dowolny, inny moduł ZigBee zostanie zalogowany do sieci w sposób automatyczny. Powyższe, zmienione usta-
wienia domyślne powodują natomiast, iż do naszej sieci ZigBee nie będą już mogły zalogować się w sposób automatyczny żadne, inne
moduły Z
i
gBee, któryc
h ustawienia klucza uwierzytelniającego są inne aniżeli te wpisane do rejestru 0x09.
Zastosowa-
nie
Tabela 11. Struktura rejestru pod adresem 0x09 (ustanawianie nowej sieci)
Rejestr 0x09
<EUI64>
64-bitowy, niepowtarzalny ad-
res modułu ZigBee zapisany heksadecymalnie
(wg. specyikacji IEEE 802.15.4). Adres ten jest
przypisany każdemu modułowi ZigBee na eta-
pie produkcji i nie może być zmieniony przez
użytkownika (możliwa jest wyłącznie operacja
odczytu odpowiedniego rejestru, gdzie prze-
chowywany jest wspomniany adres).
<channel>
numer kanału zapisany
dziesięnie (11…26)
<devicetype>
typ modułu ZigBee:
– COO
: koordynator,
– FFD
: router,
– ZED
: urządzenie końcowe (End Device)
Zapis
Wartośc nieulotna
128-bitowa wartość klucza uwierzytelniającego dla centrum uwierzytelniającego (koordy-
natora sieci) zapisana heks
adecymalnie
Opis
Wartość
domyślna
00000000000000000000000000000000
Wartość
ustawia-
na
Zależna od aplikacji intelliDom (niejawna)
Składnia
komendy
konigu-
rującej
Lokalnie: ATS09=<key>:<password>
Zdalnie: ATREMS:<address>,09=<key>:<password>
Wartość ta znajduje zastosowanie podczas procesu ustanawiania nowej sieci ZigBee jak
i w trakcie procesu logowania do sieci. Wartość domyślna (0) powoduje, iż w trakcie
ustanawiania nowej sieci ZigBee używana jest przypadkowa wartość klucza uwierzytel-
niającego.
Zastoso-
wanie
28
ELEKTRONIKA PRAKTYCZNA 10/2011
Plik z chomika:
zck68
Inne pliki z tego folderu:
AVT-5126.pdf
(1967 KB)
AVT-5276.pdf
(1689 KB)
AVT-5313_cz1.pdf
(3932 KB)
AVT-5313_cz2.pdf
(1430 KB)
Inne foldery tego chomika:
PCB
Program
Zgłoś jeśli
naruszono regulamin