Innholdsfortegnelse:
- Trinn 1: Rull Bot Assembly
- Trinn 2: Installer pakker og kodebase
- Trinn 3: Konfigurering av Slack Instance
- Trinn 4: Lag en Slack Channel, og inviter roboten din til kanalen
- Trinn 5: Last ned SlackPiBot kildekoden og konfigurer
- Trinn 6: Konfigurer Crontabs til å starte automatisk ved oppstart:
- Trinn 7: Valgfritt: Legg til en USB -høyttalerutgang
- Trinn 8: Valgfritt: Legg til kablede knapper i roboten for å slette meldinger
- Trinn 9: Trekk alt sammen og send utgang til Pi
- Trinn 10: Valgfritt: IFTT -integrasjon
2025 Forfatter: John Day | [email protected]. Sist endret: 2025-01-13 06:58
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
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
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
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
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.