- Bahan yang Diperlukan:
- Rajah Litar:
- Program Raspberry Python:
- Mengawal LED dengan bot Raspberry Pi dan Telegram:
Telegram adalah aplikasi yang optimum untuk digabungkan dengan Raspberry Pi untuk semua tujuan kawalan mudah alih kami. Ia mempunyai sokongan pembangun yang sangat baik dan banyak ciri sedang dirancang untuk segera dilancarkan untuk meningkatkan prestasi Telegram Bots. Dalam tutorial sebelumnya, kami belajar bagaimana kami dapat menyediakan bot telegram untuk pi raspberry dan juga belajar untuk berbual dengannya dan berkongsi gambar, dokumen dan fail Audio.
Sekarang, kita akan melangkah ke langkah seterusnya dengan belajar Bagaimana kita dapat mengendalikan pin GPIO pada Raspberry Pins menggunakan Telegram, sehingga kita memberikan beberapa sokongan perkakasan untuk bot kita. Dalam tutorial ini kita akan Menyambungkan empat LED ke pin GPIO Raspberry Pi dan menukarnya menggunakan bahasa semula jadi (berbual seperti) dari Telegram. Bunyi menarik bukan? Mari kita mulakan.
Bahan yang Diperlukan:
- Empat LED (warna apa pun)
- Raspberry Pi (dengan sambungan internet)
- Papan roti
- Menyambung wayar
Pra-Syarat:
Sebelum meneruskan tutorial, pastikan Raspberry Pi anda disambungkan ke internet dan anda boleh menjalankan program python pada Pi anda. Baca juga tutorial sebelumnya untuk mengetahui cara mengatur bot Telegram dengan Raspberry Pi Pi, kerana saya akan menganggap anda sudah biasa dengan perkara tersebut untuk meneruskan projek ini.
Sekiranya anda baru menggunakan Raspberry Pi, ikuti artikel Pengenalan Raspberry Pi kami dan Tutorial Raspberry Pi kami yang lain.
Rajah Litar:
Diagram litar untuk Mengawal LED menggunakan Raspberry Pi dan Telegram Android App tidak lebih dari empat LED dan beberapa wayar penyambung. Kami tidak memerlukan perintang penghad semasa kerana pin Raspberry Pi GPIO berfungsi pada 3.3V TTL. Ikuti litar di bawah dan sambungkan LED anda.
Jadual berikut akan membantu anda menentukan nombor pin dan nombor GPIO untuk penyambungan empat led.
Terminal Led |
Nombor PIN |
Nombor GPIO |
Anod Hijau |
Pin 31 |
GPIO 6 |
Anod Merah |
Pin 33 |
GPIO 13 |
Anod Kuning |
Pin 35 |
GPIO 19 |
Anod Putih |
Pin 37 |
GPIO 26 |
Kod keempat-empat |
Pin 39 |
Tanah |
Berikut adalah rajah Litar di mana empat LED disambungkan mengikut Jadual yang diberikan di atas:
Setelah sambungan anda disediakan, perkakasan anda akan kelihatan seperti di bawah ini.
Program Raspberry Python:
Setelah perkakasan siap, kita boleh meneruskan Program Python. Dalam program ini kita harus membaca data (pesan) yang dikirim dari bot Telegram dan menukar LED dengan sewajarnya. Untuk menjadikannya lebih semula jadi, alih-alih memeriksa setiap ayat dan mengekodkan kalimat tersebut di dalam program kami, kami dapat memeriksa kata-kata dan meneruskannya.
Jadi program utama yang akan memeriksa dua perkataan, mereka adalah pada dan off. Setelah mengesan salah satu daripada dua perkataan ini, ia akan mencari kata kunci lain seperti putih, kuning, hijau dan merah. LED warna masing-masing akan ditukar hanya jika perkataan itu dikesan. Kami juga akan mengemas kini rentetan untuk kata-kata yang dikesan untuk menghantar mesej kembali ke bot telegram.
Program lengkap boleh didapati di bahagian bawah halaman ini; betul-betul di bawah ini saya telah menerangkan program ini dengan memecahnya menjadi orang-orang kecil yang bermakna.
Agar program ini dapat berjalan, kita memerlukan telepot yang dimuat turun dan diimport dalam Raspberry Pi kita. Dalam tutorial sebelumnya, kami telah memuat turun teleport di dalam Raspberry Pi kami, jadi sekarang kami hanya perlu mengimportnya ke dalam program kami bersama dengan perpustakaan GPIO seperti yang ditunjukkan di bawah.
import RPi.GPIO sebagai GPIO import telepot dari telepot.loop import MessageLoop
Kami akan mengawal lampu LED menggunakan program ini dan warna LED akan berwarna Putih, Kuning, Merah dan Hijau. Mereka disambungkan ke pin yang ditunjukkan dalam rajah litar; mari kita tentukan nama pin untuk LED ini berdasarkan warnanya sehingga menggunakannya dalam program.
putih = 26 kuning = 19 merah = 13 hijau = 6
Langkah seterusnya adalah menentukan semua pin LED ini sebagai pin output dan menentukannya sebagai dimatikan secara lalai dengan menggunakan baris di bawah.
#LED Putih GPIO.setup (putih, GPIO.OUT) GPIO.output (putih, 0) #Off awalnya #LED Kuning GPIO.setup (kuning, GPIO.OUT) GPIO.output (kuning, 0) #Off awalnya #LED GPIO.setup merah (merah, GPIO.OUT) GPIO.output (merah, 0) #Dari awalnya #LED hijau GPIO.setup (hijau, GPIO.OUT) GPIO.output (hijau, 0) #Off awalnya
Seperti yang kita pelajari dalam tutorial sebelumnya, semua tindakan yang harus dilakukan oleh bot Raspberry akan ditentukan dalam tindakan fungsi. Di sini kita harus membuat bot untuk mendengar pesan yang dihantar dari telefon bimbit, membandingkannya dengan beberapa kata kunci dan menukar LED dengan sewajarnya.
Untuk setiap mesej yang kami hantar dari telefon bimbit, akan ada id dan perintah sembang. Id sembang ini diperlukan oleh program untuk membalas pengirimnya. Oleh itu, kami menyimpan id sembang dan, mesej seperti yang ditunjukkan di bawah.
chat_id = perintah msg = msg
Sekarang, apa sahaja yang kita hantar dari telefon akan disimpan sebagai rentetan dalam arahan pemboleh ubah. Jadi, yang harus kita lakukan ialah memeriksa kata kunci dalam pemboleh ubah ini. Python mempunyai perintah menjadikan semuanya mudah di sini. Sebagai contoh, jika kita harus memeriksa apakah kata "on" ada dalam string yang disimpan dalam pemboleh ubah perintah, kita hanya dapat menggunakan baris di bawah.
jika arahan 'on':
Begitu juga kami memeriksa semua kata kunci, setelah kami menerima "on", kami terus memeriksa warna yang disebutkan oleh pengguna. Ini juga dilakukan dengan perintah yang sama dengan membandingkan kata kunci yang sama. Kami juga mengemas kini mesej bernama rentetan yang dapat dibalas kembali kepada pengguna sebagai pesan status.
if 'on' in command: message = "Dihidupkan" jika 'putih' dalam arahan: message = message + "white" GPIO.output (putih, 1) jika 'kuning' dalam perintah: message = message + "kuning" GPIO.output (kuning, 1) jika 'merah' dalam arahan: message = message + "red" GPIO.output (merah, 1) jika 'hijau' dalam arahan: message = message + "green" GPIO.output (hijau, 1) jika perintah 'all': message = message + "all" GPIO.output (putih, 1) GPIO.output (kuning, 1) GPIO.output (merah, 1) GPIO.output (hijau, 1) message = message + "cahaya" telegram_bot.sendMessage (chat_id, mesej)
Seperti yang ditunjukkan di atas, kami mencari kata kunci seperti 'hijau', 'putih', 'merah', 'kuning' dan 'semua' dan 'Dihidupkan' LED tertentu sahaja. Setelah tugas selesai, kami akan menghantar mesej kepada pengguna mengenai apa yang baru sahaja berlaku. The Kaedah yang sama boleh digunakan untuk mematikan lampu dengan baik.
jika 'mati' dalam arahan: message = "Dimatikan" jika 'putih' dalam arahan: message = message + "putih" GPIO.output (putih, 0) jika 'kuning' dalam arahan: message = message + "kuning" GPIO.output (kuning, 0) jika 'merah' dalam arahan: message = message + "red" GPIO.output (merah, 0) jika 'hijau' dalam arahan: message = message + "green" GPIO.output (hijau, 0) jika perintah 'all': message = message + "all" GPIO.output (putih, 0) GPIO.output (kuning, 0) GPIO.output (merah, 0) GPIO.output (hijau, 0) message = message + "cahaya" telegram_bot.sendMessage (chat_id, mesej)
Mengawal LED dengan bot Raspberry Pi dan Telegram:
Sambungkan LED anda dan lancarkan program anda di python. Pastikan anda telah menukar alamat Token untuk bot anda. Dan mula menaip perintah yang anda mahukan. Sebagai contoh untuk menghidupkan lampu merah dan kuning, anda boleh menggunakan mana-mana arahan berikut.
1. Hidupkan Lampu Merah dan Kuning
2. Tukar warna Merah dan Kuning ke kanan
3. Pada warna merah dan kuning
4. Sila meletakkan pada yang kuning dan merah cahaya
Seperti yang anda lihat, bot hanya mencari Kata Kunci dan akan mengabaikan kata-kata lain dalam Kalimat, dengan cara ini anda boleh bercakap dengannya secara semula jadi. Kerja-kerja lengkap projek boleh didapati di Video yang diberikan di akhir halaman ini.
Teruskan! bermain dengan projek anda dan bersenang-senang. Anda boleh menaikkannya ke tahap yang baru sekarang. Dengan kedua-dua tutorial ini, kami mempunyai kekuatan untuk mengawal sebarang perkakasan dari telefon pintar kami dari mana sahaja dari dunia dan juga mendapat input / hasil dari Raspberry Pi kami dalam bentuk mesej, Audio, Imej dan juga sebagai dokumen. Sekiranya anda mengganti LED dengan Relay dan peralatan AC, maka ia boleh menjadi Automasi Rumah yang dikendalikan oleh Telefon Pintar. Oleh itu, gunakan kreativiti anda dan bina projek menarik anda sendiriā¦
Harap anda menyukai projek ini dan suka membina sesuatu yang serupa. Beritahu saya jika anda mempunyai masalah melalui bahagian komen dan saya dengan senang hati akan membantu anda. Kongsikan juga idea hebat anda kepada saya dan biarkan kami melihat apa yang boleh kami bina.