Daftar Isi:

[IoT] Telegram Bot Dengan Arduino MKR WiFi 1010: 5 Langkah
[IoT] Telegram Bot Dengan Arduino MKR WiFi 1010: 5 Langkah

Video: [IoT] Telegram Bot Dengan Arduino MKR WiFi 1010: 5 Langkah

Video: [IoT] Telegram Bot Dengan Arduino MKR WiFi 1010: 5 Langkah
Video: Control ESP32 Mobile Robot Using Android Telegram App | IOT 2024, Desember
Anonim
Image
Image
Apa yang kau butuhkan
Apa yang kau butuhkan

Proyek ini mendemonstrasikan cara menghubungkan Arduino dengan API Bot Telegram. Proyek ini dibangun di sekitar papan MKR WiFi 1010 baru yang dilengkapi dengan modul ESP32 oleh U-BLOX.

Pada tahap ini, proyek tidak lebih dari bukti konsep, hanya untuk menunjukkan kepada Anda apa yang dapat Anda lakukan, jadi untuk ini Anda hanya memerlukan papan Arduino.

Tapi apa itu Bot Telegram? Yah, Bot hanyalah akun Telegram yang dioperasikan oleh perangkat lunak – bukan orang – dan mereka sering kali memiliki fitur AI. Mereka dapat melakukan apa saja – mengajar, memutar, mencari, menyiarkan, mengingatkan, menghubungkan, mengintegrasikan dengan layanan lain, atau bahkan meneruskan perintah ke Internet of Things. (kredit oleh Telegram:

Dalam kasus kami, kami akan meneruskan perintah ke Arduino yang membangun perangkat IoT sederhana. Ini akan menjawab perintah sederhana dan juga menghidupkan/mematikan Led bawaan. Saya akan membiarkan imajinasi Anda berbuat lebih banyak dengannya… (bayangkan untuk menghubungkan satu atau lebih relai ke pin I/O dan menghidupkan/mematikan pemanas atau sistem AC dengan ponsel cerdas Anda, misalnya).

Langkah 1: Yang Anda Butuhkan

Apa yang kau butuhkan
Apa yang kau butuhkan

Untuk proyek ini Anda perlu:

  • Arduino MKR WiFi 1010 dari toko Arduino:
  • Arduino IDE 1.8.5 atau lebih tinggi:
  • Kabel micro-usb untuk menghubungkan Arduino ke PC Anda
  • Koneksi internet, membutuhkan SSID dan kata sandi. Lebih baik jika Anda menggunakan router rumah Anda sendiri untuk memastikannya tidak diblokir.
  • Aplikasi Telegram terinstal di ponsel cerdas Anda, apa pun mereknya. Periksa di sini untuk versi PC dan Web juga!

Langkah 2: Menginstal IDE

Menginstal IDE
Menginstal IDE
Menginstal IDE
Menginstal IDE
Menginstal IDE
Menginstal IDE

Ya, saya tahu, saya tahu… sebagian besar dari Anda sudah menginstal Arduino IDE di PC, tetapi Instruksi ini juga ditujukan untuk pemula. Jadi, pertama-tama, unduh Arduino IDE 1.8.5 pilihan Anda (file zip untuk 'non administrator' atau file exe)

Versi 1.8.5 direkomendasikan, saya tidak menguji versi lama dan papan baru yang digunakan dalam proyek tidak dapat didukung sama sekali.

Sekarang Anda perlu menginstal papan baru dengan drivernya:

  1. mulai IDE-nya
  2. Dari menu Alat pilih Papan lalu, di bagian atas daftar prosesor, pilih Manajer papan.
  3. Gulir jendela baru (lihat gambar) hingga Anda menemukan papan Arduino SAMD yang menyertakan MKR WiFi 1010 baru.
  4. Klik pada tab itu atau klik Info lebih lanjut di dalam tab, pilih versi terbaru dan instal.
  5. Tunggu hingga penginstalan selesai. Ini akan mengurus juga instalasi driver
  6. Anda juga memerlukan perpustakaan WiFi baru untuk papan ini: pilih Sketsa, Sertakan Perpustakaan dan Kelola Perpustakaan. Cari Wifinina dan instal seperti yang Anda lakukan dengan prosesor di atas.

Sekarang sambungkan papan Arduino baru Anda dan tunggu Windows menyelesaikan instalasi driver.

Dari menu Tools->Board Anda akan menemukan papan baru, pilih MKR WiFi 1010.

Pustaka khusus lainnya diperlukan untuk proyek ini, yaitu pustaka ESP8266TelegramBot oleh Giancarlo Bacchio. Pustaka telah sedikit dimodifikasi untuk bekerja dengan papan ini sehingga disertakan dalam folder sketsa.

Pilih port com yang benar dan uji papan dengan perintah Dapatkan Info Papan.

Selamat, Anda sudah selesai dengan IDE!

Langkah 3: Membuat Bot Telegram

Membuat Bot Telegram
Membuat Bot Telegram
Membuat Bot Telegram
Membuat Bot Telegram
Membuat Bot Telegram
Membuat Bot Telegram

Membuat Bot Telegram baru cukup sederhana.

Buka aplikasi Telegram dan, di bilah pencarian, ketik @BotFather dan mulailah mengobrol dengannya (gambar1). BotFather adalah… Pabrik bot. Ini akan membantu Anda membuat bot baru dan mengubah pengaturannya.

Setelah perintah /start Anda akan melihat daftar bantuan (image2).

  • Ketik /newbot (image3)Sekarang ketik nama bot Anda. Nama ditampilkan dalam detail kontak dan di tempat lain.
  • BotFather akan meminta Anda untuk Nama Pengguna. Nama Pengguna adalah nama pendek, untuk digunakan dalam penyebutan dan tautan telegram.me. Nama pengguna panjangnya 5-32 karakter dan tidak peka huruf besar/kecil, tetapi hanya boleh menyertakan karakter Latin, angka, dan garis bawah. Nama pengguna bot Anda harus diakhiri dengan 'bot', mis. 'tetris_bot' atau 'TetrisBot'.
  • Jika nama dan nama pengguna valid, Anda akan menerima string panjang karakter yang disebut TOKEN. Ini adalah 'kunci' pribadi Anda yang digunakan untuk berkomunikasi dengan server Telegram. Salin dan tempelkan dalam file teks di PC Anda untuk saat ini. Kami akan menggunakannya nanti ke dalam kode Arduino. Jika Anda kehilangannya jangan khawatir, buka kembali obrolan dan ketik /token untuk menghasilkan yang baru.

Semua langkah dijelaskan di sini:https://core.telegram.org/bots#6-botfather

Lanjutan (opsional)

Buka kembali obrolan dan ketik /help

Klik (atau ketik) /setuserpic untuk mengunggah gambar bot Anda. Klik (atau ketik) /setabouttext untuk mengatur bagian Tentang Bot Anda: Orang akan melihat teks ini di halaman profil bot dan akan dikirim bersama tautan ke bot Anda saat mereka membagikannya dengan seseorang.

Klik (atau ketik) /setdescription untuk mengatur bagian deskripsi bot Anda. Orang-orang akan melihat deskripsi ini ketika mereka membuka obrolan dengan bot Anda, di blok berjudul 'What can this bot do?'.

Langkah 4: Ubah, Unggah, dan Uji Sketsa

Ubah, Unggah, dan Uji Sketsa
Ubah, Unggah, dan Uji Sketsa
Ubah, Unggah, dan Uji Sketsa
Ubah, Unggah, dan Uji Sketsa
Ubah, Unggah, dan Uji Sketsa
Ubah, Unggah, dan Uji Sketsa

Saatnya mengupload software ke board Arduino MKR WiFi 1010.

Unduh file terlampir, untuk beberapa alasan saya tidak dapat mengunggah ZIP, jadi buat folder bernama sketsa dan salin semua 4 file di dalamnya, tolong jangan ganti nama kecuali Anda tahu apa yang Anda lakukan.

Memodifikasi

Buka sketsa, kita perlu mengisi beberapa informasi (image1): isi arduino_secrets.h dengan kredensial wifi dan telegram Anda.

  • Temukan informasi jaringan WiFi dan ketik nama jaringan (SSID) dan kata sandi Anda.
  • Temukan informasi Bot telegram dan ketik nama, nama pengguna, dan token yang disediakan oleh @BotFather

Mengunggah

Pastikan board sudah benar (image2) di ide dan terhubung kemudian coba kompilasi kodenya. Jika kompilasi berjalan dengan baik, unggah ke papan, itu hanya akan memakan waktu beberapa detik.

Jika ada masalah, periksa kesalahan ketik dan coba lagi.

Tes

[PENTING!] Sketsa mengirimkan log ke IDE. Prosesor memiliki port USB asli (seperti papan Leonardo). Setelah dinyalakan, kode akan menunggu hingga monitor serial berjalan. Jadi, biarkan terhubung ke PC dan buka monitor serial. Arduino pertama-tama akan terhubung ke internet, kemudian akan mulai polling server Telegram untuk pesan baru (gambar3).

Sekarang buka Telegram di perangkat pilihan Anda dan, di kotak pencarian, ketik nama bot Anda (bukan nama pengguna yang diakhiri dengan 'bot'). Buka obrolan dengannya.

Perintah pertama untuk memulai obrolan dengan bot adalah /start, Arduino kami akan menjawab dengan pesan selamat datang. Sekarang ketik bantuan (tanpa garis miring), itu akan menjawab dengan daftar perintah yang didukung, Anda dapat mencoba semuanya (gambar4).

Anda selesai dengan tes, jika ada yang tidak berfungsi, periksa informasi yang dimasukkan dalam sketsa (nama, nama pengguna, token …)

SertifikatJika Anda mengalami kesalahan dengan koneksi ke server telegram (log: Bot tidak terhubung):

  • Buka Alat-> Pembaruan Wifi101/wifinina
  • Pastikan papan Anda terhubung, periksa port di sebelah kiri alat pembaruan, papan harus ada
  • Klik Buka sketsa pembaru dan unggah ke papan
  • Setelah mengunggah, di pembaru pilih firmware terbaru untuk papan Anda dan klik perbarui firmware
  • Setelah update, di updater, bagian SSL certificates, klik Add domain, di dialog tulis telegram.org:443 lalu tekan OK.
  • Klik Unggah sertifikat ke modul wifi
  • Unggah sketsa ini ke papan

Langkah 5: Peningkatan

Perbaikan
Perbaikan

Melihat kodenya, sangat mudah untuk mengimplementasikan perintah dan jawaban baru kepada pengguna.

Perintah baru: Anda dapat menulis sub untuk setiap perintah baru. Setiap sub akan menyelesaikan perintah dan (akhirnya) mengembalikan informasi status kepada pengguna.

Membatasi pengguna:Tentu saja proyek ini hanya demo. Setiap pengguna Telegram dapat terhubung ke rumah Anda dan mengirim perintah yang tidak diinginkan. Anda tidak menginginkan ini!.

Nah, lihat gambar1, itu menunjukkan 2 pengguna terhubung. Seperti yang Anda lihat, setiap pengguna memiliki ID pengguna sendiri. Dengan sedikit kerja di sisi kode, Anda dapat memfilter (atau membuat daftar) hanya untuk pengguna yang berwenang. Hanya mempelajari kode dan mencoba mencegat nomor ID pengguna. Kemudian jalankan perintah hanya dari pengguna terkenal.

Perangkat Keras: Di sisi perangkat keras, banyak sensor dan relai dapat dihubungkan ke pin I/O Arduino.

Hati-hati: papan yang digunakan dalam proyek ini toleran 3.3V!!! Gunakan pengatur level tegangan jika diperlukan! Untuk info dan tips lebih lanjut tentang papan ini, silakan baca di sini:

Itu saja, selamat menikmati!

Direkomendasikan: