IoT Hub için cihaz güncelleştirmesine bir güncelleştirme ekleyin

IoT Hub için cihaz güncelleştirmesine yeni bir güncelleştirme eklemeyi öğrenin.

Önkoşullar

Not

Bu hizmete gönderilen bazı veriler, bu örneğin oluşturulduğu bölge dışında bir bölgede işlenebilir.

Cihazlarınız için bir güncelleştirme edinin

Cihaz güncelleştirmesini ayarladığınıza ve cihazlarınızı sağladığınıza göre, bu cihazlara dağıtacaksınız güncelleştirme dosyaları gerekir.

Bir OEM 'den veya çözüm tümleştirmelerinden cihaz satın aldıysanız, bu kuruluş, güncelleştirmeleri oluşturmanız gerekmeden sizin için en büyük olasılıkla sizin için güncelleştirme dosyaları sağlamaktır. Güncelleştirmelerin nasıl kullanılabilir hale yapıldığını öğrenmek için OEM veya çözüm tümleştiricisi ile iletişim kurun.

Kuruluşunuz kullandığınız cihazlar için zaten yazılım oluşturursa, bu yazılım için güncelleştirmeleri oluşturanlara aynı grup olacaktır. IoT Hub için cihaz güncelleştirmesi kullanılarak dağıtılacak bir güncelleştirme oluştururken, senaryonuza bağlı olarak görüntü tabanlı veya paket tabanlı yaklaşımla başlayın. göz atın: kendi güncelleştirmelerinizi oluşturmak istiyorsanız ancak yeni başladıysanız, GitHub geliştirmeniz yönetmek için harika bir seçenektir. kaynak kodunuzu depolayıp yönetebilir ve GitHub eylemlerikullanarak sürekli tümleştirme (cı) ve sürekli dağıtım (CD) gerçekleştirebilirsiniz.

Cihaz güncelleştirmesi içeri aktarma bildirimi oluşturma

Henüz yapmadıysanız, temel içeri aktarma kavramlarını öğrendiğinizdenemin olun.

  1. Güncelleştirme dosya (ler) ın PowerShell 'den erişilebilen bir dizinde bulunduğundan emin olun.

  2. Güncelleştirme görüntü dosyanızın veya APT bildirim dosyasının bulunduğu dizinde Aduupdate. psm1 adlı bir metin dosyası oluşturun. Daha sonra Aduupdate. psm1 PowerShell cmdlet 'ini açın, içeriği metin dosyanıza kopyalayın ve metin dosyasını kaydedin.

  3. PowerShell 'de adım 2 ' den PowerShell cmdlet 'ini oluşturduğunuz dizine gidin. Aşağıdaki kopyalama seçeneğini kullanın ve komutları çalıştırmak için PowerShell 'e yapıştırın:

    Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope Process
    Import-Module .\AduUpdate.psm1
    
  4. Örnek parametre değerlerini, güncelleştirmeyi açıklayan bir JSON dosyası olan içeri aktarma bildirimi oluşturacak şekilde değiştirerek aşağıdaki komutları çalıştırın:

    $compat = New-AduUpdateCompatibility -DeviceManufacturer 'deviceManufacturer' -DeviceModel 'deviceModel'
    
    $importManifest = New-AduImportManifest -Provider 'updateProvider' -Name 'updateName' -Version 'updateVersion' `
                                            -UpdateType 'updateType' -InstalledCriteria 'installedCriteria' `
                                            -Compatibility $compat -Files 'updateFilePath(s)'
    
    $importManifest | Out-File '.\importManifest.json' -Encoding UTF8
    

    Aşağıdaki tablo, yukarıdaki parametrelerin doldurulmasına yönelik hızlı bir başvurudur. Daha fazla bilgiye ihtiyacınız varsa, tüm içeri aktarma bildirimi şemasınıda görüntüleyebilirsiniz.

    Parametre Açıklama
    deviceManufacturer Güncelleştirmenin, örneğin contoso ile uyumlu olduğu cihaz üreticisi. Üretici cihaz özelliğiile eşleşmelidir.
    deviceModel Güncelleştirmenin uyumlu olduğu cihazın modeli, örneğin, Toaster. Model cihaz özelliğiile eşleşmelidir.
    updateProvider Güncelleştirme tarafından oluşturulan veya doğrudan sorumlu olan varlık. Genellikle şirket adı olacaktır.
    updateName Bir güncelleştirme sınıfının tanımlayıcısı. Sınıf, seçtiğiniz herhangi bir şey olabilir. Genellikle bir cihaz veya model adı olacaktır.
    updateVersion Sürüm numarası, aynı sağlayıcıya ve ada sahip diğer başkalarından bu güncelleştirmeyi ayırt eder. , Cihazdaki bireysel Yazılım bileşenlerinden oluşan bir sürümle eşleşmiyor (ancak seçeneğini belirlerseniz).
    Güncelleştirme türü
    • microsoft/swupdate:1Görüntü güncelleştirmesi için belirt
    • microsoft/apt:1Paket güncelleştirmesi için belirtin
    ınstalınstalbu ölçüt Cihazda zaten bulunan sürümü güncelleştirme sürümüyle karşılaştırmak için dağıtım sırasında kullanılır. Instalınstalde güncelleştirmeyi cihaza dağıtmak "başarısız" sonucunu döndürür. Bu, ınstalınstalınstaldon ölçüt değeri cihazdaki sürümle eşleşmez.
    • microsoft/swupdate:1Güncelleştirme türü için, SWVersion değerini belirtin
    • microsoft/apt:1Güncelleştirme türü için ad sürümü belirtin; burada ad apt BILDIRIMININ adı ve Sürüm apt bildiriminin sürümüdür. Örneğin, contoso-IoT-Edge-1.0.0.0.
    updateFilePath Bilgisayarınızdaki güncelleştirme dosyalarının yolu.

Oluşturulan içeri aktarma bildirimini gözden geçirin

Örnek bir bildirim çıkışı aşağıda verilmiştir. Öğelerin herhangi biri hakkında sorularınız varsa, tüm içeri aktarma bildirimi şemasınıgörüntüleyin.

{
  "updateId": {
    "provider": "Microsoft",
    "name": "Toaster",
    "version": "2.0"
  },
  "updateType": "microsoft/swupdate:1",
  "installedCriteria": "5",
  "compatibility": [
    {
      "deviceManufacturer": "Fabrikam",
      "deviceModel": "Toaster"
    },
    {
      "deviceManufacturer": "Contoso",
      "deviceModel": "Toaster"
    }
  ],
  "files": [
    {
      "filename": "file1.json",
      "sizeInBytes": 7,
      "hashes": {
        "sha256": "K2mn97qWmKSaSaM9SFdhC0QIEJ/wluXV7CoTlM8zMUo="
      }
    },
    {
      "filename": "file2.zip",
      "sizeInBytes": 11,
      "hashes": {
        "sha256": "gbG9pxCr9RMH2Pv57vBxKjm89uhUstD06wvQSioLMgU="
      }
    }
  ],
  "createdDateTime": "2020-10-08T03:32:52.477Z",
  "manifestVersion": "2.0"
}

Bir güncelleştirmeyi içeri aktar

Not

Aşağıdaki yönergelerde Azure portal Kullanıcı arabirimi aracılığıyla bir güncelleştirmenin nasıl içeri aktarılacağı gösterilmektedir. Bunun yerine bir güncelleştirmeyi içeri aktarmak için IoT Hub API 'Lerinin cihaz güncelleştirmesini de kullanabilirsiniz.

  1. Azure Portal oturum açın ve cihaz güncelleştirmesiyle IoT Hub gidin.

  2. Sayfanın sol tarafında, "otomatik cihaz yönetimi" altında "cihaz güncelleştirmeleri" ni seçin.

    Güncelleştirmeleri içeri aktar

  3. Ekranın üst kısmında birkaç sekme görürsünüz. Güncelleştirmeler sekmesini seçin.

    Güncelleştirmeler

  4. "Dağıtmaya hazırlanma" üstbilgisinin altında "+ yeni güncelleştirme al" seçeneğini belirleyin.

    Yeni güncelleştirme al

  5. "Içeri aktarma bildirim dosyası seçin" altında klasör simgesini veya metin kutusunu seçin. Bir dosya Seçicisi iletişim kutusu görürsünüz. PowerShell cmdlet 'ini kullanarak daha önce oluşturduğunuz Içeri aktarma bildirimini seçin. Sonra, "bir veya daha fazla güncelleştirme dosyası seçin" altında klasör simgesini veya metin kutusunu seçin. Bir dosya Seçicisi iletişim kutusu görürsünüz. İçeri aktarma bildiriminizi oluştururken dahil ettiğiniz güncelleştirme dosyalarını seçin.

    Güncelleştirme dosyalarını seçin

  6. "Bir depolama kapsayıcısı seçin" altında klasör simgesini veya metin kutusunu seçin. Ardından uygun depolama hesabını seçin. Depolama kapsayıcısı güncelleştirme dosyalarını geçici olarak hazırlamak için kullanılır.

    Depolama Hesabı

  7. Zaten bir kapsayıcı oluşturduysanız, onu yeniden kullanabilirsiniz. (Aksi takdirde, güncelleştirmeler için yeni bir depolama kapsayıcısı oluşturmak üzere "+ kapsayıcı" seçeneğini belirleyin.). Kullanmak istediğiniz kapsayıcıyı seçin ve "Seç" e tıklayın.

    Kapsayıcı Seç

  8. İçeri aktarma işlemini başlatmak için "Gönder" i seçin.

    Güncelleştirme Yayımla

  9. İçeri aktarma işlemi başlar ve ekran "Içeri aktarma geçmişi" bölümüne geçer. İçeri aktarma işlemi tamamlanana kadar ilerlemeyi görüntülemek için "Yenile" seçeneğini belirleyin (güncelleştirmenin boyutuna bağlı olarak, bu işlem birkaç dakika sürebilir, ancak daha uzun sürebilir).

    Içeri aktarma sıralamasını Güncelleştir

  10. Durum sütunu içeri aktarma işleminin başarılı olduğunu gösteriyorsa, "dağıtıma hazırlanıyor" üst bilgisini seçin. İçeri aktarılan güncelleştirmenizi şimdi listede görmeniz gerekir.

İş Durumu

Bunun yerine API 'Ler aracılığıyla içeri aktarıyorsanız

Azure portal aracılığıyla içeri aktarmak için yukarıdaki adımları kullanmayı tamamladıysanız, aşağıdaki sonraki adımlara atlayın.

Azure portal aracılığıyla içeri aktarma yerine bir güncelleştirmeyi içeri aktarmak üzere IoT Hub güncelleştirme API 'leri Için cihaz güncelleştirmesini kullanmak istiyorsanız, aşağıdakilere göz önünde bulabilirsiniz:

  • güncelleştirme apı 'lerini çağırmadan önce güncelleştirme dosyanızı bir Azure Blob Depolama konumuna yüklemeniz gerekir.
  • Yukarıda oluşturduğunuz içeri aktarma bildirimini kullanan bu örnek API çağrısına başvurabilirsiniz.
  • Test sırasında aynı SAS URL'sini yeniden kullanırsanız, belirteci süresi dolduğunda hatalarla karşılaşabilirsiniz. İçeri aktarma bildirimini ve güncelleştirme içeriğinin kendisi göndererek bu durum ortaya çıkar.

Sonraki Adımlar

Grup Oluşturma

İçeri aktarma kavramları hakkında bilgi