Բովանդակություն:

Raspberry Pi Slack Scroll Bot !: 10 քայլ
Raspberry Pi Slack Scroll Bot !: 10 քայլ

Video: Raspberry Pi Slack Scroll Bot !: 10 քայլ

Video: Raspberry Pi Slack Scroll Bot !: 10 քայլ
Video: Slack Pi Bot 2024, Հուլիսի
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!

Այս նախագիծը համատեղում է Raspberry Pi- ն Pimoroni Scroll Bot հավաքածուի հետ (փոփոխված է կոճակներով), Slack- ը և IFTT- ը տեսողական և լսելի ծանուցումների համար, երբ youtube- ի տեսանյութերը տեղադրվեն բաժանորդագրության:

Հավաքածուի կոճակների փոփոխությունները պարտադիր չեն, ինչպես նաև խոսնակի կողմից `նոր տեսահոլովակի ժամանումը հայտարարելու մասին:

Կարող եք նաև օգտագործել սա ցանկացած հաղորդագրություն բոտին slack- ի միջոցով ուղարկելու համար ՝ նախապես տեղադրելով «bot» հաղորդագրության առջևը, օրինակ ՝ «bot hello world»: «bot clear» - ը կհեռացնի էկրանը:

Քայլ 1: Ոլորեք բոտերի հավաքում

Լրացրեք Pimoroni Scroll Bot- ի հավաքման հրահանգները.

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

Քայլ 2: Տեղադրեք փաթեթներ և ծածկագրեր

Տեղադրեք աուդիո փաթեթներ.

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

sudo apt-get տեղադրել mpg123

Տեղադրեք python փաթեթներ.

pip տեղադրման շիշ

pip install psutil pip install slackclient

Հետևեք Pimoroni's- ի ձեռնարկին ՝ ոլորման գլխարկով սկսելու համար.

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

որը ներառում է նմուշի կոդի և ռեսուրսների ներբեռնում.

ոլորել https://get.pimoroni.com/scrollphathd | բաշ

Քանի որ էկրանը գլխիվայր տեղադրված է ռոբոտների հավաքածուի մեջ, էկրանը 180 -ը պտտելու համար պետք է մեկնաբանել կոդը:

$ sed -i 's/#scrollphathd.rotate (աստիճաններ = 180) /scrollphathd.rotate (աստիճաններ = 180)/g' /home/pi/Pimoroni/scrollphathd/examples/web-api.py

Քայլ 3: Slack Instance- ի կազմաձևում

Slack Instance- ի կազմաձևում
Slack Instance- ի կազմաձևում
Slack Instance- ի կազմաձևում
Slack Instance- ի կազմաձևում

Slack- ի հետ սցենարը հաղորդակցվելու համար ձեզ հարկավոր կլինի bot API բանալին:

Սկսեք ՝ մուտք գործելով ձեր Slack թիմի վեբ էջ (https://my.slack.com/services/new/bot) և ընտրեք օգտվողի անուն ձեր բոտի համար, այնուհետև պատճենեք տրամադրված API նշանը:

Քայլ 4: Ստեղծեք Slack Channel և հրավիրեք ձեր ռոբոտին դեպի ալիք:

Ստեղծեք Slack Channel և հրավիրեք ձեր ռոբոտին դեպի ալիք
Ստեղծեք Slack Channel և հրավիրեք ձեր ռոբոտին դեպի ալիք

Դուք կարող եք օգտագործել ընդհանուր թուլության ալիքը, կամ, եթե նախընտրում եք, կարող եք ստեղծել առանձին սլաք ալիք:

Իմ դեպքում ես օգտագործել եմ #robot-claire-control

Դուք պետք է ձեր ռոբոտին հրավիրեք ալիք, հակառակ դեպքում այն չի տեսնի ուղարկված հաղորդագրությունները:

Քայլ 5: Ներբեռնեք SlackPiBot աղբյուրի կոդը և կազմաձևեք

Ներբեռնեք slackPiBot աղբյուրի կոդը git- ից.

git կլոն

Թարմացրեք 29 -րդ տողը ձեր API բանալիով.

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

Թարմացրեք 34 -րդ տողը ձեր ռոբոտի անունով.

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

Քայլ 6. Կարգավորեք Crontabs- ը ՝ Boot- ում ավտոմատ կերպով սկսելու համար

Բեռնման ժամանակ ավտոմատ սկսելու համար crontabs- ի տեղադրում.

crontab -e

Ձեր crontab- ի ներքևում ավելացրեք հետևյալը.

@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: Լրացուցիչ. Ավելացրեք USB բարձրախոսի ելք

Այս նախագծի համար ես օգտագործում եմ ԱՄՆ ռոբոտաշինության USB խոսափող ՝ հասանելի Amazon- ում կամ ebay- ում:

Եթե նման բան եք օգտագործում, ապա ձեզ հարկավոր է փոխել կանխադրված համակարգի ձայնային սարքը ՝ խմբագրելով alsa կոնֆիգուրացիան (/usr/share/alsa/alsa.conf): Փոխեք հետևյալ տողերը.

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

1 -ը ձեր սարքի ինդեքսն է: Ձեր USB սարքի սարքի ID- ն գտնելու համար գործարկեք aplay -l և փնտրեք քարտի ID- ն:

Քայլ 8: Լրացուցիչ. Ավելացրեք լարային կոճակներ ռոբոտին `հաղորդագրությունները ջնջելու համար

Լրացուցիչ. Ավելացրեք լարային կոճակներ ռոբոտին `հաղորդագրությունները ջնջելու համար
Լրացուցիչ. Ավելացրեք լարային կոճակներ ռոբոտին `հաղորդագրությունները ջնջելու համար
Լրացուցիչ. Ավելացրեք լարային կոճակներ ռոբոտին `հաղորդագրությունները ջնջելու համար
Լրացուցիչ. Ավելացրեք լարային կոճակներ ռոբոտին `հաղորդագրությունները ջնջելու համար

Այս քայլը պարտադիր չէ, բայց խորհուրդ է տրվում էկրանի հաղորդագրությունները ջնջել:

Ես ռոբոտին ավելացրել եմ երկու կոճակ, բայց այս նախագծում ես օգտագործում եմ միայն GPIO17- ը:

Check_button.py սցենարը, որն աշխատում է boit հարցումներով GPIO17- ով, մի քանի միլիվայրկյան մեկ և դեպրեսիայի դեպքում HTTP POST է ուղարկում էկրանի օրինակին `էկրանը մաքրելու համար:

Քայլ 9: Այդ ամենը միասին քաշել և արդյունքը ուղարկել Pi- ին

Այս նախագծի համար գործում են 4 սցենարներ.

/home/pi/Pimoroni/scrollphathd/examples/web-api.py/home/pi/slackPiBot/check_button.py/home/pi/slackPiBot/forever.py /home/pi/slackPiBot/slackPiBot.py

Վեբ-api սցենարը տրամադրվում է Pimoroni- ի կողմից և պարզ վեբ ծրագիր է ՝ POST հրամաններով էկրանը կառավարելու համար:

The check_button python սցենարը հարցում է կատարում GPIO կապում, և երբ կոճակը սեղմվում է, HTTP POST է ուղարկում web-api.py սցենարին:

Forever.py սցենարը գործարկում է slackPiBot.py սցենարը `համոզվելու համար, որ եթե կան որևէ չբացահայտված սխալներ կամ անջատվում են թուլությունից, սցենարը կվերագործարկվի` որևէ հաղորդագրություն բաց չթողնելու համար:

SlackPiBot.py սցենարը միանում է սլաքին և վերահսկում է ալիքը «բոտով» կամ IFTT- ից ստացվող հաղորդագրությունների համար: Եթե համընկնում կա, այն HTTP POST կուղարկի web-api.py սցենարին և կցուցադրվի էկրանին:

Քայլ 10: Լրացուցիչ. IFTT ինտեգրում

Լրացուցիչ. IFTT ինտեգրում
Լրացուցիչ. IFTT ինտեգրում
Լրացուցիչ. IFTT ինտեգրում
Լրացուցիչ. IFTT ինտեգրում
Լրացուցիչ. IFTT ինտեգրում
Լրացուցիչ. IFTT ինտեգրում

Այս նախագիծը կոչված էր իմ երեխաներին զգուշացնելու այն տեսանյութերի մասին, որոնք տեղադրված են մարդկանց կողմից, ում նրանք հետևում են youtube- ում, քանի որ նրանք շատ փոքր են իրենց iPhone կամ iPad- եր ունենալու համար: Ես դա արեցի ՝ ստեղծելով IFTT բաղադրատոմսեր, որոնք տեսանյութը տեղադրելուց հետո ծանուցում են ուղարկում թուլացած կառավարման ալիքին:

Ուսուցանելի վիքիի համար դա բարդ է դարձնում մեկ քայլում տեսնելը, բայց վերևի սքրինշոթերը ցույց են տալիս վերջնական արդյունքը:

Խորհուրդ ենք տալիս: