Tutorial Membuat IoT Pengaturan MP3 Player dengan Telegram

Indobot Update

Halo Sahabat Indobot!

Kali ini, kita akan mencoba untuk membuat MP3 Player dengan aplikasi telegram. Bagaimana cara membuatnya? yuk kita simak.

Telegram adalah aplikasi yang berfungsi untuk berkomunikasi secara online baik secara personal maupun grup. Aplikasi ini juga memiliki bot yang dapat berfungsi untuk sistem IoT (Internet of Things). Bot ini berfungsi untuk pengiriman dan penerimaan pesan. Sehingga dapat digunakan untuk kontrol dan monitoring device melalui sistem IoT.

Untuk menghubungkan telegram dengan DFPlayer mini ini, kita membutuhkan device controller yang dapat mengkomunikasikan antara telegram dengan DF Player. DFPlayer mini adalah salah satu modul MP3 kecil yang mudah digunakan dengan langsung menghubungkannya ke speaker. DFPlayer mini dapat diisi dengan micro SD sebagai tempat penimpanan lagu yang akan kita putar nantinya.

Nah pada project ini, device controller yang akan kita gunakan adalah NodeMCU ESP8266. Simak langkah-langkah pembuatannya ya.

 

Table of Contents

 Alat dan Bahan

Alat dan bahan yang digunakan untuk project kita kali ini adalah sebagai berikut. Jangan sampai ada yang kelewat ya.

  1. laptop/PC yang terinstall Arduino IDE
  2. Library DFPlayer mini 
  3. NodeMCU ESP8266   1
  4. DF Player mini module 1
  5. Speaker 1
  6. Micro SD (berisi beberapa lagu) 1
  7. Breadboard 1
  8. Kabel jumper secukupnya

 

Belajar Elektronika, Arduino, dan IoT step by step dengan bantuan tangga belajar? Daftar sekarang dan dapatkan PROMO

Rangkaian

Susun device di atas menjadi rangkaian seperti berikut. Pastikan semua terhubung dengan baik.

baca juga: MP3 Player Menggunakan DFPlayer Mini dan Arduino

Program

Tahap selanjutnya adalah penulisan program pada Arduino IDE. Buatlah program seperti berikut. Perhatikan keterangan (comment) untuk memahami program dengan baik.

Jangan lupa untuk memasukkan terlebih dahulu library Liquid Crystal, HCSR04, CTBot dan Arduino Json.

 

 

/* Program Menyalakan DF Player mini dengan telegram dibuat oleh Indobot */

#include "SoftwareSerial.h"
#include "DFRobotDFPlayerMini.h"
#include "CTBot.h" //Pendeklarasian Library
CTBot myBot;

SoftwareSerial mySoftwareSerial(D1, D2); //Pin D1 dan D2 TX dan RX untuk DFPlayer
DFRobotDFPlayerMini myDFPlayer;
int playNomor;

TBMessage msg;
String ssid = "*********";    //nama ssid wifi kalian
String pass = "*********";  //password wifi kalian
String token = "XXXX";    //token bot baru kalian
const int id = 11111111111;      //id telegram kalian

void setup() {
  Serial.begin(9600);
  myBot.wifiConnect(ssid, pass);
  myBot.setTelegramToken(token);

  mySoftwareSerial.begin(9600);

    Serial.println();
    Serial.println("DFPlayer Mini Demo");
    Serial.println("Initializing DFPlayer...");

    if (!myDFPlayer.begin(mySoftwareSerial)) {
        Serial.println("Mulai DFPlayer Mini");
        while (true);
    }
    Serial.println(F("DFPlayer Mini Siap"));
    myDFPlayer.setTimeOut(500);
    myDFPlayer.volume(10);
    
    //----Set different EQ----
    myDFPlayer.EQ(DFPLAYER_EQ_NORMAL);
    //  myDFPlayer.EQ(DFPLAYER_EQ_POP);
    //  myDFPlayer.EQ(DFPLAYER_EQ_ROCK);
    //  myDFPlayer.EQ(DFPLAYER_EQ_JAZZ);
    //  myDFPlayer.EQ(DFPLAYER_EQ_CLASSIC);
    //  myDFPlayer.EQ(DFPLAYER_EQ_BASS);
    
    myDFPlayer.outputDevice(DFPLAYER_DEVICE_SD);

  if (myBot.testConnection()) {
    Serial.println("Koneksi Bagus");
  } else {
    Serial.println("Koneksi Jelek");
  }
  myBot.sendMessage(msg.sender.id, (String)"Memutar Musik dengan Mengirim Berikut \n" +
        "kirimkan pesan >>> putar(nomor yang ingin di play) \n"+
        "Maksimal 10 \n\n"+
        "Matikan Musik >>> stop"
        );
}
 
void loop() {
  delay(1000);            //Jeda pembacaan 1000ms
  if (myBot.getNewMessage(msg)) {
    String a = msg.text;
    int b = a.indexOf("putar");
    if ( b > -1) {
    playNomor = a.substring(b+1).toInt();
    myDFPlayer.play(playNomor);
    myBot.sendMessage(msg.sender.id, (String)"Play Nomor"+playNomor);
    }
    
    if (msg.text.equalsIgnoreCase("stop")) {         //Perintah dari telegram ke perangkat
      myDFPlayer.stop();
      myBot.sendMessage(msg.sender.id, (String)"DFPLayer Dimatikan"); //Balasan dari perangkat ke Bot Telegram
    }

    else {                                         
        myBot.sendMessage(msg.sender.id, (String)"Memutar Musik dengan Mengirim Berikut \n" +
        "kirimkan pesan >>> putar(nomor yang ingin di play) \n"+
        "Maksimal 10 \n\n"+
        "Matikan Musik >>> stop"
        );
    }
}
}

baca juga: Tutorial IoT Mengatur Maksimal Jumlah Pengunjung dengan Telegram

Untuk mendapatkan Token Bot dan ID telegram, kita dapat melakukan cara berikut.

  • cari BotFather

  • Buka BotFather > klik Start > ketik /newbot > beri nama bot > beri username bot > Simpan token yang diberikan untuk dimasukkan program nanti. Untuk masuk ke bot yang baru dibuat, bisa klik link yang diberikan pada bagian setelah “You will find it at …”, dan jika sudah masuk bisa ketik /start

Gambar pembuatan bot baru

Gambar token yang didapat

  • Setelah itu diperlukan id telegram kita dengan cara : cari IDBot > klik Start > ketik /getid

  • Maka token dan ID Telegram sudah kita dapatkan.

Masukkan nama hotspot, password hotspot, token, dan ID yang anda gunakan di String ssid = “**********”;

String pass = “**********”; 

String token = “XXXXX”;

const int id = XXXXXX;

Upload program di atas, kemudian kita dapat mulai mencobanya dengan di awali ke telegram bot milik kita dan klik start.

 

baca juga: MP3 Player Menggunakan DFPlayer Mini dan Arduino

 

Hasil dari project ini adalah kita dapat menyetel lagu sesuai urutan playlist. Jadi kita hanya perlu mengirimkan kata “putar(urutan playlist)”. Misalnya kita ingin menyetel lagu di playlist 1, kita hanya perlu mengirimkan pesan “putar1” dan seterusnya.

Bagaimana? tertarik untuk mencobanya? Yuk bisa dicoba dan modifikasi sendiri yaa.

Mau belajar elektronika dasar? Arduino? atau bahkan Internet of Things? Ikuti kursus online Indobot Academy!

Ingin Tahu Program Kami Lebih Lanjut?

Silahkan isi Formulir Dibawah Ini untuk Diskusi dengan Tim Indobot Academy.

Baca Juga

Bagikan:

Tinggalkan komentar

whatsapp whatsapp