KB-104 - <tc>Z-Wave</tc> Parâmetros do dispositivo - hexadecimal, decimal, binário, bits, bytes... o quê?!

Ao ler os manuais dos dispositivos ou nossos próprios guias, você pode se deparar com alguns termos com os quais não está familiarizado, como binário, hexadecimal, bit, byte, etc.

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

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

Embora isso possa parecer confuso à primeira vista, os sistemas binário, decimal e hexadecimal são essencialmente apenas maneiras diferentes de representar um número por escrito.

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

Decimal

Não há muito o que dizer sobre o sistema decimal, visto que é o sistema mais utilizado atualmente.

É chamado de “Base 10sistema ” porque existem 10 símbolos que podem ser usados: 0 – 9.

Ao chegar a 9, você fica sem símbolos, então adiciona 1 dígito à esquerda e começa novamente em 0.

Binário

Um número binário é composto apenas por dígitos. 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 habituais 10 dígitos.

A regra geral para contar usando o sistema binário é a mesma do sistema decimal: conte até um pouco antes da "base", depois comece novamente em 0, mas primeiro 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

Os números hexadecimais são bastante interessantes, visto que são um "Base 16" sistema.

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

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

Novamente, quando ficarmos sem símbolos (quando chegarmos a) F) 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 UM B C D E F
Decimal: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

Veja em ação

Escolha um dos sistemas abaixo e veja a contagem:

Conversão entre sistemas

Se você gosta mesmo de matemática, pode aprender sozinho. como converter números entre diferentes sistemas de base.

A maneira mais fácil, no entanto, é usar um serviço online. Conversor de Números.

Bits vs Bytes

Bits e bytes são frequentemente confundidos, mas na verdade existe uma grande diferença entre eles.

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

Por outro lado, um byte é muito maior, contém oito bitsMatematicamente n bits rendimentos 2 ^ n padrões assim um byte pode armazenar um número entre 0 e 255.


pedaço 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 bytes são abreviados com um B maiúsculo, enquanto bits usam um b minúsculo.Portanto, Mbps significa megabits por segundo e MBps significa megabytes por segundo.

Unindo tudo

Você pode estar se perguntando por que estamos falando sobre bits, bytes e todos esses diferentes sistemas numéricos.

Ao adicionar um parâmetro de dispositivo, você precisa escolher o seu. Tamanho dos dadosEntre 1, 2 ou 4 bytes e Hex ou Dec, existem 6 opções para escolher.

Você pode se sentir tentado a simplesmente escolher a primeira opção e seguir em frente, mas um parâmetro de tamanho de dados incorreto não funcionará e, em algumas ocasiões, pode impedir que o próprio dispositivo funcione corretamente.

Tamanho dos dados

Primeiramente, é importante saber que, a menos que seja indicado o contrário, todos os parâmetros são 1 byte decimal.

No entanto, alguns dispositivos exigem tamanhos de dados diferentes. Por isso, é extremamente importante ler atentamente o manual do seu dispositivo antes de fazer qualquer alteração.

Fazemos o possível para manter todas as páginas de produtos atualizadas. manuais atualizados.

Nos raros casos em que não temos um manual ou as informações nele apresentadas não são suficientemente claras, sugerimos que você procure o seu dispositivo em pimenta1 Z-wave banco de dados ou o Z-Wave Aliança site.

Valores negativos

É senso comum usar um sinal de menos para representar um número 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 números 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 em que valores negativos são representados pelo complemento de dois do seu próprio valor. Isso significa basicamente que números que têm um "1" no bit mais à esquerda são negativos.

Para atribuir valores negativos a um parâmetro, você deve usar o valor máximo (dependendo do tamanho do parâmetro). i.e. 1, 2 ou 4 bytes) e subtraia o valor desejado.

Exemplos

Tudo fica mais fácil de entender com um exemplo, então vamos analisar alguns dispositivos do dia a dia que exigem alguns cálculos matemáticos antes de configurar seus parâmetros.

Philio Multissensor GEN5

Uma breve olhada em Philio Manual multissensor E percebe-se imediatamente que a maioria dos valores de seus parâmetros não são os usuais decimais de 1 byte.

Vamos pegar Parâmetro 7 Por exemplo. ObservaçãoPara este exemplo, usaremos os parâmetros PST02-1A.

Precisamos habilitar a classe de comando de relatório de sensor binário e fazer com que o dispositivo relate "limpo" após um evento de movimento para que os sensores de movimento e de ímã funcionem na maioria dos casos. Z-Wave controladores.

Para isso, precisamos habilitar bit 1 e bit 4 e adicione isso à lista que já está ativada por padrão. bit 2.

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

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

Medidor de alicate Aeon

O decimal de 4 bytes Os parâmetros usados ​​pelo alicate amperímetro Aeon podem ser complicados quando comparados a um parâmetro decimal de 1 byte.

Por exemplo, digamos que queremos configurar uma versão de braçadeira única deste dispositivo. Aprendemos aqui que Parâmetro 103 deve ser definido como 2304 Mas por quê?

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

Isso também nos diz que o Valor 1 é o MSB (Bit Mais Significativo) e Valor 4 LSB (Bit menos significativo).

Sabendo disso, podemos aplicar a mesma lógica que usamos antes, começando pelo bit menos significativo (valor 4).Isso se traduz em:


Para obter relatórios de watts e kWh, precisamos habilitar a opção.bit 0 e bit 3 sobre Valor 3 .

Isso nos dá: 2048 + 256 = 2304

Então o nosso decimal de 4 bytes O parâmetro deve ser definido como 2304 .

Aeon Siren GEN5

O decimal de 2 bytes 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, tudo em um único parâmetro.

Olhando para o manual podemos ver Valor 1 possui 6 configurações possíveis enquanto Valor 2 têm 4. Isso se traduz em:

Valor 1 (MSB)
Som 5 Som 4 Som 3 Som 2 Som 1
Pedaço 4 3 2 1 0
Valor 4096 2048 1024 512 256
Valor 2 (LSB)
Volume 3 Volume 2 Volume 1
Pedaço 2 1 0
Valor 4 2 1

No entanto, a Aeon utilizou uma lógica diferente para este parâmetro, o que pode dificultar um pouco a compreensão. Se consultarmos o manual, encontraremos:

  • Valor 1
    • 0 - Não altere o som atual da sirene.
    • 1 - O som da sirene 1 está selecionado
    • 2 - O som da sirene 2 está selecionado
    • 3 - O som da sirene 3 está selecionado
    • 4 - O som da sirene 4 está selecionado
    • 5 - O som da sirene 5 está 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 são os valores decimais, mas eles sãoaplicado com relação à distribuição em um valor de 2 bytes.

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

Provavelmente será mais fácil de entender com um exemplo:

  • Veja a sirene Sound 4, o manual diz que é O valor é 4
  • Agora observe o que está acima. padrão de valor de 8 bits - qual "bit" verificaríamos para fornecer valor de 4 A resposta é: bit 2
  • E qual é o valor? bit 2 No segundo byte de um valor de 2 bytes? A resposta é 1024

Se isso parece complicado, pode ser mesmo :-)

Vejamos um segundo exemplo:

  • Veja o som da sirene 3 com valor 3
  • Qual "bit" verificaríamos para fornecer valor de 3 Precisaríamos habilitar bit 0 e 1 (1 + 2)
  • Qual é a soma dos valores dos bits 0 e 1 em um padrão de valor de 8 bits padrão? A resposta é 768 (512 + 256)

Observação Para obter uma lista completa dos valores decimais a serem usados ​​com a Aeon Siren, consulte este link. guia

Fibaro Deslize

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

Estes são decimal de 2 bytes Parâmetros em que cada gesto ocupa 4 bits.

Cada gesto pode ser identificado da seguinte forma:

Valor 4 bits Gesto
0 0000 vazio
1 0001 ^
2 0010 v
3 0011 & lt;
4 0100 &>

O padrão de bits da sequência pode ser traduzido como:

Valor 1 (MSB) - reservado
Pedaço 3 2 & 1 0
Valor 32768 16384 8192 4096
Valor 2 - primeiro gesto
Pedaço 3 2 1 0
Valor 2048 1024 512 256
Valor 3 - segundo gesto
Pedaço 3 2 1 0
Valor 128 64 32 16
Valor 4 (LSB) - terceiro gesto
Pedaço 3 21 0
Valor 8 4 2 1

Para criar um ^ (para cima)& gt; (direita)& lt; (esquerda) sequência:

  • O valor 1 está reservado, portanto seu valor é 0.
  • O valor 2 é "para cima", então o habilitaríamos. bit 0 (0001) = 256
  • O valor 3 está "correto", então nós o habilitaríamos. bit 2 (0100) = 64
  • O valor 4 é "esquerdo", então o habilitaríamos. bit 0 e 1 (0011) = 2 + 1

Se somarmos todos os valores, obteremos 323.

Fibaro Sensor de movimento GEN5

O decimal de 2 bytes Fibaro Sensor de movimento GEN5 Parâmetro 66 Pode armazenar dois bytes ou 16 bits, o que nos permite 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, você subtrairia o valor absoluto desejado (20) do valor máximo que o parâmetro pode assumir (2^16).

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

Portanto, nosso parâmetro decimal de 2 bytes deve ser definido como 65516.

Informações relacionadas


Direitos autorais Vesternet 2017

Atualizado em: 07/11/2017