Talaan ng mga Nilalaman:

Raspberry Pi Slack Scroll Bot !: 10 Hakbang
Raspberry Pi Slack Scroll Bot !: 10 Hakbang

Video: Raspberry Pi Slack Scroll Bot !: 10 Hakbang

Video: Raspberry Pi Slack Scroll Bot !: 10 Hakbang
Video: Leap Motion SDK 2024, Nobyembre
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!

Pinagsasama ng proyektong ito ang isang Raspberry Pi na may isang Pimoroni Scroll Bot kit (binago gamit ang mga pindutan), Slack, at IFTT para sa mga visual at naririnig na notification kapag ang mga video sa youtube ay nai-post sa isang subscription!

Ang mga pagbabago sa pindutan sa kit ay opsyonal, pati na rin ang nagsasalita upang ipahayag ang pagdating ng isang bagong video.

Maaari mo ring gamitin ito upang magpadala ng anumang mensahe sa bot sa pamamagitan ng pagdulas sa pamamagitan ng paghahanda ng "bot" sa harap ng mensahe, tulad ng "bot hello world". Ang "bot clear" ay maglilinis ng screen.

Hakbang 1: Mag-scroll sa Assembly ng Bot

Kumpletuhin ang mga tagubilin para sa pagtitipon ng Pimoroni Scroll Bot:

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

Hakbang 2: Mag-install ng Mga Pakete at Codebase

Mag-install ng Mga Audio Package:

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

sudo apt-get install mpg123

Mag-install ng mga pakete ng sawa:

pip install flask

pip install psutil pip install slackclient

Sundin ang tutorial sa Pimoroni's para sa Pagsisimula sa Scroll Hat:

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

na kasama ang pag-download ng sample na source code at mga mapagkukunan:

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

Dahil ang screen ay naka-mount baligtad sa robot kit, kailangan mong mag-code ng hindi nag-aayos upang paikutin ang screen 180:

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

Hakbang 3: Pag-configure ng Slack Instance

Pag-configure ng Slack Instance
Pag-configure ng Slack Instance
Pag-configure ng Slack Instance
Pag-configure ng Slack Instance

Upang makipag-usap ang script sa Slack, kakailanganin mo ng isang bot API Key.

Magsimula sa pamamagitan ng pag-log in sa iyong Slack team webpage (https://my.slack.com/services/new/bot) at pumili ng isang username para sa iyong bot, pagkatapos kopyahin ang ibinigay na API token.

Hakbang 4: Lumikha ng isang Slack Channel, at Anyayahan ang Iyong Robot sa Channel

Lumikha ng isang Slack Channel, at Anyayahan ang iyong Robot sa Channel
Lumikha ng isang Slack Channel, at Anyayahan ang iyong Robot sa Channel

Maaari mong gamitin ang pangkalahatang slack channel, o kung gusto mo maaari kang lumikha ng isang hiwalay na slack channel.

Sa aking kaso gumamit ako ng # robot-claire-control

Dapat mong anyayahan ang iyong robot sa channel, o hindi nito makikita ang mga mensaheng ipinadala.

Hakbang 5: Mag-download ng SlackPiBot Source Code at I-configure

I-download ang slackPiBot sourcecode mula sa git:

git clone

I-update ang linya 29 sa iyong API Key:

slack_client = SlackClient ("xoxb-IYONG-API-KEY-DITO")

I-update ang linya 34 sa iyong pangalan ng robot:

kung user.get ('pangalan') == "robot-claire":

Hakbang 6: I-configure ang mga Crontab upang Awtomatikong Magsimula sa Boot:

Pagse-set up ng mga crontab upang awtomatikong magsimula sa boot:

crontab -e

Idagdag ang sumusunod sa ilalim ng iyong 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

Hakbang 7: Opsyonal: Magdagdag ng USB Output ng Speaker

Para sa proyektong ito, gumagamit ako ng isang USB speakerphone mula sa US Robotics - magagamit sa amazon o ebay.

Kung gumagamit ng katulad na bagay, kakailanganin mong baguhin ang default na aparato ng tunog ng system sa pamamagitan ng pag-edit ng alsa config (/usr/share/alsa/alsa.conf). Baguhin ang mga sumusunod na linya:

mga default.ctl.card 1defaults.pcm.card 1

1 ang index ng iyong aparato. Upang mahanap ang aparato ID ng iyong USB aparato, patakbuhin ang aplay -l at hanapin ang card ID.

Hakbang 8: Opsyonal: Magdagdag ng Mga Wired Button sa Robot upang I-clear ang Mga Mensahe

Opsyonal: Magdagdag ng Mga Wired Button sa Robot upang I-clear ang Mga Mensahe
Opsyonal: Magdagdag ng Mga Wired Button sa Robot upang I-clear ang Mga Mensahe
Opsyonal: Magdagdag ng Mga Wired Button sa Robot upang I-clear ang Mga Mensahe
Opsyonal: Magdagdag ng Mga Wired Button sa Robot upang I-clear ang Mga Mensahe

Ang hakbang na ito ay opsyonal ngunit lubos na inirerekomenda upang i-clear ang mga mensahe sa screen.

Nagdagdag ako ng dalawang mga pindutan ng push sa aking robot, ngunit sa proyektong ito gumagamit lamang ako ng GPIO17.

Ang script check_button.py na tumatakbo sa boot polls ang GPIO17 bawat ilang milliseconds at kung ang nalulumbay ay nagpapadala ng isang HTTP POST sa sample na script ng screen upang i-clear ang screen.

Hakbang 9: Paghila ng Lahat ng Ito at Pagpadala ng Output sa Pi

Mayroong 4 na script na nagtutulungan para sa proyektong ito:

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

Ang script ng web-api ay ibinigay ng Pimoroni at isang simpleng web application upang makontrol ang screen gamit ang mga utos ng POST.

Ang check_button python script ay poll ang mga GPIO pin at kapag ang pindutan ay nalulumbay ay nagpapadala ng isang HTTP POST sa web-api.py script.

Ang script ng forever.py ay sinisimulan ang script na slackPiBot.py upang matiyak na kung mayroong anumang mga hindi nahuhusay na error o pagdiskonekta mula sa slack, ang script ay nai-restart upang maiwasan ang mga nawawalang anumang mga mensahe.

Ang slackPiBot.py script ay kumokonekta sa slack at sinusubaybayan ang channel para sa mga mensahe na nagsisimula sa "bot" o mga post mula sa IFTT. Kung mayroong isang tugma, magpapadala ito ng isang HTTP POST sa web-api.py script at ipapakita sa screen.

Hakbang 10: Opsyonal: Pagsasama ng IFTT

Opsyonal: Pagsasama ng IFTT
Opsyonal: Pagsasama ng IFTT
Opsyonal: Pagsasama ng IFTT
Opsyonal: Pagsasama ng IFTT
Opsyonal: Pagsasama ng IFTT
Opsyonal: Pagsasama ng IFTT

Ang proyektong ito ay dinisenyo upang alertuhan ang aking mga anak sa mga video na nai-post ng mga taong sinusundan nila sa youtube, dahil napakabata nila upang magkaroon ng kanilang sariling iPhone o iPad. Nagawa ko ito sa pamamagitan ng paglikha ng mga recipe ng IFTT na nagpapadala ng isang abiso sa slack control channel sa sandaling nai-post ang isang video.

Ginagawa itong wiki ng mga tagaturo na kumplikado upang makita sa isang hakbang, ngunit ipinapakita ng mga screenshot sa itaas ang huling resulta.

Inirerekumendang: