- Materials necessaris:
- Esquema de connexions:
- Programa Raspberry Python:
- Control de LEDs amb Raspberry Pi i bot Telegram:
Telegram és una aplicació òptima per combinar amb Raspberry Pi per a tots els nostres propòsits de control mòbil. Té molt bon suport per a desenvolupadors i s’està planejant llançar moltes funcions pròximament per millorar el rendiment de Telegram Bots. En el nostre tutorial anterior vam aprendre com podem configurar un bot de telegrama per a raspberry pi i també vam haver de xerrar amb ell i compartir imatges, documents i fitxers d’àudio.
Ara, passarem al següent pas aprenent com podem controlar els pins GPIO als pins de gerds mitjançant Telegram, de manera que proporcionem una mica de suport de maquinari per al nostre bot. En aquest tutorial, connectarem quatre LED als pins GPIO de Raspberry Pi i els canviarem mitjançant el llenguatge natural (xerrant com) des de Telegram. Sona interessant oi? Comencem.
Materials necessaris:
- Quatre LED (qualsevol color)
- Raspberry Pi (amb connexió a Internet)
- Taula de pa
- Connexió de cables
Prerequisits:
Abans de continuar amb el tutorial, assegureu-vos que el vostre Raspberry Pi estigui connectat a Internet i que pugueu executar programes python al vostre Pi. Llegiu també el tutorial anterior per saber com configurar el bot de Telegram amb Raspberry Pi Pi, ja que suposo que esteu familiaritzat amb aquestes coses per continuar amb el projecte.
Si no coneixeu Raspberry Pi, seguiu l'article de introducció de Raspberry Pi i altres tutorials de Raspberry Pi.
Esquema de connexions:
El diagrama del circuit per controlar els LED mitjançant Raspberry Pi i l’aplicació Telegram per a Android no és més que quatre LEDs i alguns cables de connexió. No necessitarem les resistències de limitació d’actualitat ja que els pins Raspberry Pi GPIO funcionen en TTL de 3,3 V. Seguiu el circuit següent i connecteu el LED.
La taula següent us ajudarà a determinar el número de pin i el número GPIO per a la connexió de quatre leds.
|
Terminal Led |
Número de pin |
Número GPIO |
|
Ànode verd |
Pin 31 |
GPIO 6 |
|
Ànode vermell |
Pin 33 |
GPIO 13 |
|
Ànode groc |
Pin 35 |
GPIO 19 |
|
Ànode blanc |
Pin 37 |
GPIO 26 |
|
Càtode dels quatre |
Pin 39 |
Terra |
A continuació es mostra el diagrama de circuits en el qual es connecten quatre LED segons la taula que es mostra més amunt:

Un cop hàgiu establert les connexions, la configuració del maquinari hauria de ser semblant a la següent.

Programa Raspberry Python:
Un cop el maquinari estigui a punt, podem continuar amb el programa Python. En aquest programa hem de llegir les dades (missatge) enviades des del bot de Telegram i canviar el LED en conseqüència. Per fer-ho més natural, en lloc de comprovar cada frase i codificar les frases dins del nostre programa, podem comprovar si hi ha paraules i procedir en conseqüència.
Per tant, el programa comprovarà principalment si hi ha dues paraules, estan activades i desactivades. Un cop detectada alguna d'aquestes dues paraules, buscarà altres paraules clau com ara blanc, groc, verd i vermell. El LED de color respectiu només es commutarà si es detecta la paraula. També actualitzarem una cadena perquè les paraules detectades enviïn un missatge de nou al bot de telegrama.
El programa complet es pot trobar a la part inferior d’aquesta pàgina; just a continuació he explicat el programa dividint-lo en petits idiotes significatius.
Perquè aquest programa funcioni, necessitem el telepot descarregat i importat al nostre Raspberry Pi. Al nostre anterior tutorial ja hem descarregat el teletransport dins del nostre Raspberry Pi, de manera que ara només hem d’importar-lo al nostre programa juntament amb la biblioteca GPIO, tal com es mostra a continuació.
importar RPi.GPIO com GPIO importar telepot des de telepot.loop importar MessageLoop
Controlarem les llums LED mitjançant aquest programa i el color dels LED serà el blanc, el groc, el vermell i el verd. Estan connectats als pins que es mostren al diagrama del circuit; anem a definir els noms de potes d'aquests LEDs en funció del seu color, de manera que és utilitzar-los en el programa.
blanc = 26 groc = 19 vermell = 13 verd = 6
El següent pas seria definir tots aquests pins LED com a pins de sortida i definir-los com desactivats per defecte mitjançant les línies següents.
#LED Blanc GPIO.setup (blanc, GPIO.OUT) GPIO.output (blanc, 0) #Off inicialment #LED Groc GPIO.setup (groc, GPIO.OUT) GPIO.output (groc, 0) #Off inicialment #LED GPIO.setup vermell (vermell, GPIO.OUT) GPIO.output (vermell, 0) #Off inicialment #LED verd GPIO.setup (verd, GPIO.OUT) GPIO.output (verd, 0) #Off inicialment
Com hem après al nostre tutorial anterior, totes les accions que ha de fer el bot Raspberry es definiran dins de l'acció de la funció. Aquí hem de crear el bot per escoltar el missatge enviat des del mòbil, comparar-lo amb algunes paraules clau i canviar el LED en conseqüència.
Per a cada missatge que enviem des del mòbil, hi haurà una identificació i una ordre de xat. El programa requereix aquest identificador de xat per respondre de nou al remitent. Per tant, desem l’identificador i el missatge de xat com es mostra a continuació.
chat_id = msg command = msg
Ara, tot el que enviem des del telèfon es desarà com a cadena a l' ordre variable. Per tant, tot el que hem de fer és comprovar si hi ha paraules clau en aquesta variable. Python té una ordre que facilita les coses aquí. Per exemple, si hem de comprovar si la paraula "on" està present a la cadena emmagatzemada a la variable d' ordres , simplement podem utilitzar la línia següent.
si està "encès" al comandament:
De la mateixa manera, comprovem totes les paraules clau, un cop rebem un "activat", procedim a comprovar quin color ha esmentat l'usuari. Això també es fa mitjançant les mateixes ordres comparant les mateixes paraules clau. També actualitzem una cadena anomenada missatge que es pot respondre de nou a l'usuari com a missatge d'estat.
si 'on' a l'ordre: message = "Activat" si 'white' a l'ordre: message = missatge + GPIO "blanc" sortida (blanc, 1) si 'groc' a l'ordre: message = missatge + GPIO "groc".output (groc, 1) si 'vermell' a l'ordre: missatge = missatge + "vermell" GPIO.output (vermell, 1) si 'verd' a l'ordre: missatge = missatge + "verd" GPIO.output (verd, 1) si 'tot' a l'ordre: missatge = missatge + "tot" GPIO.output (blanc, 1) GPIO.output (groc, 1) GPIO.output (vermell, 1) GPIO.output (verd, 1) missatge = missatge + "light (s)" telegram_bot.sendMessage (xat_id, missatge)
Com es mostra més amunt, busquem paraules clau com ara "verd", "blanc", "vermell", "groc" i "tot" i "Activat" només per a aquest LED concret. Un cop feta la feina, li tornem a enviar un missatge sobre el que acaba de passar. Es pot utilitzar el mateix mètode per apagar bé els llums.
si 'off' a l'ordre: message = "Desactivat" si 'white' a l'ordre: message = missatge + GPIO "blanc" sortida (blanc, 0) si 'groc' a l'ordre: message = missatge + GPIO "groc".output (groc, 0) si 'vermell' a l'ordre: missatge = missatge + "vermell" GPIO.output (vermell, 0) si 'verd' a l'ordre: missatge = missatge + "verd" GPIO.output (verd, 0) si 'tot' a l'ordre: missatge = missatge + "tot" GPIO.output (blanc, 0) GPIO.output (groc, 0) GPIO.output (vermell, 0) GPIO.output (verd, 0) missatge = missatge + "light (s)" telegram_bot.sendMessage (xat_id, missatge)
Control de LEDs amb Raspberry Pi i bot Telegram:
Connecteu els LEDs i inicieu el programa a Python. Assegureu-vos que hàgiu canviat l'adreça del testimoni del bot. I comenceu a escriure les ordres que desitgeu. Per exemple, per encendre el llum vermell i groc, podeu utilitzar qualsevol de les ordres següents.
1. Enceneu la llum vermella i groga
2. Canvieu el color vermell i groc a la dreta
3. Sobre vermell i groc
4.please va posar sobre el groc i el vermell la llum
Com podeu veure, el robot només busca les paraules clau i ignorarà les altres paraules de la frase, d'aquesta manera podeu parlar-hi de manera natural. El funcionament complet del projecte es pot trobar al vídeo que apareix al final d'aquesta pàgina.


Endavant! juga amb el teu projecte i diverteix-te. Podeu portar-lo a un nivell completament nou ara. Amb el tutorial combinat, tenim el poder de controlar qualsevol maquinari des del nostre telèfon intel·ligent en qualsevol part del món i també obtenir entrades / resultats del nostre Raspberry Pi en forma de missatge, àudio, imatge i fins i tot com a document. Si substituïu els LED per relés i electrodomèstics de corrent altern, aleshores podria ser una domòtica controlada per telèfon intel·ligent. Per tant, utilitzeu la vostra creativitat i creeu els vostres propis projectes interessants…
Espero que us hagi agradat el projecte i us hagi agradat construir alguna cosa similar. Avisa’m si tens algun problema a través de la secció de comentaris i estaré encantat d’ajudar-te. Comparteix també la teva fantàstica idea i fes-nos veure què podem construir.
