Raspberry Pi 3 B+ başvuru Azure IoT Hub kullanarak Azure IoT Hub için Cihaz Güncelleştirmesi öğreticisi

IoT Hub Için Cihaz Güncelleştirmesi iki güncelleştirme biçimlerini destekler: görüntü tabanlı ve paket tabanlı.

Görüntü güncelleştirmeleri, cihazın son durumuna daha yüksek bir güven düzeyi sağlar. Paketler ve bağımlılıklarıyla aynı zorluklara neden olmadığı için, bir görüntü güncelleştirmenin sonuçlarını üretim öncesi ortamla üretim ortamı arasında çoğaltmak genellikle daha kolaydır. Atomik yapısı nedeniyle A/B yük devretme modelini kolayca benimseyenler de olabilir.

Bu öğreticide, Raspberry Pi 3 B+ panosunda IoT Hub için Cihaz Güncelleştirmesi kullanarak güncelleştirmeyi güncelleştirmeyi tamamlama adımları adım adım açıklanmıştır.

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

  • Görüntü indirme
  • IoT cihazınıza etiket ekleme
  • Güncelleştirmeyi içeri aktarma
  • Cihaz grubu oluşturma
  • Görüntü güncelleştirmesi dağıtma
  • Güncelleştirme dağıtımını izleme Not: Bu öğreticide görüntü güncelleştirmeleri Raspberry Pi B3 panosunda doğrulandı.

Önkoşullar

  • Henüz bunu yapmadıysanız, bir Cihaz Güncelleştirmesihesabı ve örneği oluşturun ve bir IoT Hub.

Görüntü indirme

Cihaz Güncelleştirmesi sürümler sayfasındaki "Varlıklar" GitHub görüntüleri sağlariz. .gz dosyası raspberry Pi B3+ panosuna aktarabilirsiniz temel görüntü, swUpdate dosyası ise cihaz güncelleştirmeleri için Cihaz Güncelleştirmesi aracılığıyla içeri aktarabilirsiniz IoT Hub.

Görüntü ile Flash SD kartı

Sık kullanılan işletim sistemi flashing aracını kullanarak Raspberry Pi 3 B+ cihazında kullanılacak SD Kartına Cihaz Güncelleştirmesi temel görüntüsünü (adu-base-image) yükleyin.

SD kartı flash olarak kullanmak için bmaptool kullanma

  1. Henüz yüklememişsanız yardımcı bmaptool programını yükleyin.

    sudo apt-get install bmap-tools
    
  2. içinde SD kartının yolunu /dev bulun. Yol veya gibi bir şekilde /dev/sd* görünüyor /dev/mmcblk* olmalı. Doğru yolu bulmaya dmesg yardımcı olmak için yardımcı programını kullanabilirsiniz.

  3. Yanıp sönmeden önce bağlı olan tüm bölümleri çıkararak çıkar gerekir.

    sudo umount /dev/<device>
    
  4. Cihazda yazma izinlerine sahip olduğundan emin olun.

    sudo chmod a+rw /dev/<device>
    
  5. İsteğe bağlı. Daha hızlı flashing için, görüntü dosyasıyla birlikte bimap dosyasını indirin ve aynı dizine yer açın.

  6. SD kartını yanıp söner.

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

Azure IoT Hub için Cihaz Güncelleştirmesi aşağıdaki lisans koşullarına tabi olur:

Aracıyı kullanmadan önce lisans koşullarını okuyun. Yükleme ve kullanımınız, bu koşulları kabul ettiğiniz anlamına geldi. Lisans koşullarını kabul etmiyorsanız, cihaz güncelleştirmesi aracısını kullanmak IoT Hub.

Uygulama içinde cihaz veya modül IoT Hub ve bağlantı dizesini al

Şimdi cihazın cihaza ek Azure IoT Hub. Bu Azure IoT Hub cihaz için bir bağlantı dizesi oluşturulur.

  1. Aşağıdaki Azure portal başlatarak Azure IoT Hub.
  2. Yeni bir cihaz oluşturun.
  3. Sayfanın sol tarafında "IoT Cihazları" seçeneğine gidin ve > "Yeni"yi seçin.
  4. Cihaz için 'Cihaz Kimliği' altında bir ad girin--"Anahtarları otomatik olarak yenile" onay kutusunun seçili olduğundan emin olun.
  5. 'Kaydet'i seçin.
  6. Şimdi 'Cihazlar' sayfasına geri döndürülür ve oluşturduğunuz cihaz listede yer aladır.
  7. Cihaz bağlantı dizesini al:
    • 1. Seçenek Modül kimliğiyle Cihaz Güncelleştirmesi aracısı kullanma: Aynı 'Cihazlar' sayfasında üstte '+ Modül Kimliği Ekle' seçeneğine tıklayın. 'IoTHubDeviceUpdate' adlı yeni bir Cihaz Güncelleştirmesi modülü oluşturun, kullanım örnek olayınız için geçerli olan diğer seçenekleri belirleyin ve ardından 'Kaydet'e tıklayın. Yeni oluşturulan 'Modül'e tıklayın ve modül görünümünde 'Birincil Bağlantı Dizesi' öğesinin yanındaki 'Kopyala' simgesini seçin.
    • 2. Seçenek Cihaz Güncelleştirmesi aracıyı cihaz kimliğiyle kullanma: Cihaz görünümünde 'Birincil Bağlantı Dizesi' öğesinin yanındaki 'Kopyala' simgesini seçin.
  8. Kopyalanan karakterleri aşağıdaki adımlarda daha sonra kullanmak üzere bir yere yapıştırın. Kopyalanan bu dize, cihaz bağlantı dizenizdir.

SD kartında bağlantı dizesi sağlama

  1. Raspberry Pi3'in ağa bağlı olduğundan emin olun.
  2. PowerShell'de aşağıdaki komutu kullanarak cihaza ssh uygulayın
    ssh raspberrypi3 -l root
    
  3. Oturum açma bilgilerini 'root' olarak girin; parola boş bırak bırakılı.
  4. Cihaza başarıyla ssh girdikten sonra aşağıdaki komutları çalıştırın

yerine <device connection string> bağlantı dizenizi kullanın

	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

Bağlan Cihaz Güncelleştirmesi'ne IoT Hub

  1. Sayfanın sol tarafında 'IoT Cihazları' öğesini seçin.

  2. Cihazınızın adını içeren bağlantıyı seçin.

  3. Sayfanın üst kısmında, IoT cihaz kimliğini kullanarak Cihaz Güncelleştirmesi'ne doğrudan bağlanıyorsanız 'Cihaz İkizi' öğesini seçin. Aksi takdirde, yukarıda oluşturduğunuz modülü seçin ve 'Modül İkizi'ne tıklayın.

  4. Cihaz ikizi özelliklerinin 'bildirilen' bölümünde Linux çekirdek sürümünün ne olduğunu kontrol edin. Cihaz Güncelleştirmesi'ne güncelleştirme alınmış yeni bir cihaz için DeviceManagement:DeviceInformation:1.swVersion değeri, cihazda çalışan üretici yazılımı sürümünü temsil edecek. Bir cihaza güncelleştirme uygulandıktan sonra Cihaz Güncelleştirmesi, cihazda çalışan üretici yazılımı sürümünü temsil etmek için AzureDeviceUpdateCore:ClientMetadata:4.installedUpdateId özellik değerini kullanır.

  5. Temel ve güncelleştirme görüntü dosyalarının dosya adı içinde bir sürüm numarası vardır.

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

Aşağıdaki Güncelleştirmeyi İçeri Aktar adımında bu sürüm numarasını kullanın.

Cihazınıza etiket ekleme

  1. Azure portal oturum açma ve IoT Hub.

  2. Sol gezinti bölmesindeki 'IoT Cihazları' IoT Edge'dan IoT cihazınızı bulun ve Cihaz İkizi veya Modül İkizi'ne gidin.

  3. Cihaz Güncelleştirmesi aracı modülünün Modül İkizi'ne mevcut Cihaz Güncelleştirmesi etiket değerini null olarak ayarerek silin. Cihaz Güncelleştirmesi aracısı ile Cihaz kimliği kullanıyorsanız, Cihaz İkizi üzerinde bu değişiklikleri yapın.

  4. Aşağıda gösterildiği gibi yeni bir Cihaz Güncelleştirmesi etiket değeri ekleyin.

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

Güncelleştirmeyi içeri aktarma

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

  2. Cihaz Güncelleştirmesi ile Azure portal oturum açın ve IoT Hub uygulamanıza gidin. Ardından, sol gezinti çubuğundan Otomatik Cihaz Yönetimi Cihaz Güncelleştirmeleri seçeneğini belirleyin.

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

  4. "+ Yeni Güncelleştirmeyi İçeri Aktar"ı seçin.

  5. "Bildirim Dosyasını İçeri Aktar"ın altındaki klasör simgesini veya metin kutusunu seçin. Bir dosya seçici iletişim kutusu görüntülenir. Yukarıdaki 1. adımda indirdiğiniz örnek içeri aktarma bildirimini seçin. Ardından, "Bir veya daha fazla güncelleştirme dosyası seçin" altındaki klasör simgesini veya metin kutusunu seçin. Bir dosya seçici iletişim kutusu görüntülenir. Yukarıdaki 1. adımda indirdiğiniz örnek güncelleştirme dosyasını seçin.

    Screenshot showing update file selection.

  6. "Depolama kapsayıcısı seçin" altındaki klasör simgesini veya metin kutusunu seçin. Ardından uygun depolama hesabını seçin.

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

    Screenshot showing container selection.

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

  9. İçeri aktarma işlemi başlar ve ekran "İçeri Aktarma Geçmişi" bölümüne değişir. İçeri aktarma işlemi tamamlayana kadar ilerlemeyi görüntülemek için "Yenile"yi seçin. Güncelleştirmenin boyutuna bağlı olarak, bu birkaç dakika içinde tamamlanır ancak daha uzun sürebilir.

    Screenshot showing update import sequence.

  10. Durum sütunu içeri aktarmanın başarılı olduğunu gösteriyorsa "Dağıtıma Hazır" üst bilgisini seçin. İçe aktarılan güncelleştirmenizi şimdi listede görüyor olun.

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

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 Cihaz Yönetimi altındaki güncelleştirmeler 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. Grup Oluştur ' u seçin.

    Screenshot showing tag selection.

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.

    Select update

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

    Update in progress

  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.

    Update succeeded

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

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

    Deployments tab

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

    Deployment details

  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