Formal Terapan

Linux Berjalan Pada Perangkat IoT Kecil

Tampaknya semakin hari semakin gampang dijumpai perangkat-perangkat IoT (internet of thing) baru seperti monitor detak jantung, termometer, komponen otomatisasi rumah dan perangkat kecil lain yang mengerjakan tugas-tugas sederhana. Sekitar satu tahun yang lalu, Marcel Hotmann dari perusahaan Intel mulai menjejali perangkat-perangkat IoT kecil dengan sistem operasi Linux yang telah “disusutkan” sebagai hobi, dan pada LinuxCon di Eropa dia mempresentasikan pengalamannya menjalankan Linux pada perangkat kecil.

Saat anda memulai pekerjaan dengan perangkat kecil, jelas sekali anda harus memutuskan apakah membutuhkan sistem operasi real-time (RTOS) atau bertahan dengan Linux, ujar Holtmann. Dia menyebutkan, pada Kernel Summit di Seoul Oktober 2015, Jon Corbet berbicara mengenai ketakutannya akan kegagalan mereka dalam menyusutkan sistem operasi Linux, jika mereka gagal maka Linux akan menjadi sistem operasi yang kurang relevan dengan keadaan dan kehilangan kesempatan untuk ambil bagian dalam IoT yang semakin merajalela. Dalam beberapa kasus, Holtmann menekankan Linux akan lebih baik daripada RTOS. Sebagai contoh, jika anda butuh stack IPv6 untuk mendukung fitur tertentu atau koneksi Wi-Fi, kebanyakan RTOS tidak memilikinya, tapi Linux punya. Sekarang tinggal pilih, menyusutkan Linux atau membuat fitur baru untuk RTOS?

Selanjutnya Hotmann membicarakan 3 kategori dari perangkat: yang pertama, sensor sederhana, seperti termometer dan bluetooth monitor detak jantung yang tidak mahal; kedua, IP nodes, seperti perangkat IPv6-enable yang digunakan untuk otomatisasi rumah dan sejenisnya; dan ketiga perangkat gateway yang sedikit lebih besar seperti router dan Wi-Fi Access point.

Pada saat melakukan percobaan yang berfokus pada perangkat mungil “Anda tidak bisa memasang distro kesukaan anda begitu saja dan berharap mendapatkan hasil yang baik” jelas Hotmann. Ia memilih komponen-komponen yang sangat spesifik untuk membuat perangkat berbasis linux, yaitu: gummiboot (UEFI boot loader), Linux (OS kernel), musl (C library), ELL (utility library), dan BlueZ (Bluetooth library). Mulai dari ide hingga implementasi, kebanyakan ia kerjakan di QEMU untuk mencegah kekacauan dengan hardware hingga ia menemukan kecocokan. Saat ia telah siap untuk mencoba pada hardware yang sesungguhnya, ia melakukan boot dari MicroSD card pada sebuah Minnowboard Max dengan sebuah dongle bluetooth berbasis USB.

Hari ini kita melihat bahwa implementasi Linux pada perangkat mungil telah membuahkan hasil, dan ketakutan para pengembang akan masa depan Linux dalam perangkat IoT mungil telah berubah menjadi sikap optimis, yang berarti bahwa semakin hari akan semakin banyak lahir perangkat IoT baru yang menjalankan sistem operasi Linux.