Jumat, 16 April 2021

Internet of Things (IoT) : Home Automation With Google Assistant

 

Mata Kuliah

Arsitektur Komputer

 

Dosen Pembimbing

Aditya Prapanca, S.T., M.Kom.

 

 

Disusun oleh

Kelompok 1

Sukrisna - 20051204030

Juan Angela Alma - 20051204058

Rifqy Raditullah - 18051204028

Razoub Ramadhan - 20051204072

Shafa Aulia Rahmadillah Budiyanto - 20051204090

 

 

Kelas Teknik Informatika B 2020


BAB 1

PENDAHULUAN

1.1 Latar Belakang

    Internet of Things kian marak. Perangkat IoT yang murah meriah dan canggih sudah banyak dan akan terus bermunculan. Berbagai layanan platform IoT pun semakin berkembang dan saling berkompetisi. Ekosistem yang semakin meluas ini berdampak pada membludaknya jumlah penggiat IoT untuk membuat berbagai kreasi. Vision Mobile dalam salah satu report nya menyebutkan bahwa pada hingga penghujung tahun 2015 ada sekitar 4,5 juta individu developer aktif di seluruh dunia yang mengembangkan perangkat IoT.

    Pada tutorial ini, Saya akan menunjukkan satu kasus implementasi IoT yang dapat Kamu coba dengan tingkat kesulitan yang rendah dan budget yang ekonomis. Skenarionya adalah membuat perangkat yang dapat menyalakan dan mematikan lampu melalui komputer atau handphone yang terhubung ke internet. Kalo Kamu belum punya gambaran tentang IoT atau Internet of Things,

1.2 Rumusan Masalah

  1. Apa yang disebut Home Automation?
  2. Apa saja alat dan bahan yang digunakan untuk membuat Home Automation?
  3. Bagaimana cara pembuatan Home Automation?
  4. Bagaimana cara kerja Home Automation

1.3 Tujuan

  1. Mengetahui definisi Home Automation
  2. Mengetahui cara pembuatan Home Automation
  3. Menambah wawasan dan pengalaman bagi penyusun maupun pembaca

BAB 2

PEMBAHASAN

2.1 Definisi

            Home Automation atau biasa juga disebut Smarthome adalah suatu rumah yang dilengkapi dengan sistem  untuk mengintegrasikan dan mengontrol alat-alat elektronik yg ada di rumah, misalnya Lampu, TV, Home Theater , CCTV, Alarm, Kipas angin, Door Lock, Motion Sensor, dan masih banyak lagi. Tujuan dari sistem Home Automation mencakup kemudahan, efisiensi energi, keamanan, dan kenyamanan. Saat ini popularitas tentang konsep Home Automation sedang berkembang pesat, dan didukung dengan banyaknya perusahaan yang bergerak dibidang ini seperti control4 , Crestron, AMX, knx, dynalite, dll.

Satu atau lebih perangkat antarmuka/interfaces dibutuhkan, karena melalui interfaces ini pemilik rumah bisa berinteraksi dan mengendalikan sistem. Interfaces ini bisa berupa touchscreen, TV, Remote Control, PC/Laptop, Smartphone, Tablet PC, atau gadget lainnya. Beberapa perangkat tersebut bisa terhubung dengan atau tanpa kabel.

 

2.2 Alat dan Bahan

  1. NODEMCU ESP8266

NodeMCU adalah sebuah platform IoT yang bersifat opensource. Terdiri dari perangkat keras berupa System On Chip ESP8266 dari ESP8266 buatan Esperessif System. NodeMCU bisa dianalogikaan sebagai board arduino yang terkoneksi dengan ESP8622.

  1. Relay Satu Channel

Rangkaian modul relay 1 channel berfungsi untuk mengatur aliran listrik pada satu posisi saklar.

  1. Kabel Jumper

Kabel jumper adalah komponen konektor yang akan digunakan untuk menghubungkan NodeMCU dengan Relay satu Channel.

  1. Lampu

Lampu adalah komponen elektronik yang akan digunakan untuk pengujian nantinya.

  1. Kabel Serabut

Kabel Serabut digunakan untuk menyalurkan listrik ke lampu.

  1. Fitting Lampu

adalah perangkat yang berfungsi menghubungkan bola lampu dengan jaringan listrik.

 

 

Platform :

  1. Arduino IDE

Arduino IDE adalah sebuah software yang akan digunakan untuk menulis program dan mengunggah program ke komponen NodeMCU.

  1. Adafruits
  2. IFTTT

     

    2.3 Cara Pembuatan

    1. Yang pertama, siapakan buat akun adafruit di website www.adafruit.io dan akun ifttt  di  website www.ifttt.com . Pastikan email yang digunakan untuk membuat akun di kedua platform tersebut sama.



    Silahkan buat akun baru kemudian masuk ke menu IO. Kemudian buat dashboard dengan nama terserah.



    Setelah membuat dashboard baru, silahkan masuk ke dashboard tersebut.

     



    Setelah masuk klik kanan pada logo gear di pojok kanan atas. Kemudian buat blok baru



    Pilih toggle dan buat feed baru

     



    Setelah membuat feed baru, select feed tersebut dan klik tombol next step, kemudian isi button on dengan 1 dan button off dengan 0. Untuk test value tidak perlu dirubah.



    Nah, untuk pembuatan akun adafruitnya beserta membuat togglenya sudah selesai. Kemudian buat akun di adafruit dengan email yang sama.

     



    Ini adalah halaman awal pada website ifttt.com. Silahkan membuat akun baru dengan email yang sama. Kemudian masuk pada menu CREATE untuk membuat applet baru.



    Silahkan klik tombol Add



    Kemudian pilih google assistant sebagai kontrol untuk lampu nanti. Kemudian pilih say a simple pharse.



    Kemudian isikan inputan menjadi seperti gambar diatas.Kemudian klik create


    Setelah membuat kondisi if. Selanjutnya adalah membuat kondisi then nya dimana ketika kita mengucapkan turn on the lamp pada google assistant, maka kita kana mengirim data 1 ke adafruit.io ,Silahkan klik Add.



     

    Kemudian pilih Adafruit dan send data to adafruit IO.



    Silahkan isikan inputan dengan feed yang diselect pada pembuatan toggle di adafruit tadi dan isil=kan data dengan 1. Setelah itu create action kemudian finish.

     



    Setelah membuat kondisi ON nya. Silahkan membuat kondisi OFF nya dengan langkah langkah sama seperti yang tadi tetapi data yang dikirim ke adafruit adalah 0. Dan pembuatan akun di kedua platform tersebut telah berhasil.

    1. Upload program ke NodeMCU

        Siapkan software yang akan digunakan yaitu Arduino IDE dan juga library yang akan digunakan adalah ESP8266WiFi.h, Adafruit_MQTT.h dan Adafruit_MQTT_Client.h

        Untuk source codenya seperti ini, untuk wlan ssid diisikan dengan wifi yang terhubung beserta passwordnya. Isikan juga username adafruit dan juga authkey nya yang didapatkan dari website adafruit.



     

    Code Program:

     

    #include <ESP8266WiFi.h>

    #include "Adafruit_MQTT.h"

    #include "Adafruit_MQTT_Client.h"

    #define Relay1            14

    #define WLAN_SSID       ""             // Your  ( Wifi Name )

    #define WLAN_PASS       ""        // Your password Wifi

    #define AIO_SERVER      "io.adafruit.com" //Adafruit Server

    #define AIO_SERVERPORT  1883                  

    #define AIO_USERNAME    ""            // Username Adafruit

    #define AIO_KEY         ""   // Auth Key Adafruit

    //WIFI CLIENT

    WiFiClient client;

    Adafruit_MQTT_Client mqtt(&client, AIO_SERVER, AIO_SERVERPORT, AIO_USERNAME, AIO_KEY);

     

    Adafruit_MQTT_Subscribe Light1 = Adafruit_MQTT_Subscribe(&mqtt, AIO_USERNAME "/feeds/Relay1"); // Feeds name should be same everywhere

     


     

    void MQTT_connect();

     

    void setup() {

      Serial.begin(115200);

     

      pinMode(Relay1, OUTPUT);

     

      // Connect to WiFi access point.

      Serial.println(); Serial.println();

      Serial.print("Connecting to ");

      Serial.println(WLAN_SSID);

     

      WiFi.begin(WLAN_SSID, WLAN_PASS);

      while (WiFi.status() != WL_CONNECTED) {

        delay(500);

        Serial.print(".");

      }

      Serial.println();

      Serial.println("WiFi connected");

      Serial.println("IP address: ");

      Serial.println(WiFi.localIP());

       mqtt.subscribe(&Light1);

    }

    void loop() {

     

      MQTT_connect();

     

      Adafruit_MQTT_Subscribe *subscription;

      while ((subscription = mqtt.readSubscription(20000))) {

        if (subscription == &Light1) {

          Serial.print(F("Got: "));

          Serial.println((char *)Light1.lastread);

          int Light1_State = atoi((char *)Light1.lastread);

          digitalWrite(Relay1, Light1_State);

        }

      }

      }

     

    void MQTT_connect() {

      int8_t ret;

      if (mqtt.connected()) {

        return;

      }

     

      Serial.print("Connecting to MQTT... ");

      uint8_t retries = 3;

      while ((ret = mqtt.connect()) != 0) {

        Serial.println(mqtt.connectErrorString(ret));

        Serial.println("Retrying MQTT connection in 5 seconds...");

        mqtt.disconnect();

        delay(5000);

        retries--;

        if (retries == 0) {

          while (1);

        }

      }

      Serial.println("MQTT Connected!");

    }

     

    Selanjutnya hubungkan NodeMCU dengan laptop/PC menggunakan USB



    Sebelum upload pastikan boardnya menggunakan board NodeMCU



    Setelah mengatur boardnya, waktunya upload program dengan menekan tombol upload yang ada di kanan pojok atas



    Tunggu sampai proses selesai



     

    Gambar diatas menunjukkan proses upload sudah selesai.

     

    1. Membuat rangkaian.

    Untuk rangkaiannya simpel sekali, seperti ini      

                                                    


          

     

    Untuk rangkaiannya membutuhkan tiga yaitu Ground(G), 3V, dan D5, Untuk Ground pada NodeMCU hubungkan dengan Ground yang ada pada Relay. Untuk 3V pada Ground hubungkan dengan VCC pada Relay. Untuk D5 hubungkan dengan IN pada Relay.

    1. Menghubungkan rangkaian dengan alat elektronik

    Pada tahap ini alat elektronik yang digunakan adalah lampu. Untuk rangkaiannya menjadi seperti berikut:

     



    Jika sudah jadi rangkaian lampunya, maka siap digunakan.

                                                                                                                                                                                                                                                                                                                                                                                                                                        

    2.4 Cara Kerja

    Setelah mengetahui bagaimana pembuatan Home Automation tersebut. Selanjutnya, masuk pada memahami bagaimana cara kerja Home Automation.

    1.               Ketika menggunakan Google Assistant dan memberikan instruksi berupa kalimat “turn on the lamp” atau “turn off the lamp” maka akan mengirim data ke server IFTTT, kemudian data yang diterima IFTTT akan diterjemahkan, jika instruksinya adalah “turn on”, maka IFTTT akan mengirim data 1 ke server adafruit, jika instruksinya adalah “turn off”, maka IFTTT akan mengirim data 0 ke server adafruit.

    2.     Setelah diterima di adafruit, kemudian NodeMCU akan mengirim request data yang terdapat pada server adafruit.

    Setelah mengirim request, kemudian server adafruit akan memberi respon berupa data 1 atau 0, data tersebut akan dijadikan NodeMCU untuk mengontrol relay yang menyebabkan alat elektronik tersebut hidup atau mati.


    BAB 3

    PENUTUP

    3.1 Kesimpulan

        Home Automation dengan Google Assistant dapat mengontrol perangkat rumah dari jarak yang sangat jauh. Interface pada aplikasi menggunakan perintah suara sebagai voice control pada Google Assistant sehingga lebih interaktif bagi user daripada dengan menggunakan tombol On/Off. Sistem telah berhasil menyalakan dan mematikan perangkat rumah dengan perintah suara menggunakan Google Assistant melalui internet. Google Assistant juga memberi respon ketika perangkat rumah dalam keadaan menyala maupun mati.

    3.2 Saran

        Smart Home berbasis IoT menggunakan suara pada Google Assistant dapat diimplementasikan dan digunakan untuk membantu orang sakit yang berada di kursi roda/tempat tidur atau orang disabilitas tetapi dapat berbicara atau orang lanjut usia yang tidak dapat mencapai saklar agar mampu menghidupkan/mematikan perangkat rumah dengan mudah.

     

    3.3 Lampiran



    Gambar 1: Foto lampu ketika mati



    Gambar 2: Foto lampu ketika menyala


        Gambar 3: Foto NodeMCU




    Gambar 4: Relay 1 Channel



    Gambar 5: Kabel Jumper

       



    Gambar 6: Colokan & Kabel Serabut



    Gambar 7: Fitingan



    Gambar 8: Lampu

     

    3.4 Daftar Pustaka

    Project, Idrus. 2020, 24 Maret. Home Automation Pakai Google Assistant Dan NodeMcu Bahasa Indonesia[Video]. YouTube. https://www.youtube.com/watch?v=2u04i8cHhZE&t=728s



    untuk hasil kerja bisa di lihat di 

    https://youtu.be/6PbLIOlY9IE

     


    Tidak ada komentar:

    Posting Komentar