Indholdsfortegnelse:

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

Video: Raspberry Pi Slack Scroll Bot !: 10 trin

Video: Raspberry Pi Slack Scroll Bot !: 10 trin
Video: 10 RetroPie Setup Tips and Tutorial for the Raspberry Pi 4 2024, November
Anonim
Raspberry Pi Slack Scroll Bot!
Raspberry Pi Slack Scroll Bot!
Raspberry Pi Slack Scroll Bot!
Raspberry Pi Slack Scroll Bot!
Raspberry Pi Slack Scroll Bot!
Raspberry Pi Slack Scroll Bot!

Dette projekt kombinerer en Raspberry Pi med et Pimoroni Scroll Bot -kit (ændret med knapper), Slack og IFTT til visuelle og hørbare meddelelser, når youtube -videoer lægges til et abonnement!

Knappemodifikationer til sættet er valgfrie samt højttaleren for at annoncere ankomsten af en ny video.

Du kan også bruge dette til at sende enhver besked til boten gennem slack ved at forudsætte "bot" på forsiden af meddelelsen, f.eks. "Bot hello world". "bot clear" vil rydde skærmen.

Trin 1: Rul Bot -samling

Udfyld instruktionerne for montering af Pimoroni Scroll Bot:

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

Trin 2: Installer pakker og kodebase

Installer lydpakker:

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

sudo apt-get install mpg123

Installer python -pakker:

pip installere kolbe

pip install psutil pip install slackclient

Følg vejledningen hos Pimoroni's for at komme i gang med Scroll Hat:

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

som inkluderer download af prøvekildekode og ressourcer:

krølle https://get.pimoroni.com/scrollphathd | bash

Da skærmen er monteret på hovedet i robotsættet, skal du fjerne kommentaren fra koden for at rotere skærmen 180:

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

Trin 3: Konfiguration af Slack Instance

Konfiguration af Slack Instance
Konfiguration af Slack Instance
Konfiguration af Slack Instance
Konfiguration af Slack Instance

For at scriptet kan kommunikere med Slack, skal du bruge en bot API -nøgle.

Start med at logge ind på din Slack -teams webside (https://my.slack.com/services/new/bot) og vælg et brugernavn til din bot, og kopier derefter det medfølgende API -token.

Trin 4: Opret en Slack Channel, og inviter din robot til kanalen

Opret en Slack Channel, og inviter din robot til kanalen
Opret en Slack Channel, og inviter din robot til kanalen

Du kan bruge den generelle slack -kanal, eller hvis du foretrækker det, kan du oprette en separat slack -kanal.

I mit tilfælde brugte jeg #robot-claire-control

Du skal invitere din robot ind i kanalen, ellers ser den ikke de meddelelser, der sendes.

Trin 5: Download SlackPiBot -kildekode og konfigurer

Download kildekoden slackPiBot fra git:

git -klon

Opdater linje 29 med din API -nøgle:

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

Opdater linje 34 med dit robotnavn:

hvis user.get ('navn') == "robot-claire":

Trin 6: Konfigurer Crontabs til at starte automatisk ved opstart:

Opsætning af crontabs til at starte automatisk ved opstart:

crontab -e

Tilføj følgende til bunden af din 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

Trin 7: Valgfrit: Tilføj en USB -højttalerudgang

Til dette projekt bruger jeg en USB -højttalertelefon fra US Robotics - tilgængelig på Amazon eller eBay.

Hvis du bruger noget lignende, skal du ændre standard systemlydenhed ved at redigere alsa config (/usr/share/alsa/alsa.conf). Skift følgende linjer:

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

1 er indekset for din enhed. For at finde enheds -id'et på din USB -enhed skal du køre aplay -l og lede efter kort -id'et.

Trin 8: Valgfrit: Føj trådløse knapper til robotten for at slette meddelelser

Valgfrit: Føj trådløse knapper til robotten for at slette meddelelser
Valgfrit: Føj trådløse knapper til robotten for at slette meddelelser
Valgfrit: Føj trådløse knapper til robotten for at slette meddelelser
Valgfrit: Føj trådløse knapper til robotten for at slette meddelelser

Dette trin er valgfrit, men anbefales stærkt for at slette meddelelser på skærmen.

Jeg har tilføjet to trykknapper til min robot, men i dette projekt bruger jeg kun GPIO17.

Scriptet check_button.py, der kører på boot -afstemninger, undersøger GPIO17 hvert par millisekunder, og hvis den er deprimeret, sender en HTTP POST til eksempelskærmens script for at rydde skærmen.

Trin 9: Træk det hele sammen og send output til Pi

Der er 4 scripts, der arbejder sammen til dette projekt:

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

Web-api-scriptet leveres af Pimoroni og er en enkel webapplikation til at styre skærmen med POST-kommandoer.

Check_button-python-scriptet undersøger GPIO-benene, og når knappen trykkes ned, sender en HTTP POST til web-api.py-scriptet.

Forever.py -scriptet starter slackPiBot.py -scriptet for at sikre, at hvis der er uopfangede fejl eller afbrydes fra slack, genstartes scriptet for at undgå at gå glip af meddelelser.

SlackPiBot.py -scriptet opretter forbindelse til slack og overvåger kanalen for meddelelser, der starter med "bot" eller indlæg fra IFTT. Hvis der er et match, sender det en HTTP POST til web-api.py-scriptet og vises på skærmen.

Trin 10: Valgfrit: IFTT -integration

Valgfrit: IFTT -integration
Valgfrit: IFTT -integration
Valgfrit: IFTT -integration
Valgfrit: IFTT -integration
Valgfrit: IFTT -integration
Valgfrit: IFTT -integration

Dette projekt var designet til at advare mine børn om videoer, der blev sendt af folk, de følger på youtube, da de er for unge til at have deres egen iPhone eller iPads. Jeg opnåede dette ved at oprette IFTT -opskrifter, der sender en meddelelse til den slanke kontrolkanal, når en video er blevet sendt.

Den instruerbare wiki gør dette kompliceret at se i et trin, men skærmbillederne ovenfor viser slutresultatet.

Anbefalede: