Мазмуну:

Raspberry Pi Slack Scroll Bot!: 10 кадам
Raspberry Pi Slack Scroll Bot!: 10 кадам

Video: Raspberry Pi Slack Scroll Bot!: 10 кадам

Video: Raspberry Pi Slack Scroll Bot!: 10 кадам
Video: 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 clear" экранды тазалайт.

1 -кадам: Scroll Bot Assembly

Pimoroni Scroll Botту чогултуу боюнча нускамаларды аткарыңыз:

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

2 -кадам: Пакеттерди жана Codebase'ди орнотуңуз

Аудио пакеттерди орнотуу:

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

sudo apt-get орнотуу mpg123

Питон пакеттерин орнотуңуз:

пип орнотуу колбасы

pip install psutil pip install slackclient

Scroll Hat менен баштоо үчүн Pimoroni's окуу куралын ээрчиңиз:

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

баштапкы кодду жана ресурстарды жүктөөнү камтыйт:

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

Экран робот комплектинде тескери орнотулгандыктан, экранды 180 айландыруу үчүн кодду ачуу керек:

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

3 -кадам: Slack Instance конфигурациялоо

Slack Instance конфигурацияланууда
Slack Instance конфигурацияланууда
Slack Instance конфигурацияланууда
Slack Instance конфигурацияланууда

Сценарий Slack менен байланышуу үчүн сизге API API ачкычы керек болот.

Slack командасынын веб -баракчасына (https://my.slack.com/services/new/bot) кирип, ботуңуз үчүн колдонуучу атын тандап, андан кийин берилген API токенин көчүрүп алыңыз.

4 -кадам: Жалкоо канал түзүңүз жана Роботту Каналга Чакырыңыз

Каналыңызга Slack Каналын түзүңүз жана Роботту Каналга Чакырыңыз
Каналыңызга Slack Каналын түзүңүз жана Роботту Каналга Чакырыңыз

Сиз жалпы бош каналды колдоно аласыз, же кааласаңыз, өзүнчө бош канал түзө аласыз.

Менин учурда мен #робот-клер-контролду колдондум

Сиз роботту каналга чакырышыңыз керек, антпесе ал жөнөтүлгөн билдирүүлөрдү көрбөйт.

5 -кадам: SlackPiBot булак кодун жүктөп алыңыз жана конфигурациялаңыз

Гиттен slackPiBot баштапкы кодун жүктөп алыңыз:

git клону

API ачкычыңыз менен 29 -сапты жаңыртыңыз:

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

34 -линияны роботтун аты менен жаңыртыңыз:

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

6 -кадам: Crontabsти жүктөөдө автоматтык түрдө баштоо үчүн конфигурациялаңыз:

Crontabsти жүктөөдө автоматтык түрдө баштоо үчүн орнотуу:

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 Динамиктин Чыгуусун кошуңуз

Бул долбоор үчүн мен US Roboticsтин USB колонкасын колдонуп жатам - Amazon же ebayде жеткиликтүү.

Эгер окшош нерсени колдонуп жатсаңыз, alsa конфигурациясын (/usr/share/alsa/alsa.conf) түзөтүү менен демейки системанын үн түзмөгүн өзгөртүүңүз керек болот. Төмөнкү саптарды өзгөртүңүз:

демейки.ctl.card 1 дефолт.pcm.card 1

1 сиздин түзмөктүн индекси болуп саналат. USB түзмөгүңүздүн түзмөгүнүн идентификаторун табуу үчүн aplay -l иштетип, картанын идентификаторун издеңиз.

8 -кадам: Кошумча: Билдирүүлөрдү тазалоо үчүн роботко зымдуу баскычтарды кошуңуз

Кошумча: Билдирүүлөрдү тазалоо үчүн роботко зымдуу баскычтарды кошуңуз
Кошумча: Билдирүүлөрдү тазалоо үчүн роботко зымдуу баскычтарды кошуңуз
Кошумча: Билдирүүлөрдү тазалоо үчүн роботко зымдуу баскычтарды кошуңуз
Кошумча: Билдирүүлөрдү тазалоо үчүн роботко зымдуу баскычтарды кошуңуз

Бул кадам милдеттүү эмес, бирок экранда билдирүүлөрдү тазалоо үчүн абдан сунушталат.

Мен роботума эки баскычты коштум, бирок бул долбоордо мен GPIO17ди гана колдонуп жатам.

Жүктөө суроолору боюнча иштеген check_button.py GPIO17 ар бир миллисекундда сурамжылоо жүргүзөт жана эгер депрессия экранды тазалоо үчүн үлгү экран скриптине HTTP POST жөнөтөт.

9 -кадам: Бардыгын чогуу тартып, Пи -ге Чыгарууну Жөнөтүү

Бул долбоор үчүн чогуу иштеген 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 буйруктары менен экранды көзөмөлдөө үчүн жөнөкөй веб тиркеме.

Check_button python скрипти GPIO казыктарын сурамжылайт жана баскыч басылганда web-api.py скриптине HTTP POST жөнөтөт.

Forever.py скрипти slackPiBot.py скриптин баштайт, эгерде кандайдыр бир кармалбаган каталар же боштуктан ажыратылса, эч кандай билдирүүлөрдү жоготпоо үчүн скрипт кайра башталат.

SlackPiBot.py скрипти жалкоолорго туташат жана каналды "бот" менен башталган билдирүүлөрдү же IFTTден келген билдирүүлөрдү көзөмөлдөйт. Эгерде дал келүү болсо, ал HTTP POSTту web-api.py скриптине жөнөтөт жана экранда көрсөтүлөт.

10 -кадам: Кошумча: IFTT Интеграциясы

Кошумча: IFTT интеграциясы
Кошумча: IFTT интеграциясы
Кошумча: IFTT интеграциясы
Кошумча: IFTT интеграциясы
Кошумча: IFTT интеграциясы
Кошумча: IFTT интеграциясы

Бул долбоор менин балдарыма YouTube'да ээрчиген адамдар жарыялаган видеолорду эскертүү үчүн иштелип чыккан, анткени алар өздөрүнүн iPhone же iPad'лерине ээ болуу үчүн өтө жаш. Мен муну видео жарыялангандан кийин, боштукту көзөмөлдөө каналына билдирүү жөнөтүүчү IFTT рецептерин түзүү аркылуу ишке ашырдым.

Instructables вики муну бир кадамда көрүүнү татаалдаштырат, бирок жогорудагы скриншоттор акыркы натыйжаны көрсөтөт.

Сунушталууда: