Sebenarnya dimungkinkan untuk memungkinkan node tidur tanpa perlu sinkronisasi waktu. Ide dasarnya adalah mengirim pesan beberapa kali hingga akhirnya node bangun. Tentu saja ada banyak ruang untuk optimasi pintar, jadi ada ratusan pendekatan lapisan MAC berdasarkan ide ini.
Tetapi karena pertanyaan Anda secara khusus menanyakan lapisan MAC, di mana sebuah node tahu kapan harus mengirim di muka, yaitu Time Division Multiple Access (TDMA), saya akan fokus pada pendekatan-pendekatan itu.
Seperti yang telah Anda sebutkan, satu masalah adalah penyimpangan jam, sehingga perangkat harus bangun secara teratur untuk sinkronisasi waktu. Dalam aplikasi nirkabel jarak pendek tipikal yang kita bicarakan, durasi propagasi sinyal itu sendiri selama satu hop bukan masalah besar. Jadi cukup bahwa koordinator pusat mengirimkan suar, termasuk waktu saat ini, dalam interval waktu reguler yang diketahui oleh node.
Dalam jaringan multi-hop semakin rumit. Hanya meneruskan suar tidak akan berhasil, karena latensi terlalu tinggi. Solusinya adalah bahwa banyak (jika tidak semua) node mengirim suar, yaitu menerima suar dari sebuah simpul yang lebih dekat ke koordinator, memperbaiki jam sendiri melayang dengannya dan mengirimkan suar sendiri dengan waktu yang dikoreksi. Anda hanya perlu menghindari membangun lingkaran (pernah ke sana, melakukan itu ....).
Karena sekarang setiap node dalam jaringan memiliki gagasan waktu yang sama, ada masalah kedua: Bagaimana sebuah node tahu kapan ia harus bangun untuk mengirim atau menerima? Pada dasarnya ada empat pendekatan, yang juga dapat digabungkan:
Slot Umum : Semua node bangun pada saat yang sama dan menggunakan metode akses berbasis pertengkaran untuk mengirimkan paket mereka. Keuntungan : Mudah (jika Anda tahu bagaimana melakukan CSMA / CA). Kerugian : Rawan tabrakan, throughput lebih rendah.
Predefined : Untuk jumlah node yang terbatas, Anda cukup menetapkan slot tetap ke node. Misalnya, simpul 2 dapat mengirim ke simpul 1 di slot waktu pertama dan simpul 3 dapat mengirim ke simpul 2 di slot waktu kedua. Keuntungan : Slot khusus dan tidak ada tabrakan. Kerugian : Topologi harus diperbaiki (sangat sulit di jaringan nirkabel).
Terpusat : Koordinator pusat meminta informasi dari node tentang topologi, menghitung jadwal global dan mendistribusikannya lagi ke node. Keuntungan : Tidak diperlukan topologi standar. Kerugian : Sisiknya buruk dan rentan terhadap perubahan topologi (seluruh proses harus dimulai ulang).
Terdesentralisasi : Dua node yang ingin berkomunikasi menegosiasikan slot sendiri. Ini cukup rumit, karena mereka harus memastikan tidak ada perangkat tetangga yang mentransmisikan secara bersamaan. Keuntungan : Berskala baik karena negosiasi bersifat lokal. Kerugian : Kompleks untuk diterapkan.
Ada dua teknik terkait yang termasuk dalam standar IEEE 802.15.4 yang saat ini menemukan banyak perhatian penelitian: TSCH dan DSME.
TSCH sendiri cukup mendasar. Ini hanya memecahkan masalah sinkronisasi waktu, tetapi meninggalkan masalah penetapan slot untuk lapisan atas. Ada 6TiSCH yang mencoba mengisi celah ini, tetapi masih dalam proses. Ada implementasi, misalnya termasuk dalam Contiki atau OpenWSN .
DSME di sisi lain sudah menyediakan mekanisme untuk negosiasi slot terdesentralisasi. Kami sebenarnya telah membangun implementasi open-source dari ini yang disebut openDSME . Meskipun ada tutorial video untuk menjalankan simulasi, implementasi perangkat keras sayangnya masih kurang terdokumentasi. Ajukan pertanyaan lain atau hubungi kami langsung jika Anda ingin menggunakannya.