Съдържание:

Raspberry Pi Slack Scroll Bot !: 10 стъпки
Raspberry Pi Slack Scroll Bot !: 10 стъпки

Видео: Raspberry Pi Slack Scroll Bot !: 10 стъпки

Видео: Raspberry Pi Slack Scroll Bot !: 10 стъпки
Видео: Leap Motion SDK 2024, Юли
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!

Този проект комбинира Raspberry Pi с комплект Pimoroni Scroll Bot (модифициран с бутони), Slack и IFTT за визуални и звукови известия, когато видеоклипове в YouTube се публикуват в абонамент!

Промените в бутоните на комплекта са незадължителни, както и високоговорителят, за да обяви пристигането на нов видеоклип.

Можете също да използвате това, за да изпратите всяко съобщение до бота чрез слабина, като предварително добавите „bot“в предната част на съобщението, като например „bot hello world“. "bot clear" ще изчисти екрана.

Стъпка 1: Превъртете сглобяването на бота

Попълнете инструкциите за сглобяване на Pimoroni Scroll Bot:

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

Стъпка 2: Инсталирайте пакети и кодова база

Инсталирайте аудио пакети:

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

sudo apt-get install mpg123

Инсталирайте пакети на python:

pip install колба

pip install psutil pip install slackclient

Следвайте урока в Pimoroni's за Първи стъпки с шапка за превъртане:

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

което включва изтегляне на примерния изходен код и ресурси:

curl https://get.pimoroni.com/scrollphathd | баш

Тъй като екранът е монтиран с главата надолу в комплекта за роботи, трябва да разкоментирате кода, за да завъртите екрана на 180:

$ sed -i's/#scrollphathd.rotate (градуси = 180) /scrollphathd.rotate (градуси = 180)/g '/home/pi/Pimoroni/scrollphathd/examples/web-api.py

Стъпка 3: Конфигуриране на Slack Instance

Конфигуриране на Slack Instance
Конфигуриране на Slack Instance
Конфигуриране на Slack Instance
Конфигуриране на Slack Instance

За да може скриптът да комуникира със Slack, ще ви е необходим API ключ за бот.

Започнете, като влезете в уеб страницата на екипа на Slack (https://my.slack.com/services/new/bot) и изберете потребителско име за вашия бот, след което копирайте предоставения токен на API.

Стъпка 4: Създайте отпуснат канал и поканете робота си в канала

Създайте слаб канал и поканете робота си в канала
Създайте слаб канал и поканете робота си в канала

Можете да използвате общия слабинен канал или ако предпочитате можете да създадете отделен слабинен канал.

В моя случай използвах #robot-claire-control

Трябва да поканите робота си в канала, в противен случай той няма да вижда изпратените съобщения.

Стъпка 5: Изтеглете изходния код на SlackPiBot и конфигурирайте

Изтеглете изходния код на slackPiBot от git:

git clone

Актуализирайте ред 29 с вашия API ключ:

slack_client = SlackClient ("xoxb-YOUR-API-KEY-HERE")

Актуализирайте ред 34 с името на вашия робот:

ако user.get ('name') == "robot-claire":

Стъпка 6: Конфигурирайте Crontabs да стартира автоматично при зареждане:

Настройване на crontabs за автоматично стартиране при зареждане:

crontab -е

Добавете следното в долната част на вашия crontab:

@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: По избор: Добавете изход за USB високоговорител

За този проект използвам USB високоговорител от US Robotics - наличен на Amazon или eBay.

Ако използвате нещо подобно, ще трябва да промените системното звуково устройство по подразбиране, като редактирате конфигурацията на alsa (/usr/share/alsa/alsa.conf). Променете следните редове:

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

1 е индексът на вашето устройство. За да намерите идентификационния номер на вашето USB устройство, стартирайте aplay -l и потърсете идентификационния номер на картата.

Стъпка 8: По избор: Добавете жични бутони към робота, за да изчистите съобщенията

По избор: Добавете жични бутони към робота, за да изчистите съобщенията
По избор: Добавете жични бутони към робота, за да изчистите съобщенията
По избор: Добавете жични бутони към робота, за да изчистите съобщенията
По избор: Добавете жични бутони към робота, за да изчистите съобщенията

Тази стъпка не е задължителна, но силно се препоръчва за изчистване на съобщения от екрана.

Добавих два бутона за натискане към моя робот, но в този проект използвам само GPIO17.

Скриптът check_button.py, който се изпълнява при зареждане, проверява GPIO17 на всеки няколко милисекунди и ако е натиснат, изпраща HTTP POST до примерния скрипт на екрана, за да изчисти екрана.

Стъпка 9: Изтеглете всичко заедно и изпратете изхода към Pi

Има 4 скрипта, които работят заедно за този проект:

/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 се предоставя от Pimoroni и е просто уеб приложение за управление на екрана с POST команди.

Python скриптът check_button оправя пиновете на GPIO и когато бутонът е натиснат, изпраща HTTP POST до скрипта web-api.py.

Скриптът forever.py стартира скрипта slackPiBot.py, за да се гарантира, че ако има някакви неуловени грешки или прекъсвания от slack, скриптът се рестартира, за да се избегне пропускането на съобщения.

Скриптът slackPiBot.py се свързва с slack и следи канала за съобщения, започващи с „бот“или публикации от IFTT. Ако има съвпадение, той ще изпрати HTTP POST до скрипта web-api.py и ще се покаже на екрана.

Стъпка 10: По избор: IFTT интеграция

По избор: IFTT интеграция
По избор: IFTT интеграция
По избор: IFTT интеграция
По избор: IFTT интеграция
По избор: IFTT интеграция
По избор: IFTT интеграция

Този проект е предназначен да предупреди децата ми за видеоклипове, публикувани от хора, които следят в youtube, тъй като те са твърде малки, за да имат собствен iPhone или iPad. Постигнах това, като създадох IFTT рецепти, които изпращат известие до слабия контролен канал, след като е публикуван видеоклип.

Уикито с инструкции прави това сложно да се види в една стъпка, но екранните снимки по -горе показват крайния резултат.

Препоръчано: