Arduino Uno tidak memiliki antarmuka jaringan bawaan, sedangkan Telegram Bot API memerlukan koneksi internet dengan protokol SSL (HTTPS) pada port 443. Akibatnya, Arduino Uno murni tidak bisa langsung terhubung ke server Telegram. Sebagaimana dicatat di forum Arduino, “server Telegram hanya menerima koneksi dengan SSL (port 443)” dan Uno R3 “tidak memiliki sumber daya cukup untuk menangani koneksi SSL”forum.arduino.cc. Untuk itu diperlukan perangkat tambahan atau perantara (seperti komputer) agar Arduino dapat mengakses internetforum.arduino.ccforum.arduino.cc.
Metode 1: Menggunakan Komputer sebagai Jembatan
Salah satu solusi populer adalah menggunakan komputer (PC) sebagai penghubung internet. Langkah umumnya adalah:
- Upload Firmata ke Arduino. Pada Arduino IDE, buka Examples → Firmata → StandardFirmata lalu unggah ke board. Firmata memungkinkan Arduino dikendalikan melalui USB serialinstructables.com.
- Siapkan Node.js dan library terkait di PC. Pasang Node.js di komputer, lalu install library node-telegram-bot-api untuk mengakses Telegram dan Johnny-Five untuk berkomunikasi dengan Arduino dari JavaScriptinstructables.com.
- Tuliskan skrip Node.js. Di dalam skrip tersebut, sambungkan library Johnny-Five ke Arduino (misal
new five.Board()
) dan buat bot Telegram menggunakan token API Bot Telegram Anda. Contoh kode menggunakanrequire('node-telegram-bot-api')
danrequire('johnny-five')
instructables.com. Kode ini akan menerima pesan masuk dari bot dan mengirim perintah ke Arduino melalui USB. - Jalankan program dan bot. Saat program Node.js aktif, komputer akan mem-poll bot Telegram dan meneruskan perintah ke Arduino. Dengan cara ini, Telegram dapat mengontrol Arduino tanpa modul Wi-Fi khusus.
Pendekatan ini telah dibahas di beberapa tutorial. Misalnya, Instructables menunjukkan bagaimana menggunakan Johnny-Five dan Node Telegram Bot API untuk mengendalikan LED Arduino melalui Telegraminstructables.com. Intinya, komputer menangani koneksi internet dan SSL, sementara Arduino hanya bertanggung jawab pada perangkat kerasnya. Forum Arduino menyimpulkan bahwa satu-satunya cara praktis bagi Uno R3 murni adalah dengan “menggunakan komputer berjalan terus-menerus, lalu buatlah komunikasi serial dengan Arduino dan biarkan PC yang mengurus koneksi internet”forum.arduino.cc.
Metode 2: Menambahkan Perangkat Keras Jaringan
Alternatif lain adalah menambahkan modul jaringan pada Arduino Uno:
- Ethernet Shield (LAN). Dengan Ethernet Shield (misalnya W5100/W5500) Arduino dapat terhubung ke jaringan kabel. Anda dapat menggunakan library seperti EthernetClient bersama [Universal Arduino Telegram Bot] library (witnessmenow) untuk mengakses Telegram API. Namun perhatikan bahwa Anda tetap memerlukan sertifikat SSL atau implementasi TLS pada Arduino, yang cukup rumit. Meskipun begitu, Ethernet Shield adalah opsi populer karena menyediakan koneksi internet tanpa Wi-Fi eksternalforum.arduino.cc.
- Wi-Fi Shield atau Modul Wi-Fi (non-ESP). Arduino juga mendukung Wi-Fi Shield resmi atau modul Wi-Fi pihak ketiga (selain ESP8266/ESP32) yang kompatibel dengan UNO. Dengan modul tersebut, Anda bisa menggunakan WiFiClientSecure dan library Universal Arduino Telegram Bot serupa. Perlu diketahui bahwa beberapa modul Wi-Fi lawas mungkin sulit menangani TLS. Penting untuk mengecek apakah modul Wi-Fi yang digunakan mendukung TLS 1.2, karena Telegram hanya menerima TLS versi terbaru.
- Modul GSM (SIM800L/SIM900). Modul GSM 2G/3G dapat digunakan untuk internet melalui jaringan seluler. Namun, modul seperti SIM800L secara umum hanya mendukung TLS 1.0rntlab.com, sedangkan Telegram memerlukan TLS 1.2. Oleh karena itu koneksi langsung lewat SIM800L sering gagal. Beberapa pengguna melaporkan bisa menggunakan library TinyGSM dengan TinyGsmClientSecure untuk mencoba TLS 1.2, tetapi implementasi ini kompleks dan tidak selalu berhasilrntlab.com. Jika ingin menggunakan GSM, ada baiknya mencari modul yang mendukung TLS lebih tinggi atau menggunakan fallback berupa komunikasi SMS.
Setiap metode di atas membutuhkan penyesuaian pada kode Arduino Anda. Misalnya, jika menggunakan Ethernet, Anda harus mengganti library CTBot (yang khusus untuk ESP) dengan library UniversalTelegramBot atau membuat permintaan HTTP manual. Jika menggunakan PC/Node.js, mayoritas logika Telegram ada di skrip Node.js dan di Arduino hanya menjalankan Firmata atau sketch sederhana.
Contoh Penerapan dengan Sensor
Arduino sering dipasang sensor sebelum dikendalikan lewat Telegram. Misalnya, Anda dapat menghubungkan sensor DHT11 (suhu/kelembaban) atau BMP085 (tekanan/temperatur) ke pin Arduino. Gambar berikut menunjukkan ilustrasi koneksi Arduino Uno dengan sebuah sensor (misalnya BMP085) pada breadboard:

Gambar: Arduino Uno yang dihubungkan dengan sensor (misalnya BMP085) pada breadboardinstructables.com.
Dengan tambahan sensor tersebut, data pengukuran dapat dikirim sebagai pesan Telegram. Misalnya, ketika Uno menerima perintah via bot, Arduino membaca sensor (suhu/kelembaban, tekanan, dsb.) dan mengirim kembali ke pengguna bot. Tutorial Arduino dengan Johnny-Five mencatat bahwa memasang sensor BMP085 dan membaca datanya cukup mudah setelah Arduino terhubung ke PC via Firmatainstructables.com. Pendekatan yang sama berlaku untuk sensor lain: Komputer (atau kode Ethernet) membaca nilai sensor dari Arduino dan mengirim pesan dengan data tersebut ke Telegram.
- Contoh kode pada Arduino: Jika menggunakan metode PC/Node.js, sketch Arduino hanya perlu menjalankan Firmata (misal StandardFirmata) dan semua logika pembacaan sensor ada di sisi Node.js.
- Contoh kode tanpa PC: Jika menggunakan Ethernet Shield, Anda bisa menggunakan library sensor di Arduino (mis.
DHT.h
untuk DHT11) dan lalu memanggil bot Telegram dari Arduino. Misalnya, setelah membaca sensor, gunakanbot.sendMessage(chat_id, pesan)
di Arduino untuk mengirim data. - Tips: Pastikan bot Telegram sudah dimulai (/start) sebelum Arduino mencoba mengirim. Ambil chat ID Anda dengan bot @myidbot atau BotFather untuk menentukan penerima pesan (seperti variabel
id3
di kode Anda).
Dengan salah satu metode di atas, Anda bisa mengadaptasi kode contoh Anda (yang menggunakan CTBot) agar berjalan di Arduino Uno. Misalnya, jika menggunakan Ethernet Shield, ganti CTBot
dengan library Telegram yang mendukung Ethernet/WiFi dan panggil bot.sendMessage()
sesuai kebutuhan. Jika menggunakan PC, Anda cukup mengganti bagian pengiriman pesan di Arduino dengan perintah serial ke PC dan tulis logika pengiriman di skrip Node.js.
Kesimpulan
Secara ringkas, Arduino Uno R3 sendiri tidak bisa langsung menjadi bot Telegram karena ketiadaan koneksi internet dan dukungan SSLforum.arduino.ccforum.arduino.cc. Solusi utamanya adalah menambahkan hardware jaringan (Ethernet/Wi-Fi/GSM) atau memanfaatkan komputer sebagai perantara. Masing-masing metode memiliki langkah khusus: misalnya menggunakan Firmata + Node.js pada PCinstructables.com, atau memasang Ethernet Shield dan memanggil Telegram API lewat library Arduino. Setelah terhubung, Anda dapat menambahkan sensor apa saja pada Arduino, membaca datanya, dan mengirimkannya melalui bot Telegram secara real-time. Pendekatan mana yang dipilih bergantung pada kebutuhan proyek dan ketersediaan perangkat tambahan (mis. Ethernet Shield atau modul GSM)forum.arduino.ccrntlab.com.
Sumber: Informasi di atas diambil dari dokumentasi dan diskusi resmi mengenai Telegram Bot dan Arduino Unoforum.arduino.ccinstructables.cominstructables.comrntlab.com. Data dan ilustrasi disesuaikan dengan kode contoh yang diberikan.
Diskusi lebih lanjut kontak di bawah :

Media sosial lainnya :
Baca juga :
Tutorial Menyalakan LED Arduino Uno
Panduan Menggunakan Kompas Digital GY-271 (QMC5883L) dengan Arduino Uno