Extract bit range processor

Belangrijk

Deze processor is standaard niet beschikbaar. Gelieve contact op te nemen met het support team van Opendatasoft indien u wenst dat deze processor op uw domein wordt geactiveerd.

Deze processor extraheert een willekeurig bitbereik van een hexadecimale of binaire content en converteert deze in een van de volgende datatypes: integer, unsigned integer en float.

Gebruiksvoorbeelden: wanneer data worden verwerkt die afkomstig zijn van een netwerk van sensoren, aangezien sensoren vaak hun payloads coderen als hexadecimale content.

De processor instellen

Om de parameters van de Extract bit range processor in te stellen, dient u de aanwijzingen in onderstaande tabel te volgen.

Label

Omschrijving

Verplicht

Voorbeeld

Veld

Een veld dat hexadecimale of binaire content bevat

ja

column_a

Inputtype

Type content: hexadecimaal of binair. Wanneer deze parameter niet is ingesteld, wordt de content standaard als hexadecimaal beschouwd.

nee

Ofwel hexadecimaal ofwel binair

Start bit offset op

Offset beginnen die overeenstemt met de positie van het eerste bit. Dit begint bij 0.

ja

0, 8, 16, ...
Stop bit offset

Offset eindigen die overeenstemt met de positie van de laatste bit. Moet groter zijn dan de beginnende offset.

ja

7, 15, 31, ...

Converteer naar

Gewenst formaat om de data te outputten en te converteren

ja

Ofwel int (integer), uint (unsigned integer) of float

Outputveld

Veld waar het geëxtraheerde bitbereik wordt weergegeven. Dit kan een bestaand veld zijn dat gekozen wordt uit een lijst of een nieuw veld dat speciaal hiervoor werd aangemaakt (kies in dit geval Invoertekst uit de lijst en noteer de naam van het nieuwe veld in de tekstruimte eronder).

ja

result

Voorbeeld

Een temperatuursensor stuurt een hexadecimale waarde door.

hexadecimal value : 0x1649

Deze hexadecimale waarde (2 bytes) bevat: - een decimale waarde gecodeerd op het 1ste bit - de gecodeerde sensor identifier op de eerste 4 bits van de 2de bit - een reeks vlaggen die de sensorconfiguratie vertegenwoordigen, gecodeerd op de resterende 4 bits

hexadecimal value : 0x1649          <- information sent by the sensor in hexadecimal
binary value : 00010110 01001001    <- same information in binary
  • de eerste bit "00010110" is de temperatuur in graden

  • de volgende 4 bits "0100" is de sensor identifier

  • de volgende 4 bits "1001" is de sensorconfiguratie, maar we willen enkel de eerste bit

Daarom zal de verwerkingspijplijn 3 Extract bit range processors bevatten

  • één Extract bit range van 0 tot 8 om te converteren in signed integer (int) -> int_temperature

  • één Extract bit range van 8 tot 12 om te converteren in unsigned integer (uint) -> sensor_identifier

  • één Extract bit range van 12 tot 13 om te converteren in unsigned integer, waarbij 0 "Niet OK" betekent en 1 "OK" betekent (uint) -> status

Extract bit range 1

00010110 -> 22

Extract bit range 2

0100 -> 4

Extract bit range 3

1 -> OK

Eindresultaat:

Temperature : 22 °C
Identifier : 4
Sensor : OK