Sadržaj:
- Korak 1: Pomaknite sklop robota
- Korak 2: Instalirajte pakete i kodnu bazu
- Korak 3: Konfiguriranje Slack instance
- Korak 4: Izradite labavi kanal i pozovite svog robota na kanal
- Korak 5: Preuzmite SlackPiBot izvorni kod i konfigurirajte
- Korak 6: Konfigurirajte Crontabs da se automatski pokreće pri pokretanju:
- Korak 7: Izborno: Dodajte izlaz USB zvučnika
- Korak 8: Izborno: dodajte žičane gumbe u robota za brisanje poruka
- Korak 9: Sve to zajedno i slanje izlaza na Pi
- Korak 10: Izborno: IFTT integracija
2025 Autor: John Day | [email protected]. Zadnja promjena: 2025-01-13 06:57
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
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
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
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
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.