Tutorial Lengkap Membuat Smart Home dengan Arduino

Membuat smart home berbasis arduino dan internet of things (iot) merupakan pilihan yang tepat dengan harga yang sangat terjangkau, artikel ini akan mengupas tuntas tutorial membangun projek smart home dengan arduino, esp8266, esp32, bluetooth dan wifi.

Arduino IDE merupakan software open source yang dibangun dengan berbagai macam bahasa pemograman seperti Java,

C++, C dan Python.

dengan menggunakan arduino IDE kita dapat memprogram ESP8266 dan juga ESP32, selain itu kita juga dapat memprogram STM32.

Mikrokontroler yang saya sebutkan diatas sangat berperan penting sebagai alat bantu membangun smart home.

smart home itu sendiri jika diartikan dalam bahasa indonesia adalah rumah cerdas atau rumah pintar, maksudnya smart home adalah bangunan rumah yang didesain untuk sistem elektronik nya berjalan secara otomatis atau dapat dikontrol jarak jauh menggunakan smartphone android atau ios.

selain itu smart home dapat memonitoring keadaan yang terjadi didalam rumah, seperti lampu menyala, suhu, ketinggian air di bak mandi, kamera CCTV dan masih banyak yang lainya.

Mikrokontroler yang tepat untuk membuat smart home

Jika ada pertanyaan dari anda jenis mikrokontroler apa yang tepat untuk membuat sistem smart home, maka akan saya jawab “Tergantung kebutuhan”

Bisa jadi projek smart home yang ingin anda buat skalanya sangat besar sehingga tidak memungkinkan untuk menggunakan satu modul mikrokontroler atau satu jenis mikrokontroler saja.

Kunjungi  Arduino, Tutorial Mengakses Sensor TDS dan Kalibrasi

Memahami sistem kerja dan kemampuan masing-masing mikrokontroler adalah modal untuk dapat mendesain sistem smart home.

Arduino mungkin pilihan yang paling tepat jika hanya digunakan untuk otomasi skala kecil hingga menengah, namun karena keterbatasan fungsi atau fitur sehingga kita membutuhkan modul lain seperti bluetooth, wifi dan port RJ45 LAN.

Anda bisa menggabungkan arduino dengan ESP32 sehingga mendapatkan fitur bluetooth dan wifi, dan bisa menambahkan ethernet shield untuk tambahan komunikasi dengan port RJ45 LAN.

Apa yang perlu di pelajari ?

membangun sistem iot arduino untuk smart home anda bisa memulai dari penerapan fungsi digital dan analog untuk dapat mengontrol peralatan elektronik menggunakan relay.

relay juga banyak macamnya dan jenisnya, sehingga anda harus pintar memilih spesifikasi relay yang tepat untuk mengontrol alat elektronik.

selanjutnya anda bisa mempelajari pengiriman data melalui wireless atau nirkabel. bisa langsung mencoba device to device yang menggunakan bluetooth.

Jika hal ini sudah dikuasai selanjutnya kalian bisa mencoba belajar melakukan komunikasi data anatara device dengan server.

server ini juga bisa kalian pilih, apakah membuat dari awal, dari tengah atau yang sudah jadi.

jika anda ingin membuat dari awal anda bisa menggunakan komputer, laptop atau raspberry pi.

jika anda ingin membuat server dari jalan tengah, anda bisa menyewa shared hosting, vps atau cloud hosting. berikut adalah layanan hosting yang saya rekomendasikan untuk kalian

Tempat Sewa Hosting / Server Bulanan Untuk Kebutuhan Projek IoT

dan terakhir jika kalian ingin menggunakan server yang sudah jadi atau tinggal pakai, bisa menggunakan platform IoT yang sudah ada seperti Blynk, Thingspeak, Cayenne, Firebase, thinger.io dan masih banyak yang lainya. Arduino Smart Home.

Kunjungi  Tutorial ESP32 Kontrol Relay Dengan Sensor PIR

Membuat Smart Home untuk Kontrol Peralatan Elektronik

Berikut ini saya contohkan projek membuat smart home berbasis iot yang memanfaatkan internet di rumah untuk mengontrol peralatan elektronik seperti lampu kamar, televisi, pompa air, kulkas, dan sebagainya.

Modul ini dibangun dengan mikrokontroler ESP32 wemos D1 mini, dengan relay maksimal 10A sehingga sangat cukup untuk mengontrol peralatan rumah. Arduino Smart Home.

Tutorial Lengkap Membuat Smart Home dengan Arduino

Jika kalian berminat untuk memiliki modul ini, kalian bisa memasan atau membeli nya di Tokopedia.com

dengan modul diatas anda bisa mengontrol relay yang berfungsi sebagai saklar elektronik dengan bluetooth atau dengan internet.

ESP32 sendiri banyak sekali fitur yang sudah disediakan, jadi dengan harga hanya seratus ribuan sudah dapat fitur yang sangat lengkap untuk membuat sistem smart home berbasis iot atau otomatis kontrol.

Firebase untuk penyimpanan data sekaligus server

Firebase merupakan pilihan yang sangat tepat jika anda tidak mau repot membangun server dan database dari awal.

Anda hanya perlu membuat akun dan projek firebase kemudian dapat dengan mudah input data dan membaca data yang ada di firebase.

Konsepnya seperti ini.

ESP32 diprogram untuk mengirim data ke firebase kemudian data yang ada difirebase di baca oleh aplikasi android yang anda buat.

Arduino Smart Home

aplikasi android dapat mengirim data untuk kontrol relay yang ada di modul smart home iot esp32 tadi ke firebase, dan esp32 juga dapat membaca data yang ada di firbase.

bisa dikatakan ini adalah komunikasi dua arah secara half duplex.

Untuk tutorial menggunakan firebase dan esp32 dapat di baca pada artikel berikut Tutorial ESP32 Kontrol 4 Chanel Relay dengan Aplikasi Android + Firebase

Kunjungi  ESP32, Cara Mengakses Sensor DHT11

Kode Arduino Kirim dan Baca data di Firebase google realtime database

#define pinrlA 32
#define pinrlB 14
#define pinrlC 27
#define pinrlD 33

#include <WiFi.h>
#include <FirebaseESP32.h>

//1. Change the following info
#define WIFI_SSID "Private_Wifi_"
#define WIFI_PASSWORD "zelwata202010"
#define FIREBASE_HOST "klinik-tanaman-default-rtdb.firebaseio.com"
#define FIREBASE_AUTH "Kxd2b6VoqKnjOwrL4bTIwVIVnmLYKa6ffHqGRV1o"

FirebaseData fbdo;

void setup()
{
  pinMode(pinrlA, OUTPUT);
  pinMode(pinrlB, OUTPUT);
  pinMode(pinrlC, OUTPUT);
  pinMode(pinrlD, OUTPUT);
  digitalWrite(pinrlA, 1);
  digitalWrite(pinrlB, 1);
  digitalWrite(pinrlC, 1);
  digitalWrite(pinrlD, 1);
  
  Serial.begin(9600);
  WiFi.begin(WIFI_SSID, WIFI_PASSWORD);
  Serial.print("Connecting to Wi-Fi");
  while (WiFi.status() != WL_CONNECTED)
  {
    Serial.print(".");
    delay(300);
  }
  Serial.println();
  Serial.print("Connected with IP: ");
  Serial.println(WiFi.localIP());
  Serial.println();

  Firebase.begin(FIREBASE_HOST, FIREBASE_AUTH);
  Firebase.reconnectWiFi(true);

}

void loop()
{
  if(Firebase.getString(fbdo, "/relay1"))
  {
    Serial.print("Get int data A success, str = ");
    Serial.println(fbdo.stringData());
    digitalWrite(pinrlA, fbdo.stringData().toInt());
  }else{
    Serial.print("Error in getString, ");
    Serial.println(fbdo.errorReason());
  }

  if(Firebase.getString(fbdo, "/relay2"))
  {
    Serial.print("Get int data B success, str = ");
    Serial.println(fbdo.stringData());
    digitalWrite(pinrlB, fbdo.stringData().toInt());
  }else{
    Serial.print("Error in getString, ");
    Serial.println(fbdo.errorReason());
  }

  if(Firebase.getString(fbdo, "/relay3"))
  {
    Serial.print("Get int data C success, str = ");
    Serial.println(fbdo.stringData());
    digitalWrite(pinrlC, fbdo.stringData().toInt());
  }else{
    Serial.print("Error in getString, ");
    Serial.println(fbdo.errorReason());
  }

  if(Firebase.getString(fbdo, "/relay4"))
  {
    Serial.print("Get int data D success, str = ");
    Serial.println(fbdo.stringData());
    digitalWrite(pinrlD, fbdo.stringData().toInt());
  }else{
    Serial.print("Error in getString, ");
    Serial.println(fbdo.errorReason());
  }
}

Kemudian anda perlu membangun aplikasi android buatan sendiri yang dihubungkan ke firebase. berikut saya sertakan aplikasi android yang sudah saya kembangkan.

Download Aplikasi Android

Selanjutnya anda bisa mencoba menyalakan atau mematikan elektronik rumah dengan modul dan aplikasi tersebut.

untuk menonton video tutorial lengkapnya silahkan lihat berikut ini.

Terimakasih sudah membaca artikel ini, semoga bermanfaat, dan jika ada yang dibutuhkan silahkan berkomentar di bawah.

Keyword

  1. ESP32 Tutorial IoT
  2. Firebase Arduino
  3. Firestore Arduino
  4. Tutorial Smart Home Arduino
  5. Smart Home ESp32
  6. ESP32 Smart Home IoT

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *