Dominik Riemer created COMDEV-503:
-------------------------------------
Summary: OPC-UA browser for Apache StreamPipes
Key: COMDEV-503
URL: https://issues.apache.org/jira/browse/COMDEV-503
Project: Community Development
Issue Type: Improvement
Components: GSoC/Mentoring ideas
Reporter: Dominik Riemer
h3. *Apache StreamPipes*
Apache StreamPipes (incubating) is a self-service (Industrial) IoT toolbox to
enable non-technical users to connect, analyze and explore IoT data streams.
StreamPipes offers several modules including StreamPipes Connect to easily
connect data from industrial IoT sources, the Pipeline Editor to quickly create
processing pipelines and several visualization modules for live and historic
data exploration. Under the hood, StreamPipes utilizes an event-driven
microservice paradigm of standalone, so-called analytics microservices making
the system easy to extend for individual needs.
h3. *Background*
StreamPipes is grown significantly throughout recent years. We were able to
introduce a lot of new features and attracted both users and contributors.
Putting the cherry on the cake, we were graduated as an Apache top level
project in December 2022. We will of course continue developing new features
and never rest to make StreamPipes even more amazing.
StreamPipes really shines when connecting Industrial IoT data. Such data
sources typically originate from machine controllers, called PLCs (e.g.,
Siemens S7). But there are also new protocols such as OPC-UA which allow to
browse available data within the controller. Our goal is to make connectivity
of industrial data sources a matter of minutes.
Currently, data sources can be connected using the built-in module `StreamPipes
Connect` from the UI. We provide a set of adapters for popular protocols that
can be customized, e.g., connection details can be added.
To make it even easier to connect industrial data sources with StreamPipes, we
plan to add an OPC-UA browser. This will be part of the entry page of
StreamPipes connect and should allow users to enter connection details of an
existing OPC-UA server. Afterwards, a new view in the UI shows available data
nodes from the server, their status and current value. Users should be able to
select values that should be part of a new adapter. Afterwards, a new adapter
can be created by reusing the current workflow to create an OPC-UA data source.
This is a really cool project for participants interested in full-stack
development who would like to get a deeper understanding of industrial IoT
protocols. Have fun!
h3.
*Tasks*
- [ ] get familiar with the OPC-UA protocol
- [ ] develop mockups which demonstrate the user workflow
- [ ] develop a data model for discovering data from OPC-UA
- [ ] create the backend business logic for the OPC-UA browser
- [ ] create the frontend views to asynchronously browse data and to create a
new adapter
- [ ] write Junit, Component and E2E tests
- [ ] what ever comes in your mind 💡 further ideas are always welcome
h3.
*Relevant skills*
* interest in Industrial IoT and procotols such as OPC-UA
* Java development skills
* Angular/Typescript development skills
Anyways, the most important relevant skill is motivation and readiness to learn
during the project!
h3. *Learning Material*
- [StreamPipes
documentation](https://streampipes.apache.org/docs/docs/user-guide-introduction.html)
- [Our current OPC-UA
adapter](https://github.com/apache/streampipes/tree/dev/streampipes-extensions/streampipes-connect-adapters-iiot/src/main/java/org/apache/streampipes/connect/iiot/adapters/opcua)
- [Eclipse Milo, which we currently use for OPC-UA
connectivity](https://github.com/eclipse/milo)
- [Apache PLC4X, which has an API for browsing](https://plc4x.apache.org/)
h3. *References*
See Github issues can be found here:
[https://github.com/apache/streampipes/issues/1390]
h3. *Name and contact information*
* Mentor: Dominik Riemer (riemer[at]apache.org).
* Mailing list: (dev[at]streampipes.apache.org)
* Website: streampipes.apache.org
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]