Processeur Extraire la plage de bits

Anthony Pépin Mis à jour le par Anthony Pépin

Ce processeur n'est pas disponible par défaut. Veuillez contacter l'équipe d'assistance d'Opendatasoft si vous souhaitez que ce processeur soit activé dans votre domaine.

Ce processeur extrait une plage de bits arbitraire depuis un contenu hexadécimal ou binaire et la convertit dans l'un des types de données suivants : entier, entier non signé et non entier.

Exemple d'utilisation : pour le traitement de données provenant d'un réseau de sondes, car celles-ci encodent souvent leur charge utile sous la forme de contenu hexadécimal.

Configurer le processeur

Pour définir les paramètres du processeur Extraire la plage de bits, suivez les indications du tableau ci-dessous.

Label

Description

Obligatoire

Exemple

Champ

Champ contenant le contenu hexadécimal ou binaire

Oui

column_a

Type d'entrée

Type du contenu : hexadécimal ou binaire.

Si ce paramètre n'est pas défini, le contenu est considéré comme hexadécimal par défaut.

Non

Soit en hexadécimal soit en binaire

Décalage du bit de départ

Décalage de départ correspondant à la position du premier bit. Il commence à 0.

Oui

0, 8, 16, ...

Décalage du bit d'arrêt

Décalage d'arrêt correspondant à la position du dernier bit. Doit être supérieur au décalage de départ.

Oui

7, 15, 31, ...

Convertir en

Format dans lequel les données doivent être renvoyées et converties

Oui

Soit int (entier), unint (entier non signé) ou non entier (float)

Champ de sortie

Champ où la plage de bits extraite sera affichée. Il peut s'agir d'un champ existant choisi dans la liste, ou d'un nouveau champ créé à cet effet (dans ce cas, choisissez "Saisir du texte" dans la liste et écrivez le nom du nouveau champ dans la zone de texte en dessous).

Oui

result

Exemple

Une sonde de température envoie une valeur hexadécimale.

hexadecimal value : 0x1649

Cette valeur hexadécimale (deux octets) contient :

  • une valeur décimale encodée sur le premier octet
  • l'identifiant de la sonde encodé sur les quatre premiers bits du deuxième octet
  • un ensemble d'indicateurs représentant la configuration de la sonde, codés sur les quatre bits restants
hexadecimal value : 0x1649 <- information sent by the sensor in hexadecimal
binary value : 00010110 01001001 <- same information in binary

  • le premier octet '00010110' est la température en degrés
  • les quatre bits suivants '0100' sont l'identifiant de la sonde
  • les quatre bits suivants '1001' sont la configuration de la sonde, mais nous souhaitons uniquement le premier bit

Par conséquent, le pipeline de traitement contiendra trois processeurs Extraire la plage de bits

  • un processeur Extraire la plage de bits de 0 à 8 pour convertir en entier signé (int) -> int_temperature
  • un processeur Extraire la plage de bits de 8 à 12 pour convertir en entier non signé (unint) -> sensor_identifier
  • un processeur Extraire la plage de bits de 12 à 13 pour convertir en entier non signé (unint) -> status avec 0 correspondant à "Not OK" et 1 correspondant à "OK"

Extraire la plage de bits 1

00010110 -> 22

Extraire la plage de bits 2

0100 -> 4

Extraire la plage de bits 3

1 -> OK

Résultat final:

Temperature : 22 °C
Identifier : 4
Sensor : OK

Êtes-vous satisfait ?

Processeur Extraire les URLs

Processeur Extraire d'un objet JSON

Contactez-nous

Powered by HelpDocs (opens in a new tab)