- Materiales necesarios:
- Diagrama de circuito:
- Programa Python de frambuesa:
- Control de LED con Raspberry Pi y Telegram bot:
Telegram es una aplicación óptima para combinar con Raspberry Pi para todos nuestros propósitos de control móvil. Tiene muy buen soporte para desarrolladores y se planea lanzar muchas funciones pronto para mejorar el rendimiento de Telegram Bots. En nuestro tutorial anterior, aprendimos cómo podemos configurar un bot de telegramas para raspberry pi y también aprendimos a tener una conversación con él y compartir imágenes, documentos y archivos de audio.
Ahora, procederemos al siguiente paso aprendiendo cómo podemos controlar los pines GPIO en los pines Raspberry usando Telegram, de modo que proporcionemos algún soporte de hardware para nuestro bot. En este tutorial, conectaremos cuatro LED a los pines GPIO de Raspberry Pi y los alternaremos usando el lenguaje natural (chat como) de Telegram. Suena interesante, ¿verdad? Empecemos.
Materiales necesarios:
- Cuatro LED (cualquier color)
- Raspberry Pi (con conexión a Internet)
- Tablero de circuitos
- Cables de conexión
Prerrequisitos:
Antes de continuar con el tutorial, asegúrese de que su Raspberry Pi esté conectada a Internet y de que pueda ejecutar programas de Python en su Pi. También lea el tutorial anterior para saber cómo configurar el bot de Telegram con Raspberry Pi Pi, ya que asumiré que está familiarizado con esas cosas para continuar con el proyecto.
Si es nuevo en Raspberry Pi, siga nuestro artículo Introducción a Raspberry Pi y otros tutoriales de Raspberry Pi.
Diagrama de circuito:
El diagrama de circuito para controlar los LED utilizando la aplicación Raspberry Pi y Telegram para Android no es más que cuatro LED y algunos cables de conexión. No necesitaremos las resistencias limitadoras de corriente ya que los pines GPIO de Raspberry Pi funcionan en 3.3V TTL. Siga el circuito a continuación y conecte su LED.
La siguiente tabla le ayudará a determinar el número de pin y el número GPIO para la conexión de cuatro leds.
Terminal LED |
Número de PIN |
Número GPIO |
Ánodo verde |
Pin 31 |
GPIO 6 |
Ánodo rojo |
Pin 33 |
GPIO 13 |
Ánodo amarillo |
Pin 35 |
GPIO 19 |
Ánodo blanco |
Pin 37 |
GPIO 26 |
Cátodo de los cuatro |
Pin 39 |
Suelo |
A continuación se muestra el diagrama de circuito en el que se conectan cuatro LED de acuerdo con la tabla dada anteriormente:
Una vez que haya realizado las conexiones, la configuración de su hardware debería verse así a continuación.
Programa Python de frambuesa:
Una vez que el hardware esté listo, podemos continuar con el Programa Python. En este programa tenemos que leer los datos (mensaje) enviados desde el bot de Telegram y alternar el LED en consecuencia. Para hacerlo más natural, en lugar de verificar cada oración y codificarlas dentro de nuestro programa, podemos verificar las palabras y proceder en consecuencia.
Por lo tanto, el programa buscará principalmente dos palabras, estén activadas y desactivadas. Una vez que detecte cualquiera de estas dos palabras, buscará otras palabras clave como blanco, amarillo, verde y rojo. El LED de color respectivo se alternará solo si se detecta la palabra. También actualizaremos una cadena para las palabras detectadas para enviar un mensaje al bot de telegram.
El programa completo se puede encontrar al final de esta página; justo debajo he explicado el programa dividiéndolo en pequeños archivos basura significativos.
Para que este programa funcione, necesitamos el telepot descargado e importado en nuestra Raspberry Pi. En nuestro tutorial anterior, ya hemos descargado el teletransporte dentro de nuestra Raspberry Pi, por lo que ahora solo tenemos que importarlo a nuestro programa junto con la biblioteca GPIO como se muestra a continuación.
importar RPi.GPIO como GPIO importar telepot desde telepot.loop importar MessageLoop
Controlaremos las luces LED usando este programa y el color de los LED será blanco, amarillo, rojo y verde. Están conectados a los pines que se muestran en el diagrama de circuito; vamos a definir los nombres de patas de estos LEDs en función de su color, de manera que es utilizarlos en el programa.
blanco = 26 amarillo = 19 rojo = 13 verde = 6
El siguiente paso sería definir todos estos pines LED como pines de salida y definirlos como apagados por defecto usando las siguientes líneas.
#LED Blanco GPIO.setup (blanco, GPIO.OUT) GPIO.output (blanco, 0) #Apagado inicialmente #LED Amarillo GPIO.setup (amarillo, GPIO.OUT) GPIO.output (amarillo, 0) #Apagado inicialmente #LED Rojo GPIO.setup (rojo, GPIO.OUT) GPIO.output (rojo, 0) #Off inicialmente #LED verde GPIO.setup (verde, GPIO.OUT) GPIO.output (verde, 0) #Off inicialmente
Como aprendimos en nuestro tutorial anterior, todas las acciones que debe realizar el bot Raspberry se definirán dentro de la función action. Aquí tenemos que hacer que el bot escuche el mensaje enviado desde el móvil, compararlo con algunas palabras clave y alternar el LED en consecuencia.
Para cada mensaje que enviamos desde el móvil, habrá una identificación y un comando de chat. El programa requiere esta identificación de chat para responder al remitente. Así que guardamos la identificación del chat y el mensaje como se muestra a continuación.
chat_id = msg comando = msg
Ahora, todo lo que enviemos desde el teléfono se guardará como una cadena en el comando variable. Entonces, todo lo que tenemos que hacer es buscar palabras clave en esta variable. Python tiene un comando que facilita las cosas aquí. Por ejemplo, si tenemos que verificar si la palabra "on" está presente en la cadena almacenada en la variable de comando , simplemente podemos usar la línea de abajo.
si 'on' en el comando:
De manera similar, verificamos todas las palabras clave, una vez que recibimos un "encendido", procedemos a verificar qué color ha mencionado el usuario. Esto también se hace mediante los mismos comandos comparando las mismas palabras clave. También actualizamos una cadena llamada mensaje que se puede responder al usuario como un mensaje de estado.
if 'on' en el comando: mensaje = "Encendido" si 'blanco' en el comando: mensaje = mensaje + "blanco" GPIO.output (blanco, 1) si es 'amarillo' en el comando: mensaje = mensaje + "amarillo" GPIO.salida (amarillo, 1) si 'rojo' en el comando: mensaje = mensaje + "rojo" GPIO.salida (rojo, 1) si es 'verde' en el comando: mensaje = mensaje + "verde" GPIO.salida (verde, 1) si 'todos' en el comando: mensaje = mensaje + "todos" GPIO.output (blanco, 1) GPIO.output (amarillo, 1) GPIO.output (rojo, 1) GPIO.output (verde, 1) mensaje = mensaje + "luz (s)" telegram_bot.sendMessage (chat_id, mensaje)
Como se muestra arriba, buscamos palabras clave como 'verde', 'blanco', 'rojo', 'amarillo' y 'todos' y 'Encendido' solo ese LED en particular. Una vez que el trabajo está hecho, enviamos un mensaje al usuario sobre lo que acaba de suceder. El mismo método se puede utilizar para apagar bien las luces.
si 'apagado' en el comando: mensaje = "Apagado" si 'blanco' en el comando: mensaje = mensaje + "blanco" GPIO. salida (blanco, 0) si es 'amarillo' en el comando: mensaje = mensaje + "amarillo" GPIO.salida (amarillo, 0) si 'rojo' en el comando: mensaje = mensaje + "rojo" GPIO.salida (rojo, 0) si es 'verde' en el comando: mensaje = mensaje + "verde" GPIO.salida (verde, 0) si 'todos' en el comando: mensaje = mensaje + "todos" GPIO.output (blanco, 0) GPIO.output (amarillo, 0) GPIO.output (rojo, 0) GPIO.output (verde, 0) mensaje = mensaje + "luz (s)" telegram_bot.sendMessage (chat_id, mensaje)
Control de LED con Raspberry Pi y Telegram bot:
Conecte sus LED y ejecute su programa en Python. Asegúrese de haber cambiado la dirección del token de su bot. Y comience a escribir los comandos que desee. Por ejemplo, para encender la luz roja y amarilla, puede usar cualquiera de los siguientes comandos.
1.Enciende la luz roja y amarilla
2.Cambie el color rojo y amarillo a la derecha
3. En rojo y amarillo
4.please puso sobre el amarillo y el rojo la luz
Como puede ver, el bot solo busca las palabras clave e ignorará las otras palabras en la oración, de esta manera puede hablar con naturalidad. El funcionamiento completo del proyecto se puede encontrar en el video que se encuentra al final de esta página.
¡Adelante! juega con tu proyecto y diviértete. Puede llevarlo a un nivel completamente nuevo ahora. Con ambos tutoriales combinados tenemos el poder de controlar cualquier hardware desde nuestro teléfono inteligente en cualquier parte del mundo y también obtener entradas / resultados de nuestra Raspberry Pi en forma de mensaje, audio, imagen e incluso como documento. Si reemplaza los LED con relés y aparatos de CA, entonces podría ser una automatización del hogar controlada por teléfono inteligente. Entonces, use su creatividad y construya sus propios proyectos geniales…
Espero que les haya gustado el proyecto y hayan disfrutado construyendo algo similar. Avísame si tienes algún problema a través de la sección de comentarios y estaré encantado de ayudarte. También comparte tu genial idea conmigo y déjanos ver qué podemos construir.