Mündəricat:

Raspberry Pi Slack Scroll Bot!: 10 addım
Raspberry Pi Slack Scroll Bot!: 10 addım

Video: Raspberry Pi Slack Scroll Bot!: 10 addım

Video: Raspberry Pi Slack Scroll Bot!: 10 addım
Video: Google Engineer Salary Levels #shorts 2024, Noyabr
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!

Bu layihə, youtube videoları abunəliyə yerləşdirildikdə vizual və səsli bildirişlər üçün Raspberry Pi -ni Pimoroni Scroll Bot dəsti (düymələrlə dəyişdirilmiş), Slack və IFTT ilə birləşdirir!

Kitdəki düymə dəyişiklikləri isteğe bağlıdır və yeni bir videonun gəldiyini elan etmək üçün dinamik.

Bundan əlavə, "bota salam dünya" kimi mesajın ön hissəsinə "bot" yazaraq bota hər hansı bir mesaj göndərmək üçün də istifadə edə bilərsiniz. "bot sil" ekranı təmizləyəcək.

Addım 1: Bot Qurğusunu sürüşdürün

Pimoroni Kaydırma Botunun montajı üçün təlimatları tamamlayın:

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

Addım 2: Paketləri və Kod Bazasını Qurun

Səs paketlərini quraşdırın:

sudo apt-get yeniləmə və sudo apt-get upgrade -y

sudo apt-get quraşdırma mpg123

Python paketlərini quraşdırın:

pip quraşdırma qabı

pip install psutil pip install slackclient

Scroll Hat ilə Başlamaq üçün Pimoroni'sdəki təlimatı izləyin:

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

nümunə mənbə kodunun və mənbələrin yüklənməsini ehtiva edir:

əymək https://get.pimoroni.com/scrollphathd | bash

Robot dəstində ekran tərsinə quraşdırıldığından ekranı 180 çevirmək üçün kodu açmalısınız:

$ sed -i 's/#scrollphathd.rotate (dərəcə = 180)/scrollphathd.rotate (dərəcə = 180)/g' /home/pi/Pimoroni/scrollphathd/examples/web-api.py

Addım 3: Slack Instance -ı konfiqurasiya edin

Slack Instance -ı konfiqurasiya edin
Slack Instance -ı konfiqurasiya edin
Slack Instance -ı konfiqurasiya edin
Slack Instance -ı konfiqurasiya edin

Skriptin Slack ilə ünsiyyət qurması üçün bot API Açarına ehtiyacınız olacaq.

Slack komandanızın veb səhifəsinə (https://my.slack.com/services/new/bot) daxil olaraq başlayın və botunuz üçün bir istifadəçi adı seçin, sonra verilən API işarəsini kopyalayın.

Addım 4: Yavaş bir Kanal yaradın və Robotunuzu Kanala Dəvət Edin

Boş bir Kanal yaradın və Robotunuzu Kanala Dəvət Edin
Boş bir Kanal yaradın və Robotunuzu Kanala Dəvət Edin

Ümumi boş kanaldan istifadə edə bilərsiniz və ya istəsəniz ayrı bir boşluq kanalı yarada bilərsiniz.

Mənim vəziyyətimdə #robot-claire-control istifadə etdim

Robotunuzu kanala dəvət etməlisiniz, əks halda göndərilən mesajları görməyəcək.

Addım 5: SlackPiBot Mənbə Kodunu Yükləyin və Konfiqurasiya edin

SlackPiBot qaynaq kodunu git -dən yükləyin:

git klonu

API Açarınızla 29 -cu sətri yeniləyin:

slack_client = SlackClient ("xoxb-SİZİN-API-KEY-BURADA")

Robot adınızla 34 xəttini yeniləyin:

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

Addım 6: Boot -da avtomatik olaraq işə başlamaq üçün Crontabs -ı konfiqurasiya edin:

Yükləmə zamanı avtomatik olaraq başlamaq üçün crontabs qurmaq:

crontab -e

Crontabınızın altına aşağıdakıları əlavə edin:

@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

Addım 7: İsteğe bağlı: USB Dinamik Çıxışı əlavə edin

Bu layihə üçün, Amazon Robotics şirkətinin USB hoparlöründən istifadə edirəm - Amazon və ya ebayda.

Bənzər bir şey istifadə edirsinizsə, alsa konfiqurasiyasını (/usr/share/alsa/alsa.conf) redaktə edərək standart sistem səs cihazını dəyişdirməlisiniz. Aşağıdakı sətirləri dəyişdirin:

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

1 cihazınızın indeksi. USB cihazınızın cihaz identifikatorunu tapmaq üçün aplay -l proqramını işə salın və kartın kimliyini axtarın.

Addım 8: İsteğe bağlı: Mesajları təmizləmək üçün Robota Simli Düymələr əlavə edin

İsteğe bağlı: Mesajları təmizləmək üçün Robota Simli Düymələr əlavə edin
İsteğe bağlı: Mesajları təmizləmək üçün Robota Simli Düymələr əlavə edin
İsteğe bağlı: Mesajları təmizləmək üçün Robota Simli Düymələr əlavə edin
İsteğe bağlı: Mesajları təmizləmək üçün Robota Simli Düymələr əlavə edin

Bu addım isteğe bağlıdır, lakin ekrandakı mesajları silmək üçün çox tövsiyə olunur.

Robotuma iki düymə əlavə etdim, amma bu layihədə yalnız GPIO17 istifadə edirəm.

Açılışda işləyən check_button.py skriptləri GPIO17 -ni hər bir neçə saniyə ərzində sorğu -sual edir və depressiyaya düşdükdə ekranı təmizləmək üçün nümunə ekran skriptinə HTTP POST göndərir.

Addım 9: Hamısını Birlikdə Çəkərək Pi -yə Çıxış Göndərin

Bu layihə üçün birlikdə işləyən 4 skript var:

/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 skripti Pimoroni tərəfindən təmin edilir və POST əmrləri ilə ekranı idarə etmək üçün sadə bir veb tətbiqidir.

Check_button python skript GPIO pinlərini sorğu-suala tutur və düyməyə basıldıqda web-api.py skriptinə HTTP POST göndərir.

Forever.py skript, tutulmamış səhvlər və ya boşluqdan ayrılarsa, hər hansı bir mesajı itirməmək üçün skriptin yenidən başladılmasını təmin etmək üçün slackPiBot.py skriptini işə salır.

SlackPiBot.py skripti, gəmiyə bağlanır və "bot" ilə başlayan mesajlar və ya IFTT -dən gələn mesajlar üçün kanalı izləyir. Bir uyğunluq varsa, web-api.py skriptinə HTTP POST göndərəcək və ekranda göstərəcəkdir.

Addım 10: İsteğe bağlı: IFTT İnteqrasiyası

İsteğe bağlı: IFTT İnteqrasiyası
İsteğe bağlı: IFTT İnteqrasiyası
İsteğe bağlı: IFTT İnteqrasiyası
İsteğe bağlı: IFTT İnteqrasiyası
İsteğe bağlı: IFTT İnteqrasiyası
İsteğe bağlı: IFTT İnteqrasiyası

Bu layihə, uşaqları öz iPhone və ya iPad -lərinə sahib olmaq üçün çox gənc olduqları üçün youtube -da izlədikləri insanlar tərəfindən yerləşdirilən videolardan xəbərdar etmək üçün hazırlanmışdır. Bunu bir video yayımlandıqdan sonra yavaş nəzarət kanalına bildiriş göndərən IFTT reseptləri yaratmaqla bacardım.

Təlimat verilə bilən viki bunu bir addımda görməyi çətinləşdirir, lakin yuxarıdakı ekran görüntüləri son nəticəni göstərir.

Tövsiyə: