Tartalomjegyzék:

Raspberry Pi Slack Scroll Bot !: 10 lépés
Raspberry Pi Slack Scroll Bot !: 10 lépés

Videó: Raspberry Pi Slack Scroll Bot !: 10 lépés

Videó: Raspberry Pi Slack Scroll Bot !: 10 lépés
Videó: Leap Motion SDK 2024, November
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!

Ez a projekt ötvözi a Raspberry Pi -t a Pimoroni Scroll Bot készlettel (gombokkal módosítva), a Slack -ot és az IFTT -t, hogy vizuális és hallható értesítéseket kapjon, ha a YouTube -videókat feliratkozásra teszik!

A készlet gombjainak módosítása opcionális, valamint a hangszóró új videó érkezésének bejelentésére.

Ezt használhatja arra is, hogy bármilyen üzenetet elküldjön a botnak lazán keresztül úgy, hogy az üzenet elejét "bot" -ra írja, például "bot hello world". "bot clear" törli a képernyőt.

1. lépés: Görgesse a bot összeállítást

Végezze el a Pimoroni Scroll Bot összeszerelésére vonatkozó utasításokat:

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

2. lépés: Telepítse a csomagokat és a Codebase -t

Hangcsomagok telepítése:

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

sudo apt-get install mpg123

Python csomagok telepítése:

pip telepítő lombik

pip install psutil pip install slackclient

Kövesse a Pimoroni's bemutatóját a Görgetős kalap használatához:

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

amely magában foglalja a minta forráskódjának és erőforrásainak letöltését:

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

Mivel a képernyő fejjel lefelé van felszerelve a robotkészletben, a képernyő 180 forgatásához el kell távolítania a megjegyzést.

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

3. lépés: A Slack példány beállítása

A Slack példány beállítása
A Slack példány beállítása
A Slack példány beállítása
A Slack példány beállítása

Ahhoz, hogy a szkript kommunikálni tudjon a Slackkal, szüksége lesz egy bot API kulcsra.

Kezdje azzal, hogy bejelentkezik a Slack csapat weboldalára (https://my.slack.com/services/new/bot), és kiválaszt egy felhasználónevet a botjához, majd másolja a megadott API -tokent.

4. lépés: Hozzon létre egy laza csatornát, és hívja meg robotját a csatornára

Hozzon létre egy laza csatornát, és hívja meg robotját a csatornára
Hozzon létre egy laza csatornát, és hívja meg robotját a csatornára

Használhatja az általános laza csatornát, vagy ha úgy kívánja, létrehozhat egy külön laza csatornát.

Esetemben #robot-claire-control-t használtam

Meg kell hívnia robotját a csatornába, különben nem látja az elküldött üzeneteket.

5. lépés: Töltse le a SlackPiBot forráskódját és konfigurálását

Töltse le a slackPiBot forráskódot a git -ből:

git klón

Frissítse a 29. sort az API kulccsal:

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

Frissítse a 34. sort a robot nevével:

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

6. lépés: Állítsa be a Crontabs automatikus indítását rendszerindításkor:

A crontabs beállítása a rendszerindítás automatikus indításához:

crontab -e

Adja hozzá a következőt a crontab aljához:

@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. lépés: Választható: USB hangszóró kimenet hozzáadása

Ehhez a projekthez a US Robotics USB kihangosítóját használom - elérhető az amazonon vagy az ebay -en.

Ha valami hasonlót használ, meg kell változtatnia az alapértelmezett rendszerhangeszközt az alsa config (/usr/share/alsa/alsa.conf) szerkesztésével. Módosítsa a következő sorokat:

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

1 az eszköz indexe. Az USB -eszköz azonosítójának megkereséséhez futtassa az aplay -l parancsot, és keresse meg a kártya azonosítóját.

8. lépés: Választható: Vezetékes gombok hozzáadása a robothoz az üzenetek törléséhez

Választható: Vezetékes gombok hozzáadása a robothoz az üzenetek törléséhez
Választható: Vezetékes gombok hozzáadása a robothoz az üzenetek törléséhez
Választható: Vezetékes gombok hozzáadása a robothoz az üzenetek törléséhez
Választható: Vezetékes gombok hozzáadása a robothoz az üzenetek törléséhez

Ez a lépés nem kötelező, de erősen ajánlott az üzenetek törléséhez a képernyőn.

Két nyomógombot adtam hozzá a robotomhoz, de ebben a projektben csak a GPIO17 -et használom.

A rendszerindításkor futó check_button.py szkript néhány ezredmásodpercenként lekérdezi a GPIO17 -et, és ha le van nyomva, HTTP POST -t küld a minta képernyő szkriptjének a képernyő törléséhez.

9. lépés: Az összes összehúzása és a kimenet elküldése a Pi -re

Ebben a projektben 4 szkript működik együtt:

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

A web-api szkriptet a Pimoroni biztosítja, és egy egyszerű webes alkalmazás, amely a képernyő POST parancsokkal történő vezérlésére szolgál.

A check_button python parancsfájl lekérdezi a GPIO csapokat, és amikor lenyomja a gombot, HTTP POST üzenetet küld a web-api.py parancsfájlnak.

Az forever.py parancsfájl elindítja a slackPiBot.py szkriptet annak biztosítása érdekében, hogy ha vannak elkapott hibák vagy lekapcsolódnak a lazaságról, akkor a szkript újraindul, hogy elkerülje az üzenetek hiányát.

A slackPiBot.py szkript a slackhez csatlakozik, és figyeli a csatornát a "bot" betűvel kezdődő üzenetek vagy az IFTT bejegyzések után. Ha van egyezés, HTTP POST-ot küld a web-api.py szkriptnek, és megjeleníti a képernyőn.

10. lépés: Választható: IFTT integráció

Opcionális: IFTT integráció
Opcionális: IFTT integráció
Opcionális: IFTT integráció
Opcionális: IFTT integráció
Opcionális: IFTT integráció
Opcionális: IFTT integráció

Ezt a projektet azért hozták létre, hogy figyelmeztessék gyermekeimet azokról a videókról, amelyeket követnek a YouTube -on, mivel túl fiatalok ahhoz, hogy saját iPhone -juk vagy iPadjük legyen. Ezt úgy valósítottam meg, hogy IFTT recepteket hoztam létre, amelyek értesítést küldenek a laza vezérlőcsatornára, miután egy videót közzétettek.

Az utasítható wiki ezt egy lépésben bonyolítja, de a fenti képernyőképek a végeredményt mutatják.

Ajánlott: