
Оглавление:
- Шаг 1: сборка скролл-бота
- Шаг 2. Установите пакеты и кодовую базу
- Шаг 3. Настройка экземпляра Slack
- Шаг 4. Создайте Slack-канал и пригласите своего робота в этот канал
- Шаг 5: Загрузите исходный код SlackPiBot и настройте
- Шаг 6: Настройте Crontabs для автоматического запуска при загрузке:
- Шаг 7. Необязательно: добавьте выход на USB-динамик
- Шаг 8: Необязательно: добавьте к роботу проводные кнопки для удаления сообщений
- Шаг 9: Собираем все вместе и отправляем вывод на Pi
- Шаг 10: Необязательно: интеграция IFTT
2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-23 15:05



Этот проект сочетает в себе Raspberry Pi с комплектом Pimoroni Scroll Bot (модифицированным кнопками), Slack и IFTT для визуальных и звуковых уведомлений при публикации видео на YouTube по подписке!
Кнопки модификации комплекта не являются обязательными, как и динамик для объявления о прибытии нового видео.
Вы также можете использовать это для отправки любого сообщения боту через Slack, добавив «бот» в начало сообщения, например «бот, привет, мир». «бот очистить» очистит экран.
Шаг 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 flask
pip install psutil pip install slackclient
Следуйте инструкциям по началу работы с Scroll Hat в 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


Чтобы скрипт мог взаимодействовать со Slack, вам понадобится ключ API бота.
Начните с входа на веб-страницу своей команды Slack (https://my.slack.com/services/new/bot) и выберите имя пользователя для своего бота, а затем скопируйте предоставленный токен API.
Шаг 4. Создайте Slack-канал и пригласите своего робота в этот канал

Вы можете использовать общий резервный канал или, если хотите, можете создать отдельный резервный канал.
В моем случае я использовал # robot-claire-control
Вы должны пригласить своего робота в канал, иначе он не увидит отправляемые сообщения.
Шаг 5: Загрузите исходный код SlackPiBot и настройте
Загрузите исходный код slackPiBot с git:
git clone
Обновите строку 29 своим ключом API:
slack_client = SlackClient ("xoxb-ВАШ-API-КЛЮЧ-ЗДЕСЬ")
Обновите строку 34, указав имя вашего робота:
если user.get ('name') == "робот-Клэр":
Шаг 6: Настройте Crontabs для автоматического запуска при загрузке:
Настройка автоматического запуска crontab при загрузке:
crontab -e
Добавьте следующее в конец вашего 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



Этот проект был разработан, чтобы предупредить моих детей о видео, размещенных людьми, на которых они подписаны на YouTube, поскольку они слишком молоды, чтобы иметь собственный iPhone или iPad. Я добился этого, создав рецепты IFTT, которые отправляют уведомление в канал управления резервом после публикации видео.
Вики-страницы с инструкциями усложняют просмотр за один шаг, но приведенные выше скриншоты показывают конечный результат.
Рекомендуемые:
Средство обновления статуса Slack с ESP8266: 5 шагов (с изображениями)

Средство обновления статуса Slack с ESP8266: этот проект помогает сделать ваш день немного проще, если вы являетесь удаленным сотрудником, использующим Slack. Я покажу вам, как собрать его с помощью платы Wi-Fi ESP8266. Не пропустите видео с обзором. Независимо от того, используете ли вы Slack впервые или только что
Простая система статуса и бронирования кикера с интеграцией Slack: 12 шагов (с изображениями)

Простая система статуса и бронирования кикера с интеграцией со Slack: в компании, где я работаю, есть кикер-стол. Компания занимает много этажей, и некоторым сотрудникам требуется до 3 минут, чтобы добраться до стола и … осознать, что стол уже занят. Поэтому возникла идея построить ки
Установка Raspbian на Raspberry Pi 3 B без HDMI - Начало работы с Raspberry Pi 3B - Настройка Raspberry Pi 3: 6 шагов

Установка Raspbian на Raspberry Pi 3 B без HDMI | Начало работы с Raspberry Pi 3B | Настройка Raspberry Pi 3: как некоторые из вас знают, компьютеры Raspberry Pi довольно крутые, и вы можете получить весь компьютер всего на одной крошечной плате. Raspberry Pi 3 Model B оснащен четырехъядерным 64-битным ARM Cortex A53 работает на частоте 1,2 ГГц. Это ставит Pi 3 примерно на 50
Trash Built BT Line Drawing Bot - My Bot: 13 шагов (с изображениями)

Trash Built BT Line Drawing Bot - My Bot: Друзья, после долгого перерыва, около 6 месяцев, я пришел с новым проектом. До завершения Cute Drawing Buddy V1, SCARA Robot - Arduino я планирую создать еще одного бота для рисования, основная цель которого - покрыть большое пространство для рисования. Итак, фиксированные роботы-манипуляторы c
Slack Integrated Coffeebot: 4 шага

Slack Integrated Coffeebot: вы расстроены в офисе, когда на кухне никогда не бывает свежего кофе? Эта обычная офисная проблема требует серьезных действий. С помощью этого руководства вы можете создать встроенного в Slack кофейного робота для ваших кофеварок с помощью sma