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

Azure IoT Hub, bulutta depolamak veya işlemek üzere IoT cihazlarından büyük hacimli telemetri verilerini toplamak üzere tasarlanmıştır. 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önderirsiniz ve ayrıca cihazda iletiler, çağrı yöntemleri ve güncelleştirme özellikleri gönderirsiniz. Cihaz ölçümlerini görselleştirmek için Azure portalını kullanırsınız.

Bu makale, IoT Hub bir uygulamayla etkileşime geçmek için Azure CLI kullanarak geliştiriciler için temel bir iş akışı sağlar.

Önkoşullar

  • Azure aboneliği. Bir hesabınız yoksa, başlamadan önce ücretsiz olarak bir hesap oluşturabilirsiniz.
  • Azure CLI. Tarayıcınızda veya Windows Terminal gibi bir uygulamada çalışan etkileşimli bir CLI kabuğu olan Azure Cloud Shell kullanarak bu hızlı başlangıçtaki tüm komutları ç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 sürüm 2.36 veya üzeri gerekir. Sürümü bulmak için az --version komutunu çalıştırın. Yüklemek veya yükseltmek için Install the Azure CLI bölümüne bakın.

Azure portalda oturum açma

Azure Portal’ında oturum açın.

CLI'yi 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’i açma

Bu bölümde bir Cloud Shell örneği açacaksınız. CLI'yi yerel olarak kullanıyorsanız, İki CLI oturumu hazırlama bölümüne atlayın.

  1. Azure portalının sağ üst kısmındaki menü çubuğundan Cloud Shell seçin.

    Azure portalındaki Cloud Shell düğmesini gösteren ekran görüntüsü.

    Cloud Shell ilk kez kullanıyorsanız, Cloud Shell kullanmak için gereken depolama alanı oluşturmanız istenir. Depolama hesabı ve 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.

    CLI ortamının seçilmesini gösteren ekran görüntüsü.

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

İki CLI oturumu hazırlayın

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

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

Komut çalıştırmak için bu hızlı başlangıçtaki bir kod bloğunu "Kopyala" seçeneğini kullanarak kopyalayın, kabuk oturumunuza yapıştırın ve çalıştırın.

Azure CLI kullanmak için Azure hesabınızda oturum açmış olmanız gerekir. Azure CLI oturumunuz ile IoT hub'ınız arasındaki tüm iletişim doğrulanır ve şifrelenir. Sonuç olarak, bu hızlı başlangıçta gerçek bir cihazla kullandığınız bağlantı dizesi gibi ek 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 özgü IoT Hub, Azure IoT Edge ve IoT Cihaz Sağlama Hizmeti komutlarını 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. Aynı anda yalnızca bir sürümünüz yüklü olmalıdır. Ş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 .

    Şu anda hangi uzantıların yüklü olduğunu görmek için kullanın az extension list.

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

    Yeni bir Cloud Shell oturumunun açılmasını gösteren ekran görüntüsü.

IoT hub oluşturma

Bu bölümde, kaynak grubu ve IoT hub'ı oluşturmak için Azure CLI'yi kullanacaksı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.

  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.

    Aşağıdaki komuttaki YourIotHubName yer tutucuyu ve çevresindeki küme ayraçlarını IoT hub'ınız için seçtiğiniz adla değiştirin. IoT hub adı Azure'da genel olarak benzersiz olmalıdır. 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 koddaki bu 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 ileti alır.

    YourIotHubName Aşağıdaki koddaki 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ı, simülasyon cihazının IoT hub'ına gönderdiği olaylar ve özellik durumu değişiklikleri gibi telemetri verilerini gösterir.

    YourIotHubName Aşağıdaki koddaki 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'yi 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 durdurulduysa, yeniden başlatmak için aşağıdaki komutu çalıştırın.

    YourIotHubName Aşağıdaki koddaki 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 koddaki 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ını kullanarak buluttan cihaza iletiler gönderebilirsiniz. Azure portalı üzerinden ileti göndermek için IoT hub'ınızın Overview sayfasına gidin, IoT Devices'ı seçin, simülasyon cihazını seçin ve Message to Device öğesini seçin.

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

    İleti alan sanal cihazı gösteren 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 koddaki 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ı gösteren ekran görüntüsü.

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

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

  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 kodda komutun PowerShell sürümünü kullanın. PowerShell, JSON yükündeki karakterlerden kurtulmanızı gerektirir.

    YourIotHubName Aşağıdaki koddaki 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. CLI'nin ilk oturumunda, simülasyon cihazının özellik güncellemesinin çıktısını doğrulayı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 koddaki 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

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

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

  1. Portaldaki hizmet 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’ındaki bağlantıyı seçin. Portalda hub'ın Genel Bakış sayfası görüntülenir.

  3. IoT hub'ınızın sol bölmesinde Ölçümler'i seçin.

    IoT Hub mesajlaşma ölçümlerini gösteren ekran görüntüsü.

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

  5. Metric Namespace alanında IoT Hub standard metrics öğesini 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 ileti 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.

    IoT Hub ölçümlerinin görünümünü gösteren ekran görüntüsü.

  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, bkz. Tamamlanan C2D ileti teslimleri veya Toplam cihaz (önizleme).

Kaynakları temizleme

Bu hızlı başlangıçta oluşturduğunuz Azure kaynaklarına artık ihtiyacınız yoksa, bunları silmek için Azure CLI 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
    

Summary

Bu hızlı başlangıçta Bir IoT hub'ı oluşturmak, simülasyon cihazı oluşturmak, telemetri göndermek ve izlemek, 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ını 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 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.

Sonraki adım