IoT (Internet of Things) adalah suatu teknologi yang menjadikan suatu benda atau perangkat dapat terhubung dengan internet. Hal ini tidak hanya berarti manusia dapat mengambil data suatu device/perangkat melalui internet saja, namun teknologi IoT ini juga memungkinkan terjadinya interaksi antar device secara langsung tanpa adanya intervensi yang signifikan dari manusia.

Beberapa layer yang terdapat dalam teknologi IoT antara lain: Sensing layer, Communication layer, Management layer, dan Applications layer.

  • Sensing Layer merupakan lapisan awal dari teknologi IoT ini. Pada layer ini terdapat sensor yang dapat mengukur besaran fisis dan mengubahnya menjadi data digital.
  • Communication Layer merupakan lapisan yang menghubungkan perangkat ke internet. Hal ini memungkinkan data yang diukur bisa dikirim ke bagian lain. Layer ini juga memungkinkan suatu device mengambil data dari internet.
  • Management Layer adalah bagian di mana data dari sensing layer yang telah dikirim melalui communication layer akan disimpan dan/atau diolah (dengan teknik tertentu) sehingga bisa diperoleh insight yang bermanfaat bagi manusia.
  • Application Layer biasanya berupa aplikasi untuk end user sehingga dapat memonitor perangkatnya atau juga dapat menampilkan hasil analisa data dari management layer sehingga end user dapat memanfaatkannya dalam pengambilan keputusan.

Membuat Sistem Sederhana Berbasis IoT

Kali ini kita akan membuat sistem sederhana berbasis IoT. Sistem ini akan membaca data temperatur dan kelembaban menggunakan sensor DHT22. Sensor ini dihubungkan ke board microcontroller ESP32 dan kemudian data yang terukur akan dikirim ke cloud-based database melalui internet. Tenang saja, ESP32 memiliki fitur WiFi yang memungkinkan sistem dapat terhubung ke hotspot hp kita. Dalam simulasi kali ini, kita menggunakan Firebase - Realtime Database (tenang saja database ini terdapat versi tak berbayar).

Dalam contoh ini firebase disetting tanpa authentication dan tanpa rules supaya mudah untuk percobaan kirim dan baca data sederhana. Berikut screenshot struktur JSON dari realtime database (Firebase).

Gambar 1: Struktur JSON dari Realtime Database

Berikut flowchart sederhana dari sistem IoT ini. Secara umum, ESP32 akan meminta sensor DHT22 untuk membaca data temperatur dan kelembaban. Kemudian jika temperatur bernilai lebih dari setpoint yang ditentukan maka LED (atau motor atau kipas) akan menyala, namun jika nilai temperatur kurang dari setpoint maka LED (atau motor atau kipas) akan mati. Nilai setpoint bisa disetting melalui Firebase (seolah-olah ada aplikasi android yang bisa mengakses Firebase dan mengubah nilai setpoint secara remote). Selain itu, data temperatur dan kelembaban juga dikirim ke Firebase supaya bisa dimonitor bagian lain (seolah-olah ada aplikasi android yang bisa mengakses dan menampilkan data temperatur dan kelembaban).

Gambar 2: Flowchart Sistem

Berikut gambar rangkaiannya. Jika teman-teman memilik semua komponennya dapat dicoba secara langsung, namun jika tidak maka dapat menggunakan simulator online yaitu wokwi.com.

Gambar 3: Diagram Rangkaian Sistem

Berikut link Wokwi untuk melihat source code (disini Saya menggunakan micropython ya) dan menjalankan simulasinya:

https://wokwi.com/projects/398736052225560577

Bagian utama yang perlu disesuaikan:

  • Baris 16 dan 17 terkait link Firebase (di sini saya gunakan Firebase yang telah saya setup sebelumnya).
  • Baris 14 dan 15 - jika menggunakan komponen asli maka perlu disesuaikan SSID dan password hotspot yang digunakan. Namun jika menggunakan simulator Wokwi maka tidak perlu diganti.

Baik, cukup sekian. Selamat bereksplorasi!

Keywords: IoT (Internet of Things), ESP32, Wokwi, Firebase

SDG: 9 “Industry, Innovation and Infrastructure” and 4 “Quality Education”

Referensi:

  1. https://wokwi.com/projects/380135629274701825
  2. https://wokwi.com/projects/375347493191133185
  3. https://makeblock-micropython-api.readthedocs.io/en/latest/public_library/Third-party-libraries/urequests.html
  4. https://stackoverflow.com/questions/20777173/add-variable-value-in-a-json-string-in-python
  5. https://console.firebase.google.com/
  6. https://www.friendlywire.com/projects/ne555-servo-safe/SG90-datasheet.pdf
  7. https://docs.micropython.org/en/latest/develop/writingtests.html

https://app.diagrams.net/