Innholdsfortegnelse:

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

Video: Raspberry Pi Slack Scroll Bot !: 10 trinn

Video: Raspberry Pi Slack Scroll Bot !: 10 trinn
Video: Curious Beginnings | Critical Role: THE MIGHTY NEIN | Episode 1 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 prosjektet kombinerer en Raspberry Pi med et Pimoroni Scroll Bot -sett (modifisert med knapper), Slack og IFTT for visuelle og hørbare varsler når YouTube -videoer legges ut til et abonnement!

Knappendringene i settet er valgfrie, i tillegg til høyttaleren for å kunngjøre ankomsten av en ny video.

Du kan også bruke denne til å sende hvilken som helst melding til boten gjennom slack ved å forberede "bot" på forsiden av meldingen, for eksempel "bot hello world". "bot clear" vil slette skjermen.

Trinn 1: Rull Bot Assembly

Fullfør instruksjonene for montering av Pimoroni Scroll Bot:

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

Trinn 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 opplæringen hos Pimoroni's for å komme i gang med rullehatt:

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

som inkluderer nedlasting av eksempelkildekoden og ressursene:

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

Siden skjermen er montert opp ned i robotsettet, må du fjerne kommentaren for å rotere skjermen 180:

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

Trinn 3: Konfigurering av Slack Instance

Konfigurere Slack Instance
Konfigurere Slack Instance
Konfigurere Slack Instance
Konfigurere Slack Instance

For at skriptet skal kommunisere med Slack, trenger du en bot API -nøkkel.

Start med å logge deg på Slack -teamets nettside (https://my.slack.com/services/new/bot) og velg et brukernavn for boten din, og kopier deretter API -tokenet som følger med.

Trinn 4: Lag en Slack Channel, og inviter roboten din til kanalen

Lag en slakk kanal, og inviter roboten din til kanalen
Lag en slakk kanal, og inviter roboten din til kanalen

Du kan bruke den generelle slakk -kanalen, eller hvis du foretrekker det, kan du opprette en egen slakk -kanal.

I mitt tilfelle brukte jeg #robot-claire-control

Du må invitere roboten din til kanalen, ellers ser den ikke meldingene som sendes.

Trinn 5: Last ned SlackPiBot kildekoden og konfigurer

Last ned kildekoden slackPiBot fra git:

git -klon

Oppdater linje 29 med API -nøkkelen din:

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

Oppdater linje 34 med robotnavnet ditt:

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

Trinn 6: Konfigurer Crontabs til å starte automatisk ved oppstart:

Konfigurere crontabs for å starte automatisk ved oppstart:

crontab -e

Legg til følgende nederst på 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

Trinn 7: Valgfritt: Legg til en USB -høyttalerutgang

For dette prosjektet bruker jeg en USB -høyttalertelefon fra US Robotics - tilgjengelig på Amazon eller eBay.

Hvis du bruker noe lignende, må du endre standard systemlydenhet ved å redigere alsa config (/usr/share/alsa/alsa.conf). Endre følgende linjer:

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

1 er indeksen til enheten din. For å finne enhets -ID -en til USB -enheten din, kjør aplay -l og se etter kort -ID -en.

Trinn 8: Valgfritt: Legg til kablede knapper i roboten for å slette meldinger

Valgfritt: Legg til kablede knapper i roboten for å slette meldinger
Valgfritt: Legg til kablede knapper i roboten for å slette meldinger
Valgfritt: Legg til kablede knapper i roboten for å slette meldinger
Valgfritt: Legg til kablede knapper i roboten for å slette meldinger

Dette trinnet er valgfritt, men anbefales på det sterkeste for å slette meldinger på skjermen.

Jeg har lagt til to trykknapper på roboten min, men i dette prosjektet bruker jeg bare GPIO17.

Skriptet check_button.py som kjører på oppstart, avstemmer GPIO17 hvert par millisekunder, og hvis den er deprimert, sender den en HTTP POST til eksempelskjermskriptet for å fjerne skjermen.

Trinn 9: Trekk alt sammen og send utgang til Pi

Det er 4 skript som fungerer sammen for dette prosjektet:

/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-skriptet er levert av Pimoroni og er et enkelt webprogram for å kontrollere skjermen med POST-kommandoer.

Check_button python-skriptet undersøker GPIO-pinnene, og når knappen trykkes ned, sender en HTTP POST til web-api.py-skriptet.

Skriptet forever.py starter slackPiBot.py -skriptet for å sikre at hvis det oppstår uoppdagede feil eller kobler seg fra slack, startes skriptet på nytt for å unngå å gå glipp av meldinger.

SlackPiBot.py -skriptet kobles til slack og overvåker kanalen for meldinger som starter med "bot" eller innlegg fra IFTT. Hvis det er en match, sender den en HTTP POST til web-api.py-skriptet og vises på skjermen.

Trinn 10: Valgfritt: IFTT -integrasjon

Valgfritt: IFTT -integrasjon
Valgfritt: IFTT -integrasjon
Valgfritt: IFTT -integrasjon
Valgfritt: IFTT -integrasjon
Valgfritt: IFTT -integrasjon
Valgfritt: IFTT -integrasjon

Dette prosjektet ble designet for å varsle barna mine om videoer som er lagt ut av folk de følger på youtube, siden de er for unge til å ha sin egen iPhone eller iPad. Jeg oppnådde dette ved å lage IFTT -oppskrifter som sender et varsel til den slanke kontrollkanalen når en video er lagt ut.

The instructables wiki gjør dette komplisert å se i ett trinn, men skjermbildene ovenfor viser sluttresultatet.

Anbefalt: