The Raw UDP Node is used to ingest data from devices or applications that transmit over the User Datagram Protocol (UDP). This node is designed for decoding raw UDP messages based on fixed-position parsing.
What It Does
This node listens for incoming UDP packets and parses specific fields based on character positions or byte offsets in the payload. It allows mapping extracted values into a structured JSON format for further use in the workflow. It’s typically used for low-level, fixed-structure protocols in IoT, GPS tracking, or telemetry applications.
How to Use
Prerequisites
-
The device must send UDP packets to the IP and port configured on your Rayven environment.
-
Payloads should be in a known, consistent structure (e.g., comma-delimited ASCII).
Rayven Workflow Implementation
-
Go to the Inputs panel in the Workflow Builder.
-
Drag the Raw UDP node onto the canvas.
-
Double-click the node to open the configuration window.
-
Enter decoding format and UID parsing rules.
-
Map specific fields by position and assign each a name.
-
Save and activate the node.
Configuration Fields
Field | Requirement | Description |
---|---|---|
Node Name | Required | Name for this node instance. Used as a reference. |
Decode Format | Required | Format of the incoming data: • ASCII – Plain text• (Future formats may include HEX, CSV, etc.) |
Unique ID | Required | A static, system-generated key used to identify the device stream. |
UID Position (starts at 1) | Required | Position (word index) in the UDP message that contains the UID. For example, 1 if it's the first value. |
Field Position | Required | Position of the data field to extract. Indexing starts at 1 . |
Field Name | Required | Name to assign to the extracted field in the resulting JSON output. |
You can define multiple field mappings by repeating the Field Position and Field Name configuration.
Example
Assume the incoming UDP message is:
47dab84f858ecf0ffa7f8c670b,temperature=25.3,humidity=48.2
Configuration Example:
Field | Value |
---|---|
Decode Format | ASCII |
UID Position | 1 |
Field Position | 2 |
Field Name | temperature |
Field Position | 3 |
Field Name | humidity |
Output JSON:
{
"uid": "58520a7cc147dab84f858ecf",
"temperature": "25.3",
"humidity": "48.2"
}
Best Practices
-
Always verify payload format with device vendor documentation.
-
Use tools like Wireshark or UDP listeners to inspect raw messages during development.
-
Keep field positions consistent across all devices using this node.
-
Combine with a Data Validation Node or Rule Node to handle malformed payloads.
Use Cases
-
Ingest data from GPS trackers or vehicle telematics devices.
-
Parse sensor telemetry sent over UDP (e.g., weather stations, asset tags).
-
Integrate with industrial gateways that output UDP messages for SCADA integration.
Q: Does this node support binary or hex formats?
Currently, only ASCII is supported. For binary or hex, use a custom decoder or request format extension.
Q: Can I parse variable-length messages?
No. This node expects a consistent structure. Use a Script Node if dynamic parsing is needed.
Q: Can multiple devices send data to the same node?
Yes, as long as each device’s UID is correctly positioned and unique.