We are glad that you want to start setting up right away! This guide is divided into 5 steps: Installation, Managing the System,
Data Acquisition & Manipulation and Moving to Production.
Do you still have questions on how to get started? Message us on our Discord Server or submit
a support ticket through the question mark in the lower right corner of the website.
1 - 1. Installation
Installing the united manufacturing hub using the Management Console
The United Manufacturing Hub can be installed locally or on an edge device, depending on your needs. For simple tinkering and development, we recommend installing it locally using our Management Console.
If you prefer an open-source approach, we also provide instructions for using k3d.
Local installation using the Management Console (recommended, Windows only)
We’ve put together a comprehensive guide on how to install the UMH locally on your computer using our Management Console. The Management Console is a desktop application allowing you to setup, configure and maintain your IT / OT infrastructure - independent whether it is deployed as a test instance on the same device as the Management Console, or on an edge-device, on-premise server or in the cloud.
To access the documentation, simply click on the button below.
Once you’ve completed the installation process, we’ll guide you through accessing the microservices using UMHLens. To learn more click here.
2 - 2. Managing the System
Basics of UMHLens and importing Node-RED and Grafana flows
In this chapter, we’ll guide you through connecting to our Kubernetes cluster using UMHLens. Then, we’ll walk you through importing a Node-RED and Grafana flow to help you visualize how data flows through the stack. Check out the image below for a sneak peek
If you installed the UMH using the management console, you should see a cluster named “k3d-united-manufacturing-hub”
under Browse. Click on it to connect.
You can check the status of all pods by navigating to Workloads -> Pods and selecting
united-manufacturing-hub as the namespace on the top right. Depending on your system, it may take a while for all pods to start.
To access the web interfaces of the microservices, e.g. node-red or grafana, navigate to Network -> Services on
the left-hand side. Again make sure to change the namespace to united-manufacturing-hub at the top right.
Click on the appropriate service you wish to connect to, scroll down to Connection and forward the port.
2. Import flows to Node-RED
Access the Node-RED Web UI. To do this, click on the service and forward the port as shown above. When the UI opens
in the browser, add nodered to the URL as shown in the figure below to avoid the cannot get error.
Once you are in the web interface, click on the three lines in the upper right corner and select Import.
Now copy this json file and paste it into the import field. Then press Import.
To activate the imported flow, simply click on the Deploy button located at the top right of the screen.
If everything is working as expected, you should see green dots above the input and output. Once you’ve confirmed
that the data is flowing correctly, you can proceed to display it in Grafana
3. Import flows to Grafana & view dashboard
Go into UMHLens and forward the grafana service as you did with node-red. To log in, you need the grafana Secrets,
which you can find in UMHLens under Config -> Secrets -> Grafana-Secret. Click on the eye to display the username and password and enter it in grafana.
Once you are logged in, click on Dashboards on the left and select Import. Now copy this Grafana json and paste it into Import via panel json. Then click on Load. You will then be redirected to Options where you need to select the umh-v2-datasource. Finally, click on Import.
If everything is working properly, you should now see a functional dashboard with a temperature curve.
Next, you can create a node-red flow for yourself and then learn how to create a dashboard in Grafana. Click here to proceed.
3 - 3. Data Acquisition and Manipulation
Formatting raw data into the UMH data model using node-red.
The United Manufacturing Hub has several simulators. These simulators simulate different data types/protocols such as MQTT, PackML or OPC/UA. In this chapter we will take the MQTT simulated data and show you how to format it into the UMH data model.
Creating Node-RED flow with simulated MQTT-Data
Access the Node-RED Web UI. To do this, click on the service and forward the port as shown below. Once the UI opens
in the browser, add nodered to the URL to avoid the cannot get error.
From the left-hand column, drag a mqtt-in node, a mqtt-out node, and a debug node into your flow.
Connect the mqtt-in and to the debug-node.
Double-click on the mqtt-in node and add a new MQTT broker. To do so, click on Edit and use the service name of HiveMQ as the host (located in UMHLens under services -> name). Leave the port as autoconfigured and click on Add to save your changes.
To view all incoming messages from a specific topic, type ia/# under Topic and click on Done.
To apply the changes, click on Deploy located at the top right of the screen. Once the changes have been deployed, you can view the debug information by clicking on Debug-Messages located under Deploy.
In this column, you can view all incoming messages and their respective topics. The incoming topics follow this format: ia/raw/development/ioTSensors/. For the purpose of this tutorial, we will be using only the temperature topic, but feel free to choose any topic you’d like. To proceed, copy the temperature topic (ia/raw/development/ioTSensors/Temperature), open the mqtt-in node, paste the copied topic in the Topic field, click on Done, and then press Deploy again to apply the changes.
To format the incoming message, add a JSON node and a Function node to your flow. Connect the nodes in the following order: mqtt-in → JSON → Function → mqtt-out.
Open the function node and paste in the following:
We are creating a new object (array) with two keys timestamp_ms and temperature and their corresponding value Date.now() and parseFloat(msg.payload,10).
The parseFloat function converts the incoming string into a float with the base 10 and the Date.now() creates a timestamp.
We also created a msg.topic for the mqtt-out node, which will automatically apply this topic.
The topic ends with the key processValue which is used whenever a custom process value with unique name has been prepared. The value is numerical. You can learn more about our message structure here.
Add another mqtt-in node to your flow, and set the topic to ia/factoryinsight/Aachen/testing/processValue. Make sure to select the created broker. Connect a debug node to the new mqtt-in node, and then click on Deploy to save the changes.
You should now see the converted message under Debug-messages. To clear any previous messages, click on the trash bin icon.
Congratulations, you have successfully converted the incoming message and exported it via MQTT. However, since we are currently only exporting the temperature without actually working with the data, let’s create a function that counts the critical temperature exceedances.
Drag another function-node into your flow, open it and navigate to On Start.
Paste in the following code, which will only run on start:
Then click on On-Message and paste in the following and click done:
The pasted in code will work as shown in the diagram below.
Finally, connect the function-node like shown below and click on deploy.
If the incoming value of temperature is now greater than 47, you will see another message consisting of TemperatureWarning and a timestamp in debug-messages.
In the next chapter we will use Grafana to display the formatted data. Click here to proceed.
4 - 4. Data Visualization
Building a simple Grafana dashboard
The next step is to visualize the data. In this chapter, we will be creating a Grafana dashboard that is based on the Node-RED flow we created in the previous chapter. The dashboard will display the temperature readings and temperature warnings.
Creating a Grafana dashboard
Open Grafana with UMHLens and enter the secrets also found in UMHLens.
Once you are in Grafana navigate to the left and click on New dashboard.
Click on Add a new panel.
Next we will configure the datasource-v2, to retrieve the data we earlier transformed in Node-red. Click on umh-v2-datasource.
Go to Work cell to query and select under Select new work cell: factoryinsight->Aachen->DefaultArea->DefaultProductionLine->testing
Next go to Value to query and select under Select new value: tags->custom->temperature .
If you now click on Refresh Dashboard at the top right-hand corner, the graph will refresh and display the temperature data.
Next, you can customise your dashboard. On the right side are several options, such as specifying a unit or setting thresholds, etc. Just play around until it suits your needs.
When you have finished making adjustments, click Apply in the top right-hand corner to save the panel and return to the overview.
Next we will display the temperature warnings. Click Add Panel at the top right to create an additional panel.
To set up the umh-v2 data source, repeat the steps discussed earlier, but select under Value to query: TemperatureWarning instead of temperature.
instead of a time series chart to display the temperature warnings, we select Stat on the right side.
Now you can again customize your panel and when you are done click on Apply.
Congratulations, you have created your first Grafana dashboard, and it should look something like the one below.
The next topic is “Moving to Production”, where we will explain what it means to move the umh to a manufacturing environment. Click here to proceed.
5 - 5. Moving to Production
Moving the United Manufacturing Hub to production
The next big step is to use the UMH on a virtual machine or an edge device in your production and connect your production assets. However, we understand that you might want to understand a little bit more about the United Manufacturing Hub first. So, you can either read more about, deep-dive into your local installation, or continue with the deployment in production.
Check out our community
We are quite active on GitHub and Discord. Feel free to join, introduce yourself and share your best-practices and experiences.
If you like reading more about its features and architecture, check out the following chapters:
Features to understand the capabilities of the United Manufacturing Hub and learn how to use them
Architecture to learn what is behind the United Manuacturing Hub and how everything works together
If reading is not your thing, you can always …
Play around with it locally
If you want to try around locally, we recommend you try out the following topics.
If you’re interested in creating visually appealing Grafana dashboards, you might want to try Grafana-Canvas. In our previous blog article, we explained why Grafana-Canvas is a valuable addition to your standard Grafana dashboard. If you’d like to learn how to build one, check out our tutorial.
If you want to get a good overview of how the OPC/UA protocol works and how to connect it to the UMH, the OPC/UA-simulator is a useful tool. Detailed instructions can be found in this guide.
For those looking to get started with PackML, the PackML Simulator is another helpful simulator. Check out our tutorial on how to create a Node-RED flow with PackML data.
Benthos is a highly scalable data manipulation and IT connection tool. If you’re interested in learning more about it, check out our tutorial.
At times, you may need to connect different, older protocols. In such cases, KepwareServerEx can help bridge the gap between these older protocols and the UMH. If you’re interested in learning more, check out our tutorial.
Deployment to production
Ready to go to production? Go install it!
Follow our step-by-step tutorial on how to install the UMH on an edge device or an virtual machine using Flatcar. We’ve also written a blog article explaining why we use Flatcar as the operating system for the industrial IoT, which you can find here.
Make sure to check out our advanced production guides, which include detailed instructions on how to secure your setup and how to best integrate with your infrastructure.