This is an automated email from the ASF dual-hosted git repository. zehnder pushed a commit to branch blog-post-oi4 in repository https://gitbox.apache.org/repos/asf/streampipes-website.git
commit dcc05003e162ec30830e80dc4b41d24274097cbf Author: Philipp Zehnder <[email protected]> AuthorDate: Wed Jun 11 17:32:11 2025 +0200 Add blog post for OI4 sensor integration --- .../blog/2025-04-30-usage-based-maintanence.md | 3 +- website-v2/blog/2025-06-11-oi4-adapter.md | 164 +++++++++++++++++++++ .../img/blog/2025-06-11/01-IO-Link-Sensor.png | Bin 0 -> 6332907 bytes .../blog/2025-06-11/02-Architecture-Overview.png | Bin 0 -> 26031 bytes .../static/img/blog/2025-06-11/03-Connect.png | Bin 0 -> 147601 bytes .../2025-06-11/04-Configuration-OI4-adapter.png | Bin 0 -> 147350 bytes .../static/img/blog/2025-06-11/05-Event-Schema.png | Bin 0 -> 188176 bytes .../static/img/blog/2025-06-11/06-Linechart.png | Bin 0 -> 53706 bytes .../blog/2025-06-11/07-Notification-Pipeline.png | Bin 0 -> 90211 bytes 9 files changed, 166 insertions(+), 1 deletion(-) diff --git a/website-v2/blog/2025-04-30-usage-based-maintanence.md b/website-v2/blog/2025-04-30-usage-based-maintanence.md index 5b248df00..02f8be13e 100644 --- a/website-v2/blog/2025-04-30-usage-based-maintanence.md +++ b/website-v2/blog/2025-04-30-usage-based-maintanence.md @@ -7,12 +7,13 @@ authorImageURL: "/img/zehnder.png" # Usage-Based Maintenance with Apache StreamPipes -## Introduction In many manufacturing settings, maintenance is still scheduled at fixed time intervals — often based on past experience rather than actual machine usage. This approach can lead to unnecessary servicing or, worse, unexpected breakdowns. A common limitation is that many machines, especially older ones, offer only minimal sensor data, making advanced maintenance strategies seem out of reach. +<!--truncate--> + However, with Apache StreamPipes, even limited data — such as a simple boolean signal indicating activity — can be leveraged to implement usage-based maintenance. In this blog post, we demonstrate how this is achieved using a real-world example: a packaging machine that processes goods at high throughput. You'll learn how to count machine operations, store event data, visualize usage over time, and trigger notifications when maintenance is due — all with just a few clicks in StreamPipes. diff --git a/website-v2/blog/2025-06-11-oi4-adapter.md b/website-v2/blog/2025-06-11-oi4-adapter.md new file mode 100644 index 000000000..d128bf543 --- /dev/null +++ b/website-v2/blog/2025-06-11-oi4-adapter.md @@ -0,0 +1,164 @@ +--- +title: From Sensor to Insight - Rapid IIoT Integration for IO-Link Devices with Apache StreamPipes +author: Philipp Zehnder +authorURL: "https://github.com/tenthe" +authorImageURL: "/img/zehnder.png" +--- + + +# From Sensor to Insight: Rapid IIoT Integration for IO-Link Devices with Apache StreamPipes + +Integrating industrial sensors into IIoT architectures often poses significant challenges—especially for IT teams unfamiliar with traditional operational technologies (OT). +The complexity of fieldbus protocols, bespoke integrations, and vendor lock-in can create significant barriers to digital transformation on the shop floor. + +<!--truncate--> + +This blog post introduces an easy, scalable approach to bridging this IT/OT divide using **IO-Link**, a standardized protocol for industrial sensors, and **Apache StreamPipes**. +We'll walk you through a complete setup—from connecting IO-Link sensors to visualizing actionable insights—with a focus on a **vibration sensor** and an **IO-Link Master**. + +Whether you're building condition monitoring systems, predictive maintenance pipelines, or just starting with industrial data analytics, this guide will show how StreamPipes makes it simple to move from raw sensor data to intelligent decisions. + +<img src="/img/blog/2025-06-11/01-IO-Link-Sensor.png" alt="Image of IO-Link master and VVB001 sensor" style={{ width: '50%', display: 'block', margin: '0 auto' }} /> + +## Why Choose IO-Link Sensors? + +IO-Link is an increasingly popular choice in modern industrial environments—and for good reason. +It enables seamless sensor integration without the headaches of proprietary protocols or specialized wiring. + +### Benefits of IO-Link for IIoT + +IO-Link sensors support a wide range of measurements including vibration, temperature, flow, and pressure. +Thanks to IODD (IO Device Description) files, these sensors are interoperable across manufacturers, making configuration fast and reliable. +With simple three-wire cabling and support for up to eight sensors via a single IO-Link master, IO-Link dramatically reduces the complexity of sensor installations. + +### What is IO-Link? + +IO-Link is a globally standardized communication protocol (IEC 61131-9) used to connect industrial sensors and actuators. +Unlike traditional analog or proprietary fieldbus protocols, IO-Link communicates digitally and supports detailed sensor diagnostics, parameterization, and status monitoring. +It also integrates easily into IT environments, helping to close the gap between OT data generation and IT-driven analytics. + +### OI4: The Key to MQTT-Based IO-Link Integration + +To simplify integration with modern IoT platforms, the **Open Industry 4.0 Alliance (OI4)** provides a standardized interface specification for IO-Link over MQTT. +This includes well-defined JSON structures, topic hierarchies, and security mechanisms such as TLS encryption and authentication. +OI4-compliant devices ensure that sensor data can be consumed and interpreted reliably—no matter the vendor. + + +## Use Case: Multi-Sensor Condition Monitoring + +Let’s consider a typical industrial use case: monitoring the condition of electric motors using vibration, temperature, and pressure sensors. +These sensors are connected to a **Hilscher sensorEDGE FIELD** gateway, which publishes all sensor values over MQTT using the OI4 format. + +### Real-Time Insights with StreamPipes + +In Apache StreamPipes, this data can be ingested using the OI4 adapter and routed through various processing pipelines. +For instance, you can configure alerts for high vibration (e.g., `aPeak > 8.0 m/s²`) and high temperature (`> 80°C`) to detect early signs of mechanical stress or overheating. +Additionally, a rolling average calculation on pressure data helps identify leaks or irregularities. + +This setup not only enables instant notifications via email but also stores the processed data in a timeseries database for long-term trend analysis—reducing the need for manual inspections and improving asset reliability. + +### Expanding Beyond Vibration + +IO-Link sensors can be used across many other domains in industrial environments. Here are a few examples: + +| Sensor Type | Use Case | StreamPipes Processor(s) | +| ----------- | ----------------------------------------- |-----------------------------------| +| Flow | Detect pipe blockages in real-time | Threshold Alert, Rate of Change | +| Distance | Monitor silo fill levels | Moving Average, Anomaly Detection | +| Pressure | Predict pump failure from pressure spikes | Pattern Matching | + + +## Integration Overview: From Hardware to StreamPipes + +Setting up the hardware and data flow is straightforward—even for teams without OT experience. + +After connecting the **VVB001 vibration sensor** to an IO-Link Master, it is automatically detected and begins sending data. +This gateway then publishes sensor readings to a local or remote MQTT broker in a structured JSON format, following the OI4 specification. + +Apache StreamPipes, with its OI4 adapter, subscribes to these MQTT topics, automatically infers the data schema, and prepares the events for downstream processing—completely eliminating the need for manual parsing or custom integration scripts. + +<img src="/img/blog/2025-06-11/02-Architecture-Overview.png" alt="Architectural overview"/> + + +## StreamPipes Configuration Guide + +Setting up the data stream in StreamPipes is quick and intuitive. Here's how it works: + +### Adding the OI4 Adapter + +Start by opening the **Connect** section in the StreamPipes UI. From the list of available adapters, choose the **OI4 MQTT Adapter**. +This adapter is purpose-built for consuming OI4-compliant MQTT streams, so it comes with built-in support for schema detection and mapping. + +<img src="/img/blog/2025-06-11/03-Connect.png" alt="OI4 adapter in connect"/> + +### Configuring the Adapter + +In the configuration screen, specify the connection to your MQTT broker. For this use case, the broker runs at `tcp://192.168.188.73:1883`, with unauthenticated access. Select the desired sensor type (`VVB001`) and confirm that all available sensors should be included. + +You’ll also need to enter the App ID that identifies the publishing application—in this case, `hilscher.com/.../netfield-app-opc-ua-io-link-adapter-1`. Once configured, click *Next*, and StreamPipes will automatically detect the event schema based on the live payloads from the broker. + +<img src="/img/blog/2025-06-11/04-Configuration-OI4-adapter.png" alt="Configuration of OI4 adapter"/> + + +## Deep Dive: VVB001 Vibration Sensor Data + +The VVB001 sensor is an IO-Link-enabled device capable of measuring several key vibration and temperature metrics. +These metrics are essential for detecting imbalances, misalignments, and early-stage mechanical wear in rotating equipment. + +### Key Metrics Explained + +* **`vRMS` (Velocity RMS)**: Indicates the effective vibration velocity over time. Higher values suggest increasing mechanical stress or imbalance. +* **`aPeak` (Acceleration Peak)**: Captures the maximum acceleration value in a sampling window. Sudden spikes may point to impacts or misalignment. +* **`aRMS` (Acceleration RMS)**: Reflects consistent vibration intensity. Useful for trend analysis and baseline monitoring. +* **`Crest Factor`**: Calculated as the ratio between peak and RMS acceleration. A rising Crest Factor often signals early-stage bearing damage. +* **`Temperature`**: Measures the internal temperature of the sensor or its surroundings—crucial for thermal condition monitoring. + +### Sample JSON Payload + +```json +{ + "Temperature": 37.9, + "sensorId": "000008740649", + "Crest": 4, + "vRms": 0, + "aRms": 0, + "aPeak": 0.2, + "timestamp": 1600599689805 +} +``` + +### Preprocessing in StreamPipes + +Before this data can be used for analytics or alerting, it must be scaled and cleaned. For example: + +* `vRMS` values need to be multiplied by **0.0001**. +* `aPeak`, `aRMS`, `Temperature`, and `Crest` values are scaled by **0.1**. + +The StreamPipes connect functionality van handle this effortlessly. +You can edit the event schema to apply scaling and remove unused fields. + +<img src="/img/blog/2025-06-11/05-Event-Schema.png" alt="Configuration of OI4 adapter"/> + + +## Visual Data Exploration + +Once the data is flowing, you can use the **Data Explorer** in StreamPipes to monitor sensor metrics in real-time. Line charts help you visualize trends, spikes, and anomalies in vibration and temperature levels. + +Whether you’re fine-tuning processing logic or monitoring asset health, StreamPipes visualizations make it easy to detect anomalies and trends in real time. + +<img src="/img/blog/2025-06-11/06-Linechart.png" alt="Configuration of OI4 adapter" style={{ width: '70%', display: 'block', margin: '0 auto' }}/> + + +## Alerting with Pipelines + +With pipelines, you can define rule-based logic to trigger alerts based on sensor values. For example, if the **Crest Factor** exceeds a defined threshold, you can send an email notification to maintenance staff. + +Pipelines are extensible—you can integrate third party tools, store data in databases, or implement predictive analytics using machine learning models. + +<img src="/img/blog/2025-06-11/07-Notification-Pipeline.png" alt="Configuration of OI4 adapter" style={{ width: '50%', display: 'block', margin: '0 auto' }}/> + + +## Conclusion + +Apache StreamPipes and IO-Link together offer a highly accessible yet powerful IIoT solution. +From a simple dashboard setup to complex, multi-sensor condition monitoring pipelines, this integration enables IT teams to drive real-time insights from machine data—without needing a background in industrial automation. diff --git a/website-v2/static/img/blog/2025-06-11/01-IO-Link-Sensor.png b/website-v2/static/img/blog/2025-06-11/01-IO-Link-Sensor.png new file mode 100644 index 000000000..2c6fa6a2f Binary files /dev/null and b/website-v2/static/img/blog/2025-06-11/01-IO-Link-Sensor.png differ diff --git a/website-v2/static/img/blog/2025-06-11/02-Architecture-Overview.png b/website-v2/static/img/blog/2025-06-11/02-Architecture-Overview.png new file mode 100644 index 000000000..55e8eed30 Binary files /dev/null and b/website-v2/static/img/blog/2025-06-11/02-Architecture-Overview.png differ diff --git a/website-v2/static/img/blog/2025-06-11/03-Connect.png b/website-v2/static/img/blog/2025-06-11/03-Connect.png new file mode 100644 index 000000000..76b2e5524 Binary files /dev/null and b/website-v2/static/img/blog/2025-06-11/03-Connect.png differ diff --git a/website-v2/static/img/blog/2025-06-11/04-Configuration-OI4-adapter.png b/website-v2/static/img/blog/2025-06-11/04-Configuration-OI4-adapter.png new file mode 100644 index 000000000..38c06e5f2 Binary files /dev/null and b/website-v2/static/img/blog/2025-06-11/04-Configuration-OI4-adapter.png differ diff --git a/website-v2/static/img/blog/2025-06-11/05-Event-Schema.png b/website-v2/static/img/blog/2025-06-11/05-Event-Schema.png new file mode 100644 index 000000000..a2c3c6a7f Binary files /dev/null and b/website-v2/static/img/blog/2025-06-11/05-Event-Schema.png differ diff --git a/website-v2/static/img/blog/2025-06-11/06-Linechart.png b/website-v2/static/img/blog/2025-06-11/06-Linechart.png new file mode 100644 index 000000000..077ce42d2 Binary files /dev/null and b/website-v2/static/img/blog/2025-06-11/06-Linechart.png differ diff --git a/website-v2/static/img/blog/2025-06-11/07-Notification-Pipeline.png b/website-v2/static/img/blog/2025-06-11/07-Notification-Pipeline.png new file mode 100644 index 000000000..994b74e1d Binary files /dev/null and b/website-v2/static/img/blog/2025-06-11/07-Notification-Pipeline.png differ
