Sisällysluettelo:

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

Video: Raspberry Pi Slack Scroll Bot !: 10 askelta

Video: Raspberry Pi Slack Scroll Bot !: 10 askelta
Video: Slack Pi Bot 2024, Marraskuu
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!

Tässä projektissa Raspberry Pi yhdistetään Pimoroni Scroll Bot -sarjaan (painikkeilla muokattu), Slack ja IFTT.

Sarjan painikkeiden muutokset ovat valinnaisia, ja kaiutin ilmoittaa uuden videon saapumisesta.

Voit myös käyttää tätä lähettääksesi minkä tahansa viestin botille löysästi lisäämällä "bot" viestin eteen, kuten "bot hello world". "bot clear" tyhjentää näytön.

Vaihe 1: Vieritä robotti

Suorita Pimoroni Scroll Botin kokoamisohjeet:

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

Vaihe 2: Asenna paketit ja Codebase

Asenna äänipaketit:

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

sudo apt-get install mpg123

Asenna python -paketit:

pip -asennuspullo

pip asenna psutil pip asenna slackclient

Seuraa Pimoroni'sin opetusohjelmaa Scroll Hatin käytön aloittamiseksi:

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

joka sisältää esimerkin lähdekoodin ja resurssien lataamisen:

curl https://get.pimoroni.com/scrollphathd | lyödä

Koska näyttö on asennettu ylösalaisin robottipakettiin, sinun on poistettava koodi, jotta voit kiertää näyttöä 180:

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

Vaihe 3: Slack -ilmentymän määrittäminen

Slack -ilmentymän määrittäminen
Slack -ilmentymän määrittäminen
Slack -ilmentymän määrittäminen
Slack -ilmentymän määrittäminen

Jotta komentosarja kommunikoi Slackin kanssa, tarvitset bot API -avaimen.

Aloita kirjautumalla Slack -tiimisi verkkosivulle (https://my.slack.com/services/new/bot) ja valitsemalla botillesi käyttäjänimi ja kopioi sitten toimitettu API -tunnus.

Vaihe 4: Luo löysä kanava ja kutsu robotti kanavalle

Luo löysä kanava ja kutsu robotti kanavalle
Luo löysä kanava ja kutsu robotti kanavalle

Voit käyttää yleistä löysää kanavaa tai halutessasi luoda erillisen löysän kanavan.

Minun tapauksessani käytin #robot-claire-control

Sinun on kutsuttava robotti kanavalle, muuten se ei näe lähetettyjä viestejä.

Vaihe 5: Lataa SlackPiBot -lähdekoodi ja määritä

Lataa slackPiBot -lähdekoodi gitistä:

git -klooni

Päivitä rivi 29 API -avaimellasi:

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

Päivitä rivi 34 robotin nimellä:

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

Vaihe 6: Määritä Crontabs käynnistymään automaattisesti käynnistyksen yhteydessä:

Crontabien asettaminen käynnistymään automaattisesti käynnistyksen yhteydessä:

crontab -e

Lisää seuraavat tiedot crontab -taulukon alareunaan:

@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

Vaihe 7: Valinnainen: Lisää USB -kaiutinlähtö

Tässä projektissa käytän US Roboticsin USB -kaiutinpuhelinta - saatavana amazonista tai ebaysta.

Jos käytät jotain vastaavaa, sinun on vaihdettava järjestelmän oletusäänilaite muokkaamalla alsa -asetuksia (/usr/share/alsa/alsa.conf). Muuta seuraavat rivit:

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

1 on laitteen indeksi. Jos haluat löytää USB -laitteen laitetunnuksen, suorita aplay -l ja etsi kortin tunnus.

Vaihe 8: Valinnainen: Lisää langalliset painikkeet robottiin viestien poistamiseksi

Valinnainen: Lisää langalliset painikkeet robottiin viestien poistamiseksi
Valinnainen: Lisää langalliset painikkeet robottiin viestien poistamiseksi
Valinnainen: Lisää langalliset painikkeet robottiin viestien poistamiseksi
Valinnainen: Lisää langalliset painikkeet robottiin viestien poistamiseksi

Tämä vaihe on valinnainen, mutta erittäin suositeltavaa poistaa viestit näytöltä.

Olen lisännyt robottiin kaksi painonappia, mutta tässä projektissa käytän vain GPIO17: tä.

Käynnistyksessä suoritettava komentosarja check_button.py kyselee GPIO17: tä muutaman millisekunnin välein, ja jos se on painettuna, se lähettää HTTP -POST -näytteen näyttöskriptiin näytön tyhjentämiseksi.

Vaihe 9: Vedä se kaikki yhteen ja lähetä lähtö Pi: lle

Tässä projektissa on 4 skriptiä, jotka toimivat yhdessä:

/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-komentosarjan tarjoaa Pimoroni, ja se on yksinkertainen verkkosovellus näytön ohjaamiseen POST-komennoilla.

Check_button python -skripti kyselee GPIO-nastat ja kun painiketta painetaan, se lähettää HTTP-POST-tiedoston web-api.py-skriptiin.

Forever.py -skripti aloittaa slackPiBot.py -komentosarjan varmistaakseen, että jos havaitsemattomia virheitä ilmenee tai yhteys katkeaa, skripti käynnistetään uudelleen, jotta viestejä ei menetetä.

SlackPiBot.py -skripti muodostaa yhteyden slack -järjestelmään ja valvoo kanavaa "botilla" alkavien viestien tai IFTT: n viestien perusteella. Jos osuma löytyy, se lähettää HTTP-POST-tiedoston web-api.py-komentosarjaan ja näyttää sen näytöllä.

Vaihe 10: Valinnainen: IFTT -integrointi

Valinnainen: IFTT -integrointi
Valinnainen: IFTT -integrointi
Valinnainen: IFTT -integrointi
Valinnainen: IFTT -integrointi
Valinnainen: IFTT -integrointi
Valinnainen: IFTT -integrointi

Tämän projektin tarkoituksena oli varoittaa lapsiani videoista, joita heidän seuraamansa ihmiset ovat julkaisseet YouTubessa, koska he ovat liian nuoria omaan iPhoneen tai iPadiin. Sain tämän aikaan luomalla IFTT -reseptejä, jotka lähettävät ilmoituksen löysälle ohjauskanavalle, kun video on julkaistu.

Ohjeiden wiki tekee tästä monimutkaisen nähdä yhdessä vaiheessa, mutta yllä olevat kuvakaappaukset osoittavat lopputuloksen.

Suositeltava: