KB-104 - <tc>Z-Wave</tc> Parametry urządzenia - szesnastkowe, dziesiętne, binarne, bity, bajty... co?!?!

Podczas czytania instrukcji obsługi urządzeń lub naszych przewodników możesz natknąć się na pewne terminy, których możesz nie znać, takie jak system binarny, system szesnastkowy, bit, bajt itp.

Oto krótki przewodnik po powszechnie używanych terminach, dzięki któremu wszyscy będziemy mówić o tym samym.

Wprowadzenie do liczb binarnych, dziesiętnych i szesnastkowych

Choć na początku może się to wydawać mylące, system binarny, dziesiętny i szesnastkowy to w zasadzie różne sposoby zapisywania liczb.

Przyjrzyjmy się pokrótce różnicom między nimi.

Dziesiętny

O systemie dziesiętnym nie ma wiele do powiedzenia, biorąc pod uwagę, że jest to obecnie najpopularniejszy system.

To się nazywa „Podstawa 10„system, ponieważ można użyć 10 symboli: 0 – 9.

Gdy dojdziesz do 9, kończą Ci się symbole, więc dodajesz 1 cyfrę po lewej stronie i zaczynasz od 0.

Dwójkowy

Liczba binarna składa się tylko z 0s i 1s. Z tego powodu nazywa się to „Podstawa 2” systemu.

Oznacza to, że pojedyncza cyfra binarna może być wyświetlana tylko 2 różne wartości zamiast zwyczajowych 10 cyfr.

Ogólna zasada liczenia w systemie binarnym jest taka sama jak w systemie dziesiętnym: licz do liczby tuż przed podstawą, następnie zacznij znowu od 0 i najpierw dodaj 1 do liczby po lewej stronie.


Dwójkowy: 0 1 10 11 100 101 110 111 1000 1001 1010
Dziesiętny: 0 1 2 3 4 5 6 7 8 9 10

Szesnastkowy

Liczby szesnastkowe są dość interesujące, ponieważ są „Podstawa 16” systemu.

Wyglądają tak samo jak liczby dziesiętne do 9, ale zamiast liczb dziesiętnych od 10 do 15 występują litery („A', B”, „C”, „D”, „E”, „F”).

Pojedyncza cyfra szesnastkowa może wyrażać 16 różnych wartości, zamiast normalnych 10 cyfr, do których jesteśmy przyzwyczajeni.

Ponownie, gdy zabraknie nam symboli (gdy dotrzemy do F) zaczynamy od 0 i dodajemy 1 do następnej pozycji po lewej stronie.


Szesnastkowy: 0 1 2 3 4 5 6 7 8 9 A B C D mi F
Dziesiętny: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

Zobacz to w akcji

Wybierz jeden z poniższych systemów i obserwuj jego wyniki:

Konwersja między systemami

Jeśli naprawdę interesuje Cię matematyka, możesz nauczyć się jej sam jak konwertować liczb pomiędzy różnymi systemami bazowymi.

Najłatwiejszym sposobem jest jednak skorzystanie z formularza online Konwerter liczb.

Bity kontra bajty

Bity i bajty są często mylone, ale w rzeczywistości istnieje między nimi duża różnica.

A fragment to najmniejsza jednostka informacji, którą można przechowywać lub przetwarzać na komputerze. Przedstawiona jako liczba, bit może mieć wartość „1" (jeden) lub "0" (zero).

Z drugiej strony bajt jest o wiele większy, zawiera osiem bitów. Matematycznie n bitów plony 2 ^ n wzorów więc bajt może zawierać liczbę pomiędzy 0 I 255.


fragment 0 1 2 3 4 5 6 7
2 ^ 0 2 ^ 1 2 ^ 2 2 ^ 3 2 ^ 4 2 ^ 5 2 ^ 6 2 ^ 7
wartość 0 2 4 8 16 32 64 128

Ważne jest, aby wiedzieć, że bajty oznaczane są wielką literą B, natomiast bity oznaczane są małą literą b.Zatem Mbps to megabity na sekundę, a MBps to megabajty na sekundę.

Łącząc wszystko w całość

Zastanawiasz się pewnie, dlaczego tak dużo mówimy o bitach, bajtach i różnych systemach liczbowych.

Podczas dodawania parametru urządzenia należy wybrać jego Rozmiar danychMożna wybierać spośród 6 opcji: 1, 2 lub 4 bajtów, w formacie szesnastkowym lub dziesiętnym.

Możesz mieć ochotę wybrać po prostu pierwszą opcję i kontynuować, ale błędny parametr rozmiaru danych w ogóle nie zadziała, a w niektórych przypadkach może uniemożliwić prawidłowe działanie samego urządzenia.

Rozmiar danych

Pierwszą rzeczą, którą należy wiedzieć, jest to, że o ile nie zaznaczono inaczej, wszystkie parametry są 1 bajt dziesiętny.

Istnieją jednak urządzenia, które wymagają innych rozmiarów danych. Z tego powodu niezwykle ważne jest, aby uważnie przeczytać instrukcję obsługi urządzenia przed wprowadzeniem jakichkolwiek zmian.

Dokładamy wszelkich starań, aby wszystkie strony produktów były aktualne instrukcje.

W rzadkich przypadkach, gdy brakuje instrukcji lub informacje w niej zawarte nie są wystarczająco jasne, sugerujemy wyszukanie urządzenia pod adresem pieprz1 Z-wave baza danych lub Z-Wave Przymierze strona internetowa.

Wartości ujemne

Użycie znaku minus do oznaczenia liczby całkowitej ujemnej jest oczywiste. Komputery mogą jednak przechowywać informacje tylko w bitach, które, jak widzieliśmy, mogą przyjmować wartości zero lub jeden. Dlatego przechowywanie ujemnych liczb całkowitych w parametrze będzie wymagało innego podejścia.

Nie wdając się w szczegóły, jednym ze sposobów przechowywania wartości ujemnych jest użycie Uzupełnienie do dwóch Konwencja, w której wartości ujemne są reprezentowane przez dopełnienie do dwóch ich własnej wartości. Oznacza to zasadniczo, że liczby z „1” na lewym bicie są ujemne.

Aby ustawić wartości ujemne parametru, należy przyjąć wartość maksymalną (zależnie od rozmiaru parametru, i.e. 1, 2 lub 4 bajty) i odejmij żądaną wartość.

Przykłady

Wszystko jest łatwiejsze do zrozumienia na przykładzie, więc przyjrzyjmy się kilku powszechnie używanym urządzeniom, które wymagają pewnych obliczeń matematycznych przed ustawieniem parametrów.

Philio Wieloczujnikowy GEN5

Szybki rzut oka na Philio Instrukcja obsługi wielosensorowej i od razu widać, że większość wartości parametrów nie jest zwykłymi wartościami dziesiętnymi 1-bajtowymi.

Weźmy Parametr 7 jako przykład. Notatka:w tym przykładzie użyjemy parametrów PST02-1A.

Musimy włączyć klasę poleceń raportu czujnika binarnego i sprawić, aby raport urządzenia był „czysty” po zdarzeniu ruchu, aby czujniki ruchu i magnesu działały w większości przypadków. Z-Wave kontrolerzy.

Aby to zrobić, musimy włączyć bit 1 I bit 4 i dodaj to do już domyślnie włączonego bit 2.

To tłumaczy się jako: (2 ^ 1) + (2 ^ 2) + (2 ^ 4) = 22

Więc nasze 1 bajt dziesiętny Parametr powinien być ustawiony na 22.

Miernik cęgowy Aeon

Ten 4-bajtowy system dziesiętny Parametry używane przez miernik cęgowy Aeon mogą być mylące w porównaniu z parametrami dziesiętnymi o rozmiarze 1 bajta.

Na przykład, powiedzmy, że chcemy skonfigurować wersję tego urządzenia z pojedynczym zaciskiem. Dowiedzieliśmy się, Tutaj To Parametr 103 powinno być ustawione na 2304 ale dlaczego?

Jeśli spojrzymy na podręcznik na stronie 7 możemy zobaczyć tabelę pokazującą wszystkie możliwe opcje Wartość od 1 do 4.

Mówi nam również, że wartość 1 jest MSB (Najważniejszy bit) i wartość 4 LSB (Najmniej znaczący bit).

Wiedząc to, możemy zastosować tę samą logikę, której używaliśmy wcześniej, zaczynając od bitu LSB (wartość 4).To tłumaczy się jako:


Aby uzyskać raporty dotyczące watów i kWh, musimy włączyćbit 0 I bit 3 NA Wartość 3 .

Daje nam to: 2048 + 256 = 2304

Więc nasze 4-bajtowy system dziesiętny Parametr powinien być ustawiony na 2304 .

Aeon Siren GEN5

Ten 2-bajtowy system dziesiętny Aeon Siren GEN5 Parametr 37 może przechowywać dwa bajty lub 16 bitów, jak wiemy.

Dzięki temu możemy ustawić różne dźwięki i dostosować głośność w ramach jednego parametru.

Patrząc na podręcznik możemy zobaczyć Wartość 1 mają 6 możliwych ustawień Wartość 2 mieć 4. To oznacza:

Wartość 1 (MSB)
Dźwięk 5 Dźwięk 4 Dźwięk 3 Dźwięk 2 Dźwięk 1
Fragment 4 3 2 1 0
Wartość 4096 2048 1024 512 256
Wartość 2 (LSB)
Tom 3 Tom 2 Tom 1
Fragment 2 1 0
Wartość 4 2 1

Jednak Aeon zastosował inną logikę w odniesieniu do tego parametru, co może nieco utrudniać zrozumienie. Jeśli zajrzymy do instrukcji, mamy:

  • Wartość 1
    • 0 - nie zmieniaj aktualnego dźwięku syreny
    • 1 - Wybrano dźwięk syreny 1
    • 2 - Wybrano dźwięk syreny 2
    • 3 - Wybrano dźwięk syreny 3
    • 4 - Wybrano dźwięk syreny 4
    • 5 - Wybrano dźwięk syreny 5
  • Wartość 2
    • 0 - nie zmieniaj aktualnej głośności
    • 1 - ustaw głośność na 88 dB
    • 2 - ustaw głośność na 100 dB
    • 3 - ustaw głośność na 105 dB

Te Czy wartości dziesiętne, ale sąstosowany w odniesieniu do rozproszenia na wartości 2-bajtowej.

Ponieważ wartości dźwięku i głośności są stosowane jakopojedynczy 2-bajtowy parametr musimy odpowiednio przekonwertować wzorce bitowe.

Łatwiej będzie to zrozumieć na przykładzie:

  • Spójrz na syrenę Sound 4, instrukcja mówi, że to wartość wynosi 4
  • Teraz spójrz na powyższe 8-bitowy wzór wartości - który "bit" sprawdzilibyśmy, aby podać wartość 4 ? Odpowiedź brzmi bit 2
  • A jaka jest wartość? bit 2 w drugim bajcie wartości dwubajtowej? Odpowiedź brzmi 1024

Jeśli brzmi to skomplikowanie, to takie może być :-)

Przyjrzyjmy się drugiemu przykładowi:

  • Spójrz na dźwięk syreny 3 z wartość 3
  • Który „bit” sprawdzilibyśmy, aby podać wartość 3 ? Musielibyśmy włączyć bit 0 i 1 (1 + 2)
  • Jaka jest suma wartości bitu 0 i 1 w standardowym 8-bitowym wzorcu wartości? Odpowiedź brzmi: 768 (512 + 256)

Notatka :Aby uzyskać pełną listę wartości dziesiętnych, które należy stosować w przypadku syreny Aeon, zapoznaj się z tym przewodnik

Fibaro Trzepnąć

Parametr 31-36 umożliwia użytkownikowi tworzenie sekwencji dwóch lub trzech gestów w celu rozszerzenia liczby możliwych akcji.

To są 2-bajtowy system dziesiętny Parametry, w których każdy gest zajmuje 4 bity.

Każdy gest można zidentyfikować w następujący sposób:

Wartość 4 bity Gest
0 0000 pusty
1 0001 ^
2 0010 v
3 0011 & poł;
4 0100 >

Wzór sekwencji bitów można przetłumaczyć następująco:

Wartość 1 (MSB) - zarezerwowana
Fragment 3 2 & 1 0
Wartość 32768 16384 8192 4096
Wartość 2 - pierwszy gest
Fragment 3 2 1 0
Wartość 2048 1024 512 256
Wartość 3 - drugi gest
Fragment 3 2 1 0
Wartość 128 64 32 16
Wartość 4 (LSB) – trzeci gest
Fragment 3 21 0
Wartość 8 4 2 1

Aby utworzyć ^ (w górę)& gt; (po prawej)& lt; (lewy) sekwencja:

  • Wartość 1 jest zarezerwowana, więc jej wartość wynosi 0
  • Wartość 2 jest „w górę”, więc włączamy bit 0 (0001) = 256
  • Wartość 3 jest „dobra”, więc włączamy bit 2 (0100) = 64
  • Wartość 4 jest „pozostawiona”, więc włączamy bit 0 i 1 (0011) = 2 + 1

Jeśli zsumujemy wszystkie wartości, otrzymamy 323.

Fibaro Czujnik ruchu GEN5

Ten 2-bajtowy system dziesiętny Fibaro Czujnik ruchu GEN5 Parametr 66 może przechowywać dwa bajty lub 16 bitów, co pozwala na ustawienie przesunięcia temperatury od -100 do 100 ºC w krokach co 0,1ºC.

Aby ustawić przesunięcie temperatury o -2,0 ºC, należy odjąć żądaną wartość bezwzględną (20) od maksymalnej wartości, jaką może przyjąć parametr (2^16).

Przekłada się to na (2^16) – 20 = 65516.

Zatem nasz 2-bajtowy parametr dziesiętny powinien zostać ustawiony na 65516.

Informacje powiązane


Prawo autorskie Vesternet 2017

Zaktualizowano: 07.11.2017