node-red-contrib-binary 0.1.3

A Node-RED node to parse and serialize binary data

npm install node-red-contrib-binary

Node-RED function that takes the msg.payload and converts it to/from binary data.

Installation

Either use the Manage Palette option in the Node-RED Editor menu, or run the following command in your Node-RED user directory - typically ~/.node-red

    npm i node-red-contrib-binary

Usage

If the input is a buffer it tries to parse it and creates a javascript object. If the input is a javascript object it tries to serialize it and creates a buffer.

Pattern language

The pattern language is specified by the underlying module packet.

Quick ref

  • b16 - big endian integer 16 bits (2 bytes)
  • l32 - little endian integer 32 bits (4 bytes)
  • x16 - ignore next 16 bits ((2 bytes))
  • -b8 - signed integer 8 bits (1 byte)
  • b64f - big endian double float - IEEE 754
  • l32f - little endian single float

  • l128a - 128 bits (16 byte array)

  • b8z - zero (0x00) terminated byte array
  • b16{b3,x6,-b7} - 16 bits, structured as 3 bits, ignore 6, signed 7 bit int
  • see the ref doc for more patterns.

Example

The pattern is setup as a comma separated set of fields, the binary side first and the json field name second.

x8,  b8 => len,  l24a => id,  b8[4] => tag,  b8 => status,  b16 => volt,  b16 => temp,  b8 => hum,  b8 => crc,  x8

This would create an object like:

{
    len: 13,
    id: [0x12,0x34,0x56],
    tag: [0xde,0xad,0xbe,0xef]],
    status: 0,
    volt: 3600,
    temp: 236,
    hum: 79,
    crc: 114
}

from a buffer like 7e0d123456deadbeef000e1000ec4f7203 which expands as 7e 0d 123456 deadbeef 00 0e10 00ec 4f 72 03

Node Info

Version: 0.1.3
Updated 3 days ago
License: MIT
Rating: 4.0 1

Downloads

22 in the last day
191 in the last week
567 in the last month

Nodes

  • binary

Keywords

  • node-red
  • node
  • binary
  • parser
  • serializer
  • encoder
  • decoder
  • packet

Maintainers