İşlemleri Okuma

İşlemi Okuma

Matter içinde düğümlerle etkileşim kurarken ilk kullanım alanlarından biri, başka bir düğümden özellik okumaktır (ör. sensörden sıcaklık değeri okuma). Bu tür etkileşimlerde, gerçekleştirilmesi gereken ilk işlem, okuma isteği işlemidir.

Okuma işleminin işlem sırası
Şekil 1: Okuma işlemi

Okuma İsteği İşlemi

Yön: Başlatıcı -> Hedef

Bu işlemde, Başlatıcı bir Hedef'i sorgulayarak şunları sağlar:

  • Özellik İstekleri: Hedef'in sıfır veya daha fazla özelliğinin listesi. Bu liste, hedefin istenen özelliklerine giden sıfır veya daha fazla yoldan oluşur.
  • Etkinlik İstekleri: Hedef'in istenen Etkinlikleri için sıfır veya daha fazla Yolun listesi.

Hedef, Okuma İsteği İşlemi'ni aldıktan sonra istenen bilgileri içeren bir Veri Raporlama İşlemi oluşturur.

Raporlama Verileri Eylemi

Yön: Hedef -> Başlatan

Bu işlemde hedef şu yanıtı verir:

  • Özellik Raporları: Okuma İşlemi İsteği'nde istenen, bildirilen özelliklerin sıfır veya daha fazla listesi.
  • Etkinlik raporları: Bildirilen sıfır veya daha fazla etkinliğin listesi.
  • Yanıtı Gizle: Bu işleme verilen durum yanıtının gizlenip gizlenmeyeceğini belirleyen bir işarettir.
  • Abonelik kimliği: Bu rapor bir abonelik işleminin parçasıysa abonelik işlemini tanımlamak için kullanılan bir tam sayı içermelidir.

Durum Yanıt İşlemi

Yön: Hedef -> Başlatıcı veya Başlatıcı -> Hedef

Başlatıcı, istenen verileri aldıktan sonra varsayılan olarak bir Durum Yanıtı İşlemi oluşturmalıdır. Bu işlem, Başlatıcı tarafından gönderilir ve raporlama verilerinin alındığını onaylar. Durum Yanıtını Bastır işareti ayarlanmışsa Başlatıcı, Durum Yanıtı İşlemi'ni göndermemelidir.

Başlatıcı, Durum Yanıtı İşlemi'ni gönderdikten veya Yanıtı Gizle işaretinin etkin olduğu bir Rapor Verileri İşlemi'ni aldıktan sonra okuma/rapor sorgusu tamamlanır.

Durum Yanıtı İşlemi, işlemin başarılı olduğunu onaylayan veya bir hata kodu sunan bir status alanı içerir.

Kısıtlamaları okuma

Okuma İsteği İşlemi ve Raporlama Verileri İşlemi yalnızca Unicast içindir. Ayrıca bu isteklerin yolları bir düğüm grubunu hedeflemeyebilir.

Durum Yanıtı İşlemi yalnızca Unicast için geçerlidir ve grup yayınına yanıt olarak oluşturulamaz.

Abonelik İşlemi

Abonelik işleminin işlem sırası
Şekil 2: Abonelik İşlemi

Abone Olma İsteği İşlemi

Yön: Başlatıcı -> Hedef

Başlatıcı, tek bir Okuma İsteği İşlemi'ne ek olarak bir Özellik veya Etkinlik'in periyodik güncellemelerine de abone olabilir. Bu nedenle, bir Abonelik İşlemi'ni takip eden periyodik veri güncellemeleri sonucunda aynı Rapor Verileri İşlemi oluşturulabilir.

Abonelik Etkileşimi, iki Düğüm arasında bir ilişki oluşturur. Bu ilişkide Hedef, Başlatıcı'ya düzenli olarak raporlama verileri İşlemleri oluşturur. Başlatıcı Abone, hedef ise Yayıncı'dır.

Abone olma isteği işlemi şunları içerir:

  • Min Interval Floor (Minimum Aralık Tabanı): Raporlar arasındaki minimum aralık.
  • Maksimum Aralık Sınırı: Raporlar arasındaki maksimum aralık.
  • Özellik Raporları: Okuma İşlemi İsteği'nde istenen, bildirilen özelliklerin sıfır veya daha fazla listesi.
  • Etkinlik Raporları: Sıfır veya daha fazla bildirilen etkinlik listesi.

Abone olma isteğinden sonra hedef, başlatıcıya raporlanan verilerin ilk grubunu içeren bir rapor veri işlemiyle yanıt verir: Hazırlanmış yayınlanan veriler.

Ardından Başlatıcı, Hedef'e gönderilen bir Durum Yanıtı İşlemi ile Rapor Verileri İşlemi'ni onaylar. Hedef, hata bildirmeyen bir Durum Yanıtı İşlemi aldığında Abone Olma Yanıtı İşlemi gönderir.

Hedef, daha sonra üzerinde anlaşmaya varılan aralıklarla düzenli olarak raporlama verileri İşlemi gönderir ve Başlatıcı, abonelik kaybedilene veya iptal edilene kadar bu İşlemlere yanıt verir.

Abone Yanıt İşlemi

Yön: Hedef -> Başlatan

Bu, Abonelik İşlemi'ndeki son işlemdir ve süreci tamamlar. Şunları içermektedir:

  • Abonelik kimliği: Aboneliği tanımlayan bir tam sayı.
  • Min Interval: Raporlar arasındaki nihai, belirlenen minimum aralık.
  • Maksimum Aralık: Raporlar arasındaki nihai, belirlenen maksimum aralık.

Abone Olma Kısıtlamaları

  • Abone Olma İsteği İşlemi ve Abone Olma Yanıtı İşlemi yalnızca Unicast için geçerli işlemlerdir.
  • Bir Abonelik Etkileşimi'ndeki tüm Raporlama Verileri İşlemleri aynı Abonelik Kimliği'ne sahip olmalıdır.
  • Abone, İşlemler arasında üzerinde anlaşmaya varılan maksimum aralık içinde bir Rapor Verileri İşlemi almazsa abonelik sonlandırılır.
  • Önceki kuralın bir sonucu olarak Yayıncı, periyodik raporlama verileri İşlemleri göndermeyi durdurarak Abonelik Etkileşimi'ni sonlandırabilir.
  • Abone, bir Rapor Verileri İşlemi'ne INACTIVE_SUBSCRIPTION durum koduyla yanıt vererek Abonelik Etkileşimi'ni sonlandırabilir.