Kazalo:

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

Video: Raspberry Pi Slack Scroll Bot !: 10 korakov

Video: Raspberry Pi Slack Scroll Bot !: 10 korakov
Video: Leap Motion SDK 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!

Ta projekt združuje Raspberry Pi s kompletom Pimoroni Scroll Bot (spremenjen z gumbi), Slack in IFTT za vizualna in zvočna obvestila, ko so videoposnetki na YouTubu objavljeni v naročnini!

Spremembe gumbov v kompletu so neobvezne, zvočnik pa napoveduje prihod novega videoposnetka.

To lahko uporabite tudi za pošiljanje kakršnega koli sporočila botu prek slacka, tako da na sprednji strani sporočila vnaprej dodate "bot", na primer "bot hello world". "bot clear" bo počistil zaslon.

1. korak: Pomaknite sklop Bota

Izpolnite navodila za sestavljanje Pimoronijevega zvitka:

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

2. korak: Namestite pakete in kodno bazo

Namestite zvočne pakete:

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

sudo apt-get install mpg123

Namestite pakete python:

pip namestite bučko

pip install psutil pip install slackclient

Sledite vadnici pri Pimoroniju za začetek uporabe drsnega klobuka:

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

ki vključuje prenos vzorčne izvorne kode in virov:

curl https://get.pimoroni.com/scrollphathd | bash

Ker je zaslon v kompletu robotov nameščen na glavo, morate odkomentirati kodo, da zaslon zavrtite za 180:

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

3. korak: Konfiguriranje Slack Instance

Konfiguriranje Slack Instance
Konfiguriranje Slack Instance
Konfiguriranje Slack Instance
Konfiguriranje Slack Instance

Če želite, da skript komunicira s Slackom, potrebujete ključ API -ja bota.

Začnite tako, da se prijavite na svojo spletno stran ekipe Slack (https://my.slack.com/services/new/bot) in izberete uporabniško ime za svojega bota, nato pa kopirajte priložen žeton API.

4. korak: Ustvarite slab kanal in povabite svojega robota na kanal

Ustvarite ohlapen kanal in povabite svojega robota na kanal
Ustvarite ohlapen kanal in povabite svojega robota na kanal

Uporabite lahko splošni ohlapen kanal ali če želite, lahko ustvarite ločen ohlapen kanal.

V mojem primeru sem uporabil #robot-claire-control

Robota morate povabiti v kanal, sicer ne bo videl poslanih sporočil.

5. korak: Prenesite izvorno kodo SlackPiBot in konfigurirajte

Prenesite izvorno kodo slackPiBot iz gita:

git clone

Posodobite vrstico 29 s ključem API:

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

Posodobite vrstico 34 z imenom svojega robota:

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

6. korak: Konfigurirajte Crontabs za samodejni zagon ob zagonu:

Nastavitev crontabov za samodejni zagon ob zagonu:

crontab -e

Na dno crontaba dodajte naslednje:

@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

7. korak: Izbirno: Dodajte izhod za zvočnik USB

Za ta projekt uporabljam zvočnik USB podjetja US Robotics - na voljo na amazonu ali ebayu.

Če uporabljate kaj podobnega, boste morali spremeniti privzeto sistemsko zvočno napravo tako, da uredite konfiguracijo alsa (/usr/share/alsa/alsa.conf). Spremenite naslednje vrstice:

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

1 je indeks vaše naprave. Če želite poiskati ID naprave USB, zaženite aplay -l in poiščite ID kartice.

8. korak: Izbirno: Dodajte žične gumbe robotu za brisanje sporočil

Izbirno: dodajte žične gumbe robotu za brisanje sporočil
Izbirno: dodajte žične gumbe robotu za brisanje sporočil
Izbirno: dodajte žične gumbe robotu za brisanje sporočil
Izbirno: dodajte žične gumbe robotu za brisanje sporočil

Ta korak ni obvezen, vendar je zelo priporočljiv za brisanje sporočil na zaslonu.

Robotu sem dodal dva gumba, vendar v tem projektu uporabljam samo GPIO17.

Skript check_button.py, ki se izvaja ob zagonu, vsakih nekaj milisekund anketira GPIO17 in če je pritisnjen, pošlje HTTP POST vzorčnemu scenariju zaslona, da počisti zaslon.

9. korak: Vse skupaj povlecite in pošljite izhod v Pi

Za ta projekt sodelujejo 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

Skript web-api ponuja Pimoroni in je preprosta spletna aplikacija za nadzor zaslona z ukazi POST.

Skript python check_button anketira zatiče GPIO in ko pritisnete gumb, pošlje HTTP POST v skript web-api.py.

Skript forever.py sproži skript slackPiBot.py, da se zagotovi, da se v primeru kakršnih koli ulovljenih napak ali prekinitev povezave s slack, skript znova zažene, da se izognete izgubi sporočil.

Skript slackPiBot.py se poveže s slack in spremlja kanal za sporočila, ki se začnejo z "bot" ali objave iz IFTT. Če se ujema, bo poslal HTTP POST v skript web-api.py in se prikazal na zaslonu.

10. korak: Izbirno: integracija IFTT

Izbirno: integracija IFTT
Izbirno: integracija IFTT
Izbirno: integracija IFTT
Izbirno: integracija IFTT
Izbirno: integracija IFTT
Izbirno: integracija IFTT

Ta projekt je bil zasnovan tako, da je moje otroke opozoril na videoposnetke, ki jih objavijo ljudje, ki jih spremljajo na youtube, saj so premladi, da bi imeli svoj iPhone ali iPad. To sem dosegel z ustvarjanjem receptov IFTT, ki po objavi videoposnetka pošljejo obvestilo krmilnemu kanalu.

Wiki z navodili otežuje ogled v enem koraku, vendar zgornji posnetki zaslona prikazujejo končni rezultat.

Priporočena: