Topik MQTT Meshtastic Indonesia: msh/ID, Region, dan Broker
Terakhir diperbarui
Region radio dan topik MQTT adalah dua hal berbeda yang sering tertukar. Node Indonesia berjalan pada region MY_919, tetapi lalu lintasnya muncul di topik msh/ID. Keduanya benar, dan penjelasannya ada pada satu pengaturan.
Struktur topik pada broker Meshtastic
Format topik untuk paket terenkripsi adalah ROOT/2/e/NAMA_KANAL/ID_NODE. Segmen 2 menandakan versi skema pesan, segmen e menandakan muatan protobuf terenkripsi, sementara varian json menyajikan paket yang sudah diuraikan untuk sebagian jenis port.
Yang penting dipahami: root topic bawaan di firmware hanyalah msh, bukan msh/REGION. Node dengan pengaturan bawaan terbit di msh/2/e/NAMA_KANAL/ID_NODE. Segmen region yang sering terlihat di broker publik, seperti msh/US atau msh/MY_919, muncul karena operatornya sendiri menyetel root topic demikian sebagai konvensi komunitas, bukan karena firmware menambahkannya. Dokumentasi resmi Meshtastic menyebut msh/REGION sebagai bawaan, tetapi kode sumber tidak pernah berperilaku begitu -- versi lama maupun versi saat ini sama-sama memakai msh polos.
Mengapa node Indonesia muncul di msh/ID
Root topic diatur pengguna. Komunitas Indonesia sepakat menyetel root topic menjadi msh/ID, sehingga topiknya berbentuk msh/ID/2/e/LongFast/!xxxxxxxx. Kesepakatan komunitas inilah yang menentukan di mana lalu lintas Indonesia muncul, bukan region radionya.
Karena itu topik MQTT tidak bisa dipakai untuk menyimpulkan region radio sebuah node, dan sebaliknya region radio tidak menentukan di topik mana node akan muncul apabila root topic sudah diubah.
Konsekuensi praktis bagi siapa pun yang ingin memantau jaringan Indonesia: berlangganan msh/MY_919/# di broker publik tidak akan menampilkan node Indonesia yang memakai root msh/ID, dan hanya akan menampilkan node yang operatornya sengaja menyetel root topic ke msh/MY_919.
Broker publik dibanding broker komunitas
Broker publik mqtt.meshtastic.org disediakan oleh proyek Meshtastic dan dapat diakses luas. Selain itu komunitas MeshNode Indonesia menjalankan brokernya sendiri, dan sebagian gateway Indonesia melakukan uplink ke sana.
Instans MeshView ini memantau broker publik pada topik msh/ID/#. Artinya cakupan data di situs ini adalah irisan jaringan yang melakukan uplink ke broker publik, bukan keseluruhan node Meshtastic di Indonesia. Angka pada halaman statistik harus dibaca sebagai batas bawah.
Menyebutkan batasan ini secara eksplisit lebih berguna daripada mengklaim angka total, karena pembaca dapat menilai sendiri seberapa jauh data ini mewakili jaringan yang mereka minati.
Pertanyaan yang sering diajukan
Apa perbedaan segmen e dan json pada topik MQTT Meshtastic?
Segmen e membawa muatan protobuf terenkripsi apa adanya, sedangkan json membawa hasil penguraian menjadi objek JSON untuk sebagian jenis port. Keduanya berada di bawah root topic yang sama.
Kenapa berlangganan msh/MY_919/# tidak menampilkan node Indonesia?
Karena komunitas Indonesia menyetel root topic menjadi msh/ID. Node Indonesia karena itu terbit di msh/ID, bukan msh/MY_919, meskipun region radionya MY_919. Firmware sendiri tidak pernah menyisipkan kode region ke dalam topik.