Isi kandungan:

Bot Skrol Raspberry Pi Slack !: 10 Langkah
Bot Skrol Raspberry Pi Slack !: 10 Langkah

Video: Bot Skrol Raspberry Pi Slack !: 10 Langkah

Video: Bot Skrol Raspberry Pi Slack !: 10 Langkah
Video: 10 RetroPie Setup Tips and Tutorial for the Raspberry Pi 4 2024, Julai
Anonim
Bot Skrol Raspberry Pi Slack!
Bot Skrol Raspberry Pi Slack!
Bot Skrol Raspberry Pi Slack!
Bot Skrol Raspberry Pi Slack!
Bot Skrol Raspberry Pi Slack!
Bot Skrol Raspberry Pi Slack!

Projek ini menggabungkan Raspberry Pi dengan Pimoroni Scroll Bot kit (diubah suai dengan butang), Slack, dan IFTT untuk pemberitahuan visual dan didengar semasa video youtube diposkan ke langganan!

Pengubahsuaian butang pada kit adalah pilihan, begitu juga pembesar suara untuk mengumumkan kedatangan video baru.

Anda juga dapat menggunakan ini untuk mengirim pesan ke bot melalui slack dengan menyiapkan "bot" di depan pesan, seperti "bot hello world". "bot clear" akan membersihkan skrin.

Langkah 1: Skrol Bot Assembly

Lengkapkan arahan untuk memasang Bot Skrol Pimoroni:

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

Langkah 2: Pasang Pakej dan Pangkalan Data

Pasang Pakej Audio:

sudo apt-get kemas kini & sudo apt-get upgrade -y

sudo apt-get install mpg123

Pasang pakej python:

pip pasang kelalang

pip install psutil pip install slackclient

Ikuti tutorial di Pimoroni untuk Memulakan Topi Scroll:

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

yang merangkumi memuat turun contoh kod sumber dan sumber:

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

Oleh kerana skrin dipasang terbalik di dalam robot kit, anda perlu membuat kod untuk membuat putaran skrin 180:

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

Langkah 3: Mengkonfigurasi Slack Instance

Konfigurasi Slack Instance
Konfigurasi Slack Instance
Konfigurasi Slack Instance
Konfigurasi Slack Instance

Untuk skrip berkomunikasi dengan Slack, anda memerlukan Kunci API bot.

Mulakan dengan log masuk ke laman web pasukan Slack anda (https://my.slack.com/services/new/bot) dan pilih nama pengguna untuk bot anda, kemudian salin token API yang disediakan.

Langkah 4: Buat Saluran Slack, dan Jemput Robot Anda ke Saluran

Buat Saluran Slack, dan Jemput Robot Anda ke Saluran
Buat Saluran Slack, dan Jemput Robot Anda ke Saluran

Anda boleh menggunakan saluran kendur umum, atau jika mahu, anda boleh membuat saluran kendur yang berasingan.

Dalam kes saya, saya menggunakan # robot-claire-control

Anda mesti menjemput robot anda ke saluran, atau tidak akan melihat mesej yang dihantar.

Langkah 5: Muat turun SlackPiBot Source Code & Configure

Muat turun kod sumber slackPiBot dari git:

git klon

Kemas kini baris 29 dengan Kekunci API anda:

slack_client = SlackClient ("xoxb-API ANDA-KEY-SINI")

Kemas kini baris 34 dengan nama robot anda:

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

Langkah 6: Konfigurasikan Crontabs untuk Memulakan Secara Automatik pada Boot:

Menyiapkan crontab untuk memulakan secara automatik semasa boot:

crontab -e

Tambahkan yang berikut ke bahagian bawah crontab anda:

@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 / rumah / pi / slackPiBot / slackPiBot.py >> /home/pi/slackPiBot/outputLog.txt 2> & 1

Langkah 7: Pilihan: Tambahkan Output Pembesar Suara USB

Untuk projek ini, saya menggunakan telefon bimbit USB dari Robotik AS - tersedia di amazon atau ebay.

Sekiranya menggunakan sesuatu yang serupa, anda perlu menukar peranti suara sistem lalai dengan mengedit konfigurasi alsa (/usr/share/alsa/alsa.conf). Tukar baris berikut:

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

1 menjadi indeks peranti anda. Untuk mencari ID peranti peranti USB anda, jalankan aplay -l dan cari ID kad.

Langkah 8: Pilihan: Tambah Butang Berwayar ke Robot untuk Menghapus Mesej

Pilihan: Tambah Butang Berwayar ke Robot untuk Menghapus Mesej
Pilihan: Tambah Butang Berwayar ke Robot untuk Menghapus Mesej
Pilihan: Tambah Butang Berwayar ke Robot untuk Menghapus Mesej
Pilihan: Tambah Butang Berwayar ke Robot untuk Menghapus Mesej

Langkah ini adalah pilihan tetapi sangat disyorkan untuk membersihkan mesej di skrin.

Saya telah menambah dua butang tekan pada robot saya, tetapi dalam projek ini saya hanya menggunakan GPIO17.

Skrip check_button.py yang dijalankan pada boot meninjau GPIO17 setiap beberapa milisaat dan jika tertekan mengirim HTTP POST ke skrip skrin sampel untuk membersihkan skrin.

Langkah 9: Mengumpulkan Semuanya Bersama dan Menghantar Output ke Pi

Terdapat 4 skrip yang berfungsi bersama untuk projek ini:

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

Skrip web-api disediakan oleh Pimoroni dan merupakan aplikasi web mudah untuk mengendalikan layar dengan perintah POST.

Skrip python check_button memeriksa pin GPIO dan apabila butang ditekan akan menghantar HTTP POST ke skrip web-api.py.

Skrip forever.py memulakan skrip slackPiBot.py untuk memastikan bahawa jika terdapat ralat yang tidak tertangkap atau terputus dari slack, skrip dimulakan semula untuk mengelakkan kehilangan sebarang mesej.

Skrip slackPiBot.py menyambung ke slack dan memantau saluran untuk mesej yang bermula dengan "bot" atau siaran dari IFTT. Sekiranya ada pertandingan, ia akan mengirim HTTP POST ke skrip web-api.py dan dipaparkan di layar.

Langkah 10: Pilihan: Integrasi IFTT

Pilihan: Integrasi IFTT
Pilihan: Integrasi IFTT
Pilihan: Integrasi IFTT
Pilihan: Integrasi IFTT
Pilihan: Integrasi IFTT
Pilihan: Integrasi IFTT

Projek ini dirancang untuk memberi amaran kepada anak-anak saya mengenai video yang disiarkan oleh orang yang mereka ikuti di youtube, kerana mereka terlalu muda untuk memiliki iPhone atau iPad mereka sendiri. Saya berjaya melakukannya dengan membuat resipi IFTT yang menghantar pemberitahuan ke saluran kendali setelah video disiarkan.

Wiki arahan boleh membuat ini rumit untuk dilihat dalam satu langkah, tetapi tangkapan skrin di atas menunjukkan hasil akhirnya.

Disyorkan: