Apa Itu IoT
Meskipun definisi IoT dapat berbeda dari berbagai sudut pandang, berikut beberapa key concept yang membedakan IoT dari dari teknologi yang lain:
- Connectivity: IoT device terhubung baik dengan internet maupun local network. Perangkat dapat di manage dan didiagnostik secara remote.
- Identification: IoT device dapat d-identifikasikan secara unik.
- Autonomous operation: IoT systems di desain agar intervensi dari manusia seminimal mungkin. Setiap perangkat mengumpulkan data dari environment, dan dapat mengkomunsikan data tersebut dengan perangkat lain.
- Interoperability: Walaupun perangkat dapat berbeda vendor, namun dalam solusi IoT, antar perangkat dapat berkomunikasi.
- Scalability: Ketika diperlukan, perangkat baru dapat ditambahkan untuk meningkatkan kapasitas. Pendekatannya adalah horizontal, bukan vertikal dimana perangkat lama diganti dengan perangkat yang lebih superior.
- Security: Perangkat IoT umumnya menggukan fitur secure boot, secure update, dan secure communication untuk memastikan confidentiality, integrity, dan availability the (CIA triad).
Aplikasi IoT
Aplikasi dari IoT sangat luas, namun secara konsep dapat kita grouping dalam 2 kategori dasar, yaitu:
- consumer IoT, perangkat yang digunakan oleh konsumen individu. contohnya smart home, security system, personal healthcare product, wearable technologies.
- industrial IoT, perangkan yang digunakan industri untuk meningkat efektifitas dan efisiensi produksi. Pada kategori ini area penerapan IoT sangat luas, mulai dari industri transportasi, energy, retail, healthcare, supply chain hingga agriculture.
Struktur Dasar Solusi IoT
IoT solution mengkombinasikan berbagai jenis teknologi dalam sebuah produk.
Berikut layer-layer solusi yang umum digunakan dalam produk IoT:
Device hardware: Setiap IoT project membutuhkan hardware dengan System-On-Chip
(SoC) atau Microcontroller Unit (MCU) dan sensors/actuators untuk berinteraksi dengan lingkungan. Selain itu, setiap IoT device terhubung, jadi kita perlu memilih media komunikasi yang optimum, baik wired atau wireless. Power management juga termasuk hal yang perlu dipertimbangkan.
Device firmware: Kita perlu mengembangkan device firmware untuk berjalan pada SoC. Disini dimana kita mengumpulkan data dan transfer ke component lain.
Communication: Disini kita perlu memilih media fisik yang akan digunakan, protocol yang digunakan untuk komunikasi antar perangkat.
Backend system: Merupakan tulang punggung dari solusi IoT. Seluruh data dikumpulkan di backend system. Pada backend system kita harus dapat melakukan management, monitoring, dan integration dari product. Backend systems dapat diimpementasikan berupa on-premises
hardware atau cloud providers (tergantung kebutuhan project).
Disini kita dapat menggunakan big data analytics untuk mendapatkan informasi yang lebih dalam, atau dapat menggukanan algoritma AI agar system lebih pintar, misal anomaly detection atau predictive maintenance.
End user applications: adalah interface untuk end users dimana mereka dapat mengakses fungsionalitas dari system. Mulai dari aplikasi desktop, web, atau mobile. Bahkan kita bisa lebih jauh dengan menggunakan voice assistants.
IoT Security
Hal penting lainnya adalah security. Perangkat IoT devices terhubung dengan internet dimana setiap insiden security dapat menyebabkan kerusakan fatal pada system IoT. Oleh karena itu security adalah wajib dalam checklist IoT Project yang Anda kembangkan.
Topik security ini sebetulnya perlu dibahas secara terpisah, namun kita akan bahas beberapa rule penting:
- Cegah akses secara fisik sebisa mungkin. Jika tidak penting, Port tidak boleh terbuka.
- Gunakan secret keys yang kuat.
- Implementasikan secure boot, secure firmware updates, dan encrypted communication.
- Jangan gunakan default passwords; TCP/IP ports jangan diopen jika tidak diperlukan.
- Bila memungkinkan, gunakan mekanisme health check disertai anomaly detection.
Silakan lihat guideline mengenai security di Best Practice Guidelines 2 – IoT Security Foundation.
Sampai disini kita sudah membahas secara ringkas mengenai IoT, pada modul berikutnya kita akan mulai membahas pengenalan ESP32.