İçindekiler:

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

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

Video: Raspberry Pi Slack Scroll Bot!: 10 Adım
Video: Kiosk mode Bruteforce Evasion with Flipper Zero 2024, Kasım
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 proje bir Raspberry Pi ile bir Pimoroni Scroll Bot kiti (düğmelerle değiştirilmiş), Slack ve IFTT'yi bir araya getirerek youtube videoları bir aboneliğe gönderildiğinde görsel ve sesli bildirimler için!

Kitteki düğme değişiklikleri isteğe bağlıdır ve hoparlör yeni bir videonun gelişini duyurur.

Bunu, mesajın önüne "bot" yazarak "bot merhaba dünya" gibi herhangi bir mesajı bolluk yoluyla bot'a göndermek için de kullanabilirsiniz. "bot clear" ekranı temizleyecektir.

Adım 1: Kaydırma Botu Meclisi

Pimoroni Scroll Bot'u monte etme talimatlarını tamamlayın:

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

2. Adım: Paketleri ve Kod Tabanını Kurun

Ses Paketlerini Yükleyin:

sudo apt-get güncelleme ve sudo apt-get upgrade -y

sudo apt-get install mpg123

Python paketlerini kurun:

pip yükleme şişesi

pip kurulumu psutil pip kurulumu slackclient

Scroll Hat'e Başlarken için Pimoroni'deki öğreticiyi izleyin:

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

örnek kaynak kodunu ve kaynakları indirmeyi içerir:

curl https://get.pimoroni.com/scrollphathd | bash

Ekran robot kitinde baş aşağı monte edildiğinden, ekranı 180 döndürmek için kodu açmanız gerekir:

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

3. Adım: Slack Örneği Yapılandırma

Slack Örneği Yapılandırma
Slack Örneği Yapılandırma
Slack Örneği Yapılandırma
Slack Örneği Yapılandırma

Komut dosyasının Slack ile iletişim kurması için bir bot API Anahtarına ihtiyacınız olacak.

Slack ekibi web sayfanıza (https://my.slack.com/services/new/bot) giriş yaparak başlayın ve botunuz için bir kullanıcı adı seçin, ardından sağlanan API jetonunu kopyalayın.

Adım 4: Bir Gevşek Kanal Oluşturun ve Robotunuzu Kanala Davet Edin

Slack Kanalı Oluşturun ve Robotunuzu Kanala Davet Edin
Slack Kanalı Oluşturun ve Robotunuzu Kanala Davet Edin

Genel bolluk kanalını kullanabilir veya dilerseniz ayrı bir bolluk kanalı oluşturabilirsiniz.

Benim durumumda #robot-claire-control kullandım

Robotunuzu kanala davet etmelisiniz, yoksa gönderilen mesajları görmez.

Adım 5: SlackPiBot Kaynak Kodunu İndirin ve Yapılandırın

Git'ten slackPiBot kaynak kodunu indirin:

git klonu

API Anahtarınızla 29. satırı güncelleyin:

slack_client = SlackClient("xoxb-API-ANAHTARINIZ-BURADA")

34. satırı robot adınızla güncelleyin:

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

Adım 6: Crontab'ları Önyüklemede Otomatik Olarak Başlayacak Şekilde Yapılandırın:

Önyüklemede otomatik olarak başlamak için crontab'ları ayarlama:

crontab -e

Aşağıdakileri crontab'ınızın altına ekleyin:

@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. Adım: İsteğe Bağlı: Bir USB Hoparlör Çıkışı Ekleyin

Bu proje için, amazon veya ebay'de bulunan US Robotics'ten bir USB hoparlör kullanıyorum.

Benzer bir şey kullanıyorsanız, alsa yapılandırmasını (/usr/share/alsa/alsa.conf) düzenleyerek varsayılan sistem ses aygıtını değiştirmeniz gerekecektir. Aşağıdaki satırları değiştirin:

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

1, cihazınızın indeksidir. USB cihazınızın cihaz kimliğini bulmak için aplay -l komutunu çalıştırın ve kart kimliğini arayın.

Adım 8: İsteğe Bağlı: Mesajları Silmek için Robota Kablolu Düğmeler Ekleyin

İsteğe bağlı: Mesajları Temizlemek için Robota Kablolu Düğmeler Ekleyin
İsteğe bağlı: Mesajları Temizlemek için Robota Kablolu Düğmeler Ekleyin
İsteğe bağlı: Mesajları Temizlemek için Robota Kablolu Düğmeler Ekleyin
İsteğe bağlı: Mesajları Temizlemek için Robota Kablolu Düğmeler Ekleyin

Bu adım isteğe bağlıdır ancak ekrandaki mesajları temizlemek için şiddetle tavsiye edilir.

Robotuma iki buton ekledim ama bu projede sadece GPIO17 kullanıyorum.

Önyüklemede çalışan check_button.py komut dosyası, birkaç milisaniyede bir GPIO17'yi yoklar ve basılırsa, ekranı temizlemek için örnek ekran komut dosyasına bir HTTP POST gönderir.

Adım 9: Hepsini Bir Araya Getirmek ve Çıktıyı Pi'ye Göndermek

Bu proje için birlikte çalışan 4 komut dosyası 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 betiği Pimoroni tarafından sağlanır ve ekranı POST komutlarıyla kontrol etmek için basit bir web uygulamasıdır.

check_button python betiği GPIO pinlerini yoklar ve düğmeye basıldığında web-api.py betiğine bir HTTP POST gönderir.

Forever.py betiği slackPiBot.py betiğini başlatır ve yakalanmamış herhangi bir hata veya gevşeklik bağlantısının kesilmesi durumunda herhangi bir mesajı kaçırmamak için betiğin yeniden başlatılmasını sağlar.

SlackPiBot.py betiği slack'e bağlanır ve kanalı "bot" ile başlayan mesajlar veya IFTT'den gelen mesajlar için izler. Bir eşleşme varsa, web-api.py betiğine bir HTTP POST gönderir ve ekranda görüntülenir.

Adım 10: İsteğe bağlı: IFTT Entegrasyonu

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

Bu proje, çocuklarıma kendi iPhone veya iPad'lerine sahip olamayacak kadar küçük oldukları için youtube'da takip ettikleri kişiler tarafından gönderilen videolar konusunda uyarmak için tasarlandı. Bunu, bir video yayınlandıktan sonra gevşek kontrol kanalına bir bildirim gönderen IFTT tarifleri oluşturarak başardım.

Instructables wiki, bunu tek adımda görmeyi karmaşık hale getirir, ancak yukarıdaki ekran görüntüleri nihai sonucu gösterir.

Önerilen: