KB-104 - Z-Wave Device Parameters - Hex, Dec, Binary, Bits, Bytes ..... Hvad?!?!

Mens du læser gennem enhedens manualer eller vores egne guider du kan komme på tværs af nogle vilkår kan du ikke være bekendt med, såsom Binary, hexadecimal, bit, byte, etc.

Dette er en hurtig guide til de fælles udtryk, der anvendes, så vi alle taler om de samme ting.

Introduktion til binær, decimal og hexadecimale tal

Selvom det kan lyde forvirrende i starten, binær, decimal og hexadecimal er hovedsagelig bare forskellige måder at skrive ned et nummer.

Lad os tage et hurtigt kig på forskellene mellem dem.

Decimal

Der er ikke meget at sige om decimal systemet, da er den mest almindelige anvendte systemet i dag.

Det kaldes en ”Base 10”System, fordi der er 10 symboler, der kan anvendes: 0 - 9.

Når du har nået 9 du løber tør for symboler, så du tilføje 1 ciffer til venstre og starte igen ved 0.

Binary

Et binært tal består af kun 0s og 1s. Af denne grund er det hedder en ”Base 2" system.

Betyder det en enkelt binært ciffer kan kun vise 2 forskellige værdier i stedet for de sædvanlige 10 cifre.

Den generelle regel for optælling ved hjælp binære system er det samme som det Decimal-systemet: tælle op, indtil lige før "Base", derefter starte ved 0 igen, men først du tilføjer en til nummeret på din venstre.


Binary: 0 1 10 11 100 101 110 111 1000 1001 1010
Decimal: 0 1 2 3 4 5 6 7 8 9 10

Hexadecimal

Hexadecimalt tal er ganske interessant i betragtning af at det er en ”Base 16" system.

De ser det samme som decimaltal op til 9, men så er der bogstaverne ( "A', 'B', 'C', 'D', 'E', 'F') i stedet for decimaltal 10 til 15.

En enkelt Hexadecimal ciffer kan vise 16 forskellige værdier i stedet for de normale 10 cifre vi er vant til.

Igen, når vi løber tør for symboler (når vi når F) Vi starter tilbage ved 0, og vi tilføjer en til den næste position til venstre.


Hexadecimal: 0 1 2 3 4 5 6 7 8 9 EN B. C. D E. F
Decimal: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

Se den i aktion

Vælg et af systemerne bælgen og se noget ud af det:

Konvertering mellem systemer

Hvis du er virkelig i matematik kan du lære dig selv hvordan man kan konvertere tal mellem forskellige grundsystemer.

Den nemmeste måde er dog at bruge en online Nummer Converter.

Bits vs Bytes

Bits og bytes er ofte forvirrede, men i virkeligheden er der er en stor forskel mellem dem.

EN bit er den mindste enhed af information, som kan lagres eller manipuleres på en computer. Når repræsenteret som et tal, kan bit har en værdi på enten "1" (et) eller "0" (nul).

På den anden side en byte. er meget større, indeholder det otte bits. matematisk n bit udbytter 2 ^ n mønstre så en byte kan holde et tal mellem 0 og 255.


bit 0 1 2 3 4 5 6 7
  2 ^ 0 2 ^ 1 2 ^ 2 2 ^ 3 2 ^ 4 2 ^ 5 2 ^ 6 2 ^ 7
værdi 0 2 4 8 16 32 64 128

Det er vigtigt at vide, at byte er forkortet med en kapital B, hvor som bits bruge en lille b. Derfor Mbps er megabit i sekundet, og MBps er megabyte per sekund.

Binde det hele sammen

Du kan spørger, hvorfor vi har talt om bits, bytes og alle de forskellige talsystemer.

Når du tilføjer en enhed parameter du nødt til at vælge sin Data størrelse.. Mellem 1, 2 eller 4 byte og Hex eller indtagninger er der 6 muligheder at vælge imellem.

Du kan føle fristet til bare at vælge den første mulighed og gå videre med det, men en forkert Datastørrelse Parameter vil ikke arbejde på alle, og i nogle tilfælde det kan forhindre selve enheden i at fungere korrekt.

Data størrelse.

Første ting at vide, er, medmindre andet er angivet alle parametre er 1 byte decimal.

Men der er nogle enheder, der kræver andre data størrelser. Derfor er det ekstremt vigtigt at omhyggeligt læse dine enheder manuelle før gør nogen ændringer.

Vi gør vores bedste for at holde alle produktsider med up to date manualer.

I den sjældne lejlighed, som vi mangler en manual eller de oplysninger, der præsenteres, er der ikke klart nok, at vores forslag er at søge efter din enhed på Pepper1 Z-Wave Database eller den Z-Wave Alliance internet side.

Negative værdier

Det er fornuftigt at bruge et minustegn til at udpege et negativt heltal. Dog kan computere kun gemme oplysninger i bits, som som vi har set, kan kun have værdierne nul eller en. Derfor vil opbevaring af negative heltal i en parameter kræve en anden tilgang.

Uden at gå ind i detaljer en måde at gemme negative værdier på er at bruge To komplement konvention, hvor negative værdier er repræsenteret af de to komplement af deres egen værdi. Dette betyder i grunden, at tal, der har en "1" i venstre side, er negative.

For at indstille negative værdier på en parameter tager du den maksimale værdi (afhængigt af parameterstørrelsen, dvs. 1, 2 eller 4 bytes) og trækker den ønskede værdi.

Eksempler.

Alt er lettere at forstå med et eksempel, så lad os se på nogle hverdags enheder, der kræver lidt matematik, før de sætter sine parametre.

Philio Multisensor Gen5.

Et hurtigt kig på Philio Multisensor Manual Og en straks bemærker, at de fleste af sine parameterværdier ikke er den sædvanlige 1 byte decimal.

Lad os tage Parameter 7. som et eksempel. Bemærk: For dette eksempel bruger vi PST02-1A parametrene.

Vi skal aktivere binær sensorrapport kommandoklassen og gøre enhedsrapporten "CLEAR" efter en bevægelseshændelse for at få både bevægelses- og magnetens sensorer, der arbejder i de fleste Z-Wave-controllere.

For at gøre dette skal vi aktivere bit 1. og bit 4. og tilføj det til den allerede aktiverede som standard bit 2.

Dette oversætter til: (2 ^ 1) + (2 ^ 2) + (2 ^ 4) = 22

Så vores 1 byte decimal Parameter skal indstilles til 22.

Aeon Clamp Meter.

Det 4 byte decimal Parametre, der anvendes af Aeon Clamp Meter, kan være vanskelig sammenlignet med en 1 byte decimal parameter.

Som et eksempel kan vi sige, at vi vil konfigurere en enkelt klemversion af denne enhed. Vi har lært her at Parameter 103. bør indstilles til 2304 Men hvorfor er det?

Hvis vi ser på brugervejledning Vi kan se i Page 7 en tabel, der viser alle mulige muligheder for Værdi 1 til 4.

Det fortæller os også, at værdi 1 er den MSB. (Mest betydningsfulde bit) og værdi 4 LSB. (Mindst signifikant bit).

At vide dette kan vi anvende samme logik, vi har brugt, før vi starter fra LSB bit (værdi 4). Dette oversætter til:


Værdi 1 (MSB)
Bit. 7 6 5 4 3 2 1 0
Værdi 2147483648 1073741824 536870912 268435456 134217728 67108864 33554432 16777216
Værdi 2.
Bit. 7 6 5 4 3 2 1 0
Værdi 8388608 4194304 2097152 1048576 524288 262144 131072 65536
Værdi 3.
Bit. 7 6 5 4 3 2 1 0
Værdi 32768 16384 8192 4096 2048 1024 512 256
Værdi 4 (LSB)
Bit. 7 6 5 4 3 2 1 0
Værdi 128 64 32 16 8 4 2 1

For at have Watt og KWh rapporter, skal vi aktivere bit 0. og bit 3.Værdi 3..

Dette giver os: 2048 + 256 = 2304

Så vores 4 byte decimal Parameter skal indstilles til 2304.

Aeon Siren Gen5.

Det 2 byte decimal Aeon Siren Gen5. Parameter 37. kan gemme to bytes eller 16 bits som vi ved.

Dette giver os mulighed for at indstille forskellige lyde og justere lydstyrken alt i en enkelt parameter.

Kigger på brugervejledning vi kan se Værdi 1 har 6 mulige indstillinger mens Værdi 2. har 4. Dette oversætter til:

Værdi 1 (MSB)
Lyd 5. SOUND 4. Lyd 3. Lyd 2. Lyd 1
Bit. 4 3 2 1 0
Værdi 4096 2048 1024 512 256
Værdi 2 (LSB)
Volumen 3. Volumen 2. Lydstyrke 1
Bit. 2 1 0
Værdi 4 2 1

Men en anden logik er blevet brugt af Aeon på denne parameter, som kan gøre tingene lidt sværere at forstå. Hvis vi ser på den manual, vi har:

  • Værdi 1
    • 0 - Skift ikke den nuværende sirene lyd
    • 1 - Siren Sound 1 er valgt
    • 2 - Siren Sound 2 er valgt
    • 3 - Siren Sound 3 er valgt
    • 4 - Siren Sound 4 er valgt
    • 5 - Siren Sound 5 er valgt
  • Værdi 2.
    • 0 - Skift ikke det aktuelle lydstyrke
    • 1 - Indstil lydstyrken til 88 dB
    • 2 - Indstil lydstyrken til 100 dB
    • 3 - Indstil lydstyrken til 105 dB

Disse er de decimalværdier, men de er påført med hensyn til at blive spredt over en 2 byte værdi.

Fordi værdierne for lyd og lydstyrke anvendes som en enkelt parameter 2 byte vi har brug for at konvertere bit mønstre korrekt.

Det er nok lettere at forstå med et eksempel:

  • Kig på sirene Sound 4, manuel siger dets værdi 4
  • Nu ser på ovenstående 8 bit værdi mønster - som "bit" ville vi kontrollere at give værdi på 4? Svaret er bit 2
  • Og hvilken værdi er bit 2 i 2. byte af en 2 byte værdi? svaret er 1024

Hvis dette lyder kompliceret, kan det være :-)

Lad os tage et kig på et andet eksempel:

  • Kig på sirene lyd 3 med værdi 3
  • Hvilke "bit" ville vi kontrollere at give værdi på 3? Vi havde behov for at gøre det muligt for bit 0 og 1 (1 + 2)
  • Hvad er summen af bit 0 og 1 værdi på en standard 8 bit værdi mønster? svaret er 768 (512 + 256)

Bemærk: For en komplet liste over de decimale værdier, der skal bruges sammen med Aeon Siren tage et kig på dette guide

Fibaro Swipe.

Parameter 31-36 giver brugeren mulighed for at skabe sekvenser af to eller tre bevægelser for at udvide antallet af mulige tiltag.

Disse er 2 byte decimal Parametre hvor hvert gestus tager 4 bits.

Hver gestus kan identificeres som følger:

Værdi 4 bit Håndbevægelse
0 0000 tom
1 0001 ^
2 0010 v
3 0011 <
4 0100 >

Sekvensen bitmønster kan oversættes som:

Værdi 1 (MSB) - reserveret
Bit. 3 2 1 0
Værdi 32768 16384 8192 4096
Værdi 2 - første gestus
Bit. 3 2 1 0
Værdi 2048 1024 512 256
Værdi 3 - andet gestus
Bit. 3 2 1 0
Værdi 128 64 32 16
Værdi 4 (LSB) - tredje gestus
Bit. 3 2 1 0
Værdi 8 4 2 1

For at oprette en ^ (Op)> (højre) <(venstre) sekvens:

  • Værdi 1 er reserveret, så dens værdi er 0
  • Værdi 2 er "op", så vi ville gøre det muligt for bit 0. (0001) = 256
  • Værdi 3 er "rigtige", så vi ville gøre det muligt for bit 2 (0100) = 64
  • Værdi 4 er "venstre", så vi ville gøre det muligt for bit 0 og 1 (0011) = 2 + 1

Hvis vi lægge alle værdier får vi 323.

Fibaro Motion Sensor Gen5

Det 2 byte decimal Fibaro Motion Sensor Gen5 Parameter 66 kan gemme to byte eller 16 bit, der giver os mulighed for at indstille en temperatur forskydning fra -100 til 100 ºC i 0,1 ° C intervaller.

At indstille en temperatur offset -2,0 ºC du ville trække den ønskede absolutte værdi (20) til den maksimale værdi Parameter kan tage (2 ^ 16).

Dette svarer til (2 ^ 16) - 20 = 65.516.

Så vores 2 byte decimal parameter skal indstilles til 65.516.

Relateret information


ophavsret Vesternet 2017

Opdateret: 2017/07/11