Taula de continguts:

Raspberry Pi Slack Scroll Bot !: 10 passos
Raspberry Pi Slack Scroll Bot !: 10 passos

Vídeo: Raspberry Pi Slack Scroll Bot !: 10 passos

Vídeo: Raspberry Pi Slack Scroll Bot !: 10 passos
Vídeo: World's Greatest Pi-hole Tutorial - Easy Raspberry Pi Project! 2024, De novembre
Anonim
Bot de desplaçament Raspberry Pi Slack!
Bot de desplaçament Raspberry Pi Slack!
Bot de desplaçament Raspberry Pi Slack!
Bot de desplaçament Raspberry Pi Slack!
Bot de desplaçament Raspberry Pi Slack!
Bot de desplaçament Raspberry Pi Slack!

Aquest projecte combina un Raspberry Pi amb un kit de bot de desplaçament Pimoroni (modificat amb botons), Slack i IFTT per a notificacions visuals i audibles quan es publiquen vídeos de youtube a una subscripció.

Les modificacions del botó al kit són opcionals, així com l’altaveu per anunciar l’arribada d’un nou vídeo.

També podeu fer servir aquest missatge per enviar qualsevol missatge al bot a través de slack, tot avançant "bot" a la part frontal del missatge, com ara "bot hola world". "bot clear" esborra la pantalla.

Pas 1: Desplaceu el muntatge del bot

Completeu les instruccions per muntar el bot de desplaçament Pimoroni:

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

Pas 2: instal·leu paquets i Codebase

Instal·leu paquets d'àudio:

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

sudo apt-get install mpg123

Instal·leu paquets Python:

matràs d'instal·lació de pip

pip install psutil pip install slackclient

Seguiu el tutorial de Pimoroni per començar a utilitzar Scroll Hat:

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

que inclou la descàrrega del codi font i dels recursos de mostra:

rínxol https://get.pimoroni.com/scrollphathd | bash

Com que la pantalla està muntada al revés al kit del robot, heu de descommentar el codi per girar la pantalla 180:

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

Pas 3: Configuració de la instància Slack

Configuració de la instància Slack
Configuració de la instància Slack
Configuració de la instància Slack
Configuració de la instància Slack

Perquè l’script es comuniqui amb Slack, necessitareu una clau d’API de bot.

Comenceu per iniciar la sessió a la pàgina web de l’equip Slack (https://my.slack.com/services/new/bot) i escolliu un nom d’usuari per al vostre bot i, a continuació, copieu el testimoni d’API proporcionat.

Pas 4: creeu un canal Slack i convideu el vostre robot al canal

Creeu un canal Slack i convideu el vostre robot al canal
Creeu un canal Slack i convideu el vostre robot al canal

Podeu utilitzar el canal general de slack o, si ho preferiu, podeu crear un canal independent de slack.

En el meu cas he utilitzat # robot-claire-control

Heu de convidar el vostre robot al canal o no veurà els missatges que s'envien.

Pas 5: descarregueu el codi font de SlackPiBot i configureu-lo

Descarregueu el codi font slackPiBot des de git:

git clone

Actualitzeu la línia 29 amb la vostra clau API:

slack_client = SlackClient ("xoxb-YOUR-API-KEY-AQUÍ")

Actualitzeu la línia 34 amb el nom del robot:

si user.get ('nom') == "robot-claire":

Pas 6: configureu Crontabs per iniciar automàticament en arrencar:

Configuració de crontabs per iniciar-se automàticament en arrencar:

crontab -e

Afegiu el següent a la part inferior del vostre 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

Pas 7: Opcional: afegiu una sortida d’altaveu USB

Per a aquest projecte, estic fent servir un altaveu USB de US Robotics, disponible a Amazon o eBay.

Si utilitzeu alguna cosa similar, haureu de canviar el dispositiu de so del sistema per defecte editant la configuració alsa (/usr/share/alsa/alsa.conf). Canvieu les línies següents:

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

1 és l'índex del vostre dispositiu. Per trobar l'identificador del dispositiu USB, executeu aplay -l i cerqueu l'identificador de la targeta.

Pas 8: opcional: afegiu botons amb cable al robot per esborrar missatges

Opcional: afegiu botons amb cable al robot per esborrar missatges
Opcional: afegiu botons amb cable al robot per esborrar missatges
Opcional: afegiu botons amb cable al robot per esborrar missatges
Opcional: afegiu botons amb cable al robot per esborrar missatges

Aquest pas és opcional, però molt recomanable per esborrar els missatges a la pantalla.

He afegit dos polsadors al meu robot, però en aquest projecte només estic fent servir GPIO17.

L'escript check_button.py que s'executa en arrencar enquesta el GPIO17 cada pocs mil·lisegons i, si es prem, envia un POST HTTP a l'script de pantalla de mostra per esborrar la pantalla.

Pas 9: uniu-ho tot i envieu la sortida al Pi

Hi ha 4 scripts que treballen junts per a aquest projecte:

/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 guió web-api el proporciona Pimoroni i és una aplicació web senzilla per controlar la pantalla amb ordres POST.

L'script python check_button enquesta els pins GPIO i quan es prem el botó envia un POST HTTP a l'script web-api.py.

L'escriptura forever.py posa en marxa l'script slackPiBot.py per assegurar-se que, si hi ha errors o desconnexions de slack, es reinicia per evitar que falti cap missatge.

L'escript slackPiBot.py es connecta a slack i controla el canal de missatges que comencen amb "bot" o publicacions d'IFTT. Si hi ha coincidències, s'enviarà un HTTP POST a l'script web-api.py i es mostrarà a la pantalla.

Pas 10: Opcional: integració IFTT

Opcional: integració IFTT
Opcional: integració IFTT
Opcional: integració IFTT
Opcional: integració IFTT
Opcional: integració IFTT
Opcional: integració IFTT

Aquest projecte va ser dissenyat per alertar els meus fills de vídeos publicats per persones que segueixen a youtube, ja que són massa joves per tenir el seu propi iPhone o iPad. Ho he aconseguit creant receptes IFTT que envien una notificació al canal de control de slack un cop s'ha publicat un vídeo.

La wiki instructable fa que sigui complicat de veure en un sol pas, però les captures de pantalla anteriors mostren el resultat final.

Recomanat: