Sisukord:

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

Video: Raspberry Pi Slack Scroll Bot!: 10 sammu

Video: Raspberry Pi Slack Scroll Bot!: 10 sammu
Video: My name is Giovanni Giorgio and i can escape from prison.. 2024, November
Anonim
Vaarika Pi Slack Scroll Bot!
Vaarika Pi Slack Scroll Bot!
Vaarika Pi Slack Scroll Bot!
Vaarika Pi Slack Scroll Bot!
Vaarika Pi Slack Scroll Bot!
Vaarika Pi Slack Scroll Bot!

See projekt ühendab Raspberry Pi koos Pimoroni Scroll Boti komplektiga (muudetud nuppudega), Slacki ja IFTT -ga, et saada visuaalseid ja kuuldavaid märguandeid, kui YouTube'i videod tellimusele postitatakse!

Komplekti nuppude muutmine on valikuline, samuti kõneleja uue video saabumisest teatamiseks.

Seda saab kasutada ka roboti jaoks mis tahes sõnumi saatmiseks lõdvalt, lisades sõnumi esiküljele "bot", näiteks "bot hello world". "bot clear" tühjendab ekraani.

Samm: kerige robotikomplekti

Täitke Pimoroni Scroll Boti kokkupaneku juhised:

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

Samm: installige paketid ja koodibaas

Helipakettide installimine:

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

sudo apt-get install mpg123

Pythoni pakettide installimine:

pip paigalduskolb

pip install psutil pip install slackclient

Sirvimütsiga alustamiseks järgige Pimoroni's õpetust:

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

mis hõlmab näidisallika ja ressursside allalaadimist:

curl https://get.pimoroni.com/scrollphathd | lööma

Kuna ekraan on robotikomplekti tagurpidi paigaldatud, peate ekraani 180 pööramiseks tühistama koodi.

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

3. samm: Slack -eksemplari seadistamine

Slacki eksemplari seadistamine
Slacki eksemplari seadistamine
Slacki eksemplari seadistamine
Slacki eksemplari seadistamine

Et skript saaks Slackiga suhelda, vajate bot API võtit.

Alustuseks logige sisse oma Slacki meeskonna veebilehele (https://my.slack.com/services/new/bot) ja valisite oma robotile kasutajanime, seejärel kopeerige pakutud API -luba.

Samm: looge nõrk kanal ja kutsuge oma robot kanalile

Looge nõrk kanal ja kutsuge oma robot kanalile
Looge nõrk kanal ja kutsuge oma robot kanalile

Võite kasutada üldist lõdvestuskanalit või soovi korral luua eraldi lõtvkanali.

Minu puhul kasutasin #robot-claire-control

Peate oma roboti kanalile kutsuma, vastasel juhul ei näe ta saadetud sõnumeid.

Samm: laadige alla SlackPiBoti lähtekood ja seadistage

Laadige alla slackPiBot lähtekood gitist:

git kloon

Värskendage rida 29 oma API võtmega:

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

Värskendage rida 34 oma roboti nimega:

kui user.get ('nimi') == "robot-claire":

6. toiming: konfigureerige Crontabid automaatselt käivituma:

Crontabide seadistamine automaatselt käivituma:

crontab -e

Lisage oma crontabi põhja alljärgnev:

@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

Samm: valikuline: lisage USB -kõlari väljund

Selle projekti jaoks kasutan USA Robotics'i USB -valjuhääldit - saadaval Amazonist või ebayst.

Kui kasutate midagi sarnast, peate muutma süsteemi vaikimisi heliseadet, muutes alsa konfiguratsiooni (/usr/share/alsa/alsa.conf). Muutke järgmisi ridu:

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

1 on teie seadme indeks. USB -seadme ID leidmiseks käivitage aplay -l ja otsige kaardi ID -d.

8. samm: valikuline: sõnumite kustutamiseks lisage robotile traadiga nupud

Valikuline: sõnumite kustutamiseks lisage robotile traadiga nupud
Valikuline: sõnumite kustutamiseks lisage robotile traadiga nupud
Valikuline: sõnumite kustutamiseks lisage robotile traadiga nupud
Valikuline: sõnumite kustutamiseks lisage robotile traadiga nupud

See samm on valikuline, kuid väga soovitatav ekraanil olevate sõnumite kustutamiseks.

Olen oma robotile lisanud kaks vajutusnuppu, kuid selles projektis kasutan ainult GPIO17.

Skript check_button.py, mis käivitub, küsitleb GPIO17 iga paari millisekundi tagant ja allavajutatuna saadab ekraani tühjendamiseks näidisekraani HTTP POST -i.

9. samm: selle kõik kokku tõmbamine ja väljundi saatmine Pi -le

Selle projekti jaoks sobib kokku 4 skripti:

/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 skripti pakub Pimoroni ja see on lihtne veebirakendus ekraani juhtimiseks POST-käskudega.

Skript check_button küsitleb GPIO tihvte ja kui nuppu vajutatakse, saadab skriptile web-api.py HTTP POST.

Script forever.py käivitab skripti slackPiBot.py, et tagada tabamatute vigade ilmnemine või katkestamine, käivitatakse skript sõnumite kadumise vältimiseks.

Skript slackPiBot.py loob ühenduse loiduga ja jälgib kanalit sõnumite algusega "bot" või IFTT postitusi. Sobivuse korral saadab see skriptile web-api.py HTTP POST-i ja kuvab selle ekraanil.

10. etapp: valikuline: IFTT integreerimine

Valikuline: IFTT integratsioon
Valikuline: IFTT integratsioon
Valikuline: IFTT integreerimine
Valikuline: IFTT integreerimine
Valikuline: IFTT integreerimine
Valikuline: IFTT integreerimine

Selle projekti eesmärk oli hoiatada mu lapsi videodest, mille on postitanud inimesed, keda nad YouTube'is jälgivad, kuna nad on liiga noored, et neil oleks oma iPhone või iPad. Ma saavutasin selle, luues IFTT retseptid, mis saadavad pärast video postitamist teatise lõdvale juhtimiskanalile.

Juhenditavate wiki muudab selle ühe sammu nägemise keeruliseks, kuid ülaltoodud ekraanipildid näitavad lõpptulemust.

Soovitan: