Summary of Environmental Monitoring with TPS, Azure, and PowerBI
This article outlines a project to collect environmental data using Tibbo Project System (TPS) devices, process it via Azure Stream Analytics, and visualize the results in Power BI. The setup involves configuring the TPS with a specific layout, installing Node.js applications, setting up an Azure IoT Hub for device communication, and registering device identities using the iothub-explorer CLI tool.
Parts used in Environmental Monitoring with TPS:
- Tibbo Project System (TPS) devices
- LTPS Web Interface
- Tibbits Layout modules
- Node.js environment
- Git
- Python 2.7
- Azure account
- Microsoft Azure IoT Hub
- PC with installed Node.js
- iothub-explorer CLI tool
Сollect environmental data with Tibbo Project System devices, process it with Azure Stream Analytics and visualize using Power BI.
Story
Step 0: Configure and Assemble the TPS
- Open LTPS Web Interface by simply entering its IP address in your browser, select the “Tibbits Layout” tab, and push the “Launch TPS Configurator…” button.
- Setup Tibbits Layout as shown on the screenshot below and click File/Save
Note: TPS needs to be rebooted to take new Tibbits Layout into effect.
- Assemble TPS according to the Tibbits Layout
Attention: it’s strongly recommended to shut down TPS before placing/removing Tibbits.
Step 1: First application
Node.js, Git and Python 2.7 are installed on each LTPS by default, but NPM is not.
- For installing, connect it to your device with SSH and do the following:
then
/opt/node-apps/ folder is proposed to be used for your Node.JS apps.
- In any IDE or even a text editor create azure-app-0.js file with your application:
Upload it to /environment folder and run:
Step 2: Setting Up Microsoft Azure IoT Hub
Microsoft Azure IoT Hub is a service that allows bi-directional communications between your devices and a solution back end. To complete this part of the tutorial you’ll need:
- TPS device(s) prepared as shown on the Step 0
- An active Azure account
- A PC with installed Node.js
Create an IoT Hub
- Sign in to the Azure Portal
- Choose New > Internet of Things > Azure IoT Hub
- Configure your IoT Hub, then click “Create”
- Wait a few minutes until your IoT Hub has been created then select All Resources > [name of your IoT hub] and click “Keys” icon.
- In the Shared access policies blade select the “iothubowner” item and then copy the value of “Connection string” field.
Step 3: Registering Device Identities
There are three ways to register device identities: with a script using Azure API, with GUI App (for Windows only) and with multiplatform CLI tool. The third way seems to be the most convenient one.
Note: To use iothub-explorer you need Node.js version 4.x or later installed
- On your PC run:
Read more: Environmental Monitoring with TPS, Azure, and PowerBI
-
How do I configure the TPS?
Open the LTPS Web Interface by entering its IP address, select the Tibbits Layout tab, launch the Configurator, set up the layout, save the file, and reboot the TPS. -
What software is installed on each LTPS by default?
Node.js, Git, and Python 2.7 are installed by default, but NPM is not included. -
Where should Node.JS apps be stored?
The /opt/node-apps/ folder is proposed to be used for your Node.JS apps. -
How do I create an Azure IoT Hub?
Sign in to the Azure Portal, choose New Internet of Things Azure IoT Hub, configure the hub, click Create, and wait for it to finish creating. -
How can I get the connection string for my IoT Hub?
Select All Resources, click your hub name, click the Keys icon, choose the iothubowner item in the Shared access policies blade, and copy the Connection string value. -
What are the ways to register device identities?
You can register with a script using Azure API, with a GUI App for Windows only, or with a multiplatform CLI tool. -
Which method is recommended for registering device identities?
The third way using the multiplatform CLI tool seems to be the most convenient one. -
What Node.js version is required for iothub-explorer?
To use iothub-explorer you need Node.js version 4.x or later installed.

