Obsah:

Raspberry Pi Slack Scroll Bot!: 10 kroků
Raspberry Pi Slack Scroll Bot!: 10 kroků

Video: Raspberry Pi Slack Scroll Bot!: 10 kroků

Video: Raspberry Pi Slack Scroll Bot!: 10 kroků
Video: Slack Pi Bot 2024, Listopad
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!

Tento projekt kombinuje Raspberry Pi se sadou Pimoroni Scroll Bot (upravenou tlačítky), Slack a IFTT pro vizuální a zvuková upozornění, když jsou videa z YouTube zveřejněna na předplatném!

Modifikace tlačítek na soupravě jsou volitelné, stejně jako reproduktor pro oznámení příchodu nového videa.

Můžete to také použít k odeslání jakékoli zprávy botovi prostřednictvím slacku tím, že na přední část zprávy napíšete „bot“, například „bot hello world“. "bot clear" vyčistí obrazovku.

Krok 1: Scroll Bot Assembly

Dokončete pokyny pro sestavení svitku Pimoroni:

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

Krok 2: Nainstalujte si balíčky a Codebase

Nainstalujte zvukové balíčky:

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

sudo apt-get install mpg123

Nainstalujte balíčky pythonu:

pip install baňka

pip install psutil pip install slackclient

Postupujte podle pokynů v Pimoroni's Začínáme s Scroll Hat:

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

který zahrnuje stažení ukázkového zdrojového kódu a zdrojů:

stočit https://get.pimoroni.com/scrollphathd | bash

Vzhledem k tomu, že je obrazovka v sadě robotů namontována vzhůru nohama, je třeba odkomentovat kód pro otočení obrazovky o 180:

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

Krok 3: Konfigurace instance Slack

Konfigurace instance Slack
Konfigurace instance Slack
Konfigurace instance Slack
Konfigurace instance Slack

Aby skript komunikoval se Slackem, budete potřebovat bot API Key.

Začněte přihlášením na svou webovou stránku týmu Slack (https://my.slack.com/services/new/bot) a vyberte uživatelské jméno pro svého robota, poté zkopírujte poskytnutý token API.

Krok 4: Vytvořte uvolněný kanál a pozvěte do kanálu svého robota

Vytvořte kanál Slack a pozvěte svého robota do kanálu
Vytvořte kanál Slack a pozvěte svého robota do kanálu

Můžete použít obecný uvolněný kanál, nebo pokud chcete, můžete vytvořit samostatný uvolněný kanál.

V mém případě jsem použil #robot-claire-control

Musíte svého robota pozvat do kanálu, jinak neuvidí odeslané zprávy.

Krok 5: Stáhněte si zdrojový kód a nakonfigurujte SlackPiBot

Stáhněte si zdrojový kód slackPiBot z git:

klon git

Aktualizujte řádek 29 pomocí klíče API:

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

Aktualizujte řádek 34 jménem svého robota:

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

Krok 6: Konfigurace Crontabs pro automatické spouštění při spuštění:

Nastavení crontabs pro automatické spouštění při spuštění:

crontab -e

Na konec crontabu přidejte následující:

@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

Krok 7: Volitelné: Přidejte výstup USB reproduktoru

Pro tento projekt používám hlasitý odposlech USB od US Robotics - dostupný na amazonu nebo ebay.

Pokud používáte něco podobného, budete muset změnit výchozí zvukové zařízení systému úpravou konfigurace alsa (/usr/share/alsa/alsa.conf). Změňte následující řádky:

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

1 je index vašeho zařízení. Chcete -li zjistit ID zařízení vašeho USB zařízení, spusťte aplay -l a vyhledejte ID karty.

Krok 8: Volitelné: Přidejte do robota drátová tlačítka a vymažte zprávy

Volitelné: Přidejte do robota drátová tlačítka a vymažte zprávy
Volitelné: Přidejte do robota drátová tlačítka a vymažte zprávy
Volitelné: Přidejte do robota drátová tlačítka a vymažte zprávy
Volitelné: Přidejte do robota drátová tlačítka a vymažte zprávy

Tento krok je volitelný, ale důrazně doporučujeme vymazat zprávy na obrazovce.

Do svého robota jsem přidal dvě tlačítka, ale v tomto projektu používám pouze GPIO17.

Skript check_button.py, který běží při spuštění, provádí průzkum GPIO17 každých několik milisekund a v případě deprese odešle HTTP POST do skriptu ukázkové obrazovky, aby obrazovku vymazal.

Krok 9: Shromáždění všeho dohromady a odeslání výstupu na Pi

Pro tento projekt spolupracují 4 skripty:

/home/pi/Pimoroni/scrollphathd/examples/web-api.py/home/pi/slackPiBot/check_button.py/home/pi/slackPiBot/forever.py /home/pi/slackPiBot/slackPiBot.py

Skript web-api poskytuje Pimoroni a je to jednoduchá webová aplikace pro ovládání obrazovky pomocí příkazů POST.

Skript python check_button dotazuje piny GPIO a po stisknutí tlačítka odešle HTTP POST do skriptu web-api.py.

Skript navždy.py spouští skript slackPiBot.py, aby zajistil, že pokud dojde k jakýmkoli nezachyceným chybám nebo se odpojí od slacku, skript se restartuje, aby se předešlo zmeškání všech zpráv.

Skript slackPiBot.py se připojí k slacku a monitoruje kanál pro zprávy začínající „botem“nebo příspěvky z IFTT. Pokud existuje shoda, odešle HTTP POST do skriptu web-api.py a zobrazí se na obrazovce.

Krok 10: Volitelné: Integrace IFTT

Volitelné: Integrace IFTT
Volitelné: Integrace IFTT
Volitelné: Integrace IFTT
Volitelné: Integrace IFTT
Volitelné: Integrace IFTT
Volitelné: Integrace IFTT

Tento projekt byl navržen tak, aby upozornil mé děti na videa zveřejněná lidmi, které sledují na youtube, protože jsou příliš mladí na to, aby měli vlastní iPhone nebo iPad. Toho jsem dosáhl vytvořením receptů IFTT, které po zveřejnění videa odešlou upozornění na kanál pro kontrolu uvolněnosti.

Wiki instructables to zkomplikuje v jednom kroku, ale výše uvedené snímky obrazovky ukazují konečný výsledek.

Doporučuje: