Developing a Network of Smart, Connected Devices to Better Understand Household Energy Efficiency

  Print Print

"After being successfully installed in 25 households across the UK, our web-connected network of NI Single Board RIOs are delivering new insights into domestic energy usage and efficiency."

- Louise Bonner, TBG Solutions Ltd

The Challenge:
There is a growing number of government initiatives that support major reductions in the carbon footprint of UK homes. To intelligently evaluate energy saving opportunities, we need to better understand household energy efficiencies.

The Solution:
Using Single-Board RIO and LabVIEW, we deployed a distributed network of smart monitoring nodes to a number of UK homes. These nodes monitor gas and electricity consumption, as well as heat generation and dissipation, whilst storing acquired data on a centralised server for trend analysis.

Louise Bonner - TBG Solutions Ltd

TBG Solutions, an NI Gold Alliance Partner, has been developing systems for more than 10 years. After completing a successful project for a large utility company, TBG Solutions were again recruited to develop a network of smart monitoring devices that could be retrofitted into existing central heating systems to monitor gas consumption and heat production. The system needed to capture and log volumes of data on a daily basis, whilst the individual devices could be remotely monitored and configured. The customer wanted to install these devices in houses throughout the UK to monitor which types of boilers are most efficient for houses of different sizes. Each device needed to transmit data to a cloud-based server. The customer also needed a back-end system to download and analyse the daily data files to verify the in-situ performance and efficiency of the various boilers.

High-Level System Overview

The system consisted of three main parts: several smart monitoring nodes built with sbRIO-9606 embedded controllers, a cloud-based server, and a back-end PC application.


Figure 1. Diagram of System Components

To develop the monitoring nodes, we packaged Single-Board RIO controllers into compact, rugged enclosures. Each controller executes LabVIEW real-time code to read the different sensors and send the data to an Amazon cloud server. A 3G modem, connected to the Single-Board RIO integrated Ethernet port, makes communication between the controller and the server possible anywhere with network coverage. The cloud server features a web service, developed with LabVIEW, that receives data from each of the controllers, processes it, and saves the data as daily reports. We also used LabVIEW to develop a back-end PC application, which communicates with the cloud server to monitor and configure each system, as well as downloads the data files for comprehensive post analysis.

Data Logging on the Single-Board RIO

We enclosed an sbRIO-9606 and 3G router in a compact box with an Ethernet port to connect the various sensors and antennae for receiving network signals.


Figure 2. Complete Enclosure Containing a Single-Board RIO and a 3G Router

We produced several of these enclosures, all of which connected to 10 different sensing devices, including RTDs, flow meters, gas meters, electric meters, and temperature sensors. The Single-Board RIO controllers sent the acquired data to the cloud-based web service. We then installed these enclosures in a variety of homes across the UK.

We obtained measurements from the 10 connected sensing devices using Modbus/TCP and the Modbus library included with LabVIEW. We used object-oriented programming to read each sensing device through dynamic dispatch. We chose an object-oriented programming approach because it allows us to develop generic, reusable LabVIEW modules, allowing us to add extra sensing devices with minimal modifications to the code. We wrote collected data to a TDMS file on the USB memory stick inserted into the Single-Board RIO. We took an average of all of the readings every minute, and using the HTTP client VIs, we sent this data up to the web service where it is processed and written to a daily report.

Remote Web Services

We used web services to send and receive data between devices on a network. They allow different applications to communicate with each other using web-based URLs. LabVIEW web services contain VIs that can be called from any device with web access using a unique URL. The web service VIs deliver functionality for processing received data or finding and sending the requested information. The web services are based on LabVIEW and can handle bidirectional traffic—both sending and receiving data depending on which web service VI is called.

The web service application carries out several tasks including updating and creating data files, logging events, updating settings, and sending data to the PC application. This system uses web services that are hosted on an Amazon cloud server with a static IP address, which the user can access using a remote desktop connection. The user rarely needs to access the cloud server; it simply works as a bridge between the 25 systems and the back-end PC application. However, we did give it a simple front panel for debugging purposes, so users can see which systems made contact with the web service.

Figure 3. The Window for Monitoring Calls to the Web Service

While the web service is running, a monitoring screen displays the web service VIs that have been called, which system called it, whether it was successful, and a time stamp of when the message was received. This uses functional global variable, created in LabVIEW, to write and read information each time a VI is called.

Monitoring PC Application

The customer also needed a way to download the daily data files from the web service for additional analysis. We built a back-end PC application, which displays the status of each system, and options for accessing and visualising the data.

Figure 4. View Information About All Connected Systems From the Back-End PC Application

Users can view information on all of the systems that have written data to the web service through the system overview PC application. The main screen shows a general overview of each system, including when it last connected, the number of daily reports stored and if the system has rebooted. The user can then highlight a particular system to view more detailed information such as a graph showing the latest data. They can also download the daily TDMS reports for post-analysis using DIAdem software to to assess energy efficiency trends for each boiler.

The user can also change settings on any of the 25 monitoring nodes from the PC application by using the web service functionality on the cloud server. By clicking the settings button, a user can download and view information from the settings file for the highlighted system.

Figure 5. The PC Application Can Reconfigure the Controllers in the 25 Monitoring Nodes

The settings page shows the latest settings applied to any of the monitoring nodes. Users can download the settings for the highlighted node from the cloud server and see them on the screen. When the operator chooses to update the settings it sends the new values back up to the web service, which then pushes down the new settings to the Single-Board RIO the next time it connects to the web service. Again, we wrote the back-end PC application with object-oriented LabVIEW so we could add new functionality quickly and easily.


We used LabVIEW functionality and the Single-Board RIO platform to create a complete system in which remote data loggers can process and upload data to a central location, and the data can be downloaded and analysed from anywhere with an Internet connection. By using an object-oriented programming style, we ensured a system that we can easily expand without changing the system architecture.

The NI technology we used made developing the system much easier than it would have been with other solutions. The inbuilt libraries in LabVIEW for Modbus, web services, and HTTP connectivity in particular made development quick and simple. We have successfully installed our system in 25 households across the UK, and our web-connected network of Single-Board RIOs are delivering new insights into domestic energy usage and efficiency.

Author Information:
Louise Bonner
TBG Solutions Ltd
3A Midland Court, Barlborough Links
Chesterfield S43 4UL
United Kingdom

Bookmark and Share

Explore the NI Developer Community

Discover and collaborate on the latest example code and tutorials with a worldwide community of engineers and scientists.

‌Check‌ out‌ the‌ NI‌ Community

Who is National Instruments?

National Instruments provides a graphical system design platform for test, control, and embedded design applications that is transforming the way engineers and scientists design, prototype, and deploy systems.

‌Learn‌ more‌ about‌ NI