How to ingest telemetry from IoT Hub to digital twin built on WebXR?

Adwait Naik 40 Reputation points
2024-03-28T15:10:27.3033333+00:00

Hi there,

I've built a web application using express which hosts my digital twin (built using A-Frame library). I want to send the data from the IoT Hub to be my web application. I am following this solution architecture to send telemetry from iothub to the digital twin (based on WebXR)

signalr-integration-topology

Most of the tutorials are based on ingestion of telemetry to Azure Digital Twins but I don't use azure digital twins.

Is there any solution for this? Do I need to use azure functions and signalR?

Azure Digital Twins
Azure Digital Twins
An Azure platform that is used to create digital representations of real-world things, places, business processes, and people.
219 questions
0 comments No comments
{count} votes

Accepted answer
  1. Sander van de Velde 28,386 Reputation points MVP
    2024-03-28T16:22:28.14+00:00

    Hello @Adwait Naik ,

    welcome to this moderated Azure community forum.

    it seems you already have a nice solution based on combining the Azure Digital Twins environment with a 3D representation using Express and A-Frame.

    You forward Digital Twin (property) changes to an EventGrid. From there Azure Functions are use in conjunction with SignalR to notify the User interface / 3D twin representation.

    You now want to send (raw) telemetry messages from the IoT Hub to the 3D twin representation.

    The two most obvious ways to do this still rely on the knowledge you already gain to send messages from an EventGrid to a 3D representation via SignalR.

    You could react to Azure IoT Hub DeviceTelemetry events using EventGrid.

    The IoT hub already supports forwarding device telemetry events to an EventGrid so you could use that connection to execute SignalR logic on another Azure Function.

    If you want to make use of the Azure Digital Twins environment to connect to the EventGrid. You then first forward all Azure IoT Hub messages to the Azure Digital Twins environment where these telemetry messages flow through the environment. An extra notification type (Digital Twin Telemetry Messages) is available for picking them up.

    The second solution is more elaborate and probably only useful if you want to do more with the Azure digital Twins telemetry messages in another way.

    Either way, you forward all telemetry messages (if no EventGrid filtering is used) and you can do whatever you like in the 3D twin representation.

    Extra, if you want more control over the messages or you want to transform, enrich, join them first, you could forward IoT Hub messages to eg. Azure Stream Analytics.

    From there you forward the output to Azure Function and do some SignalR magic.


    If the response helped, do "Accept Answer". If it doesn't work, please let us know the progress. All community members with similar issues will benefit by doing so. Your contribution is highly appreciated.


0 additional answers

Sort by: Most helpful