IoT Hub ve IoT Tak Çalıştır için Cihaz Güncelleştirmesi

IoT Hub için Cihaz Güncelleştirmesi, havadan güncelleştirme özelliğine sahip cihazları bulmak ve yönetmek için IoT Tak Çalıştır kullanır. Cihaz Güncelleştirme hizmeti, IoT Tak Çalıştır arabirimleri kullanarak cihazlara ve cihazlardan özellik ve ileti gönderir ve alır.

Daha fazla bilgi için:

Cihaz Güncelleştirme Modelleri

Model Kimliği, akıllı cihazların özelliklerini IoT Tak Çalıştır ile Azure IoT uygulamalarına tanıtma yöntemidir. Azure IoT uygulamalarına özelliklerini tanıtacak akıllı cihazlar oluşturma hakkında daha fazla bilgi edinmek için cihaz geliştirici kılavuzu IoT Tak Çalıştır ziyaret edin.

IoT Hub için Cihaz Güncelleştirmesi, IoT Tak Çalıştır akıllı cihazın cihaz bağlantısının bir parçası olarak model kimliğini duyurmasını gerektirir. Model kimliğini nasıl duyuracağınızı öğrenin.

Cihaz Güncelleştirmesi'nde DU özelliklerini destekleyen birkaç PnP modeli tanımlanmıştır. Cihaz Güncelleştirmesi modeli, 'dtmi:azure:iot:deviceUpdateContractModel; 3', temel işlevselliği destekler ve cihazlara güncelleştirme eylemleri ve meta veriler göndermek ve cihazlardan güncelleştirme durumunu almak için cihaz güncelleştirme çekirdek arabirimini kullanır.

Desteklenen diğer model ise dtmi:azure:iot:deviceUpdateModel; deviceUpdateContractModel'i genişleten 3; 3 ve ayrıca cihaz özelliklerini ve bilgilerini gönderen ve tanılama özelliklerini etkinleştiren diğer PnP arabirimlerini kullanır. [Cihaz Güncelleştirme Modelleri ve Arabirim Sürümleri] (https://github.com/Azure/iot-plugandplay-models/tree/main/dtmi/azure/iot) hakkında daha fazla bilgi edinin.

Cihaz Güncelleştirme aracısı dtmi:azure:iot:deviceUpdateModel; 1.1.0 sürümündeki tüm en son özellikleri destekleyen 3. Bu model V5 bildirim sürümünü destekler. Eski bildirimler en son aracılarla çalışır ancak yeni özellikler için en son bildirim sürümünün kullanılması gerekir.

Aracı meta verileri

Cihaz Güncelleştirme aracısı, Cihaz Güncelleştirme hizmetlerine bilgi göndermek için aracı meta veri alanlarını kullanır.

Veri Akışı Adı Şema Yön Açıklama Örnek
deviceProperties Harita cihazdan buluta Üretici, model ve diğer cihaz bilgilerini içeren özellikler kümesi. Ayrıntılar için Cihaz özellikleri bölümüne bakın.
compatPropertyNames Dize (virgülle ayrılmış) cihazdan buluta Cihaz, güncelleştirme dağıtımını hedeflemek için cihazın uyumluluğunu denetlemek için kullanılan özellikleri bildirdi. Beş cihaz özelliğiyle sınırlıdır. "compatPropertyNames": "manufacturer,model"
lastInstallResult Harita cihazdan buluta Aracı tarafından bildirilen sonuç. Ana güncelleştirme ve diğer adım güncelleştirmeleri için sonuç kodunu, genişletilmiş sonuç kodunu ve sonuç ayrıntılarını içerir.
Resultcode integer cihazdan buluta Son güncelleştirme eyleminin sonucu hakkında bilgi içeren bir kod. Başarı veya başarısızlık için doldurulabilir. 700
extendedResultCode integer cihazdan buluta Sonuç hakkında ek bilgiler içeren bir kod. Başarı veya başarısızlık için doldurulabilir. 0x80004005
resultDetails Dize cihazdan buluta Ek sonuç ayrıntıları sağlamak için müşteri tanımlı serbest form dizesi. Ayrıştırmadan ikize döndürülür
stepResults map cihazdan buluta Sonuç kodu, genişletilmiş sonuç kodu ve adım güncelleştirmeleri için sonuç ayrıntılarını içeren aracı tarafından bildirilen sonuç. "step_1": { "resultCode": 0,"extendedResultCode": 0, "resultDetails": ""}
semt integer cihazdan buluta Cihaz Güncelleştirme aracısının geçerli durumunu gösteren tamsayı. Ayrıntılar için Durum bölümüne bakın.
iş akışı complex cihazdan buluta Aracının şu anda hangi dağıtımda çalıştığını, geçerli dağıtımın kimliğini ve hizmetten aracıya gönderilen tüm yeniden deneme isteklerini onaylayan bir değer kümesi. Dağıtım iptal edildikten sonra iş akışı kimliğinin bir "nodeployment" değeri bildirdiğini unutmayın. "workflow": {"action": 3,"ID": "11b6a7c3-6956-4b33-b5a9-87fdd79d2f01","retryTimestamp": "2022-01-26T11:33:29.9680598Z"}
installedUpdateId Dize cihazdan buluta Şu anda yüklü olan güncelleştirmenin kimliği (Cihaz Güncelleştirmesi aracılığıyla). Bu değer, Cihaz Güncelleştirmesi aracılığıyla hiç güncelleştirme almamış bir cihaz için Güncelleştirme Kimliği JSON veya null değerini yakalayan bir dizedir. installedUpdateID{"provider":"contoso","name":"image-update","version":"1.0.0"}"

Cihaz özellikleri

deviceProperties alanı, bir cihazın üretici ve model bilgilerini içerir.

Veri Akışı Adı Şema Yön Açıklama
üretici Dize cihazdan buluta aracılığıyla bildirilen devicePropertiescihazın cihaz üreticisi. Bu özellik iki yerden birinden okunur. İlk olarak DeviceUpdateCore arabirimi Yapılandırma dosyasından 'aduc_manufacturer' değerini okumaya çalışır. Değer yapılandırma dosyasında doldurulmazsa, varsayılan olarak ADUC_DEVICEPROPERTIES_MANUFACTURER için derleme zamanı tanımını raporlamak olur. Bu özellik yalnızca önyükleme zamanında bildirilir.

Varsayılan değer: 'Contoso'.
model Dize cihazdan buluta aracılığıyla bildirilen devicePropertiescihazın cihaz modeli. Bu özellik iki yerden birinden okunur. İlk olarak DeviceUpdateCore arabirimi Yapılandırma dosyasından 'aduc_model' değerini okumaya çalışır. Değer yapılandırma dosyasında doldurulmazsa, varsayılan olarak ADUC_DEVICEPROPERTIES_MODEL için derleme zamanı tanımını raporlamak olur. Bu özellik yalnızca önyükleme zamanında bildirilir.

Varsayılan değer: 'Video'
contractModelId Dize cihazdan buluta Bu özellik, aracıyı yönetmek ve aracıyla iletişim kurmak için Cihaz Güncelleştirme aracısı tarafından kullanılan temel model sürümünü tanımlamak için hizmet tarafından kullanılır.
Değer: 'dtmi:azure:iot:deviceUpdateContractModel; DU aracısı sürüm 1.1.0 kullanan cihazlar için 3'.
Not: 'dtmi:azure:iot:deviceUpdateModel' kullanan aracılar; 2' contractModelId değerini 'dtmi:azure:iot:deviceUpdateContractModel; 3' as deviceUpdateModel; 3, deviceUpdateContractModel'den genişletilmiştir; 3
aduVer Dize cihazdan buluta Cihazda çalışan Cihaz Güncelleştirme aracısının sürümü. Bu değer yalnızca derleme sırasında ENABLE_ADU_TELEMETRY_REPORTING 1 (true) olarak ayarlandığında derlemeden okunur. Müşteriler, değeri 0 (false) olarak ayarlayarak sürüm raporlamasını geri çevirmeyi tercih edebilir. Cihaz Güncelleştirme aracısı özelliklerini özelleştirme.
Dover Dize cihazdan buluta Cihazda çalışan Teslim İyileştirme aracısının sürümü. Değer derlemeden yalnızca derleme sırasında ENABLE_ADU_TELEMETRY_REPORTING 1 (true) olarak ayarlanmışsa okunur. Müşteriler, değeri 0 (false) olarak ayarlayarak sürüm raporlamasını geri çevirmeyi tercih edebilir. Teslim İyileştirme aracısı özelliklerini özelleştirme.
Özel uyumluluk Özellikleri Kullanıcı Tanımlı cihazdan buluta Uygulayıcı, güncelleştirme dağıtımını hedeflerken uyumluluk denetimi için kullanılacak diğer cihaz özelliklerini tanımlayabilir.

IoT Hub cihaz ikizi örneği:

"deviceUpdate": {
                "__t": "c",
                "agent": {
                    "deviceProperties": {
                        "manufacturer": "contoso",
                        "model": "virtual-vacuum-v1",
                        "contractModelId": "dtmi:azure:iot:deviceUpdateContractModel;3",
                        "aduVer": "DU;agent/1.1.0",
                        },
                    "compatPropertyNames": "manufacturer,model",
                    "lastInstallResult": {
                        "resultCode": 700,
                        "extendedResultCode": 0,
                        "resultDetails": "",
                        "stepResults": {
                            "step_0": {
                                "resultCode": 700,
                                "extendedResultCode": 0,
                                "resultDetails": ""
                            }
                        }
                    },
                    "state": 0,
                    "workflow": {
                        "action": 3,
                        "id": "11b6a7c3-6956-4b33-b5a9-87fdd79d2f01",
                        "retryTimestamp": "2022-01-26T11:33:29.9680598Z"
                    },
                    "installedUpdateId": "{\"provider\":\"Contoso\",\"name\":\"Virtual-Vacuum\",\"version\":\"5.0\"}"
                },

Not

Cihazın veya modülün {"__t": "c"} , öğenin bir bileşene başvurduğunu belirtmek için işaretçiyi eklemesi gerekir. Daha fazla bilgi için bkz. IoT Tak Çalıştır kuralları.

Durum

Durum alanı, Cihaz Güncelleştirmesi hizmetinden bir eylem aldıktan sonra Cihaz Güncelleştirmesi (DU) aracısı tarafından bildirilen durumdur. Durum, Cihaz Güncelleştirme hizmetinden Cihaz Güncelleştirmesi aracısına gönderilen bir Eyleme yanıt olarak bildirilir (ayrıntılar için eylem bölümüne bakın). Cihaz Güncelleştirme hizmeti ile Cihaz Güncelleştirmesi aracısı arasında akan istekler hakkında daha fazla bilgi için genel bakış iş akışına bakın.

Veri Akışı Adı Değer Açıklama
Boş 0 Cihaz, Cihaz Güncelleştirme hizmetinden bir eylem almaya hazırdır. Başarılı bir güncelleştirmeden sonra durum duruma döndürülür Idle .
DeploymentInprogress 6 Dağıtım devam ediyor.
Başarısız 255 Güncelleştirme sırasında bir hata oluştu.
İndirilenler 2 Başarılı bir indirme. Bu durum yalnızca aracı sürümü 0.7.0 veya daha eski olan cihazlar tarafından bildirilir.
InstallSucceeded 4 Başarılı bir yükleme. Bu durum yalnızca aracı sürümü 0.7.0 veya daha eski olan cihazlar tarafından bildirilir.

Hizmet meta verileri

Hizmet meta verileri, Cihaz Güncelleştirme hizmetlerinin Cihaz Güncelleştirmesi aracısına eylem ve veri iletmek için kullandığı alanları içerir.

Veri Akışı Adı Şema Yön Açıklama
eylem integer buluttan cihaza Aracının gerçekleştirmesi gereken bir eyleme karşılık gelen tamsayı. Ayrıntılar için Eylem bölümüne bakın.
Updatemanifest Dize buluttan cihaza Güncelleştirmenin içeriğini açıklamak için kullanılır. İçeri Aktarma bildiriminden oluşturulur.
updateManifestSignature JSON Nesnesi buluttan cihaza Kaynak doğrulama için kullanılan JSON Web Anahtarları ile JSON Web İmzası (JWS).
fileUrls Harita buluttan cihaza ile eşle FileIDDownloadUrl. Aracıya hangi dosyaların indirildiğini ve dosyaların doğru indirildiğini doğrulamak için kullanılacak karmayı bildirir.

Eylem

Eylem alanı, Cihaz Güncelleştirme hizmeti tarafından açıklandığı gibi Cihaz Güncelleştirmesi aracısı tarafından gerçekleştirilen eylemleri temsil eder. Cihaz Güncelleştirme aracısı, alınan eylemi işlemek için bir durum bildirir. Cihaz Güncelleştirme hizmeti ile Cihaz Güncelleştirmesi aracısı arasında akan istekler hakkında daha fazla bilgi için genel bakış iş akışına bakın.

Veri Akışı Adı Değer Açıklama
applyDeployment 3 Güncelleştirmeyi uygulayın. Dağıtılan güncelleştirmeyi uygulamak için cihaza sinyal gönderir
İptal 255 Geçerli eylemi işlemeyi durdurun ve öğesine Idlegeri dönün veya durumundaki Failed bir aracıya öğesine geri Idledönmesini söyleyin.
download 0 Yayımlanan içeriği veya güncelleştirmeyi ve gereken diğer içerikleri indirin. Bu eylem yalnızca aracı sürümü 0.7.0 veya daha eski olan cihazlara gönderilir.
yükle 1 İçeriği veya güncelleştirmeyi yükleyin. Bu eylem genellikle içerik veya güncelleştirme için yükleyiciyi çağırmak anlamına gelir. Bu eylem yalnızca aracı sürümü 0.7.0 veya daha eski olan cihazlara gönderilir.
apply 2 Güncelleştirmeyi sonlandırın. Gerekirse sistemin yeniden başlatılmasını bildirir. Bu eylem yalnızca aracı sürümü 0.7.0 veya daha eski olan cihazlara gönderilir.

Cihaz bilgileri arabirimi

Cihaz bilgileri arabirimi, IoT Tak Çalıştır mimarisinde kullanılan bir kavramdır. Cihazın donanım ve işletim sistemi hakkında bilgi sağlayan cihazdan buluta özellikleri içerir. IoT Hub için Cihaz Güncelleştirmesi, telemetri ve tanılama için ve DeviceInformation.model özelliklerini kullanırDeviceInformation.manufacturer. Daha fazla bilgi edinmek için cihaz bilgileri arabiriminin bu örneğine bakın.

Modelinizde beklenen bileşen adı, bu arabirim uygulandığında deviceInformation değeridir. Azure IoT Tak Çalıştır Bileşenleri hakkında bilgi edinin

Adı Tip Şema Yön Açıklama Örnek
üretici Özellik Dize cihazdan buluta Cihaz üreticisinin şirket adı. Bu özellik, özgün ekipman üreticisinin (OEM) adıyla aynı olabilir. Contoso
model Özellik Dize cihazdan buluta Cihaz modeli adı veya kimliği. IoT Edge Cihazı
swVersion Özellik Dize cihazdan buluta Cihazınızdaki yazılımın sürümü. swVersion, üretici yazılımınızın sürümü olabilir. 4.15.0-122
osName Özellik Dize cihazdan buluta Cihazdaki işletim sisteminin adı. Ubuntu Server 18.04
processorArchitecture Özellik Dize cihazdan buluta Cihazdaki işlemcinin mimarisi. ARM64
processorManufacturer Özellik Dize cihazdan buluta Cihazdaki işlemci üreticisinin adı. Microsoft
toplam Depolama Özellik Dize cihazdan buluta Cihazda kilobayt cinsinden toplam kullanılabilir depolama alanı. 2048
totalMemory Özellik Dize cihazdan buluta Cihazda kilobayt cinsinden toplam kullanılabilir bellek. Kategori 256

Sonraki Adımlar