Real-time asset tracking and management

IoT Central
Stream Analytics
SQL Database
Functions
Event Hubs

Solution Idea

If you'd like to see us expand this article with more information, such as potential use cases, alternative services, implementation considerations, or pricing guidance, let us know with GitHub Feedback!

This solution demonstrates real-time asset tracking and management.

It uses Azure IoT Central to receive data from IoT sensors and export it to Azure Event Hubs, which creates data streams. Other Azure services—such as Azure Stream Analytics, Azure Functions, and Azure Notification Hubs—receive the streams. They transform and analyze the streamed data, and create rule-based alerts. They also store the data for use by reporting tools and custom applications.

Potential use cases

These other uses cases have similar design patterns:

  • Management and inventory: Track vehicles and assets.
  • Driver scoring: Use metrics such as location, speed, out-of-route distance, and hard braking to monitor driver behavior.
  • Vehicle monitoring and maintenance: Schedule preventive and breakdown maintenance based on real-time engine alerts.
  • App-based alerts: Use app-based alerts to monitor for speeding and geofence violations, and other events.
  • Reporting analytics: Generate reports on asset history, alerts, and trip history.

Architecture

The solution diagram shows devices sending data to IoT Central, which exports it to Event Hubs for use by various alerting and reporting services.

Download a Visio file of this architecture.

  1. IoT sensors installed on vehicles and other assets send telemetry to cloud gateway devices.
  2. Gateway devices send telemetry and aggregated insights to Azure IoT Central.
  3. Azure IoT Central continuously exports data to Event Hubs for other Azure services to use.
  4. Azure Stream Analytics jobs stream data from Event Hubs.
  5. Stream Analytics jobs aggregate the data from Event Hubs, and store it in Azure SQL Database. The jobs also compare the data to threshold values stored in SQL database and generate alerts if thresholds are exceeded.
  6. Stream Analytics jobs use Azure Functions to send real-time alerts to mobile and web apps.
  7. Stream Analytics jobs use Azure Notification Hubs to send real-time alerts to mobile and web apps.
  8. Event Hubs stores events in Azure Data Lake Storage for historical data analytics.
  9. API Management makes the processed telemetry available to data users such as web apps, mobile apps, Azure maps, and Azure Power BI. It can also make the data available to third parties.
  10. Web and mobile applications built with Azure App Service provide custom functionality based on data from Azure API Management. The apps can use Azure Maps for real-time tracking of vehicles and other assets. Web apps can display Power BI reports and custom visualizations for analytics and summary reports.

Components

  • Azure IoT Central is a hosted and secure IoT application platform that connects IoT devices to the cloud quickly and easily.
  • Azure Event Hubs is a big-data streaming platform and event ingestion service. It can receive and process millions of events per second. A real-time analytics provider, batching adapter, or storage adapter can transform and store data that is sent to an event hub.
  • Azure Stream Analytics provides real-time, serverless stream processing that can run the same queries in the cloud and on the edge. Stream Analytics on Azure IoT Edge can filter or aggregate data locally and send it to the cloud for further processing or storage.
  • Azure Functions provides an environment for running small pieces of code, called functions, without having to establish an application infrastructure. You can use it to process bulk data, integrate systems, work with IoT, and build simple APIs and microservices.
  • Azure Notification Hubs pushes notifications to major platforms like iOS, Android, Windows, Kindle, and Baidu from any back end in the cloud or on-premises.
  • Azure SQL Database is a fully managed relational database with built-in intelligence.
  • Azure App Service is a fully managed service for building, deploying, and scaling web apps. You can build apps using .NET, .NET Core, Node.js, Java, Python, or PHP. The apps can run in containers or on Windows or Linux.
  • Azure Data Lake Storage is a storage repository that holds a large amount of data in its native, raw format. Data lake stores are optimized for scaling to terabytes and petabytes of data. The data typically comes from multiple, heterogeneous sources and may be structured, semi-structured, or unstructured.
  • Azure API Management supports the publishing, routing, securing, logging, and analytics of APIs. You can control how the data is presented and extended, and which apps can access it. You can restrict access to your apps only, or make it available to third parties.
  • Azure Maps has geospatial APIs for adding maps, spatial analytics, and mobility solutions to your apps. It's available to verify and standardize address data. Your apps can use real-time location intelligence powered by mobility technology partners TomTom, AccuWeather, and Moovit.
  • Power BI is a suite of business analytics tools that deliver insights throughout your organization. You can use it to produce beautiful reports and publish them on the web and across mobile devices.
  • Power BI Embedded puts Power BI into your applications, so that you can quickly and easily provide interactive reports, dashboards, and analytics in your applications, and brand them as your own.

Next steps

See these related architectures: