Pengawasan Anak

Lihat sumber di GitHub

Untuk menyediakan mekanisme hemat energi bagi perangkat akhir yang sedang tidur (SED) untuk memverifikasi bahwa perangkat tersebut masih terhubung ke induknya (tercantum dalam tabel turunan induk), aktifkan fitur Pengawasan Anak.

Spesifikasi Thread mewajibkan SED untuk melakukan pertukaran Permintaan dan Respons Pembaruan Turunan MLE secara berkala dengan induknya untuk memverifikasi konektivitas. Pengawasan Anak adalah solusi alternatif untuk verifikasi konektivitas SED ke perangkat induk yang membebankan transmisi pesan ke perangkat induk, bukan ke SED yang memiliki keterbatasan daya.

Cara kerjanya

Fitur ini berfungsi dalam dua cara, bergantung pada jenis node dan parameter yang dikonfigurasi:

Di induk

Jika orang tua tidak mengirimkan SED ke anak dalam OPENTHREAD_CONFIG_CHILD_SUPERVISION_INTERVAL, orang tua mengantrekan dan mengirimkan pesan Pengawasan Anak ke SED anak. Pesan Pengawasan Anak adalah frame MAC yang berisi informasi berikut:

  • RLOC16 SED sebagai tujuan di header MAC.
  • Payload kosong.

Secara default, header MAC berisi permintaan ACK 802.15.4. Untuk menonaktifkan permintaan ini dalam pesan Pengawasan Anak, tetapkan parameter OPENTHREAD_CONFIG_CHILD_SUPERVISION_MSG_NO_ACK_REQUEST ke 1.

Pada anak

Jika SED tidak mendengar dari induknya dalam OPENTHREAD_CONFIG_CHILD_SUPERVISION_CHECK_TIMEOUT, SED menganggap bahwa SED telah kehilangan koneksi ke induknya dan memulai proses MLE Attach untuk terhubung kembali ke jaringan.

Cara mengaktifkan

Fitur ini dinonaktifkan secara default.

Dengan menentukan

Untuk mengaktifkan Pengawasan Anak, tetapkan OPENTHREAD_CONFIG_CHILD_SUPERVISION_ENABLE sebagai 1 di file openthread/src/core/config/child_supervision.h, sebelum membangun OpenThread:

#ifndef OPENTHREAD_CONFIG_CHILD_SUPERVISION_ENABLE
#define OPENTHREAD_CONFIG_CHILD_SUPERVISION_ENABLE 1
#endif

Berdasarkan opsi

Atau, gunakan opsi build -DOT_CHILD_SUPERVISION=ON saat membangun OpenThread:

./script/build -DOT_CHILD_SUPERVISION=ON

Parameter

Gunakan parameter berikut di openthread/src/core/config/child_supervision.h untuk menyesuaikan fitur ini:

Parameter
OPENTHREAD_CONFIG_CHILD_SUPERVISION_INTERVAL
Nilai default
129 detik
Deskripsi
Menentukan interval pengawasan dalam detik yang digunakan oleh orang tua. Setel ke 0 untuk menonaktifkan proses pengawasan di perangkat orang tua.
OPENTHREAD_CONFIG_SUPERVISION_CHECK_TIMEOUT
Nilai default
190 detik
Deskripsi
Menentukan interval waktu tunggu pemeriksaan pengawasan dalam detik yang digunakan oleh perangkat dalam status anak. Setel ke 0 untuk menonaktifkan proses pemeriksaan pengawasan pada anak.
OPENTHREAD_CONFIG_SUPERVISION_MSG_NO_ACK_REQUEST
Nilai default
0 (Permintaan ACK diaktifkan)
Deskripsi
Setel ke 1 untuk menghapus/menonaktifkan permintaan ACK 802.15.4 di header MAC pesan pengawasan.

API

Gunakan Child Supervision API untuk mengelola pengawasan dan memeriksa interval waktu tunggu secara langsung di aplikasi OpenThread Anda.

CLI

Tidak ada perintah CLI yang terkait dengan fitur ini.