Cihaz bağlantı durumunu izleme

Azure IoT Hub, cihazlarınızın durumunu izlemek için çeşitli yöntemleri destekler. Bu makalede farklı izleme yöntemleri sunulur ve IoT çözümünüz için en iyi seçeneği belirlemenize yardımcı olacak yönergeler sağlanır.

Aşağıdaki tabloda, cihazınızın bağlantı durumunu izlemenin üç yolu vardır:

Metot Durum sıklığı Maliyet Oluşturma çabası
Cihaz ikizi connectionState özelliği Aralıklı Düşük Düşük
Event Grid 60 saniye Düşük Düşük
Özel cihaz sinyal deseni Özel Yüksek Yüksek

Güvenilirliği, düşük maliyeti ve kullanım kolaylığı nedeniyle çoğu müşteri için tercih edilen izleme çözümü olarak Event Grid'i öneririz.

Ancak Event Grid ile izlemenin bazı IoT çözümleri için diskalifiye edilebilecek bazı sınırlamaları vardır. Her seçeneğin avantajlarını ve sınırlamalarını anlamak için bu makaleyi kullanın.

Cihaz ikizi bağlantısıState

Her IoT Hub cihaz kimliği, bağlı veya bağlantısı kesilmiş olarak raporlayan connectionState adlı bir özellik içerir. Bu özellik, IoT Hub'ın cihazın bağlantı durumunu anlamayı temsil eder.

Bağlantı durumu özelliğinin çeşitli sınırlamaları vardır:

  • Bağlantı durumu yalnızca MQTT veya AMQP kullanan cihazlar için güncelleştirilir.
  • Bu özellikteki güncelleştirmeler protokol düzeyinde ping’ler kullanır ve beş dakika kadar gecikebilir.

Bu nedenlerden dolayı, yalnızca geliştirme ve hata ayıklama sırasında connectionState alanını kullanmanızı öneririz. IoT çözümleri çalışma zamanında alanı sorgulamamalıdır. Örneğin, buluttan cihaza ileti veya SMS göndermeden önce bir cihazın bağlı olup olmadığını denetlemek için connectionState alanını sorgulamayın.

Event Grid

Çoğu müşteri için tercih edilen izleme çözümü olarak Event Grid'i öneririz.

Uyarı almak ve cihaz bağlantı durumunu izlemek için DeviceConnected ve deviceDisconnected olaylarına Event Grid'e abone olun.

IoT çözümünüzde cihaz bağlı ve bağlantısı kesilmiş olayları tümleştirmeyi öğrenmek için aşağıdaki makaleleri kullanın:

Cihaz bağlantı durumu olayları, MQTT veya AMQP protokolü veya WebSockets üzerinden bu protokollerden birini kullanarak bağlanan cihazlar için kullanılabilir. Yalnızca HTTPS ile yapılan istekler cihaz bağlantı durumu bildirimlerini tetiklemez.

Azure IoT SDK'ları dışında, MQTT'de bu işlemler uygun mesajlaşma konularındaki SUBSCRIBE veya PUBLISH işlemlerine eşit olur. AMQP üzerinden bu işlemler, bir iletiyi uygun bağlantı yollarına eklemeye veya aktarmaya eşit olur.

Event Grid sınırlamaları

Cihazınızın durumunu izlemek için Event Grid'i kullanmak aşağıdaki sınırlamalarla birlikte gelir:

  • Event Grid her bir cihaz bağlantısı ve bağlantısını kesme olayını bildirmez. Bunun yerine, her 60 saniyede bir cihaz durumunu yoklar ve durum değişikliği olduğunda en son bağlantı durumunu yayımlar. Bu nedenle, durum değişikliği raporları bir dakikaya kadar gecikebilir ve 60 saniyelik pencerede birden çok olay gerçekleşirse tek tek durum değişiklikleri bildirilmeyebilir.
  • AMQP kullanan cihazların cihaz durumunu bildirebilmesi için önce buluttan cihaza bağlantı gerekir.
  • Event Grid gizlenemez bir genel uç noktayı kullanıma sunar.

Bu sınırlamalardan herhangi biri cihaz durumu izleme için Event Grid'i kullanma yeteneğinizi etkiliyorsa bunun yerine özel bir cihaz sinyal deseni oluşturmayı düşünmelisiniz.

Cihaz sinyal deseni

Cihazlarınızın bağlantı durumunu bilmeniz gerekiyorsa ancak Event Grid'in sınırlamaları çözümünüz için çok kısıtlayıcıysa sinyal desenini uygulayabilirsiniz. Sinyal düzeninde, cihaz her sabit sürede en az bir kez (örneğin, en az saatte bir) cihazdan buluta iletiler gönderir. Bir cihazda gönderilecek veri olmasa bile, genellikle sinyal iletisi olarak tanımlayan bir özelliğe sahip boş bir cihazdan buluta ileti gönderir. Hizmet tarafında, çözüm her cihaz için alınan son sinyali içeren bir harita tutar. Çözüm, cihazdan beklenen süre içinde sinyal iletisi almazsa cihazla ilgili bir sorun olduğunu varsayar.

Cihaz sinyal sınırlamaları

Sinyal iletileri cihazdan buluta iletiler olarak uygulandığından IoT Hub ileti kotanıza ve azaltma sınırlarınıza göre sayılır.

Kısa süre sonu süresi deseni

IoT çözümü yalnızca bir cihaza buluttan cihaza ileti gönderip göndermeyeceğini belirlemek için bağlantı durumunu kullanıyorsa ve iletiler büyük cihaz kümelerine yayınlanmıyorsa kısa süre sonu zaman desenini sinyal düzenine daha basit bir alternatif olarak kullanmayı göz önünde bulundurun. Kısa süre sonu süresi deseni, kısa bir ileti süre sonu süresine sahip iletiler göndererek ve cihazlardan ileti onayları isteyerek buluttan cihaza ileti gönderip göndermeyeceğinizi belirlemenin bir yoludur.

Daha fazla bilgi için bkz . İleti süre sonu (yaşam süresi).

Diğer izleme seçenekleri

Daha karmaşık bir uygulama, bağlanmaya veya iletişim kurmaya çalışan ancak başarısız olan cihazları tanımlamak için Azure İzleyici ve Azure Kaynak Durumu bilgilerini içerebilir. Azure İzleyici panoları cihazlarınızın toplam durumunu görmek için yararlı olurken Event Grid ve sinyal desenleri, cihaz kesintilerine yanıt vermeyi kolaylaştırır.

Bu hizmetleri IoT Hub ile kullanma hakkında daha fazla bilgi edinmek için bkz . IoT Hub'ı izleme ve IoT Hub kaynak durumunu denetleme. Cihaz bağlantısını izlemek için Azure İzleyici veya Event Grid kullanma hakkında daha ayrıntılı bilgi için bkz . Cihaz bağlantısını izleme, tanılama ve sorun giderme.