Facilities management powered by mixed reality and IoT

Cosmos DB
Digital Twins
Event Hubs
Spatial Anchors

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!

Improve uptime and operations in hospitality, manufacturing, retail, and more with mixed reality and IoT. This scenario shows how you can visualize a virtual replica of your physical space with real-time data in the context of your environment. It is built on Azure Spatial Anchors and Azure Digital Twins.


Architecture diagram Download an SVG of this architecture.

Data flow

  1. The client authenticates to the facilities management web service and specifies the name of the space where it's located in the Azure Digital Twins object model.
  2. The client's web service authenticates itself to Azure Active Directory.
  3. The Azure AD token is then sent to the Azure Spatial Anchors service to retrieve an access token for the client to later use.
  4. Your app service retrieves information about the IoT sensors present in the area specified by the client and returns IoT sensor IDs, as well as the anchor IDs they correspond to in Azure Spatial Anchors.
  5. The Azure Spatial Anchors authorization token is returned to the client alongside the anchor IDs of the IoT sensors and additional metadata required by the client application.
  6. The client application completes a visual scan of the environment and retrieves its position in the area. Using the nearby API of Azure Spatial Anchors, it retrieves the position of all nearby anchors.
  7. The client application requests IoT sensor data and controls to be displayed as holograms in the space, where the sensors are located, making it easy for the operator to detect and fix any issues. The data is fetched by the app's web service from Azure Cosmos DB, the service storing this data.
  8. When IoT sensor data is updated, Azure Digital Twins pushes it to Event Hubs.
  9. Azure Functions uses an Event Hubs trigger to process the change and update data in Azure Cosmos DB as needed.


Next steps