Angsuran pertama dari seri artikel ini memberikan gambaran umum tentang Bluetooth Mesh dan node dasar serta tipe fitur yang didukungnya. Bagian ini membahas bagaimana komunikasi terjadi dalam jaringan Bluetooth Mesh dan berbagai konsep yang penting untuk dipahami saat merancang aplikasi dengan Bluetooth Mesh.
Komunikasi dari satu simpul ke simpul lain
Bluetooth Mesh menggunakan banjir terkelola operasi untuk mentransfer pesan dari satu node ke node lain. Managed flood adalah implementasi multi-jalur yang mencakup redundansi yang cukup untuk memastikan bahwa pesan mencapai tujuannya.
Dalam implementasi banjir dasar, setiap node secara membabi buta menyampaikan setiap pesan yang diterimanya. Operasi banjir terkelola Bluetooth Mesh mencegah perangkat Mesh menyampaikan pesan yang diterima sebelumnya dengan menambahkan semua pesan ke daftar cache. Ketika sebuah pesan diterima, pesan tersebut dicentang terhadap daftar dan diabaikan jika sudah ada. Selain itu, setiap pesan menyertakan nilai Time-to-Live (TTL) yang membatasi berapa kali pesan dapat direlai dalam jaringan. Setiap kali sebuah pesan diterima dan kemudian diteruskan (hingga maksimum 126 kali) oleh perangkat apa pun, nilai TTL akan dikurangi 1.
Bluetooth mesh mengimplementasikan Komunikasi Berbasis Publikasi dan Langganan pendekatan untuk memastikan bahwa berbagai jenis produk dapat hidup berdampingan dalam jaringan tanpa terganggu oleh pesan dari perangkat yang tidak perlu mereka dengarkan. Node Penerbit mengirim pesan hanya ke node yang telah berlangganan ke Penerbit dan akan bertindak berdasarkan pesan ini. Contoh dari operasi ini digunakan di ruangan yang berbeda di dalam rumah Anda. Setiap kamar dapat berlangganan pesan dari sakelar lampu khusus untuk ruangan itu. Selain itu, pesan dapat berupa unicast, multicast, dan/atau broadcast, artinya pesan dapat menjangkau satu, beberapa, atau semua node dalam jaringan.
Gambar 1 menunjukkan contoh implementasi komunikasi berbasis Bluetooth Mesh Publish-and Subscription menggunakan kit Evaluasi CYBT-213043-MESH. Kit CYBT-213043-MESH menggunakan modul CYBT-213043-02 untuk mengimplementasikan komunikasi Bluetooth Mesh. Dikombinasikan dengan tombol pengguna terpasang dan LED RGB, papan evaluasi masing-masing meniru Bluetooth Mesh Switch dan Bluetooth Mesh Bulb.
Gambar 1. Contoh Bluetooth Mesh Publish and Subscribe untuk pencahayaan terkoneksi. (Sumber:Cypress)
Seperti yang ditunjukkan pada gambar, sakelar pertama dari kiri memublikasikan pesan ke grup Ruang makan. Bohlam pertama dan kedua dari kanan hanya berlangganan grup Ruang Makan. Namun, bohlam ketiga telah berlangganan pesan dari grup Ruang Makan dan Dapur. Jadi, ketika Switch 1 menerbitkan pesan, tiga bohlam pertama (Ruang Makan dan Dapur) dapat dikontrol. Namun, saat Switch 2 memublikasikan pesan, hanya bohlam ketiga (Dapur) yang dapat dikontrol.
Arsitektur Node Jala
Sekarang, seperti yang telah kita bahas bagaimana pesan dikomunikasikan antar node, mari kita lihat arsitektur node Bluetooth Mesh pada tingkat fungsional dan lihat apa yang membuat perangkat Bluetooth Mesh dapat dioperasikan.
Elemen mendefinisikan fungsionalitas node. Setiap node memiliki setidaknya satu Elemen yang disebut “Elemen Utama”. Misalnya, bola lampu umumnya memiliki satu Elemen. Elemen ini memperlihatkan fungsi On/Off dan kontrol kecerahan dari node. Contoh lain adalah bola lampu yang dapat diredupkan dengan sensor hunian terintegrasi. Node ini akan memiliki dua Elemen. Elemen pertama digunakan untuk fungsi pencahayaan dan elemen kedua untuk fungsi sensor. Elemen Utama, dalam hal ini, adalah fungsi pencahayaan.
Setiap Elemen dalam sebuah node memiliki alamat unik, yang dikenal sebagai alamat unicast. Hal ini memungkinkan setiap Elemen untuk ditangani secara independen dari Elemen lain dalam node yang sama. Gambar 2 menunjukkan contoh dari kedua jenis simpul – yang pertama dengan hanya satu elemen dan yang lainnya dengan dua elemen. Gambar 2 juga menunjukkan konsep tambahan yang dibahas di bagian berikut dan bagaimana konsep tersebut terkait satu sama lain dalam implementasi Bluetooth Mesh.
Gambar 2. Node dengan satu dan dua Elemen. (Sumber:Cypress)
Setiap node Bluetooth Mesh menggunakan satu atau beberapa mesh Model yang mendefinisikan fungsionalitas dari node yang diberikan. Model analog dengan Layanan di perangkat Bluetooth biasa. Ada tiga jenis Model Mesh – Model Klien, Model Server, dan model Kontrol (yang mengimplementasikan Klien dan Server dalam satu model).
Model Server dapat memiliki satu atau lebih status yang mencakup satu atau lebih Elemen. Model Server memperlihatkan status Elemen perangkat yang dapat dibaca atau dikontrol oleh node Klien. Misalnya, bola lampu Bluetooth Mesh menggunakan Model Server. Dalam aplikasi ini, Server Nyala/Mati atau Server Cahaya Ringan dapat digunakan. Model Server Nyala/Mati akan mengekspos status bohlam saat ini dan mengubah status berdasarkan input Klien untuk mengalihkan status bohlam antara Nyala dan Mati. Jika Server Cahaya Ringan digunakan, itu akan memungkinkan Klien untuk membaca status bohlam saat ini, mengontrol kecerahannya, dan menyalakan atau mematikannya. Aplikasi lain dari model Server adalah node sensor yang hanya mengizinkan Klien untuk membaca status sensor tetapi tidak mengizinkan statusnya diubah.
Model Klien memungkinkan node lain mengirim pesan untuk meminta dan/atau mengubah status node Server. Contoh paling umum dari aplikasi dengan Model Klien adalah Bluetooth Mesh Switch. Sakelar Bluetooth Mesh dapat menggunakan model Klien Nyala/Mati. Itu dapat meminta status perangkat Server saat ini atau mengirim pesan untuk mengubah status ke Hidup atau Mati. Contoh lain adalah Bluetooth Mesh Dimmer yang menggunakan Level Client. Di luar kemampuan sakelar, model ini memungkinkan kontrol tingkat output Server, seperti mengontrol kecerahan bohlam.
Di sebagian besar aplikasi, model Server dan Klien perlu digunakan bersama dengan beberapa kode kontrol yang bertindak berdasarkan pesan yang diterima atau input pengguna. Kombinasi model Server dan/atau Klien dan logika kontrol menghasilkan Model Kontrol .
Model Bluetooth Mesh dapat memperluas fungsionalitas model lain. Kemampuan ini memungkinkan node Mesh dengan kemampuan berbeda untuk dikontrol oleh pesan yang sama.
Mari kita ambil contoh aplikasi pencahayaan. Bola lampu yang memungkinkan kecerahan dikontrol umumnya menggunakan model Light Lightness Server. Beberapa bohlam mungkin menggunakan Model Server Tingkat Generik untuk mengontrol daya keluaran dan karenanya kecerahan. Bohlam Mesh Bluetooth dasar dengan hanya kemampuan Nyala/Mati kemungkinan akan menggunakan model Server Nyala/Mati. Namun, model Light Lightness Server memperluas fungsionalitas model On/Off Server dan model Level Server. Artinya, pesan Nyala/Mati yang dikirim oleh klien Nyala/Mati akan mengontrol status ketiga jenis bohlam terlepas dari model yang digunakan.
Kondisi Elemen disimpan di Status . Setiap Negara adalah nilai dari jenis tertentu. Selain nilai-nilai, negara memiliki perilaku yang terkait dengan negara tersebut. Status ini ditentukan oleh Bluetooth SIG. Misalnya, Server On/Off di bohlam On/Off atau pengontrol sprinkler akan memiliki Status yang disebut Generic OnOff yang dapat memiliki salah satu dari dua nilai – ON dan OFF. Ini berguna untuk perangkat seperti bola lampu atau pengontrol sprinkler. Istilah 'Generik' digunakan untuk menunjukkan bahwa status ini dan perilakunya mungkin berguna di berbagai jenis perangkat Mesh.
Anda juga dapat menonton video Learning More about Bluetooth Mesh untuk informasi selengkapnya tentang komunikasi Bluetooth Mesh dan cara memulai desain Bluetooth Mesh.
Dalam angsuran berikutnya dalam seri artikel ini, kita akan menjelajahi fitur Privasi dan Keamanan Bluetooth Mesh.