Sadržaj:

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

Video: Raspberry Pi Slack Scroll Bot !: 10 koraka

Video: Raspberry Pi Slack Scroll Bot !: 10 koraka
Video: MKS SGEN L V1.0 - TMC2208 UART install 2024, Studeni
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!

Ovaj projekt kombinira Raspberry Pi s kompletom Pimoroni Scroll Bota (izmijenjenim pomoću gumba), Slack i IFTT za vizualne i zvučne obavijesti kada se YouTube videozapisi objavljuju na pretplati!

Izmjene gumba u kompletu su izborne, kao i zvučnik koji najavljuje dolazak novog videozapisa.

Ovo također možete koristiti za slanje bilo koje poruke botu kroz slack, unaprijed dodajući "bot" prednji dio poruke, poput "bot hello world". "bot clear" će očistiti zaslon.

Korak 1: Pomaknite sklop robota

Dovršite upute za sastavljanje Pimoroni Scroll Bota:

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

Korak 2: Instalirajte pakete i kodnu bazu

Instalirajte audio pakete:

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

sudo apt-get install mpg123

Instalirajte pakete python:

pip install flask

pip install psutil pip install slackclient

Slijedite vodič u Pimoroniju kako biste započeli s pomicanjem šešira:

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

što uključuje preuzimanje uzorka izvornog koda i resursa:

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

Budući da je zaslon montiran naopako u kompletu robota, morate otkomentirati kôd da biste zaslon rotirali za 180:

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

Korak 3: Konfiguriranje Slack instance

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

Da bi skripta komunicirala sa Slackom, trebat će vam API ključ za robota.

Počnite tako da se prijavite na svoju web stranicu Slack tima (https://my.slack.com/services/new/bot) i odaberete korisničko ime za svog bota, a zatim kopirajte dostavljeni API token.

Korak 4: Izradite labavi kanal i pozovite svog robota na kanal

Napravite labavi kanal i pozovite svog robota na kanal
Napravite labavi kanal i pozovite svog robota na kanal

Možete koristiti opći labavi kanal ili, ako želite, možete stvoriti zasebni labavi kanal.

U mom slučaju koristio sam #robot-claire-control

Morate pozvati svog robota na kanal, inače neće vidjeti poruke koje se šalju.

Korak 5: Preuzmite SlackPiBot izvorni kod i konfigurirajte

Preuzmite slackPiBot izvorni kod s gita:

git klon

Ažurirajte redak 29 svojim API ključem:

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

Ažurirajte redak 34 svojim imenom robota:

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

Korak 6: Konfigurirajte Crontabs da se automatski pokreće pri pokretanju:

Postavljanje crontaba za automatsko pokretanje pri pokretanju:

crontab -e

Na dno crontaba dodajte sljedeće:

@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

Korak 7: Izborno: Dodajte izlaz USB zvučnika

Za ovaj projekt koristim USB zvučnik tvrtke US Robotics - dostupan na amazonu ili ebayu.

Ako koristite nešto slično, morat ćete promijeniti zadani zvučni uređaj sustava uređivanjem alsa konfiguracije (/usr/share/alsa/alsa.conf). Promijenite sljedeće retke:

zadane postavke.ctl.card 1defaults.pcm.card 1

1 je indeks vašeg uređaja. Da biste pronašli ID uređaja vašeg USB uređaja, pokrenite aplay -l i potražite ID kartice.

Korak 8: Izborno: dodajte žičane gumbe u robota za brisanje poruka

Izborno: dodajte žičane gumbe robotu za brisanje poruka
Izborno: dodajte žičane gumbe robotu za brisanje poruka
Izborno: dodajte žičane gumbe robotu za brisanje poruka
Izborno: dodajte žičane gumbe robotu za brisanje poruka

Ovaj korak nije obavezan, ali se preporučuje za brisanje poruka na ekranu.

Robotu sam dodao dva gumba, ali u ovom projektu koristim samo GPIO17.

Skripta check_button.py koja se pokreće pri pokretanju anketira GPIO17 svakih nekoliko milisekundi, a ako je pritisnuta, šalje HTTP POST na skriptu uzorka zaslona radi brisanja zaslona.

Korak 9: Sve to zajedno i slanje izlaza na Pi

Postoje 4 skripte koje zajedno rade za ovaj projekt:

/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 skriptu pruža Pimoroni i jednostavna je web aplikacija za upravljanje zaslonom pomoću POST naredbi.

Python skripta check_button ispituje GPIO pinove i kada je gumb pritisnut šalje HTTP POST skripti web-api.py.

Skripta forever.py pokreće skriptu slackPiBot.py kako bi se osiguralo da će se, ako postoje neke neshvaćene pogreške ili prekine vezu sa slack -om, skripta ponovno pokrenuti kako bi se izbjeglo propuštanje poruka.

Skripta slackPiBot.py spaja se na slack i prati kanal za poruke koje počinju s "bot" ili postove s IFTT -a. Ako postoji podudaranje, poslat će HTTP POST na skriptu web-api.py i prikazati na ekranu.

Korak 10: Izborno: IFTT integracija

Izborno: IFTT integracija
Izborno: IFTT integracija
Izborno: IFTT integracija
Izborno: IFTT integracija
Izborno: IFTT integracija
Izborno: IFTT integracija

Ovaj je projekt osmišljen da upozori moju djecu na videozapise koje su objavili ljudi koje prate na youtube -u, budući da su premladi da bi imali vlastiti iPhone ili iPad. To sam postigao izradom IFTT recepata koji šalju obavijest na labavi kontrolni kanal nakon objavljivanja videozapisa.

Wiki sa uputama čini ovo kompliciranim za vidjeti u jednom koraku, ali gornji snimci zaslona prikazuju krajnji rezultat.

Preporučeni: