Dalam beberapa tahun terakhir kita telah mendengar banyak tentang penerapan Intenet of Things di sekitar kita. Seperti sistem otomatisasi peralatan elektronik pada sebuah kantor maupun rumah, contohnya adalah kita dapat mengetahui informasi terkait gempa yang dikirimkan melalui perangkat seluer yang terkoneksi jaringan internet dimana pun kita berada atau Air Conditioner yang dapat dinyalakan dari lokasi terpencil mana pun dengan aplikasi seluler, dan kamera IP yang dapat mengirim gambar ke perangkat seluler yang kita miliki terkait keadaan rumah kita. Internet of Things (IoT) adalah sebuah jaringan objek fisik yang berisi teknologi yang tertanam untuk berkomunikasi dengan lingkungan internal maupun lingkungan eksternal. Untuk membuat sesuatu menjadi perangkat IoT kita perlu memberinya “indra” dan memberikannya beberapa identitas unik sehingga kita dapat berkomunikasi dengannya dari belahan dunia mana pun, yaitu mikrokontroler.
Pengendali mikro (microkotroller) adalah sistem lengkap yang terkandung didalam sebuah chip. Mikrokontroler berbeda dari mikroprosesor serba guna yang digunakan dalam sebuah PC, karena di dalam sebuah mikrokontroller umumnya juga telah berisi komponen pendukung sistem minimal mikroprosesor, yakni memori antarmuka I/O, sedangkan di dalam mikroprosesor umumnya hanya berisi CPU saja. Mikrokontroller yang telah beredar di pasaran beragam dan bermacam-macam dan memiliki spesifikasi serta kegunaannya masing-masing. Jenis yang umum digunakan yaitu mikrokontroller AVR, mikrokontroler MCS 51, Mikrokontroler ARM. Arduino adalah salah satu jenis mikrokontroler yang paling populer di dunia dimana menggunakan chip AVR sebagai mikrokontrolernya.
Dalam perancangan maupun pembuatan berbagai jenis instrumen/alat berbasis IoT, perangkat keras Arduino adalah opsi yang terjangkau dan mudah disiapkan untuk membangun perangkat IoT dasar dalam melakukan satu tindakan, misalnya membaca data sensor kelembaban atau sensor suhu. Arduino akan menjadi salah satu perangkat keras IoT pertama yang terlintas dalam pikiran ketika berpikir untuk membangun perangkat sederhana yang saling berhubungan. Mikrokontroler jenis Arduino adalah perangkat keras yang bersifat open-source, artinya siapa saja dapat membangunnya. Sebagai perangkat keras open-source, Arduino dirancang dan diproduksi oleh perusahaan yang berbeda. Setiap board Arduino memiliki komponennya sendiri, jumlah pin input-output yang berbeda, kapasitas memori, dan fitur lainnya. Ada berbagai versi Arduino termasuk Arduino Uno yang paling populer, Arduino YUN dengan konektivitas WiFi dan keluarga Arduino MKR yang menawarkan beberapa pilihan konektivitas nirkabel seperti WiFi, Bluetooth, LoRa, SigFox dan Narrowband IoT.
Jangan lupa kemampuan konektivitas, yang mungkin, adalah salah satu fitur terpenting dalam membangun sistem IoT menggunakan Arduino maupun mikrokontroler jenis lain. Komponen asli papan Arduino dapat diperluas untuk menambahkan fitur dan fungsi ke sistem yang dibuat. Arduino diperluas dengan penambahan modul pada papan yang dipasang di atas papan utama, menggunakan pin header. Hal ini akan memungkinkan penambahan fungsi seperti GPS, kartu SD, koneksi ke Internet melalui Ethernet, layar LCD, dan lainnya. Tindakan ini tergolong tidak terlalu rumit dan hanya membutuhkan beberapa langkah.
Terlepas dari hal di atas, jika rancangan atau instrumen IoT yang akan kita buat hanya akan menjalankan satu tindakan sederhana saja seperti sensor kelembapan, maka hal itu tidak akan memakan memori yang cukup banyak. Tetapi jika perangkat IoT kita dibuat multifungsi maka kemungkinan hal itu akan membutuhkan memori RAM yang cukup besar. Sementara Arduino memiliki memori yang cukup untuk menjalankan kode eksekusi sederhana. Misalnya, Arduino UNO hanya memiliki memori flash 32 Kbyte dan SRAM 2 Kbyte.
Selain itu, Arduino tidak memiliki sistem operasi khusus tetapi sistem operasi (OS) lintas platform (Windows, MacOS, Linux) Arduino IDE (Integration Develop Environment-lingkungan pengembangan terintegrasi) dengan banyak library perangkat lunak yang tersedia secara gratis dan code editor untuk pemrograman yang lebih cepat dan sederhana. Pada dasarnya, bahasa pemrograman apa pun dapat digunakan untuk menuliskan fungsi pada Arduino meskipun platform ini tertulis mendukung bahasa pemrograman C/C+. Meskipun hal ini membuat Arduino lebih banyak menghabiskan waktu untuk mengintegrasikan ke dalam aplikasi IoT, namun dapat memberikan manfaat yang mungkin sepadan dengan usaha. Misalnya, kekurangan OS menghasilkan biaya perangkat keras yang lebih murah dan konsumsi daya yang lebih sedikit. Ditambah dengan titik bergerak yang lebih sedikit, Arduino cenderung lebih mudah dirawat dan lebih kecil kemungkinannya untuk gagal.
Untuk aplikasi IoT yang sifatnya relatif sederhana, terutama yang menggunakan ratusan hingga ribuan perangkat yang terhubung dengan IoT yang dibuat, memilih Arduino adalah tindakan yang paling masuk akal. Mengapa? Arduino adalah motherboard mikrokontroler yang mampu menjalankan satu program pada satu waktu. Tindakan yang dimaksud bisa berupa mengunci pintu dan membuka kunci dari pintu, menyalakan atau mematikan lampu, atau bahkan membaca suhu atau kelembapan dan melaporkannya melalui email, pesan singkat, atau aplikasi instant messenger lainnya. Misalnya, dengan menggunakan pin/modul, kita dapat menghubungkan Arduino ke papan sensor analog yang memantau kelembaban di dalam ruangan dan memprogramnya untuk menyalakan humidifier ketika tingkat kelembaban turun ke tingkat tertentu.
Arduino memproduksi berbagai jenis board dari mikrokontroler 8-bit hingga 32-bit bahkan ini ditambah dengan proyek ramah pemula yang tersedia di situs mereka, membuat Arduino ideal untuk menyelami proyek IoT. Berikut beberapa projek berbasis IoT yang menggunakan Arduino sebagai mikrokontroler yaitu:
- Alat pemanatauan dan otomatisasi untuk tumbuhan
- Implementasi Pengecekan Water Level
- Membangun Obersever Cuaca berbasis IoT
- Pengontrol alat elektronik Rumah Tangga menggunakan Bluetooth Smartphone
- Monitoring Temperature Travo berbasis IoT
- Smart Thermostat
Dari beberapa projek di atas bahkan masih banyak lagi, Arduino menjadi pilihan untuk berada di belakang proyek bebasis Intenet of Things tersebut. Dimana Arduino sebagai “mini computer” yang dapat digunakan untuk melakukan hal-hal kompleks seperti di atas, dan yang lebih jadi bahan perbandingan dari semua itu adalah harga yang sangat ramah dikantong.