Raspberry Pi 3 B + başvuru görüntüsünü kullanarak Azure IoT Hub öğreticisi için cihaz güncelleştirmesi

IoT Hub cihaz güncelleştirmesi iki güncelleştirme biçimini destekler: görüntü tabanlı ve paket tabanlı.

Görüntü güncelleştirmeleri, cihazın bitiş durumunda daha yüksek bir güven düzeyi sağlar. Paket ve bağımlılıklarıyla aynı zorluklara sahip olmadığından, bir üretim öncesi ortamı ve üretim ortamı arasında görüntü güncelleştirme sonuçlarını çoğaltmak genellikle daha kolay olur. Atomik doğası nedeniyle, bir A/B yük devretme modelini de kolayca benimseyebilirler.

Bu öğretici, bir Raspberry Pi 3 B + panosunda IoT Hub için cihaz güncelleştirmesini kullanarak uçtan uca bir görüntü tabanlı güncelleştirme tamamlamaya yönelik adımlarda size yol gösterir.

Bu öğreticide şunların nasıl yapıldığını öğrenirsiniz:

  • Resmi indir
  • IoT cihazınıza etiket ekleme
  • Bir güncelleştirmeyi içeri aktar
  • Cihaz grubu oluşturma
  • Görüntü güncelleştirme dağıtımı
  • Güncelleştirme dağıtımını izleme

Önkoşullar

Resmi indir

cihaz güncelleştirme GitHub yayınları sayfasında"varlıklar" içinde örnek görüntüler sağlıyoruz. . Gz dosyası, bir Raspberry Pi B3 + panosunda Flash kullanabileceğiniz temel görüntüdür ve swUpdate dosyası IoT Hub için cihaz güncelleştirmesi aracılığıyla içe aktardığınız güncelleştirmedir.

Görüntüyle birlikte Flash SD kartı

En sevdiğiniz işletim sistemi yanıp sönme aracını kullanarak, Raspberry PI 3 B + cihazında kullanılacak SD kartına cihaz güncelleştirme temel görüntüsünü (ADU-Base-Image) yüklersiniz.

Bmaptool 'ı Flash SD kartına kullanma

  1. Henüz yapmadıysanız, yardımcı programı ' nı yüklemelisiniz bmaptool .

    sudo apt-get install bmap-tools
    
  2. İçindeki SD kartının yolunu bulun /dev . Yol veya gibi görünmelidir /dev/sd* /dev/mmcblk* . dmesgDoğru yolu bulmaya yardımcı olması için yardımcı programını kullanabilirsiniz.

  3. Tüm bağlı bölümleri yanıp sönmeye başlamadan önce çıkarmanız gerekir.

    sudo umount /dev/<device>
    
  4. Cihaza yazma izinleriniz olduğundan emin olun.

    sudo chmod a+rw /dev/<device>
    
  5. İsteğe bağlı. Daha hızlı yanıp sönmek için, BMAP dosyasını görüntü dosyasıyla birlikte indirin ve aynı dizine yerleştirin.

  6. SD kartını yakıp söndür.

    sudo bmaptool copy <path to image> /dev/<device>
    

Azure IoT Hub yazılım için cihaz güncelleştirmesi aşağıdaki lisans koşullarına tabidir:

Aracıyı kullanmadan önce lisans koşullarını okuyun. Yüklemeniz ve kullanılması, bu şartlarınızın kabul edildiğini oluşturur. Lisans koşullarını kabul etmiyorsanız, IoT Hub Aracısı için cihaz güncelleştirmesini kullanmayın.

IoT Hub ve bağlantı dizesi al ' da cihaz veya modül oluşturma

Artık cihazın Azure IoT Hub eklenmesi gerekiyor. Azure IoT Hub içinden cihaz için bir bağlantı dizesi oluşturulacaktır.

  1. Azure portal Azure IoT Hub başlatın.
  2. Yeni bir cihaz oluşturun.
  3. Sayfanın sol tarafında ' IoT cihazları ' > gidin ve "yeni" seçeneğini belirleyin.
  4. ' Cihaz KIMLIĞI ' altında cihaz için bir ad sağlayın--"anahtarları otomatik oluşturma" onay kutusunun seçildiğinden emin olun.
  5. ' Kaydet ' seçeneğini belirleyin.
  6. Artık ' cihazlar ' sayfasına döndürülecektir ve oluşturduğunuz cihaz listede olmalıdır.
  7. Cihaz bağlantı dizesini al:
    • Seçenek 1 cihaz güncelleştirme aracısını bir modül kimliğiyle kullanma: aynı ' cihazlar ' sayfasından en üstteki ' + modül kimliği Ekle ' seçeneğine tıklayın. ' IoTHubDeviceUpdate ' adlı yeni bir cihaz güncelleştirme modülü oluşturun, kullanım servis talebine uygulanan diğer seçenekleri belirleyin ve ardından ' Kaydet 'e tıklayın. Yeni oluşturulan ' modüle ' tıklayın ve modül görünümünde ' birincil bağlantı dizesi ' nin yanındaki ' Kopyala ' simgesini seçin.
    • Seçenek 2 cihaz kimliği ile cihaz güncelleştirme aracısını kullanma: cihaz görünümünde, ' birincil bağlantı dizesi ' yanındaki ' Kopyala ' simgesini seçin.
  8. Aşağıdaki adımlarda, kopyalanmış karakterleri daha sonra kullanmak üzere bir yere yapıştırın. Bu kopyalanmış dize, cihaz bağlantı dizeniz.

SD Card üzerinde bağlantı dizesi sağla

  1. Raspberry pi3 'in ağa bağlı olduğundan emin olun.
  2. PowerShell 'de, cihazda SSH için aşağıdaki komutu kullanın
    ssh raspberrypi3 -l root
    
  3. ' Root ' olarak oturum açma girin ve parola boş olarak bırakılmalıdır.
  4. Cihaza başarıyla SSH oluşturduktan sonra aşağıdaki komutları çalıştırın

<device connection string>Bağlantı dizeniz ile değiştirin

   echo "connection_string=<device connection string>" > /adu/adu-conf.txt  
   echo "aduc_manufacturer=ADUTeam" >> /adu/adu-conf.txt
   echo "aduc_model=RefDevice" >> /adu/adu-conf.txt

cihazı cihaz güncelleştirme IoT Hub Bağlan

  1. Sayfanın sol tarafında ' IoT cihazları ' ' nı seçin.

  2. Cihaz adınızın bulunduğu bağlantıyı seçin.

  3. IoT cihaz kimliğini kullanarak cihaz güncelleştirmesine doğrudan bağlanıyorsanız, sayfanın üst kısmında ' Device Ikizi ' seçeneğini belirleyin. Aksi takdirde yukarıda oluşturduğunuz modülü seçip ' Module Ikizi ' seçeneğine tıklayın.

  4. Device ikizi özelliklerinin ' raporlanan ' bölümünde Linux çekirdek sürümü ' ne bakın. Cihaz güncelleştirmesinden bir güncelleştirme almamış olan yeni bir cihaz için DeviceManagement: Deviceınformation: 1. swVersion değeri cihazda çalışan üretici yazılımı sürümünü temsil eder. Bir cihaza güncelleştirme uygulandıktan sonra cihaz güncelleştirme, cihazda çalışan bellenim sürümünü temsil etmek için AzureDeviceUpdateCore: ClientMetadata: 4. ınstalınstalıd Özellik değeri kullanır.

  5. Taban ve güncelleştirme görüntü dosyalarının dosya adında sürüm numarası vardır.

    adu-<image type>-image-<machine>-<version number>.<extension>
    

Aşağıdaki güncelleştirme Içeri aktarma adımında bu sürüm numarasını kullanın.

Cihazınıza bir etiket ekleyin

  1. Azure Portal açın ve IoT Hub gidin.

  2. Sol gezinti bölmesindeki ' IoT cihazları ' veya ' IoT Edge ' içinden IoT cihazınızı bulun ve cihaz Ikizi veya modül Ikizi ' a gidin.

  3. Cihaz Güncelleştirme Aracısı modülünün Ikizi modülünde, var olan tüm cihaz güncelleştirme etiketi değerlerini null olarak ayarlayarak silin. Cihaz kimliği ile cihaz güncelleştirme aracısı kullanıyorsanız, bu değişiklikleri cihaz Ikizi üzerinde yapın.

  4. Aşağıda gösterildiği gibi yeni bir cihaz güncelleştirme etiketi değeri ekleyin.

    "tags": {
            "ADUGroup": "<CustomTagValue>"
            }

Güncelleştirmeyi içeri aktar

  1. Örnek içeri aktarma bildirimini ve örnek görüntü güncelleştirmesiniindirin.

  2. Azure Portal oturum açın ve cihaz güncelleştirmesiyle IoT Hub gidin. Ardından, sol taraftaki Gezinti çubuğundan otomatik cihaz yönetimi altında cihaz güncelleştirmeleri seçeneğini belirleyin.

  3. Güncelleştirmeler sekmesini seçin.

  4. "+ Yeni güncelleştirme al" seçeneğini belirleyin.

  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. Yukarıdaki 1. adımda indirdiğiniz örnek 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. Yukarıdaki 1. adımda indirdiğiniz örnek güncelleştirme dosyasını seçin.

    Güncelleştirme dosyası seçimini gösteren ekran görüntüsü.

  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.

  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çimini gösteren ekran görüntüsü.

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

  2. İçeri aktarma işlemi başlar ve ekran "Içeri aktarma geçmişi" bölümünde değişir. İçeri aktarma işlemi tamamlanana kadar ilerlemeyi görüntülemek için "Yenile" yi seçin. Güncelleştirme boyutuna bağlı olarak, bu işlem birkaç dakika içinde tamamlanabilir ancak daha uzun sürebilir.

    Güncelleştirme içeri aktarma sırasını gösteren ekran görüntüsü.

  3. 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.

Güncelleştirmeleri içeri aktarma hakkında daha fazla bilgi edinin .

Güncelleştirme grubu oluştur

  1. Daha önce cihaz güncelleştirme örneğinizi bağladığınız IoT Hub gidin.

  2. Sol taraftaki Gezinti çubuğundan otomatik cihaz yönetimi altında cihaz güncelleştirmeleri seçeneğini belirleyin.

  3. Sayfanın üst kısmındaki gruplar sekmesini seçin.

  4. Yeni bir grup oluşturmak için Ekle düğmesini seçin.

  5. Önceki adımda oluşturduğunuz IoT Hub etiketini listeden seçin. Güncelleştirme grubu oluştur ' u seçin.

    Etiket seçimini gösteren ekran görüntüsü.

Etiket ekleme ve güncelleştirme grupları oluşturma hakkında daha fazla bilgi edinin

Güncelleştirme dağıt

  1. Grup oluşturulduktan sonra, bekleyen güncelleştirmeler altındaki güncelleştirmeye yönelik bir bağlantı ile cihaz grubunuz için kullanılabilen yeni bir güncelleştirme görmeniz gerekir. Bir kez yenilemeniz gerekebilir.

  2. Kullanılabilir güncelleştirmeye tıklayın.

  3. Hedef grup olarak doğru grubun seçili olduğunu onaylayın. Dağıtımınızı zamanlayın ve ardından güncelleştirme Dağıt ' ı seçin.

    Güncelleştirme seçin

  4. Uyumluluk grafiğini görüntüleyin. Güncelleştirmenin devam etmekte olduğunu görmeniz gerekir.

    Güncelleştirme devam ediyor

  5. Cihazınız başarıyla güncelleştirildikten sonra, uyumluluk grafiği ve dağıtım ayrıntıları güncelinizi aynı şekilde yansıtacak şekilde görmeniz gerekir.

    Güncelleştirme başarılı oldu

Güncelleştirme dağıtımını izleme

  1. Sayfanın üst kısmındaki dağıtımlar sekmesini seçin.

    Dağıtımlar sekmesi

  2. Dağıtım ayrıntılarını görüntülemek için oluşturduğunuz dağıtımı seçin.

    Dağıtım ayrıntıları

  3. En son durum ayrıntılarını görüntülemek için Yenile ' yi seçin. Durum başarılı olana kadar bu işleme devam edin.

Artık bir Raspberry Pi 3 B + cihazında IoT Hub için cihaz güncelleştirmesini kullanarak başarılı bir uçtan uca görüntü güncelleştirmesini tamamladınız.

Kaynakları temizleme

Artık gerekli değilse, cihaz güncelleştirme hesabınızı, örneğinizi, IoT Hub ve IoT cihazınızı temizleyin.

Sonraki adımlar