What is WEDA SubNode?
WEDA SubNode is an integration framework designed to bridge physical sensor devices, domain applications, and industrial equipment with WEDA Core. While WEDA Node acts as the orchestration layer, WEDA SubNode serves as the execution layer that directly communicates with hardware, extending the digital twin model to connected devices.
Architecture Overview
WEDA SubNode operates as a lightweight agent that handles bidirectional communication between edge devices and the cloud:
┌─────────────┐
│ WEDA Core │ (Cloud)
└──────┬──────┘
│
┌──────▼──────┐
│ WEDA Node │ (Edge Gateway/IPC)
└──────┬──────┘
│
┌──────▼──────┐
│WEDA SubNode │ (Device Agent)
└──────┬──────┘
│
┌──────▼──────┐
│ Devices │ (Sensors, PLCs, Equipment)
└─────────────┘
Core Capabilities
1. ⬆️ Uplink (Data Collection)
Collects telemetry data from edge devices and sends it to the cloud:
- Protocol Support: Modbus, MQTT, and custom protocols
- Data Pipeline: Collects → Transforms → Publishes
- Real-time Streaming: Continuous data flow to WEDA Core
2. ⬇️ Downlink (Device Command)
Receives commands from cloud to control edge devices remotely:
- Remote Control: Execute commands on physical devices
- Configuration Updates: Push settings changes to equipment
- Bidirectional Sync: Ensure desired state matches reported state
3. Layered Architecture
Built on the OSI 7-layer model for clean separation of concerns:
| Layer | Component | Responsibility |
|---|---|---|
| Layers 4-7 | ICommunication | TCP/UDP/Serial connection management |
| Layer 7 | IProtocolParser | Protocol-specific payload parsing (Modbus, MQTT) |
This architecture allows developers to:
- Reuse communication logic across different protocols
- Swap protocol parsers without changing transport layer
- Implement custom protocols efficiently
Developer Experience
The WEDA SubNode SDK (built on .NET 10.0) enables developers to create custom SubNodes for protocol-specific implementations and business logic.
Next: Learn how to install the SDK templates and start building your first SubNode.