Dela via


Enhetsanslutning och inkommande telemetri

Viktigt

En ny version av Azure Digital Twins-tjänsten har släppts. Mot bakgrund av den nya tjänstens utökade funktioner har den ursprungliga Azure Digital Twins-tjänsten (som beskrivs i den här dokumentationsuppsättningen) dragits tillbaka.

Om du vill visa dokumentationen för den nya tjänsten går du till den aktiva Dokumentationen om Azure Digital Twins.

Telemetridata som skickas av enheter och sensorer utgör ryggraden i alla IoT-lösningar. Hur du representerar dessa olika resurser och hanterar dem inom ramen för en plats är främsta problem i IoT-apputveckling. Azure Digital Twins förenklar processen med att utveckla IoT-lösningar genom att förena enheter och sensorer med ett diagram med rumslig intelligens.

Kom igång genom att skapa en Azure IoT Hub resurs i roten av den rumsliga grafen. Med den IoT Hub resursen kan alla enheter under rotutrymmet skicka meddelanden. När IoT Hub har skapats registrerar du enheter med sensorer i Digital Twins-instansen. Enheterna kan skicka data till en Digital Twins-tjänst via Azure IoT-enhetens SDK.

En stegvis guide om hur du registrerar enheter finns i Självstudien för att distribuera och konfigurera Digital Twins. I korthet är stegen:

  • Distribuera en Digital Twins-instans från Azure Portal.
  • Skapa blanksteg i diagrammet.
  • Skapa en IoT Hub resurs och tilldela den till ett blanksteg i diagrammet.
  • Skapa enheter och sensorer i diagrammet och tilldela dem till de utrymmen som skapades i föregående steg.
  • Skapa en matchare för att filtrera telemetrimeddelanden baserat på villkor.
  • Skapa en användardefinierad funktion och tilldela den till ett blanksteg i grafen för anpassad bearbetning av dina telemetrimeddelanden.
  • Tilldela en roll så att den användardefinierade funktionen kan komma åt grafdata.
  • Hämta IoT Hub enhetsanslutningssträng från Digital Twins Management-API:erna.
  • Konfigurera enhetens anslutningssträng på enheten med Azure IoT-enhetens SDK.

I följande avsnitt får du lära dig hur du hämtar IoT Hub enhetsanslutningssträng från Digital Twins Management-API:et. Du lär dig också hur du använder IoT Hub telemetrimeddelandeformat för att skicka sensorbaserad telemetri. Digital Twins kräver att varje telemetri som den tar emot är associerad med en sensor i den rumsliga grafen. Det här kravet säkerställer att data bearbetas och dirigeras inom lämplig rumslig kontext.

Hämta IoT Hub enhetsanslutningssträng från hanterings-API:et

I exemplen nedan YOUR_MANAGEMENT_API_URL refererar till URI för Digital Twins-API:erna:

https://YOUR_INSTANCE_NAME.YOUR_LOCATION.azuresmartspaces.net/management/api/v1.0
Name Ersätt med
YOUR_INSTANCE_NAME Namnet på din Azure Digital Twins-instans
YOUR_LOCATION Den region som din instans finns på

Gör ett GET-anrop på enhets-API:et med en includes=ConnectionString parameter för att hämta IoT Hub enhetsanslutningssträng. Filtrera efter enhetens GUID eller maskinvaru-ID för att hitta den angivna enheten.

YOUR_MANAGEMENT_API_URL/devices/YOUR_DEVICE_GUID?includes=ConnectionString
Parameter Ersätt med
YOUR_DEVICE_GUID Enhets-ID:t
YOUR_MANAGEMENT_API_URL/devices?HardwareIds=YOUR_DEVICE_HARDWARE_ID&includes=ConnectionString
Parametervärde Ersätt med
YOUR_DEVICE_HARDWARE_ID Enhetens maskinvaru-ID

I svarsnyttolasten kopierar du enhetens connectionString-egenskap . Du använder den när du anropar Azure IoT-enhetens SDK för att skicka data till Digital Twins.

Meddelande från enhet till moln

Du kan anpassa enhetens meddelandeformat och nyttolast så att de passar din lösnings behov. Använd alla datakontrakt som kan serialiseras till en bytematris eller dataström som stöds av azure IoT-enhetens klientmeddelandeklass, Message(byte[] byteArray). Meddelandet kan vara ett anpassat binärt format så länge du avkodar datakontraktet i en motsvarande användardefinierad funktion. Det finns bara ett krav för ett meddelande från enhet till moln. Underhåll en uppsättning egenskaper för att se till att meddelandet dirigeras korrekt till bearbetningsmotorn.

Telemetriegenskaper

Nyttolastens innehåll i ett meddelande kan vara godtyckliga data upp till 256 kB. Det finns några krav som förväntas för egenskaper av typen Message.Properties . Tabellen visar de obligatoriska och valfria egenskaper som stöds av systemet.

Egenskapsnamn Värde Krävs Beskrivning
DigitalTwins-Telemetri 1.0 Yes Ett konstant värde som identifierar ett meddelande till systemet.
DigitalTwins-SensorHardwareId string(72) Yes En unik identifierare för sensorn som skickar meddelandet. Det här värdet måste matcha ett objekts HardwareId-egenskap för att systemet ska kunna bearbeta det. Till exempel 00FF0643BE88-CO2.
CreationTimeUtc string No En ISO 8601-formaterad datumsträng som identifierar samplingstiden för nyttolasten. Till exempel 2018-09-20T07:35:00.8587882-07:00.
CorrelationId string No Ett UUID som används för att spåra händelser i systemet. Till exempel cec16751-ab27-405d-8fe6-c68e1412ce1f.

Skicka meddelandet till Digital Twins

Använd DeviceClient SendEventAsync - eller SendEventBatchAsync-anropet för att skicka meddelandet till Digital Twins.

Nästa steg