Πίνακας περιεχομένων:

Raspberry Pi Slack Scroll Bot!: 10 Βήματα
Raspberry Pi Slack Scroll Bot!: 10 Βήματα

Βίντεο: Raspberry Pi Slack Scroll Bot!: 10 Βήματα

Βίντεο: Raspberry Pi Slack Scroll Bot!: 10 Βήματα
Βίντεο: 30 лучших советов и рекомендаций по Windows 10 на 2020 год 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 σε συνδρομή!

Οι τροποποιήσεις κουμπιών στο κιτ είναι προαιρετικές, καθώς και το ηχείο για να ανακοινώσει την άφιξη ενός νέου βίντεο.

Μπορείτε επίσης να το χρησιμοποιήσετε για να στείλετε οποιοδήποτε μήνυμα στο bot μέσω του slack, προτείνοντας το "bot" στο μπροστινό μέρος του μηνύματος, όπως το "bot hello world". Το "bot clear" θα καθαρίσει την οθόνη.

Βήμα 1: Scroll Bot Assembly

Συμπληρώστε τις οδηγίες για τη συναρμολόγηση του Pimoroni Scroll Bot:

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

Βήμα 2: Εγκατάσταση πακέτων και Codebase

Εγκατάσταση πακέτων ήχου:

sudo apt-get ενημέρωση & sudo apt-get αναβάθμιση -y

sudo apt-get install mpg123

Εγκατάσταση πακέτων python:

φιάλη εγκατάστασης pip

pip install psutil pip install slackclient

Ακολουθήστε το σεμινάριο στο Pimoroni's για να ξεκινήσετε με το Scroll Hat:

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, θα χρειαστείτε ένα κλειδί API bot.

Ξεκινήστε συνδέοντας την ιστοσελίδα της ομάδας Slack (https://my.slack.com/services/new/bot) και επιλέξτε ένα όνομα χρήστη για το bot σας και, στη συνέχεια, αντιγράψτε το διακριτικό API που παρέχεται.

Βήμα 4: Δημιουργήστε ένα Slack Channel και προσκαλέστε το ρομπότ σας στο κανάλι

Δημιουργήστε ένα Slack Channel και προσκαλέστε το ρομπότ σας στο κανάλι
Δημιουργήστε ένα Slack Channel και προσκαλέστε το ρομπότ σας στο κανάλι

Μπορείτε να χρησιμοποιήσετε το γενικό κανάλι χαλαρότητας, ή αν προτιμάτε, μπορείτε να δημιουργήσετε ένα ξεχωριστό κανάλι χαλαρότητας.

Στην περίπτωσή μου χρησιμοποίησα #robot-claire-control

Πρέπει να προσκαλέσετε το ρομπότ σας στο κανάλι, διαφορετικά δεν θα δει τα μηνύματα που αποστέλλονται.

Βήμα 5: Κάντε λήψη του SlackPiBot πηγαίου κώδικα και διαμόρφωση

Λήψη του πηγαίου κώδικα slackPiBot από το git:

git clone

Ενημερώστε τη γραμμή 29 με το κλειδί API:

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

Ενημερώστε τη γραμμή 34 με το όνομα του ρομπότ σας:

εάν user.get ('name') == "robot-claire":

Βήμα 6: Διαμόρφωση Crontabs για αυτόματη εκκίνηση κατά την εκκίνηση:

Ρύθμιση 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 από την US Robotics - διαθέσιμο στο amazon ή το ebay.

Εάν χρησιμοποιείτε κάτι παρόμοιο, θα χρειαστεί να αλλάξετε την προεπιλεγμένη συσκευή ήχου του συστήματος, επεξεργάζοντας το alsa config (/usr/share/alsa/alsa.conf). Αλλάξτε τις ακόλουθες γραμμές:

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

1 είναι το ευρετήριο της συσκευής σας. Για να βρείτε το αναγνωριστικό συσκευής της συσκευής USB, εκτελέστε το aplay -l και αναζητήστε το αναγνωριστικό της κάρτας.

Βήμα 8: Προαιρετικό: Προσθέστε ενσύρματα κουμπιά στο Robot για εκκαθάριση μηνυμάτων

Προαιρετικά: Προσθέστε ενσύρματα κουμπιά στο Robot για διαγραφή μηνυμάτων
Προαιρετικά: Προσθέστε ενσύρματα κουμπιά στο Robot για διαγραφή μηνυμάτων
Προαιρετικά: Προσθέστε ενσύρματα κουμπιά στο Robot για διαγραφή μηνυμάτων
Προαιρετικά: Προσθέστε ενσύρματα κουμπιά στο Robot για διαγραφή μηνυμάτων

Αυτό το βήμα είναι προαιρετικό, αλλά συνιστάται ιδιαίτερα για την εκκαθάριση μηνυμάτων στην οθόνη.

Έχω προσθέσει δύο κουμπιά στο ρομπότ μου, αλλά σε αυτό το έργο χρησιμοποιώ μόνο το 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

Το σενάριο web-api παρέχεται από την Pimoroni και είναι μια απλή εφαρμογή ιστού για τον έλεγχο της οθόνης με εντολές POST.

Το σενάριο python check_button ερωτά τις ακίδες GPIO και όταν πατηθεί το κουμπί στέλνει ένα HTTP POST στο σενάριο web-api.py.

Το σενάριο forever.py ξεκινά το σενάριο slackPiBot.py για να διασφαλίσετε ότι εάν υπάρχουν τυχόν μη εντοπισμένα σφάλματα ή αποσυνδεθούν από το slack, το σενάριο θα επανεκκινηθεί για να αποφύγετε να χάσετε μηνύματα.

Το σενάριο slackPiBot.py συνδέεται με το slack και παρακολουθεί το κανάλι για μηνύματα που ξεκινούν με "bot" ή αναρτήσεις από IFTT. Εάν υπάρχει αντιστοιχία, θα στείλει ένα HTTP POST στο σενάριο web-api.py και θα εμφανιστεί στην οθόνη.

Βήμα 10: Προαιρετικό: Ενσωμάτωση IFTT

Προαιρετικά: Ενσωμάτωση IFTT
Προαιρετικά: Ενσωμάτωση IFTT
Προαιρετικά: Ενσωμάτωση IFTT
Προαιρετικά: Ενσωμάτωση IFTT
Προαιρετικά: Ενσωμάτωση IFTT
Προαιρετικά: Ενσωμάτωση IFTT

Αυτό το έργο σχεδιάστηκε για να ειδοποιήσει τα παιδιά μου για βίντεο που δημοσιεύτηκαν από άτομα που παρακολουθούν στο youtube, καθώς είναι πολύ μικρά για να έχουν το δικό τους iPhone ή iPad. Το πέτυχα δημιουργώντας συνταγές IFTT που στέλνουν ειδοποίηση στο κανάλι ελέγχου χαλάρωσης μόλις δημοσιευτεί ένα βίντεο.

Το εκπαιδευτικό wiki καθιστά πολύπλοκο να το δείτε σε ένα βήμα, αλλά τα παραπάνω στιγμιότυπα οθόνης δείχνουν το τελικό αποτέλεσμα.

Συνιστάται: