Raspberry Pi a fost întotdeauna distractiv și ușor de construit proiecte. Arhitectura sa puternică ARM și sistemul de operare open-source bazat pe Linux ne-au ajutat foarte mult în realizarea proiectelor noastre online în cel mai scurt timp. În acest tutorial vom învăța un alt mod interesant de a partaja date (fișiere / fotografii / videoclipuri / audio / text) între Raspberry Pi și telefonul nostru mobil printr-o populară aplicație de chat numită Telegram.
Pentru cei care sunt noi la Telegram, este o aplicație bazată pe chat, disponibilă în magazinul de jocuri pentru Android (disponibilă și pentru Iphone și Windows), care este foarte asemănătoare cu Whatsapp. Are peste 100 de milioane de descărcări (ca la 5-10-2017) în magazinul de jocuri și oamenii susțin că este mai rapid și mai funcțional decât Whatsapp (degetele încrucișate). Una dintre caracteristicile speciale ale acestei aplicații este că acceptă roboții. Adică această aplicație de telefon inteligent nu poate fi utilizată doar de oameni, ci și de mașină. În cazul nostru, mașina va fi Raspberry Pi. Odată ce ați instruit Raspberry Pi despre cum să acționați ca un bot, oricine (dacă îl faceți public) poate discuta cu Raspberry Pi, cum ar fi să discutați cu orice persoană normală și chiar să partajați fotografii, documente și fișiere audio. Poți chiar să-l antrenezi să fie propriul tău asistent personal, sună bine nu? Să învățăm cum să construim unRaspberry pi telegram bot.
Materiale necesare:
- Orice Raspberry Pi conectat la Internet
- Un mobil care rulează aplicația Telegram.
Nu există prea mult hardware implicat în acest proiect, așa că relaxați-vă pe scaun cu Pi și urmați pașii de mai jos. Dacă sunteți nou în Raspberry Pi, urmați articolul nostru de introducere Raspberry Pi și alte tutoriale Raspberry Pi.
Pasul 1: Instalarea Telegramului pe telefonul mobil
Primul pas ar fi instalarea Telegram pe telefonul mobil. Telegram este disponibil pentru Android, IOS și chiar pentru platforma Windows, așa că mergeți mai departe și descărcați aplicația Telegram. La fel ca toate aplicațiile, va exista o mică procedură de înscriere pentru a începe să utilizați Telegram, continuați cu aceasta până când ajungeți la ecranul de pornire.
Pasul 2: Discutați cu Bot Father
Următorul pas ar fi să solicităm Tatălui Bot să ne creeze un nou Bot. În colțul din dreapta sus al ecranului de pornire va exista o pictogramă de căutare, faceți clic pe ea pentru a căuta numele „botfather”. Botfather este un Bot în sine, vă va ghida să creați un nou bot pentru dvs. Faceți clic pe Start și selectați / newbot așa cum se arată în imaginea de mai jos. Acum, botul va cere câteva detalii, cum ar fi numele botului dvs. și numele de utilizator al botului. Completați aceste detalii și amintiți-vă numele de utilizator pentru că vom avea nevoie de el în viitor.
Pasul 3: Obținerea jetonului pentru acces
Am numit bot ca circuitdigest și numele de utilizator ca circuitdigestBot. După acest proces, botfather vă va oferi un Token pentru acces. Este ca și parola pentru botul dvs., oamenii pot controla programul botului dvs. folosind această cheie de simbol. Așadar, păstrați-l în siguranță și nu îl împărtășiți cu nimeni. Odată ce ați primit această cheie simbolică, este timpul să treceți la Raspberry Pi.
Pasul 4: Telepot pentru instalarea Telegram pe Raspberry Pi
Utilizarea Telegram Bot în Raspberry Pi este posibilă de pachetul Python numit Telepot. Trebuie să instalăm acest pachet pe Raspberry Pi utilizând următoarele comenzi pe terminalul Lx
sudo apt-get install python-pip sudo pip install telepot
Odată ce Telepot este importat în Raspberry, putem folosi acest pachet în programul nostru Python pentru a comunica cu Telegram Bot.
Pasul 5: Programarea Raspberry Pi
Bot-ul pe care tocmai l-am creat pe Telegram este la fel ca un copil, nu poate face nimic de unul singur decât dacă îl învățăm ce și cum să facă lucrurile. Această predare poate fi făcută prin intermediul scriptului Raspberry Pi și Python. În acest tutorial am programat botul pentru a efectua câteva acțiuni de bază, cum ar fi trimiterea unui mesaj, fotografie, audio și document. Deci, atunci când spuneți o anumită comandă, aceasta va răspunde cu o anumită acțiune, comanda și acțiunea sunt listate în tabelul de mai jos
Comandă de la Telegram |
Răspuns de Raspberry Pi |
/Salut |
Răspunde cu un șir „Bună! CircuitDigest ” |
/timp |
Răspunde cu ora curentă |
/siglă |
Răspunsuri cu o imagine (sigla CircuitDigest) |
/fişier |
Răspunsuri cu un fișier (care conține programul curent) |
/audio |
Răspunde cu un fișier audio demo |
Programul complet pentru efectuarea acțiunilor de mai sus este dat în partea de jos a acestei pagini. Dar chiar mai jos, am explicat fragmentele importante din program pentru a vă ajuta să înțelegeți cum funcționează programul.
Primul pas este să importăm toate bibliotecile, aici vom avea nevoie evident de biblioteca de teleportare pentru a utiliza botul Telegram. De asemenea, folosim biblioteca de timp și timp pentru a citi ora curentă pentru Raspberry pi. Apoi creăm acum un obiect în care este stocată valoarea.
import timp, datetime import telepot din telepot.loop import MessageLoop now = datetime.datetime.now ()
Următorul pas este crearea unei funcții pentru efectuarea acțiunilor bazate pe comenzile primite din aplicația Telegram de pe mobil. Aici numele funcției este acțiune. În această funcție, botul prinde viață. Botul nostru nu poate iniția o conversație de unul singur, poate răspunde doar dacă întrebăm ceva. Deci, de fiecare dată când cerem ceva, va apărea un ID de chat. Acest ID de chat este ceva similar cu o adresă, doar folosind acest ID de chat, un robot ne poate răspunde. Deci, primul pas este să citiți ID-ul chatului și mesajul pe care încearcă să ni-l spună. De asemenea, imprimăm mesajul primit în scopul depanării.
acțiune def (msg): chat_id = msg command = msg print 'Received:% s'% command
Mai jos, în interiorul funcției, comparăm această comandă cu un text predefinit și efectuăm anumite sarcini. Această primă comandă va fi / hi la care răspundem „Bună! CircuitDigest ”
if command == '/ hi': telegram_bot.sendMessage (chat_id, str ("Bună! CircuitDigest"))
Următoarea comandă va fi / ora , la care răspundem ora curentă. Avem deja ora și data acum, pur și simplu împărțiți-le în funcție de oră și minut și adăugați-le ca folosind funcția str .
comanda elif == '/ time': telegram_bot.sendMessage (chat_id, str (now.hour) + str (":") + str (now.minute))
Următoarea comandă va fi / logo , către care robotul va prelua o imagine de pe o adresă URL și ne-o va trimite. O imagine poate fi trimisă fie de pe un URL, fie de pe hard disk. Aici tocmai am folosit URL-ul care afișează sigla CircuitDigest.
comanda elif == '/ logo': telegram_bot.sendPhoto (chat_id, photo = "https://i.pinimg.com/avatars/circuitdigest_1464122100_280.jpg")
Următoarea comandă va fi / file , care va trimite fișierul numit Aisha.py de pe hard disk. Puteți trimite orice fișier dorit schimbând adresa directorului
comanda elif == '/ fișier': telegram_bot.sendDocument (chat_id, document = deschis ('/ home / pi / Aisha.py'))
Ultima comandă va fi / audio . Acest lucru poate trimite orice fișier mp3 de pe hard disk, tocmai am folosit un fișier audio numit test.mp3 ca demonstrație aici
comanda elif == '/ audio': telegram_bot.sendAudio (chat_id, audio = open ('/ home / pi / test.mp3'))
Bine, acum vine cel mai important pas, aici oferim accesul botului nostru Telegram la scriptul Python. Aici numim botul ca telegram_bot și îi atribuim adresa de token care a fost dată de tatăl nostru de bot în pasul 3. În linia de mai jos am eliminat ultimele cifre ale tokenului meu din motive de confidențialitate. De asemenea, folosim tipărirea, ajută-mă să afișez detaliile Botului pe ecranul shell-ului, acest lucru ne va ajuta să observăm lucrurile care funcționează.
telegram_bot = telepot.Bot ('468382312: AAFhURMxpVlMWEdFzbIQLszBPFEUpXXXXXX') print (telegram_bot.getMe ())
Sper că ați înțeles cum funcționează programul, acum permiteți-ne să trecem la pasul următor.
Pasul 6: Rularea programului în Raspberry Pi
După cum sa spus mai devreme, programul complet este dat la sfârșitul acestei pagini, puteți descărca același lucru de aici. Odată ce ați deschis codul, asigurați-vă că schimbați adresa jetonului programului la adresa jetonului dvs.
Acum rulați codul python și ar trebui să vedeți detaliile bot-ului dvs. pe fereastra shell astfel
Aici, numele meu de utilizator bot este circuitdigestBot. Dacă obțineți numele robotilor aici, înseamnă că totul merge bine.
După ce vedeți „ pornit ”, înseamnă că robotul este pregătit pentru acțiune și poate răspunde acum la comenzile dvs.
Pasul 7: Bucurați-vă de ieșire
Acum, nu mai rămâne decât să verificați cât de bine răspunde robotul dvs. pentru programul dvs. Căutați numele botului dvs. în cazul meu, este „circuitdigestBot”. Căutați numele de utilizator și nu sau numele de bot, numele dvs. de utilizator ar trebui să se termine cu bot.
Odată ce vă deschideți botul, faceți clic pe Start și tastați orice comenzi precum / hi, / time, / file, / logo sau / audio și vi se va răspunde în consecință.
Puteți utiliza scriptul shell pentru a vedea la ce răspunde scriptul dvs. în prezent. Lucrarea completă poate fi găsită la videoclipul prezentat la sfârșitul acestei pagini.
Pasul 8: Dă-mi un Five High
Sper că ați înțeles tutorialul și acum veți putea crea acest bot de telegramă Raspberry pi și puteți comunica cu Raspberry Pi folosind aplicația Telegram. Vai! Dacă aveți probleme, anunțați-mă prin secțiunea de comentarii și voi încerca să vă revin. De asemenea, anunțați-mi cum v-a plăcut acest proiect sau ce ați dori să construiesc folosind acest lucru în viitoarele proiecte.
De asemenea, în următorul nostru tutorial. Vom face acest aspect să fie mai cool schimbând modul în care trimitem comenzi și ceva mai legat de hardware-ul de pe Raspberry Pi.