Inhoudsopgave:
- Stap 1: Scroll Bot-assemblage
- Stap 2: Installeer pakketten en Codebase
- Stap 3: Slack-instantie configureren
- Stap 4: Maak een Slack-kanaal en nodig uw robot uit voor het kanaal
- Stap 5: SlackPiBot-broncode downloaden en configureren
- Stap 6: Crontabs configureren om automatisch te starten bij het opstarten:
- Stap 7: Optioneel: voeg een USB-luidsprekeruitgang toe
- Stap 8: Optioneel: bekabelde knoppen aan robot toevoegen om berichten te wissen
- Stap 9: Alles samentrekken en uitvoer naar de Pi. sturen
- Stap 10: Optioneel: IFTT-integratie
Video: Raspberry Pi Slack Scroll Bot! - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:17
Dit project combineert een Raspberry Pi met een Pimoroni Scroll Bot-kit (aangepast met knoppen), Slack en IFTT voor visuele en hoorbare meldingen wanneer YouTube-video's op een abonnement worden geplaatst!
De knopaanpassingen aan de kit zijn optioneel, evenals de luidspreker om de komst van een nieuwe video aan te kondigen.
Je kunt dit ook gebruiken om elk bericht naar de bot te sturen door middel van speling door "bot" vooraan het bericht te plaatsen, zoals "bot hello world". "bot clear" zal het scherm wissen.
Stap 1: Scroll Bot-assemblage
Volg de instructies voor het monteren van de Pimoroni Scroll Bot:
learn.pimoroni.com/tutorial/sandyj/assembl…
Stap 2: Installeer pakketten en Codebase
Audiopakketten installeren:
sudo apt-get update & sudo apt-get upgrade -y
sudo apt-get install mpg123
Installeer python-pakketten:
pip install flask
pip install psutil pip install slackclient
Volg de tutorial bij Pimoroni's voor Aan de slag met Scroll Hat:
learn.pimoroni.com/tutorial/sandyj/krijgen…
inclusief het downloaden van de voorbeeldbroncode en bronnen:
krullen https://get.pimoroni.com/scrollphathd | bash
Aangezien het scherm ondersteboven in de robotkit is gemonteerd, moet u de code verwijderen om het scherm 180 te draaien:
$ sed -i 's/#scrollphathd.rotate(degrees=180)/scrollphathd.rotate(degrees=180)/g' /home/pi/Pimoroni/scrollphathd/examples/web-api.py
Stap 3: Slack-instantie configureren
Om het script met Slack te laten communiceren, heb je een bot-API-sleutel nodig.
Begin door in te loggen op de webpagina van uw Slack-team (https://my.slack.com/services/new/bot) en kies een gebruikersnaam voor uw bot en kopieer vervolgens het verstrekte API-token.
Stap 4: Maak een Slack-kanaal en nodig uw robot uit voor het kanaal
U kunt het algemene slack-kanaal gebruiken, of als u wilt, kunt u een apart slack-kanaal maken.
In mijn geval gebruikte ik #robot-claire-control
Je moet je robot uitnodigen voor het kanaal, anders ziet hij de verzonden berichten niet.
Stap 5: SlackPiBot-broncode downloaden en configureren
Download de slackPiBot-broncode van git:
git kloon
Update regel 29 met uw API-sleutel:
slack_client = SlackClient("xoxb-UW-API-KEY-HIER")
Update regel 34 met je robotnaam:
if user.get('name') == "robot-claire":
Stap 6: Crontabs configureren om automatisch te starten bij het opstarten:
Crontabs instellen om automatisch te starten bij het opstarten:
crontab -e
Voeg het volgende toe aan de onderkant van je 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
Stap 7: Optioneel: voeg een USB-luidsprekeruitgang toe
Voor dit project gebruik ik een USB-speakerphone van US Robotics - verkrijgbaar op Amazon of eBay.
Als u iets soortgelijks gebruikt, moet u het standaardsysteemgeluidsapparaat wijzigen door de alsa-configuratie (/usr/share/alsa/alsa.conf) te bewerken. Wijzig de volgende regels:
defaults.ctl.card 1defaults.pcm.card 1
1 is de index van uw apparaat. Om de apparaat-ID van uw USB-apparaat te vinden, voert u aplay -l uit en zoekt u naar de kaart-ID.
Stap 8: Optioneel: bekabelde knoppen aan robot toevoegen om berichten te wissen
Deze stap is optioneel, maar wordt ten zeerste aanbevolen om berichten op het scherm te wissen.
Ik heb twee drukknoppen aan mijn robot toegevoegd, maar in dit project gebruik ik alleen GPIO17.
Het script check_button.py dat bij het opstarten wordt uitgevoerd, controleert de GPIO17 om de paar milliseconden en stuurt, indien ingedrukt, een HTTP POST naar het voorbeeldschermscript om het scherm leeg te maken.
Stap 9: Alles samentrekken en uitvoer naar de Pi. sturen
Er zijn 4 scripts die samenwerken voor dit project:
/home/pi/Pimoroni/scrollphathd/examples/web-api.py/home/pi/slackPiBot/check_button.py/home/pi/slackPiBot/forever.py /home/pi/slackPiBot/slackPiBot.py
Het web-api-script wordt geleverd door Pimoroni en is een eenvoudige webtoepassing om het scherm te bedienen met POST-commando's.
Het check_button python-script peilt de GPIO-pinnen en wanneer de knop wordt ingedrukt, stuurt het een HTTP POST naar het web-api.py-script.
Het forever.py-script start het slackPiBot.py-script om ervoor te zorgen dat als er niet-afgevangen fouten zijn of de verbinding met de slack wordt verbroken, het script opnieuw wordt gestart om te voorkomen dat er berichten worden gemist.
Het slackPiBot.py-script maakt verbinding met slack en controleert het kanaal op berichten die beginnen met "bot" of berichten van IFTT. Als er een overeenkomst is, stuurt deze een HTTP POST naar het web-api.py-script en wordt deze op het scherm weergegeven.
Stap 10: Optioneel: IFTT-integratie
Dit project is ontworpen om mijn kinderen te waarschuwen voor video's die zijn gepost door mensen die ze op YouTube volgen, omdat ze te jong zijn om hun eigen iPhone of iPads te hebben. Ik heb dit bereikt door IFTT-recepten te maken die een melding naar het slappe controlekanaal sturen zodra een video is gepost.
De instructables-wiki maakt dit ingewikkeld om in één stap te zien, maar de bovenstaande schermafbeeldingen tonen het eindresultaat.
Aanbevolen:
Telegram Bot met NodeMCU (ESP8266): 3 stappen
Telegram Bot met NodeMCU (ESP8266): Heeft u een bot nodig om meldingen van uw systeem te geven? of iets doen door gewoon een bericht te sturen? Telegram Bot is jouw oplossing!In deze tutorial zal ik Telegram Web en BotFather gebruiken om mijn bot te maken
Eenvoudig Kicker-status- en reserveringssysteem met Slack-integratie: 12 stappen (met afbeeldingen)
Eenvoudig Kicker-status- en reserveringssysteem met Slack-integratie: In een bedrijf waar ik werk is er een kicker-tafel. Het bedrijf beslaat vele verdiepingen en voor sommige medewerkers duurt het tot 3 minuten om bij de tafel te komen en…om te beseffen dat de tafel al bezet is.Daarom ontstond het idee om een ki
Raspbian installeren in Raspberry Pi 3 B zonder HDMI - Aan de slag met Raspberry Pi 3B - Uw Raspberry Pi instellen 3: 6 stappen
Raspbian installeren in Raspberry Pi 3 B zonder HDMI | Aan de slag met Raspberry Pi 3B | Je Raspberry Pi 3 instellen: Zoals sommigen van jullie weten, zijn Raspberry Pi-computers best geweldig en kun je de hele computer op een klein bordje krijgen. De Raspberry Pi 3 Model B heeft een quad-core 64-bit ARM Cortex A53 geklokt op 1,2 GHz. Dit zet de Pi 3 ongeveer 50
Hoe Xiaomi Mouse Scroll-probleem op te lossen: 6 stappen (met afbeeldingen)
Hoe Xiaomi Mouse Scroll-probleem op te lossen: net als bij elk ander hulpmiddel, zou een computermuis uiteindelijk wat onderhoud nodig hebben vanwege het continue gebruik. De typische slijtage van het product zorgt ervoor dat het minder efficiënt functioneert dan hoe het was in de tijd dat het eens
Scroll-Wheel Hack: 5 stappen (met afbeeldingen)
Scroll-Wheel Hack: Super onhandige manier om door het web te scrollen met galopperende vingers op stoffen knopen. (Glimlach) Het scrollwiel in mijn muis is een heel eenvoudig maar briljant mechanisme dat in feite twee knoppen achter elkaar indrukt elke keer dat ik er een scrol