Cihaz bağlantısı ve telemetri sorunlarıDevice connectivity and telemetry ingress

Cihazlar ve sensörler tarafından gönderilen telemetri verileri, herhangi bir IoT çözümünün omurgasını oluşturur.The telemetry data sent by devices and sensors form the backbone of any IoT solution. Bu farklı kaynakları temsil etme ve bunları bir konum bağlamında yönetme IoT uygulama geliştirmede kaygıları beraberinde getirir.How to represent these different resources and manage them within the context of a location are chief concerns in IoT app development. Azure dijital TWINS, uzamsal zeka Graf ile cihaz ve sensörlerden yararlanarak IoT çözümleri geliştirme sürecini basitleştirir.Azure Digital Twins simplifies the process of developing IoT solutions by uniting devices and sensors with a spatial intelligence graph.

Başlamak için, uzamsal grafiğin kökünde bir Azure IoT Hub kaynağı oluşturun.To get started, create an Azure IoT Hub resource at the root of the spatial graph. IoT Hub kaynağı, kök alanının altındaki tüm cihazların ileti göndermesini sağlar.The IoT Hub resource allows all devices beneath the root space to send messages. IoT Hub oluşturulduktan sonra, cihazları Dijital TWINS örneği içinde sensörler ile kaydedin.After the IoT Hub is created, register devices with sensors within the Digital Twins instance. Cihazlar, Azure IoT cihaz SDK 'sıaracılığıyla dijital bir TWINS hizmetine veri gönderebilir.The devices can send data to a Digital Twins service via the Azure IoT device SDK.

Cihazları ekleme hakkında adım adım yönergeler için bkz. dijital TWINS dağıtma ve yapılandırma öğreticisi.For a step-by-step guide on how to bring devices onboard, see the Tutorial to deploy and configure Digital Twins. Bir bakışta, adımlar şunlardır:At a glance, the steps are:

  • Azure Portalbir dijital TWINS örneği dağıtın.Deploy a Digital Twins instance from the Azure portal.
  • Grafiğinizde boşluk oluşturun.Create spaces in your graph.
  • IoT Hub bir kaynak oluşturun ve bu kaynağı grafiğinizde bir alana atayın.Create an IoT Hub resource, and assign it to a space in your graph.
  • Grafiğinizde cihazlar ve algılayıcılar oluşturun ve bunları önceki adımlarda oluşturulan alanlara atayın.Create devices and sensors in your graph, and assign them to the spaces created in the previous steps.
  • Koşullara göre telemetri iletilerini filtrelemek için bir eşleştirici oluşturun.Create a matcher to filter telemetry messages based on conditions.
  • Kullanıcı tanımlı bir işlevoluşturun ve telemetri iletilerinizin özel işlenmesi için grafikteki bir alana atayın.Create a user-defined function, and assign it to a space in the graph for custom processing of your telemetry messages.
  • Kullanıcı tanımlı işlevin grafik verilerine erişmesine izin vermek için bir rol atayın.Assign a role to allow the user-defined function to access the graph data.
  • Dijital TWINS yönetim API 'Lerinden IoT Hub cihaz bağlantı dizesini alın.Get the IoT Hub device connection string from the Digital Twins Management APIs.
  • Cihazda cihaz bağlantı dizesini Azure IoT cihaz SDK 'Sı ile yapılandırın.Configure the device connection string on the device with the Azure IoT device SDK.

Aşağıdaki bölümlerde, dijital TWINS yönetim API 'sinden IoT Hub cihaz bağlantı dizesinin nasıl alınacağını öğreneceksiniz.In the following sections, you learn how to get the IoT Hub device connection string from the Digital Twins Management API. Ayrıca, algılayıcı tabanlı telemetri göndermek için IoT Hub telemetri ileti biçimini kullanmayı öğreneceksiniz.You also learn how to use the IoT Hub telemetry message format to send sensor-based telemetry. Dijital TWINS, aldığı her telemetri parçasını, uzamsal grafik içindeki bir algılayıcı ile ilişkilendirmek üzere gerektirir.Digital Twins requires each piece of telemetry that it receives to be associated with a sensor within the spatial graph. Bu gereksinim, verilerin işlenmiş ve uygun uzamsal bağlam içinde yönlendirildiğinden emin olmanızı sağlar.This requirement makes sure the data is processed and routed within the appropriate spatial context.

Yönetim API 'sinden IoT Hub cihaz bağlantı dizesi alGet the IoT Hub device connection string from the Management API

Aşağıdaki örneklerde YOUR_MANAGEMENT_API_URL, dijital TWINS API 'Lerinin URI 'sine başvurur:In the examples below, YOUR_MANAGEMENT_API_URL refers to the URI of the Digital Twins APIs:

https://YOUR_INSTANCE_NAME.YOUR_LOCATION.azuresmartspaces.net/management/api/v1.0
AdName Şununla değiştirReplace with
YOUR_INSTANCE_NAMEYOUR_INSTANCE_NAME Azure dijital TWINS örneğinizin adıThe name of your Azure Digital Twins instance
YOUR_LOCATIONYOUR_LOCATION Örneğinizin barındırıldığı bölgeThe region your instance is hosted on

IoT Hub cihaz bağlantı dizesini almak için includes=ConnectionString parametresiyle cihaz API 'SI üzerinde bir GET çağrısı yapın.Do a GET call on the Device API with an includes=ConnectionString parameter to get the IoT Hub device connection string. Verilen cihazı bulmak için cihaz GUID 'INE veya donanım KIMLIĞINE göre filtreleyin.Filter by the device GUID or the hardware ID to find the given device.

YOUR_MANAGEMENT_API_URL/devices/YOUR_DEVICE_GUID?includes=ConnectionString
ParametreParameter Şununla değiştirReplace with
YOUR_DEVICE_GUIDYOUR_DEVICE_GUID Cihaz KIMLIĞIThe device ID
YOUR_MANAGEMENT_API_URL/devices?HardwareIds=YOUR_DEVICE_HARDWARE_ID&includes=ConnectionString
Parametre değeriParameter value Şununla değiştirReplace with
YOUR_DEVICE_HARDWARE_IDYOUR_DEVICE_HARDWARE_ID Cihaz donanım KIMLIĞIThe device hardware ID

Yanıt yükünde, cihazın ConnectionString özelliğini kopyalayın.In the response payload, copy the device's connectionString property. Verileri dijital TWINS 'e göndermek için Azure IoT cihaz SDK 'sını çağırdığınızda kullanırsınız.You use it when you call the Azure IoT device SDK to send data to Digital Twins.

Cihazdan buluta iletisiDevice-to-cloud message

Cihazınızın ileti biçimi ve yükünü, çözümünüzün ihtiyaçlarına uyacak şekilde özelleştirebilirsiniz.You can customize your device's message format and payload to fit your solution's needs. Azure IoT cihaz Istemci ileti sınıfı (Byte [] ByteArray)tarafından desteklenen bir bayt dizisine veya akışa seri hale getirilebilen bir veri sözleşmesi kullanın.Use any data contract that can be serialized into a byte array or stream that's supported by the Azure IoT Device Client Message class, Message(byte[] byteArray). İleti, ilgili Kullanıcı tanımlı işlevdeki veri sözleşmesinin kodunu çözmeniz koşuluyla, seçtiğiniz özel bir ikili biçimi olabilir.The message can be a custom binary format of your choice, as long as you decode the data contract in a corresponding user-defined function. Cihazdan buluta ileti için yalnızca bir gereksinim vardır.There's only one requirement for a device-to-cloud message. İletinizin işleme motoruna uygun şekilde yönlendirildiğinden emin olmak için bir özellikler kümesi saklayın.Maintain a set of properties to make sure your message is routed appropriately to the processing engine.

Telemetri özellikleriTelemetry properties

Bir iletinin yük içeriği, 256 KB 'a kadar olan rastgele veri olabilir.The payload contents of a Message can be arbitrary data up to 256 KB in size. Message.Properties türünün özellikleri için birkaç gereksinim bekleniyor.There are a few requirements expected for properties of the Message.Properties type. Tablo, sistem tarafından desteklenen gerekli ve isteğe bağlı özellikleri gösterir.The table shows the required and optional properties supported by the system.

Özellik adıProperty name DeğerValue GerekliRequired AçıklamaDescription
DigitalTwins-telemetriDigitalTwins-Telemetry 1.01.0 YesYes Sisteme bir ileti tanımlayan sabit bir değer.A constant value that identifies a message to the system.
DigitalTwins-SensorhardwareıdDigitalTwins-SensorHardwareId string(72) YesYes İletiyigönderen sensör için benzersiz bir tanımlayıcı.A unique identifier of the sensor that sends the Message. Bu değer, sistemin işlemesi için bir nesnenin HardwareID özelliği ile aynı olmalıdır.This value must match an object's HardwareId property for the system to process it. Örneğin, 00FF0643BE88-CO2.For example, 00FF0643BE88-CO2.
CreationTimeUtcCreationTimeUtc string HayırNo Yükün örnekleme süresini tanımlayan ıso 8601 biçimli bir tarih dizesi.An ISO 8601 formatted date string that identifies the sampling time of the payload. Örneğin, 2018-09-20T07:35:00.8587882-07:00.For example, 2018-09-20T07:35:00.8587882-07:00.
IDCorrelationId string HayırNo Sistem genelinde olayları izlemek için kullanılan bir UUID.A UUID that's used to trace events across the system. Örneğin, cec16751-ab27-405d-8fe6-c68e1412ce1f.For example, cec16751-ab27-405d-8fe6-c68e1412ce1f.

İletinizi dijital TWINS 'e gönderinSend your message to Digital Twins

İletinizi dijital TWINS 'e göndermek için DeviceClient SendEventAsync veya SendEventBatchAsync çağrısını kullanın.Use the DeviceClient SendEventAsync or SendEventBatchAsync call to send your message to Digital Twins.

Sonraki adımlarNext steps