KB-104 - Parâmetros de dispositivo Z-Wave - Hex, dezembro, binário, bits, bytes ..... O que?!?!

Ao ler através de manuais de dispositivos ou nossos próprios guias, você pode encontrar alguns termos, você pode não estar familiarizado com como binário, hexadecimal, bit, byte, etc.

Este é um guia rápido para os termos comuns usados ​​para que todos estamos falando sobre as mesmas coisas.

Introdução a números binários, decimais e hexadecimais

Embora isso possa parecer confuso a princípio, binário, decimal e hexadecimal, são essencialmente diferentes maneiras de escrever um número.

Vamos dar uma olhada rápida nas diferenças entre eles.

Decimal

Não há muito a ser dito sobre o sistema decimal, dado que é o sistema usado mais comum hoje em dia.

É chamado de "Base 10."Sistema porque há 10 símbolos que podem ser usados: 0 - 9.

Depois de chegar 9, você ficar sem símbolos para adicionar 1 dígito à esquerda e começar de novo em 0.

Binário

Um número binário é composto de apenas 0areia 1s. Por essa razão, é chamado de "Base 2." sistema.

Isso significa que um único dígito binário pode mostrar apenas 2 valores diferentes em vez dos 10 dígitos usuais.

A regra geral a contar usando o sistema binário é o mesmo que o sistema decimal: contam até logo antes da "base", então comece em 0 novamente, mas primeiro você adicione 1 ao número à sua esquerda.


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

Hexadecimal

Número hexadecimal são bastante interessantes, dado que é um "Base 16." sistema.

Eles parecem iguais aos números decimais até 9, mas depois há as letras ("A '," B "," C "," D "," E "," F ") no lugar dos números decimais 10 para 15.

Um único dígito hexadecimal pode mostrar 16 valores diferentes em vez dos 10 dígitos normais que estamos acostumados.

Novamente uma vez que ficarmos sem símbolos (quando chegamos F.) Nós começamos de volta em 0, e adicionamos 1 à próxima posição à esquerda.


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

Vê-lo em ação

Escolha um dos sistemas abaixo e assista a contagem:

Conversão entre sistemas

Se você está realmente em matemática, você pode se ensinar Como converter. números entre diferentes sistemas base.

A maneira mais fácil, no entanto, é usar um Conversor de números.

Bits vs bytes.

Bits e bytes são muitas vezes confusos, mas na verdade, há uma grande diferença entre eles.

UMA mordeu é a menor unidade de informação que pode ser armazenada ou manipulada em um computador. Quando representado como um número, os bits podem ter um valor de "1" (um) ou "0" (zero).

Por outro lado, um byte é muito maior, contém oito bits.. Matematicamente n bits. rendimentos 2 ^ n padrões então um byte pode conter um número entre 0 e 255.


mordeu 0 1 2 3 4 5 6 7
  2 ^ 0 2 ^ 1 2 ^ 2 2 ^ 3 2 ^ 4 2 ^ 5 2 ^ 6 2 ^ 7
valor 0 2 4 8 16 32 64 128

É importante saber que os bytes são abreviados com um capital B, onde como bits usam uma letra minúscula. Portanto, Mbps é megabits por segundo, e Mbps é megabytes por segundo.

Amarrando tudo juntos

Você pode se perguntar por que falamos de bits, bytes e todos os diferentes sistemas de números.

Ao adicionar um parâmetro de dispositivo você tem que escolher Tamanho dos dados. Entre 1, 2 ou 4 bytes e HEX ou DEC Existem 6 opções para escolher.

Você pode se sentir tentado a escolher apenas a primeira opção e seguir em frente com ele, mas um parâmetro de tamanho de dados errado não funcionará em alguma ocasião, ele pode impedir que o próprio dispositivo funcione corretamente.

Tamanho dos dados

Primeira coisa a saber é a menos que seja declarado de outra forma todos os parâmetros são 1 byte decimal.

No entanto, existem alguns dispositivos que exigem outros tamanhos de dados. Por essa razão, é extremamente importante ler cuidadosamente o manual de seus dispositivos antes de fazer qualquer alteração.

Nós fazemos o nosso melhor para manter todas as páginas do produto com Manuais atualizados.

Na ocasião rara que estamos perdendo um manual ou as informações apresentadas, não há o suficiente a nossa sugestão é procurar pelo seu dispositivo em Banco de dados de wave de pimenta1 Z ou o Z-Wave Alliance local na rede Internet.

Valores negativos

É o senso comum usar um sinal de menos para designar um inteiro negativo. No entanto, os computadores só podem armazenar informações em bits, que como vimos só podem ter os valores zero ou um. Portanto, o armazenamento de inteiros negativos em um parâmetro exigirá uma abordagem diferente.

Sem entrar em detalhes uma maneira de armazenar valores negativos é usar o Complemento de dois Convenção onde os valores negativos são representados pelo complemento do seu próprio valor. Isso basicamente significa que números que têm um "1" na mais à esquerda são negativos.

Para definir valores negativos em um parâmetro, você assume o valor máximo (dependendo do tamanho do parâmetro, isto é, 1, 2 ou 4 bytes) e subtraia o valor desejado.

Exemplos

Tudo é mais fácil de entender com um exemplo, então vamos olhar para alguns dispositivos todos os dias que exigem alguma matemática antes de definir seus parâmetros.

Philio Multisensor Gen5.

Uma rápida olhada no Philio Multisensor Manual e um imediatamente percebe que a maioria dos seus valores de parâmetros não é o decimal habitual de 1 byte.

Vamos levar Parâmetro 7. como um exemplo. Observação: Para este exemplo, usaremos os parâmetros PST02-1A.

Precisamos habilitar a classe de comando do relatório de sensor binária e tornar o relatório do dispositivo "limpar" após um evento de movimento para obter os sensores de movimento e ímã que trabalham na maioria dos controladores de ondas z.

Para fazer isso, precisamos habilitar Bit 1. e Bit 4. e adicione isso ao já ativado por padrão bit 2.

Isso se traduz em: (2 ^ 1) + (2 ^ 2) + (2 ^ 4) = 22

Então nosso 1 byte decimal O parâmetro deve ser definido para 22.

Medidor de braçadeira Aeon.

O 4 byte decimal Os parâmetros usados ​​pelo medidor de braçadeira Aeon podem ser complicados quando comparado a um parâmetro decimal de 1 byte.

Como um exemplo permite dizer que queremos configurar uma única versão de grampo deste dispositivo. Nós aprendemos aqui aquele Parâmetro 103. deve ser definido para 2304 Mas por que isso?

Se olharmos para o manual Podemos ver na página 7 uma tabela mostrando todas as opções possíveis para Valor 1 a 4.

Também nos diz que o valor 1 é o Msb. (Bit mais significativo) e valor 4 o Lsb. (Bit menos significativo).

Saber isso, podemos aplicar a mesma lógica que usamos antes de partir do bit LSB (valor 4). Isso se traduz em:


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

Ter watt e kwh relatórios, precisamos habilitar bit 0. e Bit 3. em Valor 3..

Isso nos dá: 2048 + 256 = 2304

Então nosso 4 byte decimal O parâmetro deve ser definido para 2304.

Aeon Siren Gen5.

O 2 byte decimal. Aeon Siren Gen5. Parâmetro 37. Pode armazenar dois bytes ou 16 bits como sabemos.

Isso nos permite definir sons diferentes e ajustar o volume em um único parâmetro.

Olhando para o manual nós podemos ver Valor 1. tem 6 configurações possíveis enquanto Valor 2. tem 4. Isso se traduz em:

Valor 1 (MSB)
Som 5. Som 4. Som 3. Som 2. Som 1.
Mordeu 4 3 2 1 0
Valor 4096 2048 1024 512 256
Valor 2 (LSB)
Volume 3. Volume 2. Volume 1
Mordeu 2 1 0
Valor 4 2 1

No entanto, uma lógica diferente foi usada por Aeon neste parâmetro que pode tornar as coisas um pouco mais difíceis de entender. Se olharmos para o manual, temos:

  • Valor 1.
    • 0 - Não altere o som da sirene atual
    • 1 - Siren Sound 1 é selecionado
    • 2 - Siren Sound 2 é selecionado
    • 3 - Siren Sound 3 é selecionado
    • 4 - Siren Sound 4 é selecionado
    • 5 - Siren Sound 5 é selecionado
  • Valor 2.
    • 0 - Não altere o volume atual
    • 1 - Defina o volume para 88 dB
    • 2 - Defina o volume para 100 dB
    • 3 - Defina o volume para 105 dB

Esses está os valores decimais, mas eles são aplicado em relação a ser espalhado através de um valor de 2 bytes.

Porque os valores de som e volume são aplicados como único parâmetro de 2 bytes Precisamos converter os padrões de bits apropriadamente.

É provavelmente mais fácil entender com um exemplo:

  • Olhe para Siren Sound 4, manual diz que é O valor é 4.
  • Agora olhe para o acima Padrão de valor de 8 bits - Qual "bit" nós veríamos para dar valor de 4.? A resposta é Bit 2.
  • E que valor é Bit 2. No 2º byte de um valor de 2 bytes? A resposta é 1024

Se isso soa complicado, pode ser :-)

Vamos dar uma olhada em um segundo exemplo:

  • Olhe para Siren Sound 3 com Valor 3.
  • Qual "bit" nós verificaríamos para dar valor de 3.? Nós precisaríamos habilitar bit 0 e 1 (1 + 2)
  • Qual é a soma do valor do bit 0 e 1 em um padrão padrão de 8 bits? A resposta é 768 (512 + 256)

Observação: Para uma lista completa dos valores decimais a serem usados ​​com a Sirene Aeon dar uma olhada neste orientar

Fibaro Swipe.

Parâmetro 31-36. Permite que um usuário crie sequências de dois ou três gestos para expandir o número de ações possíveis.

Estes são 2 byte decimal. Parâmetros onde cada gesto leva 4 bits.

Cada gesto pode ser identificado como segue:

Valor 4 bits. Gesto
0 0000 vazio
1 0001 ^
2 0010 V.
3 0011 <
4 0100 >

O padrão de bit de seqüência pode ser traduzido como:

Valor 1 (MSB) - Reservado
Mordeu 3 2 1 0
Valor 32768 16384 8192 4096
Valor 2 - primeiro gesto
Mordeu 3 2 1 0
Valor 2048 1024 512 256
Valor 3 - Segundo Gesto
Mordeu 3 2 1 0
Valor 128 64 32 16
Valor 4 (LSB) - terceiro gesto
Mordeu 3 2 1 0
Valor 8 4 2 1

Para criar A. ^ (UP)> (à direita) <(esquerda) seqüência:

  • O valor 1 é reservado para que seu valor seja 0
  • O valor 2 é "para cima" para que possamos ativar bit 0. (0001) = 256
  • O valor 3 é "certo" para que possamos ativar Bit 2. (0100) = 64
  • O valor 4 é "esquerdo" para que possamos habilitar bit 0 e 1 (0011) = 2 + 1

Se somos todos os valores, obtemos 323.

Sensor de movimento de Fibaro Gen5

O 2 byte decimal. Sensor de movimento de Fibaro Gen5 Parâmetro 66. Pode armazenar dois bytes ou 16 bits que nos permitem definir um deslocamento de temperatura de -100 a 100 ºC em incrementos de 0,1ºC.

Para definir um deslocamento de temperatura de -2,0 ºC, subtraia o valor absoluto desejado (20) para o valor máximo que o parâmetro pode levar (2 ^ 16).

Isso se traduz em (2 ^ 16) - 20 = 65516.

Então, nosso parâmetro decimal de 2 bytes deve ser definido para 65516.

Informação relacionada


direito autoral Vesternet 2017

Atualizado: 07/11/2017.