« All blog posts

Azure and Power BI - Updated Weather Station Demo


After a couple of years, we decided to update our Azure Weather station demo up to date with the latest Azure visualization possibilities. The earlier blog post explains more detailed the actual technology to move data from OPC UA Server to Azure.

As a short recap:

  • We have a Raspberry Pi with sensors attached to it which measure the pressure and temperature of our office
  • The data from the OPC UA server is transferred to the OPC publisher-module (https://github.com/Azure/iot-edge-opc-publisher)
  • The OPC publisher-module allows us to choose the fields which we want to publish along with other configuration options and forwards the data to Azure’s IoT Hub


Data processing in Azure

At this point, we’ve gotten our data into azure as an input on IoT Hub. IoT Hub basically acts as a central hub for communication between our IoT applications and the devices it is managing. For the visualization of the data we need to add Azure Stream Analytics to our resource group.

The data from IoT Hub is inputted into Azure Stream Analytics which allows us to choose the data from the input we want to use and output it as a dataset for Power BI, which in turn can be used for real time graphs and static reports to be embedded into your own application or alternatively into other Microsoft services such as SharePoint.

Power BI

Power BI offers a wide variety of ways to use your data to create graphs, real time dashboards and reports to be consumed by either your own organization or your clients. We used the data from our weather station to graph the pressure and internal temperature of our office in real time.

To share real time dashboards for other users without a Power BI Pro license, capacity is required to power the renders of graphs for unlicensed users. Since this is relatively expensive for our purpose, we decided to leave this dashboard for internal use only. On the other hand, it is completely free to create reports which can be embedded into your website with a simple html tag. These, however, do not fetch dataset updates in real time. You can take a look at the data gathered by the weather station from the last 7 days here.


In summary, Azure and Power BI offer a straightforward and powerful way to visualize data from your OPC UA servers for your organization or your clients. Our implementation was relatively simple, but the technology is suitable for more complex systems. A more complex demo provided by Microsoft can be found here: (https://azure.microsoft.com/en-us/features/iot-accelerators/connected-factory/)

Do you want to know more?

If you are interested in developing your own Azure or other cloud based system with OPC UA connectivity, feel free to contact us. We can provide you software tools and professional services that enable fast development in this rapidly growing new market.

You can send us email (sales@prosysopc.com) or use the contact form.

Luukas Lusetti

Luukas Lusetti

Software Engineer

Email: luukas.lusetti@prosysopc.com

Expertise and responsibility areas: OPC & OPC UA product development and project work

Tags: Azure, IoT, Cloud, OPC UA, PubSub, Raspberry Pi, Power BI, SDK for Java, Demo

comments powered by Disqus

About Prosys OPC Ltd

Prosys OPC is a leading provider of professional OPC software and services with over 20 years of experience in the field. OPC and OPC UA (Unified Architecture) are communications standards used especially by industrial and high-tech companies.

Read more about us »

Newest blog posts

OPC UA PubSub to Cloud via MQTT

Detailed overview of the demo presented at the OPC Foundation booth

SimServer How To #3: Simulate data changes on a server using an OPC UA client

A two-part step-by-step tutorial on how to write data changes on an OPC UA server using an OPC UA client.

How to Succeed in the Production Analytics Project

Industry 4.0 analytics projects are going to be Significantly rising business in the next couple of years. Read how to bypass the most common cavepits and delivery projects succesfully.

View all blog posts »