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, Novembar
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 projekat kombinuje Raspberry Pi sa kompletom Pimoroni Scroll Bot (modifikovan pomoću dugmadi), Slack i IFTT za vizuelna i zvučna obaveštenja kada se YouTube video zapisi postave na pretplatu!

Promjene tipki u kompletu su opcionalne, kao i zvučnik koji najavljuje dolazak novog videozapisa.

Ovo možete koristiti i za slanje bilo koje poruke botu kroz slack, dodavanjem "bot" na prednju stranu poruke, poput "bot hello world". "bot clear" će očistiti ekran.

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 python pakete:

pip install flask

pip install psutil pip install slackclient

Slijedite vodič za Pimoroni's za početak rada sa šeširom za pomicanje:

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 ekran montiran naopako u kompletu robota, morate otkomentirati kôd da biste rotirali ekran za 180:

$ sed -i's/#scrollphathd.rotate (stepeni = 180) /scrollphathd.rotate (stepeni = 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 mogla komunicirati sa Slackom, trebat će vam API ključ bot.

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

Korak 4: Kreirajte Slack kanal i pozovite svog robota na kanal

Kreirajte labavi kanal i pozovite svog robota na kanal
Kreirajte 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 sa gita:

git clone

Ažurirajte red 29 svojim API ključem:

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

Ažurirajte red 34 svojim imenom robota:

ako 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: Opcionalno: Dodajte izlaz USB zvučnika

Za ovaj projekt koristim USB spikerfon kompanije US Robotics - dostupan na amazonu ili ebayu.

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

defaults.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: Opcionalno: Dodajte žičane tipke robotu za brisanje poruka

Izborno: Dodajte žičane gumbe u Robota za brisanje poruka
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

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

Robotu sam dodao dva tastera, 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 oglednu skriptu ekrana radi brisanja ekrana.

Korak 9: Sve to zajedno i slanje izlaza na Pi

Postoje 4 skripte koje rade zajedno 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 ekranom pomoću POST naredbi.

Python skripta check_button proverava GPIO pinove i kada se pritisne dugme š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 greške ili prekine vezu sa slack -om, skripta ponovo pokrenuti kako bi se izbjeglo propuštanje poruka.

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

Korak 10: Opcionalno: IFTT integracija

Opciono: IFTT integracija
Opciono: IFTT integracija
Opciono: IFTT integracija
Opciono: IFTT integracija
Opciono: IFTT integracija
Opciono: IFTT integracija

Ovaj projekt je 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 stvaranjem IFTT recepata koji šalju obavještenje na labavi kontrolni kanal nakon objavljivanja videozapisa.

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

Preporučuje se: