विषयसूची:

रास्पबेरी पाई स्लैक स्क्रॉल बॉट!: 10 कदम
रास्पबेरी पाई स्लैक स्क्रॉल बॉट!: 10 कदम

वीडियो: रास्पबेरी पाई स्लैक स्क्रॉल बॉट!: 10 कदम

वीडियो: रास्पबेरी पाई स्लैक स्क्रॉल बॉट!: 10 कदम
वीडियो: Windows 11 ARM on Raspberry Pi 2024, जुलाई
Anonim
रास्पबेरी पाई स्लैक स्क्रॉल बॉट!
रास्पबेरी पाई स्लैक स्क्रॉल बॉट!
रास्पबेरी पाई स्लैक स्क्रॉल बॉट!
रास्पबेरी पाई स्लैक स्क्रॉल बॉट!
रास्पबेरी पाई स्लैक स्क्रॉल बॉट!
रास्पबेरी पाई स्लैक स्क्रॉल बॉट!

यह प्रोजेक्ट एक रास्पबेरी पाई को पिमोरोनी स्क्रॉल बॉट किट (बटन के साथ संशोधित), स्लैक और आईएफटीटी के साथ जोड़ता है, जब यूट्यूब वीडियो सदस्यता पर पोस्ट किए जाते हैं तो दृश्य और श्रव्य सूचनाओं के लिए!

किट में बटन संशोधन वैकल्पिक हैं, साथ ही स्पीकर एक नए वीडियो के आगमन की घोषणा करते हैं।

आप इसका उपयोग संदेश के सामने "बॉट" जैसे "बॉट हैलो वर्ल्ड" को प्रीपेन्ड करके स्लैक के माध्यम से बॉट को कोई संदेश भेजने के लिए भी कर सकते हैं। "बॉट क्लियर" स्क्रीन को साफ कर देगा।

चरण 1: स्क्रॉल बॉट असेंबली

पिमोरोनी स्क्रॉल बॉट को असेंबल करने के निर्देशों को पूरा करें:

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

चरण 2: पैकेज और कोडबेस स्थापित करें

ऑडियो पैकेज स्थापित करें:

sudo apt-get update और sudo apt-get upgrade -y

sudo apt-mpg123 स्थापित करें

पायथन पैकेज स्थापित करें:

पाइप स्थापित फ्लास्क

पाइप स्थापित करें psutil pip slackclient स्थापित करें

स्क्रॉल हैट के साथ आरंभ करने के लिए पिमोरोनी के ट्यूटोरियल का अनुसरण करें:

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: स्लैक इंस्टेंस को कॉन्फ़िगर करना

स्लैक इंस्टेंस को कॉन्फ़िगर करना
स्लैक इंस्टेंस को कॉन्फ़िगर करना
स्लैक इंस्टेंस को कॉन्फ़िगर करना
स्लैक इंस्टेंस को कॉन्फ़िगर करना

स्लैक के साथ संवाद करने के लिए स्क्रिप्ट के लिए, आपको एक बॉट एपीआई कुंजी की आवश्यकता होगी।

अपने स्लैक टीम वेबपेज (https://my.slack.com/services/new/bot) में लॉग इन करके शुरुआत करें और अपने बॉट के लिए एक यूजरनेम चुनें, फिर दिए गए एपीआई टोकन को कॉपी करें।

चरण 4: एक स्लैक चैनल बनाएं, और अपने रोबोट को चैनल पर आमंत्रित करें।

एक स्लैक चैनल बनाएं, और अपने रोबोट को चैनल पर आमंत्रित करें।
एक स्लैक चैनल बनाएं, और अपने रोबोट को चैनल पर आमंत्रित करें।

आप सामान्य स्लैक चैनल का उपयोग कर सकते हैं, या यदि आप चाहें तो आप एक अलग स्लैक चैनल बना सकते हैं।

मेरे मामले में मैंने इस्तेमाल किया #robot-claire-control

आपको अपने रोबोट को चैनल में आमंत्रित करना होगा, या यह भेजे गए संदेशों को नहीं देखेगा।

चरण 5: SlackPiBot स्रोत कोड डाउनलोड करें और कॉन्फ़िगर करें

slackPiBot स्रोत कोड को git से डाउनलोड करें:

गिट क्लोन

अपनी एपीआई कुंजी के साथ लाइन 29 अपडेट करें:

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

अपने रोबोट नाम के साथ लाइन 34 को अपडेट करें:

अगर user.get('name') == "robot-claire":

चरण 6: क्रॉस्टैब को बूट पर स्वचालित रूप से प्रारंभ करने के लिए कॉन्फ़िगर करें:

बूट पर स्वचालित रूप से प्रारंभ करने के लिए crontabs सेट करना:

क्रोंटैब -ई

निम्नलिखित को अपने क्रॉस्टैब के नीचे जोड़ें:

@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 स्पीकर आउटपुट जोड़ें

इस परियोजना के लिए, मैं यूएस रोबोटिक्स से एक यूएसबी स्पीकरफोन का उपयोग कर रहा हूं - अमेज़ॅन या ईबे पर उपलब्ध है।

अगर कुछ इसी तरह का उपयोग कर रहे हैं, तो आपको एल्सा कॉन्फिगरेशन (/usr/share/alsa/alsa.conf) को एडिट करके डिफॉल्ट सिस्टम साउंड डिवाइस को बदलना होगा। निम्नलिखित पंक्तियों को बदलें:

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

1 आपके डिवाइस की अनुक्रमणिका है। अपने यूएसबी डिवाइस की डिवाइस आईडी खोजने के लिए, aplay -l चलाएं और कार्ड आईडी देखें।

चरण 8: वैकल्पिक: संदेशों को साफ़ करने के लिए रोबोट में वायर्ड बटन जोड़ें

वैकल्पिक: संदेशों को साफ़ करने के लिए रोबोट में वायर्ड बटन जोड़ें
वैकल्पिक: संदेशों को साफ़ करने के लिए रोबोट में वायर्ड बटन जोड़ें
वैकल्पिक: संदेशों को साफ़ करने के लिए रोबोट में वायर्ड बटन जोड़ें
वैकल्पिक: संदेशों को साफ़ करने के लिए रोबोट में वायर्ड बटन जोड़ें

यह चरण वैकल्पिक है लेकिन स्क्रीन पर संदेशों को साफ़ करने के लिए अत्यधिक अनुशंसित है।

मैंने अपने रोबोट में दो पुश बटन जोड़े हैं, लेकिन इस प्रोजेक्ट में मैं केवल GPIO17 का उपयोग कर रहा हूं।

स्क्रिप्ट check_button.py जो बूट पर चलता है, हर कुछ मिलीसेकंड में 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

वेब-एपीआई स्क्रिप्ट पिमोरोनी द्वारा प्रदान की जाती है और POST कमांड के साथ स्क्रीन को नियंत्रित करने के लिए एक सरल वेब एप्लिकेशन है।

check_button python स्क्रिप्ट GPIO पिन को पोल करती है और जब बटन दबा हुआ होता है तो web-api.py स्क्रिप्ट पर एक HTTP POST भेजता है।

हमेशा के लिए.py स्क्रिप्ट यह सुनिश्चित करने के लिए slackPiBot.py स्क्रिप्ट को बंद कर देती है कि यदि कोई अनकही त्रुटियां हैं या स्लैक से डिस्कनेक्ट होती हैं, तो किसी भी संदेश को खोने से बचने के लिए स्क्रिप्ट को पुनरारंभ किया जाता है।

SlackPiBot.py स्क्रिप्ट स्लैक से जुड़ती है और "बॉट" से शुरू होने वाले संदेशों या IFTT से पोस्ट के लिए चैनल की निगरानी करती है। यदि कोई मेल है, तो यह web-api.py स्क्रिप्ट पर एक HTTP पोस्ट भेजेगा और स्क्रीन पर प्रदर्शित होगा।

चरण 10: वैकल्पिक: IFTT एकीकरण

वैकल्पिक: IFTT एकीकरण
वैकल्पिक: IFTT एकीकरण
वैकल्पिक: IFTT एकीकरण
वैकल्पिक: IFTT एकीकरण
वैकल्पिक: IFTT एकीकरण
वैकल्पिक: IFTT एकीकरण

यह प्रोजेक्ट मेरे बच्चों को उन लोगों द्वारा पोस्ट किए गए वीडियो के प्रति सचेत करने के लिए डिज़ाइन किया गया था, जिन्हें वे YouTube पर फ़ॉलो करते हैं, क्योंकि वे अपने स्वयं के iPhone या iPads रखने के लिए बहुत छोटे हैं। मैंने IFTT रेसिपी बनाकर इसे पूरा किया है जो एक वीडियो पोस्ट होने के बाद स्लैक कंट्रोल चैनल को एक सूचना भेजती है।

निर्देशयोग्य विकी इसे एक चरण में देखने के लिए जटिल बनाता है, लेकिन ऊपर दिए गए स्क्रीनशॉट अंतिम परिणाम दिखाते हैं।

सिफारिश की: