Industrial manufacturing
Industrial Internet of Things | Industrial materials | Equipment Maintenance and Repair | Industrial programming |
home  MfgRobots >> Industrial manufacturing >  >> Manufacturing Technology >> Manufacturing process

Sensor Telemetry 2.0.1 – Advanced Temperature Monitoring with Azure IoT Hub

Sensor Telemetry 2.0.1 delivers real‑time temperature data from an MCP9808 sensor to Microsoft Azure IoT Hub. The system processes telemetry with Azure Stream Analytics, stores results in Azure SQL, and visualises history in a Windows Universal mobile app. Updated 17 May 2017.

Story

UPDATE: Sensor Telemetry has been remastered and renamed to 2.0.1.

Introduction

Overview

This project showcases how to read a high‑accuracy MCP9808 temperature sensor on a Raspberry Pi, send telemetry to Azure IoT Hub, process the data with Stream Analytics, and persist readings in Azure SQL. A UWP mobile app displays the sensor history and allows remote control via SignalR.

The Application

Two UWP apps share ~99% of their code: one runs on the Raspberry Pi (IoT side) and the other on a PC (client side). The IoT app sends sensor data to IoT Hub and SignalR, while the client app subscribes to SignalR for real‑time updates and can issue commands back to the device.

Technologies

The codebase follows MVVM with Prism (Prism.Unity for IoC) and Prism.Event for a loosely‑coupled event system. SignalR powers real‑time communication across app instances.

Architecture

The core MCP9808 library is a reusable UWP component. In the client app, Views are paired with ViewModels; three repositories handle settings, debug logs, and sensor data. The Mcp9808TemperatureRepository publishes a temperature‑changed event only when the reading changes. Background services handle telemetry, timers, alert pin monitoring, LED control, push‑button handling, notification relays, and debug logging.

Telemetry Service

Listens for temperature changes and forwards messages to Azure Service Bus Event Hub.

Timer Service

Publishes a 500 ms tick; used for UI time display and sensor polling (1 s intervals).

Alert Pin Monitoring Service

Detects GPIO changes on the MCP9808 alert pin and publishes events.

LED Service

Controls LEDs based on temperature alerts.

Push Button Monitoring Service

Handles manual alert reset via a GPIO push button.

Notification Relay Service

Maps internal events to SignalR messages, enabling inter‑app communication.

Debug Console Service

Collects and exposes debugging events for the UI.

Application Initialization

The app launches StartPage, which bootstraps services before navigating to the main view.

Getting Started

Circuit Requirements

Assembly

Photos of the finished breadboard are available in the gallery below.


Microsoft Azure Requirements

Create a free Azure account (USD 200 credit) at azure.com. Sign in to portal.azure.com.

Azure IoT Hub Setup

Create a Device

Azure SQL Database Setup

Create the Database Table

Create App Service Plan & Mobile App

Azure Stream Analytics Setup

Configuring the Software

Download the source from the repository link and open the solution in Visual Studio.

Publish the Mobile App

Enter IoT Hub Credentials

Enter Mobile App URL

For detailed instructions, see the full Sensor Telemetry 2.0.1 documentation.


Manufacturing process

  1. Sensor Calibration Explained: Definition, Methods, and Key Applications
  2. Heartbeat Sensor: How It Works & Practical Applications
  3. TMP006 Infrared Temperature Sensor with Raspberry Pi: Python Library & Setup Guide
  4. Build a Raspberry Pi Home Temperature Monitor with MCP9808, InfluxDB & Grafana
  5. Emotion Sensor & EEG: Low-Cost Hardware for Real-Time Emotion Detection
  6. UnifiedWater v1 – Complete Arduino Water Quality Sensor Kit
  7. River Health Monitor: Arduino-Based Water Quality System
  8. Build a Smart Wristband with Arduino MKR GSM 1400 & Hologram IoT
  9. Smart Hydroponic System Using Arduino Mega 2560 & Sensors
  10. Master Vibration Detection with Arduino: A Simple Sensor & LED Setup