Raspberry Pi her zaman eğlenceli ve projeler inşa etmesi kolay olmuştur. Güçlü ARM mimarisi ve açık kaynaklı Linux tabanlı İşletim Sistemi, projelerimizi anında çevrimiçi hale getirmemize çok yardımcı oldu. Bu eğitimde, Telegram adlı popüler bir sohbet uygulaması aracılığıyla Raspberry Pi ile Cep telefonumuz arasında verileri (dosyalar / fotoğraflar / videolar / sesler / metinler) paylaşmanın başka bir ilginç yolunu öğreneceğiz.
Telegram'da yeni olanlar için, Whatsapp'a çok benzeyen, Android için oyun mağazasında bulunan (Iphone ve windows için de mevcuttur) sohbet tabanlı bir uygulamadır. Oyun mağazasında 100 milyondan fazla indirme (5-10-2017'de olduğu gibi) var ve insanlar bunun Whatsapp'tan daha hızlı ve daha işlevsel olduğunu iddia ediyor (parmak çarpı işareti). Bu uygulamanın özel bir özelliği, botları desteklemesidir. Yani bu akıllı telefon uygulaması sadece İnsanlar tarafından değil aynı zamanda makine tarafından da kullanılabilir. Bizim durumumuzda makine Raspberry Pi olacaktır. Raspberry Pi'yi bir bot olarak nasıl davranılacağı konusunda eğittiğinizde, herhangi biri (bunu herkese açık hale getirirseniz) Raspberry Pi'nizle herhangi bir normal kişiyle sohbet etmek gibi sohbet edebilir ve hatta Fotoğraf Resim Belgelerini ve Ses dosyalarını paylaşabilir. Hatta onu kendi kişisel asistanınız olarak eğitebilirsiniz, kulağa hoş geliyor değil mi? Nasıl inşa edileceğini öğrenelimAhududu pi telgraf botu.
Gerekli malzemeler:
- İnternete bağlı herhangi bir Raspberry Pi
- Mobil çalışan bir Telegram Uygulaması.
Bu projede çok fazla donanım bulunmadığından, Pi'nizle sandalyenizde rahatlayın ve aşağıdaki adımları izleyin. Raspberry Pi'de yeniyseniz, Raspberry Pi Giriş makalemizi ve diğer Raspberry Pi Öğreticilerimizi takip edin.
Adım 1: Telegram'ı Cep Telefonunuza Kurma
İlk adım Telegram'ı Cep telefonunuza kurmak olacaktır. Telegram Android, IOS ve hatta Windows platformu için kullanılabilir, bu yüzden devam edin ve Telegram uygulamanızı indirin. Tıpkı tüm uygulamalarda olduğu gibi, Telegram'ı kullanmaya başlamak için küçük bir Kaydolma prosedürü olacak, ana ekranınıza ulaşana kadar buna devam edin.
Adım 2: Bot Father ile konuşun
Bir sonraki adım, Bot Father'dan bize yeni bir Bot yaratmasını istemektir. Ana ekranın sağ üst köşesinde bir arama simgesi olacak, "botfather" adını aramak için üzerine tıklayın. Botfather kendi başına bir Bot'dur, sizin için yeni bir bot oluşturmanız için size rehberlik edecektir. Tıklayın başından basıp / newbot aşağıdaki resimde gösterildiği gibi. Artık bot, Botunuzun adı ve botun kullanıcı adı gibi birkaç ayrıntı isteyecektir. Bu bilgileri doldurun ve ileride ihtiyaç duyacağımız için kullanıcı adını hatırlayın.
3. Adım: Erişim için jetonunuzu alma
Bot'u Circuitdigest ve kullanıcı adını CircuitdigestBot olarak adlandırdım. Bu işlemden sonra botfather size erişim için bir Jeton verecektir. Bu, botunuzun şifresi gibidir, insanlar bu jeton anahtarını kullanarak botunuzu programlayabilir. Bu yüzden onu güvende tutun ve kimseyle paylaşmayın. Bu jeton anahtarını aldıktan sonra Raspberry Pi'ye geçme zamanı gelmiştir.
Adım4: Telegram'ı Raspberry Pi'ye yüklemek için Telepot
Raspberry Pi'de Telegram Bot'u kullanmak Telepot adlı python paketi ile mümkün hale geldi. Bu paketi Raspberry Pi üzerine Lx terminalinde aşağıdaki komutları kullanarak kurmamız gerekiyor
sudo apt-get install python-pip sudo pip kurulum telepotu
Telepot, Raspberry'ye aktarıldıktan sonra, bu paketi python programımızda Telegram Botumuz ile iletişim kurmak için kullanabiliriz.
Adım 5: Raspberry Pi'nizi programlama
Telegram'da az önce oluşturduğumuz bot tıpkı bir bebek gibidir, biz ona neyi nasıl yapacağını öğretmedikçe kendi başına hiçbir şey yapamaz. Bu öğretim, Raspberry Pi ve Python betiği aracılığıyla yapılabilir. Bu eğitimde botu mesaj gönderme, Fotoğraf, Ses ve Belge gönderme gibi bazı temel işlemleri gerçekleştirecek şekilde programladım. Dolayısıyla, belirli bir komutu söylediğinizde, belirli bir eylemle yanıt verecektir, komut ve eylem aşağıdaki tabloda listelenmiştir.
Telegram'dan Komut |
Raspberry Pi'nin yanıtı |
/Selam |
"Merhaba! CircuitDigest ” |
/zaman |
Geçerli zamanla yanıtlar |
/logo |
Resimle yanıtlar (CircuitDigest logosu) |
/dosya |
Bir dosya ile yanıtlar (mevcut programı içeren) |
/ses |
Demo ses dosyasıyla yanıtlar |
Yukarıdaki eylemleri yapmak için komple program bu sayfanın alt kısmında verilmiştir. Ancak hemen aşağıda, programın nasıl çalıştığını anlamanıza yardımcı olmak için programdaki önemli parçaları açıkladım.
İlk adım, tüm kitaplıkları içe aktarmaktır, burada Telegram botunu kullanmak için teleport kitaplığına ihtiyacımız olduğu açıktır. Ayrıca Raspberry pi için geçerli saati okumak için zaman, zamanlanmış kitaplıktan yararlanıyoruz. Sonra şimdi değerin saklandığı bir nesne yaratıyoruz.
içe aktarma zamanı, tarih saat telepot.loop'tan telepot'u içe aktarın MessageLoop'u şimdi içe aktar = datetime.datetime.now ()
Bir sonraki adım, Mobile'daki Telegram uygulamasından gelen komutlara dayalı eylemler yapmak için bir işlev oluşturmaktır. Burada işlevin adı eylemdir. Botun hayat bulduğu yer bu işlevin içindedir. Botumuz kendi başına bir konuşma başlatamaz, sadece bir şey sorduğumuzda cevap verebilir. Bu nedenle, her sorduğumuzda sohbet kimliği olacaktır. Bu sohbet kimliği, adrese benzer bir şeydir, yalnızca bu sohbet kimliğini kullanarak bir bot bize yanıt verebilir. Bu yüzden ilk adım, sohbet kimliğini ve bize söylemeye çalıştığı mesajı okumaktır. Ayrıca alınan mesajı hata ayıklama amacıyla yazdırıyoruz.
def eylem (msg): chat_id = msg command = msg print 'Received:% s'% command
İşlevin daha derinlerinde bu komutu önceden tanımlanmış bir metinle karşılaştırır ve belirli görevleri gerçekleştiririz. Bu ilk komut / hi olacaktır ve "Merhaba! CircuitDigest ”
eğer command == '/ hi': telegram_bot.sendMessage (chat_id, str ("Merhaba! CircuitDigest"))
Sonraki komut, geçerli saati yanıtladığımız / time olacaktır. Şu anda saat ve tarih zaten var, burada basitçe saat ve dakikaya göre bölün ve str işlevini kullanarak ekleyin.
elif command == '/ time': telegram_bot.sendMessage (chat_id, str (now.hour) + str (":") + str (now.minute))
Bir sonraki komut, botun bir url'den bir görüntü alacağı ve bize göndereceği / logo olacaktır. Bir görüntü, bir URL'den veya sabit diskten gönderilebilir. Burada CircuitDigest'in logosunu gösteren URL'yi kullandım.
elif command == '/ logo': telegram_bot.sendPhoto (chat_id, photo = "https://i.pinimg.com/avatars/circuitdigest_1464122100_280.jpg")
Sonraki komut, Aisha.py adlı dosyayı sabit diskten gönderecek olan / file olacaktır. Dizinin adresini değiştirerek istediğiniz herhangi bir dosyayı gönderebilirsiniz.
elif command == '/ file': telegram_bot.sendDocument (chat_id, document = open ('/ home / pi / Aisha.py'))
Son komut / audio olacaktır. Bu, sabit diskten herhangi bir mp3 dosyasını gönderebilir, burada bir demo olarak test.mp3 adlı bir ses dosyası kullandım.
elif command == '/ audio': telegram_bot.sendAudio (chat_id, audio = open ('/ home / pi / test.mp3'))
Tamam şimdi en önemli adım geliyor , bu Telegram botumuzun Python betiğine erişimini verdiğimiz yer. Burada botu telegram_bot olarak adlandırıyoruz ve ona botbabamız tarafından 3. adımda verilen token adresini atıyoruz. Aşağıdaki satırda, gizlilik nedeniyle belirtecimin son birkaç rakamını kaldırdım. Ayrıca, botun ayrıntılarını kabuk ekranında görüntülemek için beni al yazısını da kullanıyoruz, bu, işlerin çalıştığını fark etmemize yardımcı olacaktır.
telegram_bot = telepot.Bot ('468382312: AAFhURMxpVlMWEdFzbIQLszBPFEUpXXXXXX') baskı (telegram_bot.getMe ())
Umarım programın nasıl çalıştığını anladınız, şimdi bir sonraki adıma geçelim.
Adım 6: Programı Raspberry Pi'nizde çalıştırmak
Daha önce de belirtildiği gibi, programın tamamı bu sayfanın sonunda verilmiştir, aynısını buradan da indirebilirsiniz. Kodu açtıktan sonra, programın jeton adresini jeton adresinize değiştirdiğinizden emin olun.
Şimdi python kodunu çalıştırın ve botunuzun ayrıntılarını kabuk penceresinde şöyle görmelisiniz.
Burada benim bot kullanıcı adım CircuitdigestBot. Bot adınızı burada alırsanız, her şey yolunda gidiyor demektir.
" Çalışıyor ve çalışıyor " ifadesini gördüğünüzde bu, botunuzun harekete geçmeye hazır olduğu ve artık komutlarınıza yanıt verebileceğiniz anlamına gelir.
7. Adım: Çıktının Keyfini Çıkarma
Şimdi, geriye kalan tek şey botunuzun programınız için ne kadar iyi yanıt verdiğini kontrol etmektir. Benim durumumda bot adınızı arayın, bu "devredigestBot". Kullanıcı adını arayın ve Bot adını değil, kullanıcı adınız bot ile bitmelidir.
Botunuzu açtıktan sonra, başlat'a tıklayın ve / hi, / time, / file, / logo veya / audio gibi komutları yazın ve buna göre yanıtlanmalısınız.
Komut dosyanızın şu anda neye yanıt verdiğini görmek için kabuk komut dosyasını kullanabilirsiniz. Tam çalışma bu sayfanın sonunda verilen videoda bulunabilir.
Adım 8: Bana Çak Bir Beşlik Ver
Umarım öğreticiyi anladınız ve şimdi bu Raspberry pi telgraf botunu oluşturabilir ve Telegram Uygulamasını kullanarak Raspberry Pi ile iletişim kurabilirsiniz. Eyvah! Herhangi bir sorununuz olursa, yorum bölümünden bana bildirin, size geri dönmeye çalışacağım. Ayrıca, bu projeyi nasıl beğendiğinizi veya gelecek projelerde bunu kullanarak ne inşa etmemi istediğinizi bana bildirin.
Ayrıca, bir sonraki eğitimimizde. Raspberry Pi'de komut gönderme şeklimizi ve donanımla daha ilgili bir şeyi değiştirerek bunu daha havalı hale getireceğiz.