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

Al leer los manuales de los dispositivos o nuestras propias guías, es posible que se encuentre con algunos términos con los que quizás no esté familiarizado, como binario, hexadecimal, bit, byte, etc.

Esta es una guía rápida de los términos comunes que se utilizan para que todos hablemos de las mismas cosas.

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

Si bien esto puede sonar confuso al principio, binario, decimal y hexadecimal son esencialmente formas diferentes de escribir un número.

Echemos un vistazo rápido a 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 utilizar: 0 – 9.

Una vez que llegas al 9 te quedas sin símbolos, por lo que agregas 1 dígito a la izquierda y comienzas nuevamente desde 0.

Binario

Un número binario se compone únicamente de 0arena 1s. Por eso se le 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 para el sistema decimal: contar hasta justo antes de la "Base", luego comenzar nuevamente en 0, pero primero agregar 1 al número a su 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.

Se ven iguales que los números decimales hasta el 9, pero luego están 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 normales a los que estamos acostumbrados.

De nuevo, una vez que nos quedamos sin símbolos (cuando llegamos a F) comenzamos nuevamente en 0 y agregamos 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

Verlo en acción

Elija uno de los sistemas a continuación y observe cómo cuenta:

Conversión entre sistemas

Si realmente te gustan las matemáticas, puedes aprenderlas tú mismo. Cómo convertir números entre diferentes sistemas base.

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

Bits vs Bytes

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

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

Por otra parte, una byte es mucho más grande, contiene ocho bitsMatemáticamente n bits rendimientos 2 ^ n patrones Por lo tanto, 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 B mayúscula, mientras que los bits utilizan b minúscula.Por lo tanto, Mbps son megabits por segundo y MBps son megabytes por segundo.

Uniéndolo todo

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

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

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

Tamaño de los datos

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

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

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

En las raras ocasiones en que nos falte un manual o la información presentada allí no sea lo suficientemente clara, nuestra sugerencia es buscar 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 designar un entero negativo. Sin embargo, las computadoras solo pueden almacenar información en bits, que, como hemos visto, solo pueden tener valores cero o uno. Por lo tanto, el almacenamiento de enteros negativos en un parámetro requiere un enfoque diferente.

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

Para establecer valores negativos en un parámetro, tome el valor máximo (dependiendo del tamaño del parámetro, i.e. 1, 2 o 4 bytes) y reste 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 antes de configurar sus parámetros.

Philio Multisensor GEN5

Una mirada rápida a la Philio Manual del multisensor y uno se da cuenta inmediatamente de que la mayoría de los valores de sus parámetros no son el decimal habitual de 1 byte.

Vamos a tomar Parámetro 7 como 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 sea "claro" después de un evento de movimiento para que los sensores de movimiento e imán funcionen en la mayoría de los casos. Z-Wave controladores.

Para hacer esto necesitamos habilitar bit 1 y bit 4 y agregar eso a lo ya habilitado 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 establecerse en 22.

Pinza amperimétrica Aeon

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

Como ejemplo, supongamos que queremos configurar una versión de abrazadera única de este dispositivo. Hemos aprendido... aquí eso Parámetro 103 debe configurarse en 2304 ¿Pero por qué es eso?

Si nos fijamos en el manual Podemos ver en la página 7 una tabla que muestra todas las opciones posibles para Valor 1 a 4.

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

Sabiendo esto podemos aplicar la misma lógica que hemos utilizado antes comenzando desde el Bit LSB (Valor 4).Esto se traduce a:


Para tener 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 establecerse en 2304 .

Sirena Aeon GEN5

El decimal de 2 bytes Sirena Aeon GEN5 Parámetro 37 Puede almacenar dos bytes o 16 bits como sabemos.

Esto nos permite configurar diferentes sonidos y ajustar el volumen todo en un solo parámetro.

Mirando el manual podemos ver Valor 1 tiene 6 configuraciones posibles mientras Valor 2 tener 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 su comprensión. Si consultamos el manual, tenemos:

  • Valor 1
    • 0 - no cambie el sonido actual de la sirena
    • 1 - Se selecciona el sonido de sirena 1
    • 2 - Se selecciona el sonido de sirena 2
    • 3 - Se selecciona el sonido de sirena 3
    • 4 - Se selecciona el sonido de sirena 4
    • 5 - Se selecciona el sonido de sirena 5
  • Valor 2
    • 0 - no cambie el volumen actual
    • 1 - establecer el volumen a 88 dB
    • 2 - establecer el volumen a 100 dB
    • 3 - establecer el volumen a 105 dB

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

Porque 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 entenderlo con un ejemplo:

  • Mira el sonido de la sirena 4, el manual dice que es el valor es 4
  • Ahora mira lo de arriba Patrón de valor de 8 bits - ¿Qué "bit" comprobaríamos para obtener? 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 la sirena 3 con valor 3
  • ¿Qué "bit" comprobaríamos para obtener? valor de 3 ¿Necesitaríamos habilitarlo? bit 0 y 1 (1 + 2)
  • ¿Cuál es la suma de los valores de los bits 0 y 1 en un patrón estándar de 8 bits? La respuesta es 768 (512 + 256)

Nota :para obtener una lista completa de los valores decimales que se utilizarán con 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 toma 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 & es;
4 0100 >

El patrón de bits de secuencia 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 una ^ (arriba)& gt; (derecha)& lt; (izquierda) secuencia:

  • El valor 1 está reservado por lo que su valor es 0
  • El valor 2 es "arriba", por lo que lo habilitaremos bit 0 (0001) = 256
  • El valor 3 es "correcto", por lo que lo habilitaríamos bit 2 (0100) = 64
  • El valor 4 es "izquierdo", por lo que lo habilitaremos. bit 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 offset de temperatura de -100 a 100 ºC en incrementos de 0,1ºC.

Para establecer un desplazamiento de temperatura de -2,0 ºC, reste 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: 11/07/2017