Panduan membuat bot Telegram dengan ESP32

Pembaharuan Terakhir: 15/11/2026
penulis: Isaac
  • Integrasi pustaka UniversalTelegramBot untuk menyederhanakan komunikasi HTTPS dengan API Telegram.
  • Kontrol jarak jauh terhadap pin GPIO untuk mengoperasikan aktuator seperti LED dan membaca status sakelar.
  • Penerapan keamanan melalui validasi ID obrolan dan penggunaan sertifikat SSL.

Papan mikrokontroler yang terhubung ke papan prototipe (breadboard) dengan LED menyala, ideal untuk mengilustrasikan hasil proyek ESP32.

Pernahkah Anda mempertimbangkan untuk mengontrol perangkat otomatisasi rumah Anda dari kenyamanan sofa menggunakan ponsel Anda? Nah, menyiapkan sistem untuk mengontrol ESP32 melalui Telegram adalah salah satu cara paling sederhana dan ampuh untuk memasuki dunia otomatisasi rumah tanpa mempersulit hidup Anda dengan server eksternal yang mahal atau konfigurasi yang rumit.

Keajaiban terletak pada mengubah papan Anda menjadi server kecil yang mendengarkan perintah dari bot. Anda tidak perlu menjadi ahli pemrograman, karena dengan beberapa pustaka dan sedikit kesabaran, Anda dapat membuat perangkat Anda menyalakan lampu atau memberi tahu Anda tentang status sensor secara real-time, semuanya melalui pesan teks instan.

Bahan yang Anda butuhkan

Detail dari sebuah papan prototipe beserta kabel dan komponen elektronik, berguna untuk bagian bahan yang dibutuhkan.

Untuk memulai, Anda tidak perlu mengeluarkan banyak uang. Yang terpenting adalah memiliki papan ESP32 ; tidak masalah apakah itu model lama atau salah satu yang terbaru, karena kompatibilitasnya total. Selain otak proyek, Anda akan membutuhkan beberapa komponen dasar untuk pengujian:

  • Sebuah dioda pemancar cahaya (LED) untuk memeriksa apakah semuanya berfungsi.
  • Resistor 220 ohm untuk mencegah LED terbakar.
  • Tombol tekan atau sakelar untuk membaca status fisik.
  • Menghubungkan kabel dan papan prototipe (breadboard) sehingga Anda tidak perlu menyolder apa pun di awal.

Perakitan sirkuit elektronik

Tangan merakit komponen elektronik dan kabel pada papan prototipe untuk perakitan sirkuit.

Sebelum mengedit kode, Anda perlu menyiapkan perangkat keras. Untuk contoh ini, kita akan menghubungkan LED ke pin GPIO 33 dan sakelar ke GPIO 14. Penting untuk diingat bahwa Anda dapat mengubah pin ini sesuai kebutuhan, tetapi Anda harus mencerminkan perubahan tersebut nanti dalam konstanta program.

  Telegram Tidak Berfungsi dengan Benar. Penyebab, Solusi dan Alternatif

LED dihubungkan dengan resistor yang sesuai untuk perlindungan, sementara tombol tekan dikonfigurasi secara internal untuk menghindari pengkabelan tambahan. Setelah Anda merakit rangkaian pada papan prototipe (breadboard) , Anda dapat melanjutkan ke bagian perangkat lunak, di mana semua aksi terjadi.

Cara Mengatur Bot di Telegram

Tampilan jarak dekat seseorang yang menggunakan ponsel pintar untuk mengirim pesan, mensimulasikan interaksi dengan bot Telegram.

Agar ESP32 dapat mengetahui siapa yang harus didengarkan, kita harus terlebih dahulu membuat identitas bot di dalam aplikasi Telegram itu sendiri. Proses ini sangat penting karena menyediakan dua informasi kunci: token bot (serangkaian panjang angka dan huruf) dan ID pengguna pribadi Anda . Tanpa kedua kunci ini, perangkat tidak dapat mengautentikasi dirinya sendiri atau menentukan siapa yang berwenang untuk memberikan perintah kepadanya.

Jika sewaktu-waktu Anda merasa obrolan menjadi kacau, ingatlah bahwa Anda selalu dapat menghapus riwayat dari menu di kanan atas. Dengan melakukan itu, bot akan dimulai ulang dan kembali ke tombol beranda dengan perintah yang tersedia, sehingga Anda dapat memulai dari awal.

Persiapan lingkungan pengembangan

Komputer laptop dengan kode pemrograman di layar, yang mewakili fase pengembangan di Arduino IDE.

Agar kode ini berfungsi, kita perlu menginstal alat yang memudahkan pekerjaan kita: pustaka UniversalTelegramBot . Alih-alih menulis ratusan baris kode untuk menangani API Telegram, pustaka ini melakukan hampir semuanya untuk kita.

Untuk menginstalnya, cukup buka pengelola pustaka di Arduino IDE, ketik nama pustaka, dan klik instal. Pastikan juga Anda telah menginstal pustaka WiFi dan WiFiClientSecure , karena pustaka ini memungkinkan ESP32 untuk terhubung ke internet dan menggunakan protokol HTTPS untuk komunikasi yang aman.

Analisis kode kontrol

Program ini dimulai dengan menentukan kredensial jaringan WiFi Anda dan kunci bot. Sangat penting bagi Anda untuk mengganti nilai contoh dengan nilai Anda sendiri. SSID dan kata sandiserta token dan ID obrolan. Untuk interaktivitas, kami mendefinisikan variabel yang disebut info yang berisi daftar perintah yang akan dikenali oleh bot, seperti /led_on atau /sw_state.

  Cara mengotomatiskan respons dan survei di Telegram menggunakan bot

Manajemen pesan dan perintah

Inti dari sistem ini adalah fungsi yang memeriksa pesan baru. ESP32 menggunakan metode ini. getUpdates ayat periksa antrean pesan dari Telegram. Untuk mencegah orang asing mengendalikan rumah Anda, kode tersebut menyertakan filter yang memverifikasi bahwa ID pengirim sama persis dengan ID Anda. ID CHAT yang telah ditentukan sebelumnya.

Setelah pengguna divalidasi, bot menganalisis teks yang diterima: jika mendeteksi /led_onIa mengirimkan sinyal digital ke pin 33 untuk menyalakan lampu; jika menerima /led_off, mematikannya. Ada juga opsi untuk /led_toggleyang sangat praktis karena membalikkan keadaan saat ini dari LED tanpa Anda perlu mengetahui apakah sebelumnya LED tersebut menyala atau mati.

Pembacaan dan penyelesaian sensor

Selain mengeluarkan perintah, bot juga dapat memberikan informasi. Dengan menggunakan perintah /sw_stateESP32 membaca status pin 14. Karena kita telah mengkonfigurasi pin tersebut sebagai INPUT_PULLUPPerangkat akan mendeteksi apakah tombol ditekan atau tidak dan akan mengirimkan balasan teks kepada kita untuk mengkonfirmasinya.

Selama proses booting, perangkat terhubung ke Wi-Fi secara terkunci, artinya perangkat tidak akan melakukan apa pun sampai koneksi stabil . Untuk lebih meningkatkan keamanan, sertifikat root Telegram digunakan, memastikan bahwa lalu lintas data dienkripsi. Loop utama hanya mengulangi pengecekan pesan setiap detik untuk menjaga sistem tetap gesit dan responsif.

Dengan sistem ini, kami telah berhasil mengintegrasikan perangkat keras dan perangkat lunak untuk menciptakan jembatan komunikasi nirkabel. Kami telah mengkonfigurasi bot, mengelola keamanan menggunakan ID dan sertifikat, serta memprogram respons pin GPIO untuk berinteraksi dengan dunia fisik dari mana saja yang memiliki koneksi internet.

Isaac

Isaac

Penulis yang bersemangat tentang dunia byte dan teknologi secara umum. Saya suka berbagi ilmu melalui tulisan, dan itulah yang akan saya lakukan di blog ini, menunjukkan kepada Anda semua hal paling menarik tentang gadget, perangkat lunak, perangkat keras, tren teknologi, dan banyak lagi. Tujuan saya adalah membantu Anda menavigasi dunia digital dengan cara yang sederhana dan menghibur.

  Cara mengirim pesan lintas platform antara WhatsApp dan Telegram

Pertanyaan yang sering diajukan

Library apa yang dibutuhkan untuk menghubungkan ESP32 ke Telegram?

Sebaiknya gunakan library UniversalTelegramBot, yang menyederhanakan interaksi dengan API Telegram dan mempermudah pengiriman dan penerimaan pesan.

Bagaimana cara memastikan bahwa hanya saya yang dapat mengontrol bot tersebut?

Kode tersebut mengimplementasikan filter yang membandingkan ID obrolan dari pesan yang diterima dengan CHAT_ID yang telah ditentukan sebelumnya, mengabaikan perintah apa pun yang berasal dari pengguna lain.

Apakah perlu menggunakan HTTPS untuk berkomunikasi dengan bot?

Ya, Telegram memerlukan koneksi yang aman, jadi WiFiClientSecure digunakan dan sertifikat root Telegram harus dikonfigurasi pada ESP32.

Apa tujuan dari perintah /led_toggle dalam kode tersebut?

Perintah ini digunakan untuk membalikkan keadaan LED saat ini, menyalakannya jika sebelumnya mati atau mematikannya jika sebelumnya menyala.

Mengapa INPUT_PULLUP digunakan untuk switch?

Ini digunakan untuk mengaktifkan resistansi internal papan, sehingga menghindari kebutuhan untuk menambahkan resistansi fisik eksternal ke rangkaian tombol tekan.

Di mana saya bisa mendapatkan token bot dan ID pengguna?

Token diperoleh dengan membuat bot melalui BotFather di Telegram, dan ID pengguna dapat diperoleh melalui bot yang khusus untuk mendapatkan identitas profil.