Öğretici: Azure Stream Analytics'i IoT Edge modülü olarak dağıtma

Şunlar için geçerlidir:IoT Edge 1.4 onay işareti IoT Edge 1.4

Önemli

IoT Edge 1.4 desteklenen sürümdür. Önceki bir sürümdeyseniz bkz. IoT Edge’i güncelleştirme.

Bu öğreticide, Azure portalında bir Azure Stream Analytics işi oluşturacak ve bunu fazladan kod içermeyen bir IoT Edge modülü olarak dağıtacaksınız.

Şunları yapmayı öğreneceksiniz:

  • Verileri uç cihazlarda işlemek için bir Azure Stream Analytics işi oluşturma.
  • Yeni Azure Stream Analytics işini diğer IoT Edge modüllerine bağlama.
  • Azure Stream Analytics işini Azure portalından bir IoT Edge cihazına dağıtma.

Azure Stream Analytics işinin hazırlama ve dağıtma adımlarını gösteren akış mimarisi diyagramı.

Bu öğreticideki Stream Analytics modülü, tekrar eden 30 saniyelik dönemler içindeki ortalama sıcaklığı hesaplar. Bu ortalama değer 70'e ulaştığında modül, eyleme geçmek için cihazla ilgili bir uyarı gönderir. Bu durumda eylem, sıcaklık sensörü simülasyonunu sıfırlamaktır. Bir üretim ortamında bu işlevi kullanarak sıcaklık tehlikeli düzeylere ulaştığında bir makineyi kapatabilir veya önleyici işlemler gerçekleştirebilirsiniz.

IoT Edge'de Azure Stream Analytics neden kullanılır?

Birçok IoT çözümü, IoT cihazlarından buluta ulaşan veriler hakkında içgörü elde etmek için analiz hizmetlerini kullanır. Azure IoT Edge ile Azure Stream Analytics mantığını alıp cihazın kendisine aktarabilirsiniz. Telemetri akışlarını uç cihazlarda işleyerek yüklenen veri miktarını ve eyleme dönüştürülebilir içgörülere tepki verme süresini azaltabilirsiniz. Azure IoT Edge ve Azure Stream Analytics, iş yükü geliştirmenizi basitleştirmek için tümleşiktir.

Azure Stream Analytics, hem bulutta hem de IoT Edge cihazlarında veri analizi için zengin yapılandırılmış bir sorgu söz dizimi sağlar. Daha fazla bilgi için bkz . Azure Stream Analytics belgeleri.

Önkoşullar

Azure aboneliğiniz yoksa başlamadan önce birücretsiz Azure hesabı oluşturun.

  • Bir Azure IoT Edge cihazı.

    Linux veya Windows cihazları için hızlı başlangıçtaki adımları izleyerek Azure sanal makinesini IoT Edge cihazı olarak kullanabilirsiniz.

  • Azure'da ücretsiz veya standart katman IoT Hub'ı.

Azure Stream Analytics işi oluşturma

Bu bölümde, aşağıdaki adımları uygulayan bir Azure Stream Analytics işi oluşturacaksınız:

  • IoT Edge cihazınızdan veri alın.
  • Telemetri verilerini belirli bir aralığın dışındaki değerler için sorgular.
  • Sorgu sonuçlarına göre IoT Edge cihazında işlem yapın.

Depolama hesabı oluşturma

IoT Edge cihazında çalıştırmak üzere oluşturduğunuz Azure Stream Analytics işinin cihazdan çağrılabilecek bir şekilde depolanması gerekir. Mevcut bir Azure Depolama hesabını kullanabilir veya şimdi yeni bir hesap oluşturabilirsiniz.

  1. Azure portalında Kaynak> oluşturma Depolama Depolama> hesabı'na gidin.

  2. Depolama hesabınızı oluşturmak için aşağıdaki değerleri girin:

    Alan Değer
    Abonelik IoT hub'ınızla aynı aboneliği seçin.
    Kaynak grubu IoT Edge hızlı başlangıçları ve öğreticileri için tüm test kaynaklarınız için aynı kaynak grubunu kullanmanızı öneririz. Örneğin, IoTEdgeResources.
    Veri Akışı Adı Depolama hesabınıza benzersiz bir ad verin.
    Konum Size yakın bir konum seçin.
  3. Diğer alanlar için varsayılan değerleri koruyun ve Gözden Geçir + Oluştur'u seçin.

  4. Ayarlarınızı gözden geçirin ve Oluştur'u seçin.

Yeni bir iş oluşturma

  1. Azure portalında şunları seçin:

    1. Kaynak oluştur
    2. Soldaki menüden Nesnelerin İnterneti
    3. Market'te bulmak için arama çubuğuna Stream Analytics yazın
    4. Oluştur'u ve ardından açılan menüden Stream Analytics işi'ni seçin

    Market'te Stream Analytics iş hizmetinin nerede bulunacağını ve nerede yeni iş oluşturulacağını gösteren ekran görüntüsü.

  2. Yeni Stream Analytics işinizi oluşturmak için aşağıdaki değerleri sağlayın:

    Alan Değer
    Veri Akışı Adı İşinize bir ad verin. Örneğin, IoTEdgeJob
    Abonelik IoT hub'ınızla aynı aboneliği seçin.
    Kaynak grubu IoT Edge hızlı başlangıçları ve öğreticileri sırasında oluşturduğunuz tüm test kaynakları için aynı kaynak grubunu kullanmanızı öneririz. Örneğin, IoTEdgeResources adlı bir kaynak.
    Bölge Size yakın bir konum seçin.
    Barındırma ortamı Kenar'ı seçin. Bu seçenek, dağıtımın bulutta barındırılmak yerine bir IoT Edge cihazına gittiği anlamına gelir.
  3. Gözden geçir ve oluştur’u seçin.

  4. Seçeneklerinizi onaylayın ve oluştur'u seçin.

İşinizi yapılandırma

Azure portalında Stream Analytics işiniz oluşturulduktan sonra, bunu bir giriş, çıkış ve geçen veriler üzerinde çalıştırılacak bir sorguyla yapılandırabilirsiniz.

Bu bölüm, IoT Edge cihazından sıcaklık verilerini alan bir iş oluşturur. Bu verileri 30 saniyelik sıralı bir pencerede analiz eder. Bu penceredeki ortalama sıcaklık 70 derecenin üzerine çıkarsa IoT Edge cihazına bir uyarı gönderilir.

Not

İşi dağıttığınızda sonraki IoT Edge ayarlarını yapılandırma bölümünde verilerin nereden geldiğini ve nereye gittiğini tam olarak belirtirsiniz.

Girişinizi ve çıkışınızı ayarlama

  1. Azure portalda Stream Analytics işinize gidin.

  2. İş topolojisi'nin altında Girişler'i ve ardından Giriş ekle'yi seçin.

    Azure portalında akış girişinin ekleneceği yeri gösteren ekran görüntüsü.

  3. Açılan listeden Edge Hub'ını seçin.

    Listede Edge Hub seçeneğini görmüyorsanız Stream Analytics işinizi bulutta barındırılan bir iş olarak oluşturmuş olabilirsiniz. Yeni bir iş oluşturmayı deneyin ve barındırma ortamı olarak Edge'i seçtiğinizden emin olun.

  4. Yeni giriş bölmesinde Giriş diğer adı olarak sıcaklık girin.

  5. Diğer alanların varsayılan değerlerini tutun ve Kaydet’i seçin.

  6. İş Topolojisi'nin altında Çıkışlar'ı açın ve Ekle'yi seçin.

    Azure portalında akış çıkışının nereye ekleneceğini gösteren ekran görüntüsü.

  7. Açılan listeden Edge Hub'ını seçin.

  8. Yeni çıkış bölmesinde çıkış diğer adı olarak alert yazın.

  9. Diğer alanların varsayılan değerlerini tutun ve Kaydet’i seçin.

Sorgu oluşturma

  1. İş Topolojisi'nin altında Sorgu'yu seçin.

  2. Varsayılan metni aşağıdaki sorguyla değiştirin.

    SELECT  
        'reset' AS command
    INTO
       alert
    FROM
       temperature TIMESTAMP BY timeCreated
    GROUP BY TumblingWindow(second,30)
    HAVING Avg(machine.temperature) > 70
    

    Bu sorguda, 30 saniyelik bir pencerede ortalama makine sıcaklığı 70 dereceye ulaşırsa, SQL kodu uyarı çıkışına bir sıfırlama komutu gönderir. Sıfırla komutu, gerçekleştirilebilecek bir eylem olarak algılayıcıya önceden programlanmıştır.

  3. Sorguyu kaydet'i seçin.

IoT Edge ayarlarını yapılandırma

Stream Analytics işinizi bir IoT Edge cihazına dağıtılacak şekilde hazırlamak için Azure Stream Analytics işinizi bir depolama hesabıyla ilişkilendirmeniz gerekir. İşinizi dağıttığınızda, iş tanımı kapsayıcı biçiminde depolama hesabına aktarılır.

  1. Stream Analytics hizmetinizde Ayarlar menüsünün altında hesap ayarlarını Depolama seçin.

  2. Aboneliklerinizden Blob depolama/ADLS 2. Nesil'i seçin seçeneğini belirleyin.

  3. Azure depolama hesabınız sayfada otomatik olarak gösterilir. Bir depolama alanı görmüyorsanız bir depolama alanı oluşturduğunuzdan emin olun. Veya Depolama hesabı alanında listelenen depolama alanından farklı bir depolama alanı seçmeniz gerekiyorsa, açılan menüden bu depolama alanını seçin.

  4. Herhangi bir değişiklik yapmanız gerekiyorsa Kaydet'i seçin.

    Azure portalında Stream Analytics işinizde depolama hesabının ekleneceği yerin ekran görüntüsü.

İşi dağıtma

Artık IoT Edge cihazınızda Azure Stream Analytics işini dağıtmaya hazırsınız.

Bu bölümde Azure portaldaki Modülleri Ayarlama sihirbazını kullanarak bir dağıtım bildirimi oluşturacaksınız. Dağıtım bildirimi, bir cihaza dağıtılan tüm modülleri açıklayan bir JSON dosyasıdır. Bildirim ayrıca modül görüntülerini depolayan kapsayıcı kayıt defterlerini, modüllerin nasıl yönetilmesi gerektiğini ve modüllerin birbirleriyle nasıl iletişim kurabileceğini gösterir. IoT Edge cihazınız, dağıtım bildirimini IoT Hub'dan aldıktan sonra içindeki bilgileri kullanarak tüm atanmış modülleri dağıtır ve yapılandırır.

Bu öğreticide iki modül dağıtacaksınız. Birincisi, sıcaklık ve nem sensörü simülasyonu yapan bir modül olan SimulatedTemperatureSensor'dır. İkincisi ise Stream Analytics işinizdir. Algılayıcı modülü, iş sorgunuzun çözümlediğini veri akışını sağlar.

  1. Azure portalında IoT Hub'ınıza gidin.

  2. Cihaz yönetimi menüsünün altında Cihazlar'ıseçin ve ardından IoT Edge cihazınızı seçerek açın.

  3. Modül ayarla’yı seçin.

  4. Daha önce Bu cihazda SimulatedTemperatureSensor modülünü dağıttıysanız, otomatik olarak doldurulabilir. Aksi takdirde aşağıdaki adımlarla modülü ekleyin:

    1. + Ekle'yi ve ardından IoT Edge Modülü'ne tıklayın.
    2. Ad olarak SimulatedTemperatureSensor yazın.
    3. Görüntü URI'si için mcr.microsoft.com/azureiotedge-simulated-temperature-sensor:1.4 girin.
    4. Diğer varsayılan ayarları bırakın ve Ekle'yi seçin.
  5. Aşağıdaki adımları uygulayarak Azure Stream Analytics Edge işinizi ekleyin:

    1. + Ekle'yi ve ardından Azure Stream Analytics Modülü'ne tıklayın.
    2. Aboneliğinizi ve oluşturduğunuz Azure Stream Analytics Edge işini seçin.
    3. Kaydet'i seçin.

    Değişikliklerinizi kaydettikten sonra, Stream Analytics işinizin ayrıntıları oluşturduğunuz depolama kapsayıcısına yayımlanır.

  6. Stream Analytics ekleme işleminiz dağıtımı tamamladıktan sonra, Modülleri ayarla sayfanızda iki yeni modülün göründüğünü onaylayın.

    Cihazınızda iki yeni modülün bulunduğunu onaylayan ekran görüntüsü. Ekran görüntüsü, Gözden Geçir ve oluştur düğmesinin nerede olduğunu da gösterir.

  7. Gözden geçir ve oluştur’u seçin. Dağıtım bildirimi görüntülenir.

  8. Oluştur'u belirleyin.

  9. Cihazınızın Modülleri ayarla sayfasında, birkaç dakika sonra modüllerin listelendiğini ve çalıştığını görmeniz gerekir. Modülleri görmüyorsanız sayfayı yenileyin veya birkaç dakika daha bekleyip yeniden yenileyin.

    Azure portalında cihazınızın modül listesini gösteren ekran görüntüsü.

İki yeni modülü anlama

  1. Cihazınızın Modülleri ayarla sekmesinden Stream Analytics modülünüzün adını seçerek Sizi IoT Edge Modülünü Güncelleştir sayfasına götürün. Burada ayarları güncelleştirebilirsiniz.

    Ayarlar sekmesinde standart bir Azure Stream Analytics görüntüsünü gösteren Görüntü URI'si bulunur. Bu tek görüntü, ioT Edge cihazına dağıtılan her Stream Analytics modülü için kullanılır.

    Modül İkizi Ayarlar sekmesi, ASAJobInfo adlı Azure Stream Analytics (ASA) özelliğini tanımlayan JSON'yi gösterir. Bu özelliğin değeri, depolama kapsayıcınızdaki iş tanımını gösterir. Bu özellik, Stream Analytics görüntüsünün iş ayrıntılarınızla nasıl yapılandırıldığını gösterir.

    Stream Analytics modülü varsayılan olarak temel aldığı işle aynı adı alır. İsterseniz bu sayfadaki modül adını değiştirebilirsiniz, ancak gerekli değildir.

  2. Değişiklik yaptıysanız Uygula'yı veya değişiklik yapmadıysanız İptal'i seçin.

Modüllerinize yol atama

  1. Cihazdaki modülleri ayarla:<cihazınız-adı> sayfasında İleri: Yollar'ı seçin.

  2. Yollar sekmesinde, modülleri ve IoT Hub'ı arasında iletilerin nasıl geçirildiğini tanımlarsınız. İletiler ad ve değer çiftleri kullanılarak oluşturulur.

    Aşağıdaki tabloda gösterilen çiftlerle yol adlarını ve değerlerini ekleyin. örneklerini {moduleName} Azure Stream Analytics modülünüzün adıyla değiştirin. Bu modül, Azure portalında gösterildiği gibi Modülleri ayarla sayfasındaki cihazınızın modüller listesinde gördüğünüz adla aynı olmalıdır.

    Azure portalında IoT Edge cihazınızdaki Stream Analytics modüllerinizin adını gösteren ekran görüntüsü.

    Veri Akışı Adı Değer
    telemetriToCloud FROM /messages/modules/SimulatedTemperatureSensor/* INTO $upstream
    uyarılarToCloud FROM /messages/modules/{moduleName}/* INTO $upstream
    alertsToReset FROM /messages/modules/{moduleName}/* INTO BrokeredEndpoint("/modules/SimulatedTemperatureSensor/inputs/control")
    telemetriToAsa FROM /messages/modules/SimulatedTemperatureSensor/* INTO BrokeredEndpoint("/modules/{moduleName}/inputs/temperature")

    Burada bildirdiğiniz yollar IoT Edge cihazı üzerinden veri akışını tanımlar. SimulatedTemperatureSensor'dan alınan telemetri verileri IoT Hub'a ve Stream Analytics işinde yapılandırılan sıcaklık girişine gönderilir. Uyarı çıktı iletileri IoT Hub'a ve reset komutunu tetiklemeleri için SimulatedTemperatureSensor modülüne gönderilir.

  3. İleri: Gözden Geçir + Oluştur'u seçin.

  4. Gözden Geçir + Oluştur sekmesinde, sihirbazda sağladığınız bilgilerin bir JSON dağıtım bildirimine nasıl dönüştürüldüğünü görebilirsiniz.

  5. Bildirimi gözden geçirmeyi bitirdiğinizde oluştur'u seçerek modülünüzü ayarlamayı tamamlayın.

Verileri görüntüleme

Artık IoT Edge cihazınıza giderek Azure Stream Analytics modülü ile SimulatedTemperatureSensor modülü arasındaki etkileşimi görebilirsiniz.

Not

Bir cihaz için sanal makine kullanıyorsanız, Azure Cloud Shell'i kullanarak tüm Azure kimliği doğrulanmış hizmetlere doğrudan erişebilirsiniz.

  1. Docker'daki tüm modüllerin çalıştığından emin olun:

    iotedge list  
    
  2. Tüm sistem günlüklerini ve ölçüm verilerini görüntüleyin. {moduleName} yerine Azure Stream Analytics modülünüzün adını yazın:

    iotedge logs -f {moduleName}  
    
  3. Algılayıcı günlüklerini görüntüleyerek reset komutunun SimulatedTemperatureSensor'ı nasıl etkilediğini görün:

    iotedge logs SimulatedTemperatureSensor
    

    Makinenin sıcaklığının 30 saniye boyunca 70 dereceye ulaşana kadar kademeli olarak yükselmesini izleyebilirsiniz. Bu noktada Stream Analytics modülü bir sıfırlama işlemini tetikler ve makine sıcaklığı 21'e düşer.

    Modül günlüklerinizden çıkışınızdaki sıfırlama komutunu gösteren ekran görüntüsü.

Kaynakları temizleme

Bir sonraki önerilen makaleye geçmeyi planlıyorsanız, oluşturduğunuz kaynaklarla yapılandırmaları tutabilir ve yeniden kullanabilirsiniz. Aynı IoT Edge cihazını test cihazı olarak kullanmaya devam edebilirsiniz.

Aksi takdirde, ücretlerden kaçınmak için bu makalede kullandığınız yerel yapılandırmaları ve Azure kaynaklarını silebilirsiniz.

Azure kaynaklarını silme

Azure kaynaklarını ve kaynak gruplarını silme işlemi geri alınamaz. Yanlış kaynak grubunu veya kaynakları yanlışlıkla silmediğinizden emin olun. IoT hub'ını tutmak istediğiniz kaynakların yer aldığı mevcut bir kaynak grubunda oluşturduysanız, kaynak grubunu değil yalnızca IoT hub kaynağını silin.

Kaynakları silmek için:

  1. Azure portalında oturum açın ve Kaynak grupları’nı seçin.

  2. IoT Edge test kaynaklarınızı içeren kaynak grubunun adını seçin.

  3. Kaynak grubunuzda bulunan kaynakların listesini gözden geçirin. Tümünü silmek isterseniz Kaynak grubunu sil'i seçebilirsiniz. Kaynakların yalnızca bazılarını silmek istiyorsanız tek tek tıklayarak silebilirsiniz.

Sonraki adımlar

Bu öğreticide IoT Edge cihazınızdan gelen verileri analiz etmek için bir Azure Streaming Analytics işi yapılandırdınız. Ardından bu Azure Stream Analytics modülünü IoT Edge cihazınıza yükleyip yerel olarak sıcaklık artışını işleyip tepki gösterdiniz ve toplanan veri akışını buluta gönderdiniz. Azure IoT Edge sisteminin işletmeniz için oluşturabileceği ek çözümleri görmek için diğer öğreticilere geçin.