KB-104 - <tc>Z-Wave</tc> Parámetros del dispositivo: hexadecimal, decimal, binario, bits, bytes... ¡¿Qué?!

Al leer los manuales de los dispositivos o nuestras propias guías, puede encontrar algunos términos con los que no esté familiarizado, como binario, hexadecimal, bit, byte, etc.

Esta es una guía rápida de los términos comunes utilizados para que todos hablemos de lo mismo.

Introducción a los números binarios, decimales y hexadecimales

Aunque esto pueda sonar confuso al principio, binario, decimal y hexadecimal son esencialmente solo diferentes maneras de escribir un número.

Veamos rápidamente las diferencias entre ellos.

Decimal

No hay mucho que decir sobre el sistema decimal, dado que es el sistema más utilizado hoy en día.

Se llama “Base 10“sistema porque hay 10 símbolos que se pueden usar: 0 – 9.

Una vez que llegas a 9, te quedas sin símbolos, así que agregas 1 dígito a la izquierda y comienzas de nuevo en 0.

Binario

Un número binario se compone únicamente de dos elementos. 0arena 1Por eso se llama “Base 2" sistema.

Esto significa que un solo dígito binario solo puede mostrar 2 valores diferentes en lugar de los 10 dígitos habituales.

La regla general para contar utilizando el sistema binario es la misma que la del sistema decimal: contar hasta justo antes de la "Base", luego comenzar de nuevo en 0, pero primero se suma 1 al número de la izquierda.


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

Hexadecimal

Los números hexadecimales son bastante interesantes dado que son un “Base 16" sistema.

Tienen el mismo aspecto que los números decimales hasta el 9, pero luego aparecen las letras ("A,"B,"C,"D,"E,"F") en lugar de los números decimales del 10 al 15.

Un solo dígito hexadecimal puede mostrar 16 valores diferentes en lugar de los 10 dígitos habituales a los que estamos acostumbrados.

Una vez que nos quedemos sin símbolos (cuando lleguemos a F) comenzamos de nuevo en 0 y sumamos 1 a la siguiente posición a la izquierda.


Hexadecimal: 0 1 2 3 4 5 6 7 8 9 A B do D mi F
Decimal: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

Véalo en acción

Elige uno de los sistemas a continuación y observa cómo cuenta:

Conversión entre sistemas

Si realmente te gustan las matemáticas, puedes aprender por tu cuenta. cómo convertir números entre diferentes sistemas de bases.

Sin embargo, la forma más sencilla es utilizar un servicio en línea. Convertidor de números.

Bits frente a Bytes

A menudo se confunden bits y bytes, pero en realidad existe una gran diferencia entre ellos.

A poco es la unidad más pequeña de información que se puede almacenar o manipular en una computadora. Cuando se representa como un número, los bits pueden tener un valor de "1" (uno) o "0" (cero).

Por otro lado, byte es mucho más grande, contiene ocho bitsMatemáticamente n bits rendimientos 2 ^ n patrones por lo que un byte puede contener un número entre 0 y 255.


poco 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

Es importante saber que los bytes se abrevian con una B mayúscula, mientras que los bits utilizan una b minúscula.Por lo tanto, Mbps son megabits por segundo y MBps son megabytes por segundo.

Uniendo todo

Quizás te preguntes por qué hemos estado hablando de bits, bytes y todos esos sistemas numéricos diferentes.

Al agregar un parámetro de dispositivo, debe elegir su Tamaño de los datosEntre 1, 2 o 4 bytes y hexadecimal o decimal, hay 6 opciones para elegir.

Puede que sientas la tentación de simplemente elegir la primera opción y seguir adelante con ella, pero un parámetro de tamaño de datos incorrecto no funcionará en absoluto y, en algunas ocasiones, puede impedir que el propio dispositivo funcione correctamente.

Tamaño de los datos

Lo primero que hay que saber es que, a menos que se indique lo contrario, todos los parámetros son 1 byte decimal.

Sin embargo, algunos dispositivos requieren tamaños de datos diferentes. Por ello, es fundamental leer atentamente el manual del dispositivo antes de realizar cualquier cambio.

Hacemos todo lo posible para mantener todas las páginas de productos con manuales actualizados.

En raras ocasiones, si no disponemos de un manual o la información presentada no es suficientemente clara, le sugerimos que busque su dispositivo en pimienta1 Z-wave base de datos o el Z-Wave Alianza sitio web.

Valores negativos

Es lógico usar el signo menos para representar un número entero negativo. Sin embargo, las computadoras solo pueden almacenar información en bits, que, como hemos visto, solo pueden tener los valores cero o uno. Por lo tanto, el almacenamiento de números enteros negativos en un parámetro requiere un enfoque diferente.

Sin entrar en detalles, una forma de almacenar valores negativos es usar el Complemento de dos Convención donde los valores negativos se representan mediante el complemento a dos de su propio valor. Esto significa que los números que tienen un "1" en el bit más a la izquierda son negativos.

Para asignar valores negativos a un parámetro, se toma el valor máximo (dependiendo del tamaño del parámetro). i.e. 1, 2 o 4 bytes) y restar el valor deseado.

Ejemplos

Todo es más fácil de entender con un ejemplo, así que veamos algunos dispositivos cotidianos que requieren algunos cálculos matemáticos básicos antes de configurar sus parámetros.

Philio Multisensor GEN5

Un vistazo rápido a Philio Manual multisensor y uno se da cuenta inmediatamente de que la mayoría de sus valores de parámetros no son el habitual decimal de 1 byte.

Vamos a tomar Parámetro 7 Por ejemplo. Nota: para este ejemplo utilizaremos los parámetros PST02-1A.

Necesitamos habilitar la clase de comando de informe de sensor binario y hacer que el informe del dispositivo se vuelva "borrado" después de un evento de movimiento para que los sensores de movimiento y magnéticos funcionen en la mayoría de los casos. Z-Wave controladores.

Para ello necesitamos habilitar bit 1 y bit 4 y añadir eso a la lista que ya está habilitada por defecto. bit 2.

Esto se traduce a: (2 ^ 1) + (2 ^ 2) + (2 ^ 4) = 22

Así que nuestro 1 byte decimal El parámetro debe configurarse en 22.

Pinza amperimétrica Aeon

El Decimal de 4 bytes Los parámetros utilizados por el medidor de pinza Aeon pueden resultar complicados en comparación con un parámetro decimal de 1 byte.

Por ejemplo, supongamos que queremos configurar una versión de este dispositivo con una sola abrazadera. Hemos aprendido aquí eso Parámetro 103 debería configurarse para 2304 ¿Pero por qué?

Si observamos el manual En la página 7 podemos ver una tabla que muestra todas las opciones posibles para Valor de 1 a 4.

También nos dice que el Valor 1 es el MSB (Bit más significativo) y valor 4 el LSB (Bit menos significativo).

Sabiendo esto podemos aplicar la misma lógica que hemos utilizado antes, comenzando desde el bit menos significativo (valor 4).Esto se traduce a:


Para obtener informes de vatios y kWh necesitamos habilitarbit 0 y bit 3 en Valor 3 .

Esto nos da: 2048 + 256 = 2304

Así que nuestro Decimal de 4 bytes El parámetro debe configurarse en 2304 .

Sirena Aeon GEN5

El Decimal de 2 bytes Sirena Aeon GEN5 Parámetro 37 Como sabemos, puede almacenar dos bytes o 16 bits.

Esto nos permite configurar diferentes sonidos y ajustar el volumen, todo ello en un único parámetro.

Al observar el manual podemos ver Valor 1 tiene 6 configuraciones posibles mientras Valor 2 tienen 4. Esto se traduce a:

Valor 1 (MSB)
Sonido 5 Sonido 4 Sonido 3 Sonido 2 Sonido 1
Poco 4 3 2 1 0
Valor 4096 2048 1024 512 256
Valor 2 (LSB)
Volumen 3 Volumen 2 Volumen 1
Poco 2 1 0
Valor 4 2 1

Sin embargo, Aeon ha utilizado una lógica diferente para este parámetro, lo que puede dificultar un poco su comprensión. Si consultamos el manual, encontramos lo siguiente:

  • Valor 1
    • 0 - No cambie el sonido actual de la sirena
    • 1 - Se ha seleccionado el sonido de sirena 1.
    • 2 - Se ha seleccionado el sonido de sirena 2.
    • 3 - Se ha seleccionado el sonido de sirena 3.
    • 4 - Se ha seleccionado el sonido de sirena 4.
    • 5 - Se ha seleccionado el sonido de sirena 5.
  • Valor 2
    • 0 - No cambie el volumen actual
    • 1 - Ajusta el volumen a 88 dB
    • 2 - Ajusta el volumen a 100 dB
    • 3 - Ajusta el volumen a 105 dB

Estos son los valores decimales, pero sonaplicado con respecto a estar distribuido en un valor de 2 bytes.

Dado que los valores de sonido y volumen se aplican como unparámetro único de 2 bytes Necesitamos convertir los patrones de bits adecuadamente.

Probablemente sea más fácil de entender con un ejemplo:

  • Mira la sirena Sonido 4, el manual dice que es El valor es 4
  • Ahora mire lo anterior patrón de valor de 8 bits ¿Qué "bit" revisaríamos para dar valor de 4 ¿La respuesta es? bit 2
  • ¿Y qué valor tiene? bit 2 ¿En el segundo byte de un valor de 2 bytes? La respuesta es 1024

Si esto suena complicado, puede serlo :-)

Veamos un segundo ejemplo:

  • Mira el sonido de sirena 3 con valor 3
  • ¿Qué "bit" comprobaríamos para dar valor de 3 ¿Tendríamos que habilitarlo? bits 0 y 1 (1 + 2)
  • ¿Cuál es la suma de los valores de los bits 0 y 1 en un patrón de valores estándar de 8 bits? La respuesta es 768 (512 + 256)

Nota Para obtener una lista completa de los valores decimales que se deben usar con la Aeon Siren, consulte esto. guía

Fibaro Golpe fuerte

Parámetro 31-36 permite al usuario crear secuencias de dos o tres gestos para ampliar el número de acciones posibles.

Estos son Decimal de 2 bytes Parámetros donde cada gesto ocupa 4 bits.

Cada gesto se puede identificar de la siguiente manera:

Valor 4 bits Gesto
0 0000 vacío
1 0001 ^
2 0010 v
3 0011 & <
4 0100 &mayor;

La secuencia de bits se puede traducir como:

Valor 1 (MSB) - reservado
Poco 3 2 & 1 0
Valor 32768 16384 8192 4096
Valor 2 - primer gesto
Poco 3 2 1 0
Valor 2048 1024 512 256
Valor 3 - segundo gesto
Poco 3 2 1 0
Valor 128 64 32 16
Valor 4 (LSB) - tercer gesto
Poco 3 21 0
Valor 8 4 2 1

Para crear un ^ (arriba)& gt; (derecha)& lt; (izquierda) secuencia:

  • El valor 1 está reservado, por lo que su valor es 0.
  • El valor 2 es "arriba", así que lo habilitaríamos bit 0 (0001) = 256
  • El valor 3 es "correcto", así que lo habilitaríamos bit 2 (0100) = 64
  • El valor 4 es "izquierda", por lo que lo habilitaríamos. bits 0 y 1 (0011) = 2 + 1

Si sumamos todos los valores obtenemos 323.

Fibaro Sensor de movimiento GEN5

El Decimal de 2 bytes Fibaro Sensor de movimiento GEN5 Parámetro 66 Puede almacenar dos bytes o 16 bits que nos permiten establecer un desplazamiento de temperatura de -100 a 100 ºC en incrementos de 0,1 ºC.

Para establecer una compensación de temperatura de -2,0 ºC, se restaría el valor absoluto deseado (20) al valor máximo que puede tomar el parámetro (2^16).

Esto se traduce a (2^16) – 20 = 65516.

Por lo tanto, nuestro parámetro decimal de 2 bytes debe establecerse en 65516.

Información relacionada


Derechos de autor Vesternet 2017

Actualizado: 07/11/2017