Öğretici: Ubuntu (18.04 x64) simülatörü başvuru aracısını kullanarak Azure IoT Hub için Cihaz Güncelleştirmesi
Bu öğreticide, IoT Hub için Cihaz Güncelleştirmesi kullanılarak uçtan uca görüntü tabanlı bir güncelleştirme gösterilmektedir. Azure IoT Hub için Cihaz Güncelleştirmesi görüntü tabanlı, paket tabanlı ve betik tabanlı güncelleştirmeleri destekler.
Görüntü güncelleştirmeleri, cihazın son durumunda daha yüksek bir güvenilirlik düzeyi sağlar. Bir görüntü güncelleştirmesinin sonuçlarını üretim öncesi ortamla üretim ortamı arasında çoğaltmak genellikle daha kolaydır çünkü paketleri ve bağımlılıklarını yönetmekle aynı zorlukları oluşturmaz. Atomik yapısı nedeniyle, bir A/B yük devretme modelini kolayca benimseyebilirsiniz.
Bu öğreticide aşağıdakilerin nasıl yapılacağını öğreneceksiniz:
- Etiketleri kullanarak bir IoT cihazını Cihaz Güncelleştirmesi grubuna atayın.
- Görüntü indirip yükleyin.
- Bir güncelleştirmeyi içeri aktarma.
- Görüntü güncelleştirmesi dağıtma.
- Güncelleştirme dağıtımını izleyin.
Önkoşullar
IoT hub'ı ile yapılandırılmış bir Cihaz Güncelleştirmesi hesabı ve örneği oluşturun.
Ubuntu 18.04 cihazına sahip olmanız gerekir. Bu cihaz fiziksel veya sanal makine olabilir.
En son sürümde Release Assets adlı zip dosyasını
Tutorial_Simulator.zip
indirin ve sıkıştırmasını açın.Test cihazınız geliştirme makinenizden farklıysa zip dosyasını her ikisine de indirin.
zip dosyasını indirmek için kullanabilirsiniz
wget
. değerini en son sürümle değiştirin<release_version>
, örneğin1.0.0
.wget https://github.com/Azure/iot-hub-device-update/releases/download/<release_version>/Tutorial_Simulator.zip
Cihazı kaydetme ve modül kimliği yapılandırma
IoT hub'ınızdaki cihaz kayıt defterine bir cihaz ekleyin. IoT hub'ına bağlanan her cihazın kaydedilmesi gerekir.
Bu bölümde bir modül kimliği de oluşturacağız. Modüller, bir IoT cihazında bulunan bileşenler için bağımsız kimliklerdir ve bu da birden çok işlem çalıştıran bir IoT cihazınız olduğunda daha ince ayrıntı düzeyine olanak tanır. Bu öğreticide, IoT cihazında çalışan Cihaz Güncelleştirmesi aracısı için bu modül kimliğini kullanacaksınız. Daha fazla bilgi için bkz. IoT Hub modül ikizlerini anlama ve kullanma.
- Azure portal IoT hub'ınıza gidin.
- Sol bölmede Cihazlar’ı seçin. Ardından Cihaz Ekle'yi seçin.
- Cihaz Kimliği'nin altında cihaz için bir ad girin. Anahtarları otomatik oluştur onay kutusunun seçili olduğundan emin olun.
- Kaydet’i seçin.
- Artık Cihazlar sayfasına geri dönersiniz ve oluşturduğunuz cihaz listede olmalıdır. Bu cihazı seçin.
- Modül Kimliği Ekle'yi seçin.
- Modül Kimliği Adı'nın altında modül için duAgent gibi bir ad girin.
- Kaydet’i seçin
Modül bağlantı dizesini kopyalama
- Cihaz görünümünde, modülünüzün Modül Kimlikleri başlığı altında listelendiğini görmeniz gerekir. Modül adını seçerek ayrıntılarını açın.
- Bağlantı dizesinin (birincil anahtar) yanındaki Kopyala simgesini seçin. Cihaz Güncelleştirme aracısını yapılandırırken kullanmak için bu bağlantı dizesini kaydedin. Bu dize, modül bağlantı dizenizdir.
Modül ikizinize etiket ekleme
Modül kimliği ayrıntıları sayfasında Modül Kimliği İkizi'ni seçin
Gösterildiği gibi, ikiz dosyasına ve
version
ile aynı düzeydemodelId
yeni bir Cihaz Güncelleştirmesi etiket değeri ekleyin:"tags": { "ADUGroup": "DU-simulator-tutorial" },
Cihaz Güncelleştirmesi tarafından yönetilen her cihaz, cihazı bir Cihaz Güncelleştirmesi grubuna atayan bu ayrılmış etikete ihtiyaç duyar. Burada gösterildiği gibi cihaz ikizinde veya modül ikizinde olabilir. Her cihaz yalnızca bir Cihaz Güncelleştirme grubuna atanabilir.
Kaydet’i seçin. Portal, json yapısına etiketini eklemek için modül ikizini yeniden biçimlendirir.
Cihaz Güncelleştirmesi aracısını yükleme ve yapılandırma
Cihaz Güncelleştirmesi aracısı, Cihaz Güncelleştirmesi tarafından yönetilen her cihazda çalışır. Bu öğreticide, cihazın yapılandırmasını değiştirmeden bir güncelleştirmenin bir cihaza nasıl uygulanabileceğini görebilmek için bunu simülatör olarak çalışacak şekilde yapılandıracağız.
IoT cihazınızda Microsoft paket deposunu ekleyin ve ardından Microsoft paketi imzalama anahtarını güvenilen anahtarlar listenize ekleyin.
wget https://packages.microsoft.com/config/ubuntu/18.04/multiarch/packages-microsoft-prod.deb -O packages-microsoft-prod.deb sudo dpkg -i packages-microsoft-prod.deb rm packages-microsoft-prod.deb
Cihaz Güncelleştirme aracısı .deb paketlerini yükleyin.
sudo apt-get update sudo apt-get install deviceupdate-agent
Aracının yapılandırma dosyasını açın.
sudo nano /etc/adu/du-config.json
Yapılandırma dosyasında aşağıdaki değerleri güncelleştirin:
- manufacturer:
"Contoso"
- Bu değer IoT cihazını güncelleştirmeleri hedeflemek üzere sınıflandırmak için kullanılır. - model:
"Video"
- Bu değer IoT cihazını güncelleştirmeleri hedeflemek üzere sınıflandırmak için kullanılır. - ad:
"aduagent"
- agents.connectionData: Modül kimliğinden kopyaladığınız bağlantı dizesini sağlayın.
- agents.manufacturer:
"Contoso"
- agents.model:
"Video"
Bu adımdaki parametreler hakkında daha fazla bilgi için bkz . Cihaz Güncelleştirmesi yapılandırma dosyası.
Not
Cihazı sağlamak için IoT Kimlik Hizmeti'ni de kullanabilirsiniz. Bunu yapmak için, Cihaz Güncelleştirmesi aracısını yüklemeden önce iot girintisi hizmetini yükler . Ardından, Ve ile
"connectionType": "AIS"
connectionData
Cihaz Güncelleştirme aracısını yapılandırma dosyasında boş bir dize olarak yapılandırın.- manufacturer:
Dosyayı kaydedin ve kapatın.
CTRL
+X
,Y
veEnter
.Aracıyı simülatör olarak çalışacak şekilde ayarlayın. Cihaz Güncelleştirmesi aracısının SWUpdate (
microsoft/swupdate:1
ile bir paket güncelleştirmesini işlemek için simülatör işleyicisini çağırması için IoT cihazında aşağıdaki komutu çalıştırın.sudo /usr/bin/AducIotAgent --extension-type updateContentHandler --extension-id 'microsoft/swupdate:1' --register-extension /var/lib/adu/extensions/sources/libmicrosoft_simulator_1.so
Tutorial_Simulator.zip
Önkoşullarda indirdiğiniz dosyanın sıkıştırmasını açın ve dosyayı klasörünetmp
kopyalayınsample-du-simulator-data.json
.cp sample-du-simulator-data.json /tmp/du-simulator-data.json
/tmp yoksa şunu çalıştırın:
sudo mkdir/tmp sudo chown root:root/tmp sudo chmod 1777/tmp
Yeni dosyanın izinlerini değiştirin.
sudo chown adu:adu /tmp/du-simulator-data.json sudo chmod 664 /tmp/du-simulator-data.json
Değişikliklerinizi uygulamak için Cihaz Güncelleştirmesi aracısını yeniden başlatın.
sudo systemctl restart deviceupdate-agent
Güncelleştirmeyi içeri aktarma
Bu bölümde, önkoşullarda indirilen Tutorial_Simulator.zip
ve adu-update-image-raspberrypi3.swu
dosyalarını TutorialImportManifest_Sim.importmanifest.json
kullanırsınız. Güncelleştirme dosyası Raspberry Pi öğreticisinden yeniden kullanılır. Bu öğreticideki güncelleştirme simüle edildiğinden, belirli dosya içeriğinin önemi yoktur.
Geliştirme makinenizde Azure portal oturum açın ve Cihaz Güncelleştirmesi ile yapılandırılan IoT hub'ınıza gidin.
Gezinti bölmesindeki Cihaz Yönetimi altında Güncelleştirmeler'ı seçin.
Yeni güncelleştirmeyi içeri aktar'ı seçin.
Depolama kapsayıcısından seç'i seçin.
Var olan bir depolama hesabını seçin veya + Depolama hesabı'yı seçerek yeni bir hesap oluşturun. Ardından, var olan bir kapsayıcıyı seçin veya + Kapsayıcı'yı seçerek yeni bir kapsayıcı oluşturun. Bu kapsayıcı, güncelleştirme dosyalarınızı içeri aktarma için hazırlamak için kullanılır.
Not
Önceki güncelleştirmelerden yanlışlıkla dosya içeri aktarmayı önlemek için bir güncelleştirmeyi her içeri aktardığınızda yeni bir kapsayıcı kullanmanızı öneririz. Yeni bir kapsayıcı kullanmıyorsanız, bu adımı tamamlamadan önce var olan kapsayıcıdaki dosyaları sildiğinizden emin olun.
Kapsayıcınızda Karşıya Yükle'yi seçin ve önkoşullarda indirdiğiniz dosyalara gidin. TutorialImportManifest_Sim.importmanifest.json ve adu-update-image-raspberrypi3.swu dosyalarını ve ardından Karşıya Yükle'yi seçin.
Her dosyanın yanındaki onay kutusunu seçin ve ardından Seç düğmesini seçerek güncelleştirmeyi içeri aktar sayfasına dönün.
Güncelleştirmeyi içeri aktar sayfasında, içeri aktarılacak dosyaları gözden geçirin. Ardından içeri aktarma işlemini başlatmak için Güncelleştirmeyi içeri aktar'ı seçin.
İçeri aktarma işlemi başlar ve ekran İçeri Aktarma Geçmişi bölümüne geçer. Durum sütunu içeri aktarma işlemi devam ederken içeri aktarmayı Çalışıyor olarak ve içeri aktarma tamamlandığında Başarılı olarak gösterir. Durumu güncelleştirmek için Yenile düğmesini kullanın.
Durum sütunu içeri aktarma işleminin başarılı olduğunu gösterdiğinde Kullanılabilir güncelleştirmeler üst bilgisini seçin. İçeri aktarılan güncelleştirmenizi şimdi listede görmeniz gerekir.
İçeri aktarma işlemi hakkında daha fazla bilgi için bkz. IoT Hub için Cihaz Güncelleştirmesi'ne güncelleştirme aktarma.
Cihaz gruplarını görüntüleme
Cihaz Güncelleştirmesi, cihazları düzenlemek için grupları kullanır. Cihaz Güncelleştirmesi, cihazları atanan etiketlerine ve uyumluluk özelliklerine göre otomatik olarak gruplar halinde sıralar. Her cihaz yalnızca bir gruba aittir, ancak grupların farklı cihaz sınıflarını sıralamak için birden çok alt grubu olabilir.
Güncelleştirmeler sayfasının üst kısmındaki Gruplar ve Dağıtımlar sekmesine gidin.
Grup listesini ve güncelleştirme uyumluluk grafiğini görüntüleyin. Güncelleştirme uyumluluk grafiği, çeşitli uyumluluk durumlarındaki cihazların sayısını gösterir: En son güncelleştirmede, Yeni güncelleştirmeler kullanılabilir ve devam eden Güncelleştirmeler. Güncelleştirme uyumluluğu hakkında bilgi edinin.
Bu öğreticide ayarladığınız simülasyon cihazını ve yeni gruptaki cihazlar için kullanılabilir güncelleştirmeleri içeren bir cihaz grubu görmeniz gerekir. Grubun cihaz sınıfı gereksinimlerini karşılamayen cihazlar varsa, bunlar ilgili geçersiz grupta gösterilir.
Etiketler ve gruplar hakkında daha fazla bilgi için bkz. Cihaz gruplarını yönetme.
Güncelleştirmeyi dağıtma
Gruplar ve Dağıtımlar sekmesinde, cihaz grubunuz için kullanılabilecek yeni bir güncelleştirme görmeniz gerekir. Güncelleştirme bağlantısı Durum altında olmalıdır. Sayfayı yenilemeniz gerekebilir.
Ayrıntılarını görüntülemek için grup adını seçin.
Grup ayrıntıları sayfasında yeni bir güncelleştirme olduğunu görmeniz gerekir. Dağıtımı başlatmak için Dağıt'ı seçin.
Önceki bölümde içeri aktardığımız güncelleştirme, bu grup için en iyi kullanılabilir güncelleştirme olarak listelenir. Dağıt'ı seçin.
Dağıtımınızı hemen başlayacak şekilde zamanlayın ve oluştur'u seçin.
Grup ayrıntıları sayfasında Geçerli güncelleştirmeler sekmesine gidin. Dağıtım ayrıntıları'nın altında DurumEtkin'e dönüşür.
Cihazınız başarıyla güncelleştirildikten sonra Güncelleştirmeler sayfasına dönün. Uyumluluk grafiğinizin ve dağıtım ayrıntılarınızın aynı şekilde güncelleştirildiğini görmeniz gerekir.
Güncelleştirme dağıtımını izleme
Grup ayrıntıları sayfasına dönün ve Dağıtım geçmişi sekmesini seçin.
Oluşturduğunuz dağıtımın yanındaki Dağıtım ayrıntılarını görüntüle'yi seçin.
En son durum ayrıntılarını görüntülemek için Yenile'yi seçin.
Artık Ubuntu (18.04 x64) simülatör başvuru aracısını kullanarak IoT Hub için Cihaz Güncelleştirmesi'ni kullanarak başarılı bir uçtan uca görüntü güncelleştirmesini tamamladınız.
Kaynakları temizleme
Sonraki öğreticiye devam edecekseniz Cihaz Güncelleştirmenizi koruyun ve kaynakları IoT Hub.
Artık gerekli olmadığında, bu kaynakları Azure portal silebilirsiniz.
Azure portal kaynak grubunuza gidin.
Hangi kaynakların silineceğini seçin.
- Gruptaki tüm kaynakları silmek istiyorsanız Kaynak grubunu sil'i seçin.
- Yalnızca seçili kaynakları silmek istiyorsanız, onay kutularını kullanarak kaynakları seçin ve sil'i seçin.
Sonraki adımlar
Bu öğreticide bir görüntü güncelleştirmesini içeri aktarmayı ve dağıtmayı öğrendiniz. Ardından cihaz paketlerini nasıl güncelleştireceğinizi öğrenin.