ESP8266 Arduino IDE – Mesh Network dengan PainlessMesh

Hallo kawan warriornux, sebelum masuk kedalam pembahasan mengenai mesh network dengan painlessmesh pada esp8266, apakah kalian tau apa itu mesh network ?

Kalau kalian belum mengetahui tentang mesh network, disini kita akan coba bahas sedikit mengenai konsep mesh network. Selain itu pembahasan intinya kita akan coba implementasikan mesh network ini pada perangkat ESP8266 menggunakan library PainlessMesh. Kita akan coba membuat mesh network dengan menambahkan led sebagai indikator jumlah dari perangkat ESP8266 yang saling terhubung nantinya.

Introduction

Konsep Mesh Network

Mesh network adalah sebuah model jaringan, dimana setiap perangkat (node) tidak hanya berfungsi untuk mengirim atau menerima data miliknya, tapi bisa jadi data milik node lainnya. Setiap node akan bekerja sama untuk mengirimkan data di jaringan (Onno W Purbo)

Contoh SImple Mesh Network
Contoh SImple Mesh Network

Jaringan mesh ini menggunakan teknik routing, dimana data akan dikirim melalui sebuah jalur kemudian dia akan loncat meloncat ke setiap node mencari rute hingga sampai ke tujuan penerimaan data. Jika ada jalur yang terblokir atau putus, mesh akan menggunakan algoritma self-healing agar jalur bisa terhubung kembali.

Contoh self-healing Mesh Network
Contoh self-healing Mesh Network

PainlessMesh dan Konsep Implementasi

PainlessMesh merupakan sebuah library untuk ESP8266 yang berfungsi untuk menghubungkan perangkat ESP8266 yang saling terhubung satu sama lain menjadi sebuh node, dengan melakukan kombinasi beberapa library dependensi hingga akhirnya tercipta sebuah library yang dapat berjalan dengan konsep mesh network ini.

Disini kita akan coba melakukan percobaan sederhana, dimana setiap ESP8266 akan saling terhubung menjadi sebuah mesh network dengan menggunakan 3 buah perangkat. Pada tahap pertama ini kita tidak akan mengirimkan data untuk implementasinya, melainkan hanya mendeteksi perangkat lain yang terhubung menggunakan led indikator.

Ilustrasi PainlessMesh
Ilustrasi Implementasi PainlessMesh

Praktek

Persiapan Perangkat

Perangkat yang saya gunakan pada praktik ini adalah 3 buah perangkat NodeMCU LoLin, tapi kalian dapat menyesuaikan sendiri perangkatnya asalakan masih ESP8266 Series atau ESP32.

Library dan Dependensi

PainlessMesh sendiri merupakan library yang tidak berdiri sendiri, alias ada library lain yang mendukung kinerjanya agar berjalan maksimal atau bisa disebut dengan dependesi library. Berikut library yang harus kalian miliki :

  1. PainlessMesh
  2. ArduinoJSON
  3. TaskScheduler
  4. ESPAsyncTCP (Untuk ESP8266)
  5. AsyncTCP (Untuk ESP32)

Masukan library tersebut pada aplikasi Arduino IDE yang kalian miliki, agar program bisa dicompile dan dijalankan.

Sketch Program

Compail Program dan upload ke perangkan NodeMCU maupun ESP8266 yang kalian miliki. Apabila terdapat error dalam compailing program tersebut, kalian dapat solusinya pada dokumentasi berikut : Error Compailing Library PainlessMesh ESP8266

Testing

Untuk mengukur keberhasilan program tesebut kita lakukan testing pada perangkat ESP8266 yang sudah menjadi jaringan mesh, kita coba matikan satu persatu perangkat tersebut dan hidupkan secara acak. Lihat kedipan yang muncul pada tiap perangkat tersebut.

Video Hasil Implementasi

Kesimpulan

Dengan menggunakan perangkat ESP8266, kita sudah dapat membuat sebuah network mesh dari sekumpulan node yang bisa saling terhubung satu sama lain. Node akan mengirimkan data jaringan kepada node lainnya, sehingga led pada node akan berkedip sesuai dengan jumlah node yang terhubung. PainlessMesh adalah library ESP yang mendukung terbentuknya jaringan mesh dengan library dependensinya yang menjadi pelengkap dari library painlessmesh tersebut.

Masih ada yang tidak dimengerti ? mari kita diskusi dikolom komentar 🙂

Artikel Terkait

Tresna Widiyaman

Founder of Warriornux.
Sarjana Pendidikan Teknik Elektro (Telekomunikasi) from Universitas Pendidikan Indonesia. Mikrotik Certified Network Associate (MTCNA). Linux User, and IoT Activist.