Hızlı Başlangıç: Bir cihazdan IoT hub'ına telemetri gönderme ve Azure CLI ile izleme

IoT Hub, IoT cihazlarınızdan buluta depolama veya işleme amacıyla yüksek hacimlerde telemetri almanızı sağlayan bir Azure hizmetidir. Bu kodsuz hızlı başlangıçta, IoT hub'ı ve simülasyon cihazı oluşturmak için Azure CLI'yi kullanacaksınız. Hub'a cihaz telemetrisi gönderecek ve cihazda iletiler, çağrı yöntemleri ve güncelleştirme özellikleri göndereceksiniz. Cihaz ölçümlerini görselleştirmek için de Azure portal kullanacaksınız. Bu makalede, cli kullanarak bir IoT Hub uygulamasıyla etkileşim kuran geliştiriciler için temel bir iş akışı gösterilmektedir.

Önkoşullar

  • Azure aboneliğiniz yoksa başlamadan önce ücretsiz olarak bir abonelik oluşturun .
  • Azure CLI. Bu hızlı başlangıçtaki tüm komutları, tarayıcınızda veya Windows Terminal gibi bir uygulamada çalışan etkileşimli bir CLI kabuğu olan Azure Cloud Shell kullanarak çalıştırabilirsiniz. Cloud Shell kullanıyorsanız herhangi bir şey yüklemeniz gerekmez. CLI'yi yerel olarak kullanmayı tercih ediyorsanız, bu hızlı başlangıç için Azure CLI 2.36 veya sonraki bir sürümü gerekir. Sürümü bulmak için az --version komutunu çalıştırın. Yüklemek veya yükseltmek için bkz. Azure CLI’yı yükleme.

Azure portalında oturum açın

Azure Portal oturum açın.

CLI'yı yerel olarak mı yoksa Cloud Shell mi çalıştırdığınızdan bağımsız olarak portalı tarayıcınızda açık tutun. Bu hızlı başlangıcın ilerleyen bölümlerinde kullanacaksınız.

Cloud Shell başlatma

Bu bölümde Azure Cloud Shell örneğini başlatacaksınız. CLI'yi yerel olarak kullanıyorsanız İki CLI oturumu hazırlama bölümüne atlayın.

Cloud Shell başlatmak için:

  1. Azure portal sağ üst menü çubuğundaki Cloud Shell düğmesini seçin.

    Azure portal Cloud Shell düğmesi

    Not

    Cloud Shell ilk kez kullanıyorsanız, Cloud Shell kullanmak için gereken depolama alanı oluşturmanızı ister. Depolama hesabı ve Microsoft Azure Dosyaları paylaşımı oluşturmak için bir abonelik seçin.

  2. Ortam seçin açılan listesinde tercih ettiğiniz CLI ortamını seçin . Bu hızlı başlangıçta Bash ortamı kullanılır. PowerShell ortamını da kullanabilirsiniz.

    Not

    Bazı komutlar Bash ve PowerShell ortamlarında farklı söz dizimi veya biçimlendirme gerektirir. Daha fazla bilgi için bkz. Azure CLI'yi başarıyla kullanmaya yönelik ipuçları.

    CLI ortamını seçme

İki CLI oturumu hazırlama

Ardından iki Azure CLI oturumu hazırlayabilirsiniz. Cloud Shell kullanıyorsanız, bu oturumları ayrı Cloud Shell sekmelerde çalıştırırsınız. Yerel CLI istemcisi kullanıyorsanız ayrı CLI örnekleri çalıştırırsınız. Aşağıdaki görevler için ayrı CLI oturumlarını kullanın:

  • İlk oturum, IoT hub'ınızla iletişim kuran bir IoT cihazının simülasyonunu oluşturur.
  • İkinci oturum, ilk oturumdaki cihazı izler veya ileti, komut ve özellik güncelleştirmeleri gönderir.

Komut çalıştırmak için Kopyala'yı seçerek bu hızlı başlangıçta kod bloğunu kopyalayın, kabuk oturumunuza yapıştırın ve çalıştırın.

Azure CLI, Azure hesabınızda oturum açmanızı gerektirir. Azure CLI kabuk oturumunuz ile IoT hub'ınız arasındaki tüm iletişimlerin kimliği doğrulanır ve şifrelenir. Sonuç olarak, bu hızlı başlangıçta bağlantı dizesi gibi gerçek bir cihazla kullanacağınız fazladan kimlik doğrulaması gerekmez.

  • İlk CLI oturumunda az extension add komutunu çalıştırın. Komut, CLI kabuğunuza Azure CLI için Microsoft Azure IoT Uzantısı'nı ekler. IOT Uzantısı Azure CLI'ya IoT Hub, IoT Edge ve IoT Cihazı Sağlama Hizmeti'ne (DPS) özgü komutlar ekler.

    az extension add --name azure-iot
    

    Azure IOT uzantısını yükledikten sonra herhangi bir Cloud Shell oturumunda yeniden yüklemeniz gerekmez.

    Not

    Bu makalede Azure IoT uzantısının adlı azure-ioten yeni sürümü kullanılır. Eski sürüm olarak adlandırılır azure-cli-iot-ext. Bir kerede yalnızca bir sürümü yüklemiş olmanız gerekir. Şu anda yüklü olan uzantıları doğrulamak için komutunu az extension list kullanabilirsiniz.

    Uzantının eski sürümünü kaldırmak için kullanın az extension remove --name azure-cli-iot-ext .

    Uzantının yeni sürümünü eklemek için kullanın az extension add --name azure-iot .

    Hangi uzantıları yüklediğinizi görmek için kullanın az extension list.

  • İkinci CLI oturumunu açın. tarayıcıda Cloud Shell kullanıyorsanız Yeni oturum aç düğmesini kullanın. CLI'yi yerel olarak kullanıyorsanız ikinci bir CLI örneği açın.

    Yeni Cloud Shell oturumu açma

IoT hub oluşturma

Bu bölümde Azure CLI kullanarak bir kaynak grubu ve IoT hub'ı oluşturacaksınız. Azure kaynak grubu, Azure kaynaklarının dağıtıldığı ve yönetildiği bir mantıksal kapsayıcıdır. IoT hub'ı, IoT uygulamanızla cihazlar arasında çift yönlü iletişim için merkezi bir ileti hub'ı işlevi görür.

İpucu

İsteğe bağlı olarak, Azure portal, Visual Studio Code veya diğer programlama yöntemlerini kullanarak bir Azure kaynak grubu, IoT hub'ı ve diğer kaynakları oluşturabilirsiniz.

  1. İlk CLI oturumunda az group create komutunu çalıştırarak bir kaynak grubu oluşturun. Aşağıdaki komut eastus konumunda MyResourceGroup adlı bir kaynak grubu oluşturur.

    az group create --name MyResourceGroup --location eastus
    
  2. İlk CLI oturumunda, IoT hub'ı oluşturmak için Az PowerShell module iot hub create komutunu çalıştırın. IoT hub'ı oluşturmak birkaç dakika sürer.

    YourIotHubName. Aşağıdaki komutta, IoT hub'ınız için seçtiğiniz adı kullanarak bu yer tutucuyu ve çevresindeki küme ayraçlarını değiştirin. IoT hub'ı adının Azure'da genel olarak benzersiz olması gerekir. Bu hızlı başlangıcın geri kalanında yer tutucuyu gördüğünüz her yerde IoT hub'ınızın adını kullanın.

    az iot hub create --resource-group MyResourceGroup --name {YourIoTHubName}
    

Cihaz oluşturma ve izleme

Bu bölümde, ilk CLI oturumunda bir simülasyon cihazı oluşturacaksınız. Simülasyon cihazı IoT hub'ınıza cihaz telemetrisi gönderir. İkinci CLI oturumunda olayları ve telemetriyi izlersiniz.

Simülasyon cihazı oluşturmak ve başlatmak için:

  1. İlk CLI oturumunda az iot hub device-identity create komutunu çalıştırın. Bu komut simülasyon cihazı kimliğini oluşturur.

    YourIotHubName. Aşağıdaki yer tutucuyu IoT hub'ınız için seçtiğiniz adla değiştirin.

    simDevice. Bu hızlı başlangıcın geri kalanında bu adı doğrudan simülasyon cihazı için kullanabilirsiniz. İsteğe bağlı olarak farklı bir ad kullanın.

    az iot hub device-identity create -d simDevice -n {YourIoTHubName} 
    
  2. İlk CLI oturumunda az iot device simulate komutunu çalıştırın. Bu komut simülasyon cihazını başlatır. Cihaz IoT hub'ınıza telemetri gönderir ve ondan iletiler alır.

    YourIotHubName. Aşağıdaki yer tutucuyu IoT hub'ınız için seçtiğiniz adla değiştirin.

    az iot device simulate -d simDevice -n {YourIoTHubName}
    

Bir cihazı izlemek için:

  1. İkinci CLI oturumunda az iot hub monitor-events komutunu çalıştırın. Bu komut, simülasyon cihazını sürekli izler. Çıktı, sanal cihazın IoT hub'ına gönderdiği olaylar ve özellik durumu değişiklikleri gibi telemetri verilerini gösterir.

    YourIotHubName. Aşağıdaki yer tutucuyu IoT hub'ınız için seçtiğiniz adla değiştirin.

    az iot hub monitor-events --output table -p all -n {YourIoTHubName}
    

    Simülasyon cihazındaki izleme olaylarının ekran görüntüsü.

  2. İkinci CLI oturumunda sanal cihazı izledikten sonra izlemeyi durdurmak için Ctrl+C tuşlarına basın. Sonraki adımlarda kullanmak için ikinci CLI oturumunu açık tutun.

İleti göndermek için CLI kullanma

Bu bölümde, simülasyon cihazına bir ileti gönderirsiniz.

  1. İlk CLI oturumunda, simülasyon cihazının hala çalıştığını onaylayın. Cihaz durduysa, yeniden başlatmak için aşağıdaki komutu çalıştırın:

    YourIotHubName. Aşağıdaki yer tutucuyu IoT hub'ınız için seçtiğiniz adla değiştirin.

    az iot device simulate -d simDevice -n {YourIoTHubName}
    
  2. İkinci CLI oturumunda az iot device c2d-message send komutunu çalıştırın. Bu komut IoT hub'ınızdan simülasyon cihazına buluttan cihaza bir ileti gönderir. İleti bir dize ve iki anahtar-değer çifti içerir.

    YourIotHubName. Aşağıdaki yer tutucuyu IoT hub'ınız için seçtiğiniz adla değiştirin.

    az iot device c2d-message send -d simDevice --data "Hello World" --props "key0=value0;key1=value1" -n {YourIoTHubName}
    

    İsteğe bağlı olarak, Azure portal kullanarak buluttan cihaza iletiler gönderebilirsiniz. Bunu yapmak için IoT Hub genel bakış sayfasına gidin, IoT Cihazları'nı seçin, simülasyon cihazını seçin ve Cihaza İleti'yi seçin.

  3. İlk CLI oturumunda, simülasyon cihazının iletiyi aldığını onaylayın.

    İleti alan simülasyon cihazının ekran görüntüsü.

Bir cihaz yöntemini çağırmak için CLI kullanma

Bu bölümde, simülasyon cihazında doğrudan bir yöntem çağıracaksınız.

  1. Daha önce yaptığınız gibi, ilk CLI oturumundaki simülasyon cihazının çalıştığını onaylayın. Aksi takdirde yeniden başlatın.

  2. İkinci CLI oturumunda az iot hub invoke-device-method komutunu çalıştırın. Bu örnekte, cihaz için önceden var olan bir yöntem yoktur. komutu, simülasyon cihazında örnek bir yöntem adı çağırır ve bir yük döndürür.

    YourIotHubName. Aşağıdaki yer tutucuyu IoT hub'ınız için seçtiğiniz adla değiştirin.

    az iot hub invoke-device-method --mn MySampleMethod -d simDevice -n {YourIoTHubName}
    
  3. İlk CLI oturumunda çıkışın yöntem çağrısını gösterdiğini onaylayın.

    Bir yöntem çağrıldıktan sonra çıkışı görüntüleyen simülasyon cihazının ekran görüntüsü.

Cihaz özelliklerini güncelleştirmek için CLI'yi kullanma

Bu bölümde, özellik değerlerini ayarlayarak simülasyon cihazının durumunu güncelleştirirsiniz.

  1. Daha önce yaptığınız gibi, ilk CLI oturumundaki simülasyon cihazının çalıştığını onaylayın. Aksi takdirde yeniden başlatın.

  2. İkinci CLI oturumunda az iot hub device-twin update komutunu çalıştırın. Bu komut, özellikleri IoT hub cihaz ikizinde sanal cihazınıza karşılık gelen istenen duruma güncelleştirir. Bu durumda, komut örnek sıcaklık koşulu özelliklerini ayarlar.

    Önemli

    CLI kabuğunda PowerShell kullanıyorsanız aşağıdaki komutun PowerShell sürümünü kullanın. PowerShell, JSON yükündeki karakterlerden kurtulmanızı gerektirir.

    YourIotHubName. Aşağıdaki yer tutucuyu IoT hub'ınız için seçtiğiniz adla değiştirin.

    az iot hub device-twin update -d simDevice --desired '{"conditions":{"temperature":{"warning":98, "critical":107}}}' -n {YourIoTHubName}
    
    az iot hub device-twin update -d simDevice --desired '{\"conditions\":{\"temperature\":{\"warning\":98, \"critical\":107}}}' -n {YourIoTHubName}
    
  3. İlk CLI oturumunda, simülasyon cihazının özellik güncelleştirmesinin çıkışını gerçekleştirdiğini onaylayın.

    Bir cihazdaki özelliklerin nasıl güncelleştirildiğini gösteren ekran görüntüsü.

  4. İkinci CLI oturumunda az iot hub device-twin show komutunu çalıştırın. Bu komut, cihaz özelliklerinde yapılan değişiklikleri bildirir.

    YourIotHubName. Aşağıdaki yer tutucuyu IoT hub'ınız için seçtiğiniz adla değiştirin.

    az iot hub device-twin show -d simDevice --query properties.reported -n {YourIoTHubName}
    

    Cihaz ikizinde güncelleştirilmiş özellikleri gösteren ekran görüntüsü.

Portalda mesajlaşma ölçümlerini görüntüleme

Azure portal, IoT hub'ınızın ve cihazlarınızın tüm yönlerini yönetmenize olanak tanır. Cihazlardan telemetri alan tipik bir IoT Hub uygulamasında, cihazları izlemek veya cihaz telemetrisindeki ölçümleri görüntülemek isteyebilirsiniz.

Azure portal mesajlaşma ölçümlerini görselleştirmek için:

  1. Portalın sol gezinti menüsünde Tüm Kaynaklar'ı seçin. Bu sekmede, oluşturduğunuz IoT hub'ı da dahil olmak üzere aboneliğinizdeki tüm kaynaklar listelenir.

  2. Oluşturduğunuz IoT hub'ını seçin. Portalda hub'ın genel bakış sayfası görüntülenir.

  3. IoT Hub sol bölmesinde Ölçümler'i seçin.

    mesajlaşma ölçümlerini IoT Hub

  4. Kapsam alanına IoT hub'ınızın adını girin.

  5. Ölçüm Ad Alanı alanında IoT Hub Standart Ölçümleri'ni seçin.

  6. Ölçüm alanında Kullanılan toplam ileti sayısı'nı seçin.

  7. Fare işaretçinizi, cihazınızın iletileri gönderdiği zaman çizelgesi alanının üzerine getirin. Zaman çizelgesinin sol alt köşesinde belirli bir noktadaki toplam ileti sayısı görüntülenir.

    Azure IoT Hub ölçümlerini görüntüleme

  8. İsteğe bağlı olarak, simülasyon cihazınızdaki diğer ölçümleri görüntülemek için Ölçüm açılan listesini kullanın. Örneğin, C2d ileti teslimleri tamamlandı veya Toplam cihaz (önizleme).

Kaynakları temizleme

Bu hızlı başlangıçta oluşturulan Azure kaynaklarına artık ihtiyacınız yoksa, bunları silmek için Azure CLI'yı kullanabilirsiniz.

Bir sonraki önerilen makaleye devam ederseniz, önceden oluşturduğunuz kaynakları tutabilir ve yeniden kullanabilirsiniz.

Önemli

Silinen kaynak grupları geri alınamaz. Kaynak grubu ve içindeki tüm kaynaklar kalıcı olarak silinir. Yanlış kaynak grubunu veya kaynakları yanlışlıkla silmediğinizden emin olun.

Bir kaynak grubunu adıyla silmek için:

  1. az group delete komutunu çalıştırın. Bu komut kaynak grubunu, IoT hub'ını ve oluşturduğunuz cihaz kaydını kaldırır.

    az group delete --name MyResourceGroup
    
  2. Kaynak grubunun silindiğini onaylamak için az group list komutunu çalıştırın.

    az group list
    

Sonraki adımlar

Bu hızlı başlangıçta IoT hub'ı oluşturmak, sanal cihaz oluşturmak, telemetri gönderip izlemek, bir yöntem çağırmak, istenen özellikleri ayarlamak ve kaynakları temizlemek için Azure CLI'yi kullandınız. Cihazınızda mesajlaşma ölçümlerini görselleştirmek için Azure portal kullandınız.

Cihaz geliştiricisiyseniz, önerilen sonraki adım C için Azure IoT Cihaz SDK'sını kullanan telemetri hızlı başlangıcını görmektir. İsteğe bağlı olarak, tercih ettiğiniz dil veya SDK'daki kullanılabilir Azure IoT Hub telemetri hızlı başlangıç makalelerinden birine bakın.

Bir arka uç uygulamasından simülasyon cihazınızı denetlemeyi öğrenmek için sonraki hızlı başlangıçla devam edin.