Satura rādītājs:

Raspberry Pi Slack Scroll Bot!: 10 soļi
Raspberry Pi Slack Scroll Bot!: 10 soļi

Video: Raspberry Pi Slack Scroll Bot!: 10 soļi

Video: Raspberry Pi Slack Scroll Bot!: 10 soļi
Video: Slack Pi Bot 2024, Jūlijs
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!

Šis projekts apvieno Raspberry Pi ar Pimoroni Scroll Bot komplektu (modificēts ar pogām), Slack un IFTT vizuāliem un skaņas paziņojumiem, kad YouTube videoklipi tiek ievietoti abonementā!

Komplekta pogu modifikācijas nav obligātas, kā arī skaļrunis, lai paziņotu par jauna video ierašanos.

Varat arī to izmantot, lai nosūtītu jebkādus ziņojumus robotam, ievietojot "bot" ziņojuma priekšpusē, piemēram, "bot hello world". “bot clear” notīrīs ekrānu.

1. darbība: ritiniet robotu montāžu

Izpildiet Pimoroni Scroll Bot montāžas instrukcijas:

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

2. darbība: instalējiet pakotnes un kodu bāzi

Audio pakotņu instalēšana:

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

sudo apt-get install mpg123

Instalējiet python paketes:

pip uzstādīšanas kolba

pip instalēt psutil pip instalēt slackclient

Izpildiet Pimoroni's apmācību, lai sāktu darbu ar ritināšanas cepuri:

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

kas ietver avota koda un resursu parauga lejupielādi:

čokurošanās https://get.pimoroni.com/scrollphathd | bash

Tā kā ekrāns ir uzstādīts otrādi robotu komplektā, jums ir jāatceļ kods, lai pagrieztu ekrānu par 180:

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

3. darbība. Slack instances konfigurēšana

Slack instances konfigurēšana
Slack instances konfigurēšana
Slack instances konfigurēšana
Slack instances konfigurēšana

Lai skripts varētu sazināties ar Slack, jums būs nepieciešama bot API atslēga.

Sāciet, piesakoties savā Slack komandas tīmekļa vietnē (https://my.slack.com/services/new/bot) un izvēloties sava robota lietotājvārdu, pēc tam nokopējiet sniegto API marķieri.

4. darbība: izveidojiet vaļīgu kanālu un uzaiciniet savu robotu uz kanālu

Izveidojiet vaļīgu kanālu un uzaiciniet savu robotu uz kanālu
Izveidojiet vaļīgu kanālu un uzaiciniet savu robotu uz kanālu

Varat izmantot vispārējo atslābuma kanālu vai, ja vēlaties, izveidot atsevišķu atslābuma kanālu.

Manā gadījumā es izmantoju #robot-claire-control

Jums ir jāaicina robots kanālā, pretējā gadījumā tas neredzēs nosūtītās ziņas.

5. darbība: lejupielādējiet SlackPiBot avota kodu un konfigurējiet

Lejupielādējiet slackPiBot avota kodu no git:

git klons

Atjauniniet 29. rindu ar savu API atslēgu:

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

Atjauniniet 34. rindu ar sava robota nosaukumu:

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

6. darbība: konfigurējiet Crontabs automātiskai palaišanai sāknēšanas laikā:

Crontabs iestatīšana automātiskai startēšanai sāknēšanas laikā:

crontab -e

Crontab apakšā pievienojiet šādu informāciju:

@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> un 1

7. darbība: pēc izvēles: pievienojiet USB skaļruņa izeju

Šim projektam es izmantoju USB skaļruni no ASV Robotics - pieejams Amazon vai ebay.

Ja izmantojat kaut ko līdzīgu, jums būs jāmaina noklusējuma sistēmas skaņas ierīce, rediģējot alsa konfigurāciju (/usr/share/alsa/alsa.conf). Mainiet šādas rindas:

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

1 ir jūsu ierīces rādītājs. Lai atrastu USB ierīces ierīces ID, palaidiet aplay -l un atrodiet kartes ID.

8. darbība: pēc izvēles: pievienojiet vadu pogas robotam, lai notīrītu ziņojumus

Neobligāti: pievienojiet vadu pogas robotam, lai notīrītu ziņojumus
Neobligāti: pievienojiet vadu pogas robotam, lai notīrītu ziņojumus
Neobligāti: pievienojiet vadu pogas robotam, lai notīrītu ziņojumus
Neobligāti: pievienojiet vadu pogas robotam, lai notīrītu ziņojumus

Šī darbība nav obligāta, bet ļoti ieteicama, lai notīrītu ziņojumus ekrānā.

Esmu savam robotam pievienojis divas spiedpogas, taču šajā projektā es izmantoju tikai GPIO17.

Skripts check_button.py, kas darbojas sāknēšanas laikā, GPIO17 aptaujās ik pēc dažām milisekundēm un, ja tas ir nospiests, nosūta HTTP POST uz ekrāna parauga skriptu, lai notīrītu ekrānu.

9. solis: visu savelciet kopā un izvadiet Pi

Šim projektam kopā darbojas 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 skriptu nodrošina Pimoroni, un tā ir vienkārša tīmekļa lietojumprogramma, lai kontrolētu ekrānu ar POST komandām.

Check_button python skripts aptaujā GPIO tapas un, nospiežot pogu, nosūta HTTP POST uz skriptu web-api.py.

Skripts forever.py sāk darboties ar skriptu slackPiBot.py, lai nodrošinātu, ka, ja ir kādas nepieķertas kļūdas vai atvienojas no atslābuma, skripts tiek restartēts, lai nepalaistu garām nevienu ziņojumu.

Skripts slackPiBot.py izveido savienojumu ar atslābumu un uzrauga, vai kanālā nav ziņojumu, kas sākas ar "bot" vai ziņas no IFTT. Ja ir atbilstība, tā nosūtīs HTTP POST uz skriptu web-api.py un parādīs ekrānā.

10. darbība: pēc izvēles: IFTT integrācija

Pēc izvēles: IFTT integrācija
Pēc izvēles: IFTT integrācija
Pēc izvēles: IFTT integrācija
Pēc izvēles: IFTT integrācija
Pēc izvēles: IFTT integrācija
Pēc izvēles: IFTT integrācija

Šis projekts tika izstrādāts, lai brīdinātu savus bērnus par videoklipiem, ko ievietojuši cilvēki, kuriem viņi seko vietnē YouTube, jo viņi ir pārāk jauni, lai viņiem būtu savs iPhone vai iPad. Es to paveicu, izveidojot IFTT receptes, kas pēc videoklipa ievietošanas nosūta paziņojumu atslābuma kontroles kanālam.

Instrukciju wiki padara to sarežģītu redzēt vienā solī, bet iepriekš redzamie ekrānuzņēmumi parāda gala rezultātu.

Ieteicams: