Raspberry Pi sempre ha estat divertit i fàcil de construir. La seva potent arquitectura ARM i el sistema operatiu de codi obert basat en Linux ens han ajudat molt a posar els nostres projectes en línia en un tres i no res. En aquest tutorial aprendrem una altra manera interessant de compartir dades (fitxers / fotos / vídeos / àudios / text) entre Raspberry Pi i el nostre telèfon mòbil mitjançant una popular aplicació de xat anomenada Telegram.
Per a aquells que són nous a Telegram, és una aplicació basada en el xat disponible a Play Store per a Android (també disponible per a Iphone i Windows) que és molt similar a Whatsapp. Té més de 100 milions de descàrregues (com el 5-10-2017) a Play Store i la gent afirma que és més ràpid i més funcional que Whatsapp (els dits creuats). Una de les característiques especials d’aquesta aplicació és que admeten robots. És a dir, aquesta aplicació de telèfon intel·ligent no només la poden utilitzar els humans, sinó també la màquina. En el nostre cas, la màquina serà Raspberry Pi. Un cop hàgiu format Raspberry Pi sobre com actuar com a bot, qualsevol persona (si ho feu públic) pot xatejar amb el vostre Raspberry Pi com xerrar amb qualsevol persona normal i fins i tot compartir documents de fotos i fitxers d'àudio. Fins i tot pots entrenar-lo perquè sigui el teu propi assistent personal, sembla genial, oi? Aprenem a construir un fitxerBot de telegrama Raspberry pi.
Materials necessaris:
- Qualsevol Raspberry Pi connectat a Internet
- Un mòbil amb aplicació de Telegram.
No hi ha molt de maquinari en aquest projecte, així que relaxeu-vos a la cadira amb el Pi i seguiu els passos següents. Si no coneixeu Raspberry Pi, seguiu l'article de introducció de Raspberry Pi i altres tutorials de Raspberry Pi.

Pas 1: Instal·lació de Telegram al mòbil
El primer pas seria instal·lar Telegram al mòbil. Telegram està disponible per a Android, IOS i fins i tot per a la plataforma Windows, així que seguiu endavant i descarregueu la vostra aplicació Telegram. Igual que tota aplicació, hi haurà un petit procediment de registre per començar a utilitzar Telegram, continueu amb ella fins que arribeu a la pantalla inicial.
Pas 2: parleu amb Bot Father
El següent pas seria demanar al Pare Bot que ens creés un nou Bot. A l'extrem superior dret de la pantalla d'inici hi haurà una icona de cerca, feu-hi clic per cercar el nom "botfather". Botfather és un bot en si mateix, que us guiarà a crear un bot nou. Feu clic a Inici i seleccioneu / newbot com es mostra a la imatge següent. Ara, el bot demanarà alguns detalls com el nom del bot i el nom d'usuari del bot. Empleneu aquestes dades i recordeu el nom d’usuari perquè el necessitarem en el futur.

Pas 3: obtenir el vostre testimoni d'accés
He anomenat bot com circuitdigest i el nom d'usuari com circuitdigestBot. Després d'aquest procés, el botfather us donarà un testimoni per accedir-hi. És com la contrasenya del bot, la gent pot controlar el programa del bot mitjançant aquesta clau de testimoni. Per tant, mantingueu-lo segur i no el compartiu amb ningú. Un cop heu rebut aquesta clau de testimoni, és hora de passar a Raspberry Pi.

Pas 4: Telepot per instal·lar Telegram a Raspberry Pi
L’ús de Telegram Bot a Raspberry Pi és possible gràcies al paquet python anomenat Telepot. Hem d’instal·lar aquest paquet a Raspberry Pi mitjançant les ordres següents al terminal Lx
sudo apt-get install python-pip sudo pip install telepot
Un cop importat Telepot a Raspberry, podem utilitzar aquest paquet al nostre programa Python per comunicar-nos amb el nostre bot Telegram.
Pas 5: programació del Raspberry Pi
El robot que acabem de crear a Telegram és com un nadó, no pot fer res tot sol si no li ensenyem què i com fer les coses. Aquest ensenyament es pot fer mitjançant Raspberry Pi i Python script. En aquest tutorial he programat el bot per realitzar algunes accions bàsiques com enviar un missatge, foto, àudio i document. Per tant, quan dieu una ordre en particular, respondrà amb una acció particular, la comanda i l'acció apareixen a la taula següent
|
Ordre de Telegram |
Resposta de Raspberry Pi |
|
/ hola |
Respon amb una cadena "Hola! CircuitDigest ” |
|
/temps |
Respon amb l'hora actual |
|
/ logotip |
Respostes amb una imatge (logotip de CircuitDigest) |
|
/dossier |
Respon amb un fitxer (que conté el programa actual) |
|
/ àudio |
Respon amb un fitxer d'àudio de demostració |
El programa complet per fer les accions anteriors es dóna a la part inferior d'aquesta pàgina. Però just a continuació, he explicat els fragments importants del programa per ajudar-vos a entendre com funciona el programa.
El primer pas és importar totes les biblioteques, aquí evidentment necessitarem la biblioteca de teletransport per utilitzar el bot de Telegram. També fem servir la biblioteca de temps i temps per llegir l’hora actual de Raspberry pi. A continuació, creem un objecte en què s’emmagatzema el valor.
temps d'importació, data i hora d'importació de telepot des de telepot.loop importació MessageLoop ara = datetime.datetime.now ()
El següent pas és crear una funció per dur a terme accions basades en les ordres entrants de l'aplicació Telegram al mòbil. Aquí el nom de la funció és acció. És dins d’aquesta funció on el robot pren vida. El nostre robot no pot iniciar una conversa per si sol, només pot respondre si li preguntem alguna cosa. Per tant, cada vegada que preguntem alguna cosa hi haurà un identificador de xat. Aquest identificador de xat és una cosa similar a una adreça, només mitjançant un identificador de xat que un robot ens pot respondre. Per tant, el primer pas és llegir l’identificador de xat i el missatge que ens intenta dir. També imprimim el missatge rebut amb la finalitat de depurar.
def action (msg): chat_id = msg command = msg print 'Received:% s'% command
Més endavant dins de la funció, comparem aquesta ordre amb un text predefinit i realitzem tasques particulars. Aquesta primera ordre serà / hi a la qual respondrem "Hola! CircuitDigest ”
if command == '/ hi': telegram_bot.sendMessage (chat_id, str ("Hola! CircuitDigest"))
La següent ordre serà / time , a la qual respondrem l'hora actual. Ara ja tenim l’hora i la data, aquí només cal dividir-les en funció de l’hora i els minuts i afegir-les com a funció de la funció str .
ordre elif == '/ hora': telegram_bot.sendMessage (chat_id, str (now.hour) + str (":") + str (now.minute))
La següent ordre serà / logo , a la qual el robot obtindrà una imatge d’una URL i ens l’enviarà. Es pot enviar una imatge des d’un URL o des del disc dur. Aquí acabo d’utilitzar l’URL que mostra el logotip de CircuitDigest.
ordre elif == '/ logo': telegram_bot.sendPhoto (chat_id, photo = "https://i.pinimg.com/avatars/circuitdigest_1464122100_280.jpg")
La següent ordre serà / file , que enviarà el fitxer anomenat Aisha.py des del disc dur. Podeu enviar qualsevol fitxer que vulgueu canviant l'adreça del directori
ordre elif == '/ fitxer': telegram_bot.sendDocument (xat_id, document = obert ('/ home / pi / Aisha.py'))
L'última ordre serà / audio . Això pot enviar qualsevol fitxer mp3 des del disc dur, acabo d'utilitzar un fitxer d'àudio anomenat test.mp3 com a demostració aquí
ordre elif == '/ audio': telegram_bot.sendAudio (chat_id, audio = open ('/ home / pi / test.mp3'))
D’acord ara arriba el pas més important, aquí és on donem accés al nostre bot de Telegram a l’escriptura Python. Aquí anomenem bot com telegram_bot i li assignem l’adreça del testimoni que va donar el nostre pare bot al pas 3. A la línia següent he eliminat els darrers dígits del meu testimoni per qüestió de privadesa. També fem servir la impressió perquè em mostri els detalls del bot a la pantalla de l'intèrpret d'ordres;
telegram_bot = telepot.Bot ('468382312: AAFhURMxpVlMWEdFzbIQLszBPFEUpXXXXXX') imprimeix (telegram_bot.getMe ())
Esperem que hàgiu entès el funcionament del programa, ara passem al següent pas.
Pas 6: executar el programa al vostre Raspberry Pi
Com s'ha dit anteriorment, el programa complet apareix al final d'aquesta pàgina, també podeu descarregar-lo des d'aquí. Un cop obert el codi, assegureu- vos de canviar l'adreça del testimoni del programa a la vostra adreça de testimoni.
Ara executeu el codi python i hauríeu de veure els detalls del bot a la finestra de l'intèrpret d'ordres així
Aquí, el meu nom d’usuari de bot és circuitdigestBot. Si teniu el vostre nom de bots aquí, vol dir que tot va bé.

Quan vegeu " en marxa ", significa que el bot està preparat per a l'acció i que ara pot respondre a les vostres ordres.
Pas 7: gaudir de la sortida
Ara, només queda comprovar la bona resposta del vostre robot al vostre programa. Cerqueu el nom del vostre bot en el meu cas, és "circuitdigestBot". Cerqueu un nom d'usuari i no o un nom de bot, el vostre nom d'usuari hauria d'acabar amb bot.
Un cop obert el bot, feu clic a Inici i escriviu qualsevol ordre com / hi, / time, / file, / logo o / audio i se us hauria de respondre en conseqüència.
Podeu fer servir el script de l'intèrpret d'ordres per veure a què respon el vostre script. El treball complet es pot trobar al vídeo que apareix al final d’aquesta pàgina.



Pas 8: Doneu-me un màxim de cinc
Espero que hàgiu entès el tutorial i ara pugueu crear aquest bot de telegrama Raspberry pi i comunicar-vos amb Raspberry Pi mitjançant l'aplicació Telegram. Ai! Si teniu algun problema, feu-m'ho saber a través de la secció de comentaris i intentaré contactar amb vosaltres. A més, feu-me saber com us ha agradat aquest projecte o què voldríeu que construís mitjançant els propers projectes.
A més, al nostre següent tutorial. Farem que aquest aspecte sigui més fresc canviant la manera d’enviar comandes i alguna cosa més relacionat amb el maquinari de Raspberry Pi.
