Daftar Isi:
- Langkah 1: Gulir Majelis Bot
- Langkah 2: Instal Paket dan Basis Kode
- Langkah 3: Mengonfigurasi Instans Slack
- Langkah 4: Buat Saluran Slack, dan Undang Robot Anda ke Saluran
- Langkah 5: Unduh Kode Sumber & Konfigurasi SlackPiBot
- Langkah 6: Konfigurasikan Crontab untuk Memulai Secara Otomatis saat Boot:
- Langkah 7: Opsional: Tambahkan Output Speaker USB
- Langkah 8: Opsional: Tambahkan Tombol Berkabel ke Robot untuk Menghapus Pesan
- Langkah 9: Menarik Semuanya Bersama-sama dan Mengirim Output ke Pi
- Langkah 10: Opsional: Integrasi IFTT
2025 Pengarang: John Day | [email protected]. Terakhir diubah: 2025-01-13 06:57
Proyek ini menggabungkan Raspberry Pi dengan kit Pimoroni Scroll Bot (dimodifikasi dengan tombol), Slack, dan IFTT untuk pemberitahuan visual dan suara saat video youtube diposting ke langganan!
Modifikasi tombol pada kit bersifat opsional, begitu juga speaker untuk mengumumkan kedatangan video baru.
Anda juga dapat menggunakan ini untuk mengirim pesan apa pun ke bot melalui slack dengan menambahkan "bot" di depan pesan, seperti "bot hello world". "bot clear" akan menghapus layar.
Langkah 1: Gulir Majelis Bot
Selesaikan instruksi untuk merakit Pimoroni Scroll Bot:
learn.pimoroni.com/tutorial/sandyj/assembl…
Langkah 2: Instal Paket dan Basis Kode
Instal Paket Audio:
sudo apt-get update & sudo apt-get upgrade -y
sudo apt-get install mpg123
Instal paket python:
labu pemasangan pip
pip install psutil pip install slackclient
Ikuti tutorial di Pimoroni's untuk Memulai dengan Scroll Hat:
learn.pimoroni.com/tutorial/sandyj/getting…
yang mencakup mengunduh contoh kode sumber dan sumber daya:
curl https://get.pimoroni.com/scrollphathd | pesta
Karena layar dipasang terbalik di kit robot, Anda perlu menghapus komentar kode untuk memutar layar 180:
$ sed -i 's/#scrollphathd.rotate(degrees=180)/scrollphathd.rotate(degrees=180)/g' /home/pi/Pimoroni/scrollphathd/examples/web-api.py
Langkah 3: Mengonfigurasi Instans Slack
Agar skrip dapat berkomunikasi dengan Slack, Anda memerlukan Kunci API bot.
Mulailah dengan masuk ke halaman web tim Slack Anda (https://my.slack.com/services/new/bot) dan pilih nama pengguna untuk bot Anda, lalu salin token API yang disediakan.
Langkah 4: Buat Saluran Slack, dan Undang Robot Anda ke Saluran
Anda dapat menggunakan saluran slack umum, atau jika mau, Anda dapat membuat saluran slack terpisah.
Dalam kasus saya, saya menggunakan #robot-claire-control
Anda harus mengundang robot Anda ke dalam saluran, atau ia tidak akan melihat pesan yang dikirim.
Langkah 5: Unduh Kode Sumber & Konfigurasi SlackPiBot
Unduh kode sumber slackPiBot dari git:
git clone
Perbarui baris 29 dengan Kunci API Anda:
slack_client = SlackClient("xoxb-YOUR-API-KEY-HERE")
Perbarui baris 34 dengan nama robot Anda:
if user.get('name') == "robot-claire":
Langkah 6: Konfigurasikan Crontab untuk Memulai Secara Otomatis saat Boot:
Menyiapkan crontab untuk memulai secara otomatis saat boot:
crontab -e
Tambahkan yang berikut ini ke bagian 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 /home/pi/ slackPiBot/slackPiBot.py >> /home/pi/slackPiBot/outputLog.txt 2>&1
Langkah 7: Opsional: Tambahkan Output Speaker USB
Untuk proyek ini, saya menggunakan speakerphone USB dari US Robotics - tersedia di amazon atau ebay.
Jika menggunakan sesuatu yang serupa, Anda perlu mengubah perangkat suara sistem default dengan mengedit konfigurasi alsa (/usr/share/alsa/alsa.conf). Ubah baris berikut:
defaults.ctl.card 1defaults.pcm.card 1
1 menjadi indeks perangkat Anda. Untuk menemukan ID perangkat perangkat USB Anda, jalankan aplay -l dan cari ID kartu.
Langkah 8: Opsional: Tambahkan Tombol Berkabel ke Robot untuk Menghapus Pesan
Langkah ini opsional tetapi sangat disarankan untuk menghapus pesan di layar.
Saya telah menambahkan dua tombol tekan ke robot saya, tetapi dalam proyek ini saya hanya menggunakan GPIO17.
Skrip check_button.py yang berjalan saat boot polling GPIO17 setiap beberapa milidetik dan jika ditekan mengirimkan HTTP POST ke skrip layar sampel untuk menghapus layar.
Langkah 9: Menarik Semuanya Bersama-sama dan Mengirim Output ke Pi
Ada 4 skrip yang bekerja sama untuk proyek 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 sederhana untuk mengontrol layar dengan perintah POST.
Skrip python check_button polling pin GPIO dan ketika tombol ditekan mengirimkan HTTP POST ke skrip web-api.py.
Skrip selamanya.py memulai skrip slackPiBot.py untuk memastikan bahwa jika ada kesalahan yang tidak tertangkap atau terputus dari slack, skrip dimulai ulang untuk menghindari kehilangan pesan apa pun.
Skrip slackPiBot.py terhubung ke slack dan memantau saluran untuk pesan yang dimulai dengan "bot" atau posting dari IFTT. Jika ada kecocokan, itu akan mengirim HTTP POST ke skrip web-api.py dan ditampilkan di layar.
Langkah 10: Opsional: Integrasi IFTT
Proyek ini dirancang untuk mengingatkan anak-anak saya tentang video yang diposting oleh orang-orang yang mereka ikuti di youtube, karena mereka terlalu muda untuk memiliki iPhone atau iPad mereka sendiri. Saya menyelesaikan ini dengan membuat resep IFTT yang mengirim pemberitahuan ke saluran kontrol kendur setelah video diposting.
Wiki yang dapat diinstruksikan membuat ini rumit untuk dilihat dalam satu langkah, tetapi tangkapan layar di atas menunjukkan hasil akhirnya.