Mundarija:

Raspberry Pi Slack Scroll Bot!: 10 qadam
Raspberry Pi Slack Scroll Bot!: 10 qadam

Video: Raspberry Pi Slack Scroll Bot!: 10 qadam

Video: Raspberry Pi Slack Scroll Bot!: 10 qadam
Video: Slack Pi Bot 2024, Iyul
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 loyiha Raspberry Pi ni Pimoroni Scroll Bot to'plami (tugmachalari bilan o'zgartirilgan), Slack va IFTT bilan birlashtirib, youtube videolari obunaga joylashtirilganda vizual va ovozli bildirishnomalar beradi!

To'plamning tugmachasini o'zgartirish ixtiyoriy, shuningdek, yangi video kelishi haqida karnay.

Bundan tashqari, "bot salom dunyo" kabi xabarning old qismiga "bot" ni oldindan qo'yish orqali botga istalgan xabarni yuborish uchun ham foydalanishingiz mumkin. "bot tozalash" ekranni tozalaydi.

1 -qadam: Bot yig'ilishini aylantiring

Pimoroni Scroll Botni yig'ish bo'yicha ko'rsatmalarni bajaring:

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

2 -qadam: Paketlar va kodlar bazasini o'rnating

Ovozli paketlarni o'rnating:

sudo apt-get update & sudo apt-get upgrade -y

sudo apt-get o'rnatish mpg123

Python paketlarini o'rnating:

pip o'rnatish idishi

pip install psutil pip install slackclient

Scroll Hat bilan ishlashni boshlash uchun Pimoroni's qo'llanmasini bajaring:

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

manba kodini va manbalarini namuna yuklab olishni o'z ichiga oladi:

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

Robot to'plamida ekran teskari o'rnatilgani uchun ekranni aylantirish uchun kodni o'chirish kerak:

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

3 -qadam: Slack misolini sozlash

Slack misolini sozlash
Slack misolini sozlash
Slack misolini sozlash
Slack misolini sozlash

Skript Slack bilan aloqa o'rnatishi uchun sizga API API kaliti kerak bo'ladi.

Slack guruhining veb -sahifasiga kirishdan boshlang (https://my.slack.com/services/new/bot) va botingiz uchun foydalanuvchi nomini tanlang, so'ng berilgan API tokenini nusxalash.

4 -qadam: Bo'shashgan kanal yarating va o'z robotingizni kanalga taklif qiling

Bo'shashgan kanal yarating va o'z robotingizni kanalga taklif qiling
Bo'shashgan kanal yarating va o'z robotingizni kanalga taklif qiling

Siz umumiy bo'shashgan kanaldan foydalanishingiz mumkin yoki xohlasangiz, alohida bo'sh kanal yaratishingiz mumkin.

Mening holimda #robot-kler-nazoratdan foydalanardim

Siz robotni kanalga taklif qilishingiz kerak, aks holda u yuborilgan xabarlarni ko'rmaydi.

5 -qadam: SlackPiBot kodini yuklab oling va sozlang

Git -dan slackPiBot manba kodini yuklab oling:

git klon

API kalitingiz bilan 29 -qatorni yangilang:

slack_client = SlackClient ("xoxb-YOUR-API-KEY-BU YERDA")

34 -qatorni robot nomi bilan yangilang:

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

6 -qadam: Crontabs -ni yuklashda avtomatik ravishda ishga tushirish uchun sozlang:

Crontabs -ni yuklashda avtomatik ravishda ishga tushirish uchun sozlash:

crontab -e

Crontab pastki qismiga quyidagilarni qo'shing:

@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 -qadam: Ixtiyoriy: USB karnayining chiqishini qo'shing

Ushbu loyiha uchun men US Robotics kompaniyasining USB karnayidan foydalanayapman - Amazon yoki ebayda.

Agar shunga o'xshash narsadan foydalansangiz, alsa konfiguratsiyasini (/usr/share/alsa/alsa.conf) tahrirlash orqali standart tizim ovoz qurilmasini o'zgartirishingiz kerak bo'ladi. Quyidagi qatorlarni o'zgartiring:

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

1 - bu qurilmangiz indeksi. USB qurilmangizning qurilma identifikatorini topish uchun aplay -l -ni ishga tushiring va karta identifikatorini qidiring.

8 -qadam: Majburiy emas: Xabarlarni tozalash uchun robotga simli tugmachalarni qo'shing

Majburiy emas: Xabarlarni tozalash uchun robotga simli tugmachalarni qo'shing
Majburiy emas: Xabarlarni tozalash uchun robotga simli tugmachalarni qo'shing
Majburiy emas: Xabarlarni tozalash uchun robotga simli tugmachalarni qo'shing
Majburiy emas: Xabarlarni tozalash uchun robotga simli tugmachalarni qo'shing

Bu qadam ixtiyoriy, lekin ekrandagi xabarlarni tozalash uchun tavsiya etiladi.

Men robotga ikkita tugmachani qo'shdim, lekin men bu loyihada faqat GPIO17 dan foydalanayapman.

Yuklashda ishlaydigan check_button.py skripti har bir necha millisekundda GPIO17 so'rovlarini o'tkazadi va agar tushkunlikka tushsa, ekranni tozalash uchun namuna skriptiga HTTP POST yuboradi.

9 -qadam: Hammasini bir joyga to'plash va chiqishni Pi ga yuborish

Ushbu loyiha uchun birgalikda ishlaydigan 4 ta skript mavjud:

/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 tomonidan taqdim etilgan va POST buyruqlari yordamida ekranni boshqaradigan oddiy veb-ilovadir.

Check_button python skript GPIO pinlarini so'roq qiladi va tugma bosilganda web-api.py skriptiga HTTP POST yuboradi.

Forever.py skripti slackPiBot.py skriptini ishga tushiradi, agar xato aniqlansa yoki bo'shashib qolsa, hech qanday xabar yo'qolmasligi uchun skript qayta ishga tushiriladi.

SlackPiBot.py skripti "slack" ga ulanadi va kanalni "bot" dan boshlangan xabarlar yoki IFTT xabarlarini kuzatib boradi. Agar mos keladigan bo'lsa, u web-api.py skriptiga HTTP POST yuboradi va ekranda aks etadi.

10 -qadam: ixtiyoriy: IFTT integratsiyasi

Majburiy emas: IFTT integratsiyasi
Majburiy emas: IFTT integratsiyasi
Majburiy emas: IFTT integratsiyasi
Majburiy emas: IFTT integratsiyasi
Majburiy emas: IFTT integratsiyasi
Majburiy emas: IFTT integratsiyasi

Bu loyiha mening bolalarimni youtube -da kuzatadigan odamlar tomonidan joylashtirilgan videolardan ogohlantirish uchun mo'ljallangan, chunki ular o'z iPhone yoki iPad -lariga ega bo'lish uchun juda yosh. Men buni video joylashtirilgandan so'ng, bo'shashgan kanalga xabar yuboradigan IFTT retseptlarini yaratish orqali qildim.

Viki ko'rsatmalari buni bir qadamda ko'rishni murakkablashtiradi, lekin yuqoridagi ekran tasvirlari yakuniy natijani ko'rsatadi.

Tavsiya: