Tabla de contenido:

¡Bot de desplazamiento flojo de Raspberry Pi !: 10 pasos
¡Bot de desplazamiento flojo de Raspberry Pi !: 10 pasos

Video: ¡Bot de desplazamiento flojo de Raspberry Pi !: 10 pasos

Video: ¡Bot de desplazamiento flojo de Raspberry Pi !: 10 pasos
Video: La primer humanoide robot del mundo 🤖😳😱 #robot #robotics #robots #robotandroide #androide #humanoide 2024, Noviembre
Anonim
¡Bot de desplazamiento flojo de Raspberry Pi!
¡Bot de desplazamiento flojo de Raspberry Pi!
¡Bot de desplazamiento flojo de Raspberry Pi!
¡Bot de desplazamiento flojo de Raspberry Pi!
¡Bot de desplazamiento flojo de Raspberry Pi!
¡Bot de desplazamiento flojo de Raspberry Pi!

¡Este proyecto combina una Raspberry Pi con un kit Pimoroni Scroll Bot (modificado con botones), Slack e IFTT para notificaciones visuales y audibles cuando los videos de YouTube se publican en una suscripción!

Las modificaciones del botón al kit son opcionales, así como el altavoz para anunciar la llegada de un nuevo video.

También puede usar esto para enviar cualquier mensaje al bot a través de slack anteponiendo "bot" al principio del mensaje, como "bot hello world". "bot clear" borrará la pantalla.

Paso 1: Ensamblaje del bot de desplazamiento

Complete las instrucciones para ensamblar el Pimoroni Scroll Bot:

learn.pimoroni.com/tutorial/sandyj/assembl…

Paso 2: instalar paquetes y base de código

Instalar paquetes de audio:

sudo apt-get update y sudo apt-get upgrade -y

sudo apt-get install mpg123

Instale paquetes de Python:

matraz de instalación de pip

pip instalar psutil pip instalar slackclient

Siga el tutorial de Pimoroni para comenzar con Scroll Hat:

learn.pimoroni.com/tutorial/sandyj/getting…

que incluye descargar el código fuente de muestra y los recursos:

curl https://get.pimoroni.com/scrollphathd | intento

Dado que la pantalla está montada boca abajo en el kit del robot, debe descomentar el código para rotar la pantalla 180:

$ sed -i 's / # scrollphathd.rotate (grados = 180) /scrollphathd.rotate (grados = 180) / g' /home/pi/Pimoroni/scrollphathd/examples/web-api.py

Paso 3: configurar la instancia de Slack

Configuración de la instancia de Slack
Configuración de la instancia de Slack
Configuración de la instancia de Slack
Configuración de la instancia de Slack

Para que el script se comunique con Slack, necesitará una clave de API de bot.

Comience iniciando sesión en la página web de su equipo de Slack (https://my.slack.com/services/new/bot) y elija un nombre de usuario para su bot, luego copie el token de API proporcionado.

Paso 4: crea un canal de Slack e invita a tu robot al canal

Crea un canal de Slack e invita a tu robot al canal
Crea un canal de Slack e invita a tu robot al canal

Puede utilizar el canal de holgura general o, si lo prefiere, puede crear un canal de holgura independiente.

En mi caso usé # robot-claire-control

Debes invitar a tu robot al canal o no verá los mensajes que se envían.

Paso 5: descargue el código fuente de SlackPiBot y configúrelo

Descargue el código fuente de slackPiBot de git:

clon de git

Actualice la línea 29 con su clave API:

slack_client = SlackClient ("xoxb-YOUR-API-KEY-HERE")

Actualice la línea 34 con el nombre de su robot:

if user.get ('nombre') == "robot-claire":

Paso 6: Configure Crontabs para que se inicien automáticamente al arrancar:

Configuración de crontabs para que se inicien automáticamente al arrancar:

crontab -e

Agregue lo siguiente al final de su crontab:

@reboot python /home/pi/Pimoroni/scrollphathd/examples/web-api.py@reboot python /home/pi/slackPiBot/check_button.py @reboot python /home/pi/slackPiBot/forever.py / home / pi / slackPiBot / slackPiBot.py >> /home/pi/slackPiBot/outputLog.txt 2> & 1

Paso 7: Opcional: agregue una salida de altavoz USB

Para este proyecto, estoy usando un altavoz USB de US Robotics, disponible en Amazon o eBay.

Si usa algo similar, deberá cambiar el dispositivo de sonido del sistema predeterminado editando la configuración de alsa (/usr/share/alsa/alsa.conf). Cambie las siguientes líneas:

defaults.ctl.card 1defaults.pcm.card 1

1 es el índice de su dispositivo. Para encontrar el ID de dispositivo de su dispositivo USB, ejecute aplay -l y busque el ID de la tarjeta.

Paso 8: Opcional: agregue botones con cable al robot para borrar los mensajes

Opcional: agregue botones con cable al robot para borrar los mensajes
Opcional: agregue botones con cable al robot para borrar los mensajes
Opcional: agregue botones con cable al robot para borrar los mensajes
Opcional: agregue botones con cable al robot para borrar los mensajes

Este paso es opcional pero muy recomendable para borrar mensajes en la pantalla.

He agregado dos botones a mi robot, pero en este proyecto solo estoy usando GPIO17.

El script check_button.py que se ejecuta en el arranque sondea el GPIO17 cada pocos milisegundos y, si se presiona, envía un HTTP POST al script de pantalla de muestra para borrar la pantalla.

Paso 9: Reunirlo todo y enviar la salida al Pi

Hay 4 scripts que funcionan juntos para este proyecto:

/home/pi/Pimoroni/scrollphathd/examples/web-api.py/home/pi/slackPiBot/check_button.py/home/pi/slackPiBot/forever.py /home/pi/slackPiBot/slackPiBot.py

El script web-api es proporcionado por Pimoroni y es una aplicación web simple para controlar la pantalla con comandos POST.

El script python check_button sondea los pines GPIO y cuando se presiona el botón envía un HTTP POST al script web-api.py.

La secuencia de comandos forever.py inicia la secuencia de comandos slackPiBot.py para garantizar que si hay errores no detectados o se desconecta de la holgura, la secuencia de comandos se reinicia para evitar perder mensajes.

El script slackPiBot.py se conecta a Slack y monitorea el canal en busca de mensajes que comiencen con "bot" o publicaciones de IFTT. Si hay una coincidencia, enviará un HTTP POST al script web-api.py y se mostrará en la pantalla.

Paso 10: Opcional: Integración IFTT

Opcional: Integración IFTT
Opcional: Integración IFTT
Opcional: Integración IFTT
Opcional: Integración IFTT
Opcional: Integración IFTT
Opcional: Integración IFTT

Este proyecto fue diseñado para alertar a mis hijos sobre videos publicados por personas que siguen en YouTube, ya que son demasiado pequeños para tener su propio iPhone o iPad. Lo logré creando recetas IFTT que envían una notificación al canal de control de holgura una vez que se ha publicado un video.

La wiki de instructables hace que esto sea complicado de ver en un solo paso, pero las capturas de pantalla de arriba muestran el resultado final.

Recomendado: