Inhaltsverzeichnis:

Raspberry Pi Slack Scroll Bot! - Gunook
Raspberry Pi Slack Scroll Bot! - Gunook

Video: Raspberry Pi Slack Scroll Bot! - Gunook

Video: Raspberry Pi Slack Scroll Bot! - Gunook
Video: Slack Pi Bot 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!

Dieses Projekt kombiniert einen Raspberry Pi mit einem Pimoroni Scroll Bot-Kit (mit Schaltflächen modifiziert), Slack und IFTT für visuelle und akustische Benachrichtigungen, wenn YouTube-Videos in einem Abonnement veröffentlicht werden!

Die Tastenmodifikationen am Kit sind optional, ebenso wie der Lautsprecher, um die Ankunft eines neuen Videos anzukündigen.

Sie können dies auch verwenden, um eine beliebige Nachricht durch Slack an den Bot zu senden, indem Sie der Nachricht "bot" voranstellen, z. B. "bot hallo world". "bot clear" löscht den Bildschirm.

Schritt 1: Scroll-Bot-Baugruppe

Befolgen Sie die Anweisungen zum Zusammenbau des Pimoroni Scroll Bot:

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

Schritt 2: Pakete und Codebase installieren

Audiopakete installieren:

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

sudo apt-get install mpg123

Python-Pakete installieren:

pip install flasche

pip install psutil pip install slackclient

Folgen Sie dem Tutorial bei Pimoroni's für Erste Schritte mit Scroll Hat:

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

Dazu gehört das Herunterladen des Beispielquellcodes und der Ressourcen:

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

Da der Bildschirm im Roboterbausatz verkehrt herum montiert ist, müssen Sie den Code auskommentieren, um den Bildschirm um 180 zu drehen:

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

Schritt 3: Slack-Instanz konfigurieren

Slack-Instanz konfigurieren
Slack-Instanz konfigurieren
Slack-Instanz konfigurieren
Slack-Instanz konfigurieren

Damit das Skript mit Slack kommunizieren kann, benötigst du einen Bot-API-Schlüssel.

Melden Sie sich zunächst bei Ihrer Slack-Team-Webseite (https://my.slack.com/services/new/bot) an, wählen Sie einen Benutzernamen für Ihren Bot und kopieren Sie dann das bereitgestellte API-Token.

Schritt 4: Erstellen Sie einen Slack-Channel und laden Sie Ihren Roboter zum Channel ein

Erstellen Sie einen Slack-Channel und laden Sie Ihren Roboter zum Channel ein
Erstellen Sie einen Slack-Channel und laden Sie Ihren Roboter zum Channel ein

Sie können den allgemeinen Slack-Channel verwenden oder, wenn Sie es vorziehen, einen separaten Slack-Channel erstellen.

In meinem Fall habe ich #robot-claire-control verwendet

Sie müssen Ihren Roboter in den Kanal einladen, sonst werden die gesendeten Nachrichten nicht angezeigt.

Schritt 5: SlackPiBot-Quellcode herunterladen und konfigurieren

Laden Sie den slackPiBot-Quellcode von git herunter:

git-Klon

Aktualisieren Sie Zeile 29 mit Ihrem API-Schlüssel:

slack_client = SlackClient("xoxb-IHRE-API-SCHLÜSSEL-HERE")

Aktualisieren Sie Zeile 34 mit Ihrem Roboternamen:

if user.get('name') == "Roboter-Claire":

Schritt 6: Konfigurieren Sie Crontabs für den automatischen Start beim Booten:

Crontabs so einrichten, dass sie beim Booten automatisch gestartet werden:

crontab -e

Fügen Sie am unteren Rand Ihrer Crontab Folgendes hinzu:

@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

Schritt 7: Optional: Fügen Sie einen USB-Lautsprecherausgang hinzu

Für dieses Projekt verwende ich eine USB-Freisprecheinrichtung von US Robotics - erhältlich bei Amazon oder ebay.

Wenn Sie etwas Ähnliches verwenden, müssen Sie das Standardsystem-Soundgerät ändern, indem Sie die alsa-Konfiguration bearbeiten (/usr/share/alsa/alsa.conf). Ändern Sie die folgenden Zeilen:

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

1 ist der Index Ihres Geräts. Um die Geräte-ID Ihres USB-Geräts zu finden, führen Sie aplay -l aus und suchen Sie nach der Karten-ID.

Schritt 8: Optional: Fügen Sie dem Roboter kabelgebundene Tasten hinzu, um Nachrichten zu löschen

Optional: Fügen Sie dem Roboter kabelgebundene Tasten hinzu, um Nachrichten zu löschen
Optional: Fügen Sie dem Roboter kabelgebundene Tasten hinzu, um Nachrichten zu löschen
Optional: Fügen Sie dem Roboter kabelgebundene Tasten hinzu, um Nachrichten zu löschen
Optional: Fügen Sie dem Roboter kabelgebundene Tasten hinzu, um Nachrichten zu löschen

Dieser Schritt ist optional, wird jedoch dringend empfohlen, um Meldungen auf dem Bildschirm zu löschen.

Ich habe meinem Roboter zwei Drucktasten hinzugefügt, aber in diesem Projekt verwende ich nur GPIO17.

Das Skript check_button.py, das beim Booten ausgeführt wird, fragt den GPIO17 alle paar Millisekunden ab und sendet, wenn es gedrückt wird, einen HTTP-POST an das Beispielbildschirmskript, um den Bildschirm zu löschen.

Schritt 9: Alles zusammenziehen und Ausgabe an den Pi. senden

Es gibt 4 Skripte, die für dieses Projekt zusammenarbeiten:

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

Das Web-API-Skript wird von Pimoroni bereitgestellt und ist eine einfache Webanwendung zur Steuerung des Bildschirms mit POST-Befehlen.

Das Python-Skript check_button fragt die GPIO-Pins ab und sendet, wenn die Schaltfläche gedrückt wird, einen HTTP-POST an das Skript web-api.py.

Das forever.py-Skript startet das slackPiBot.py-Skript, um sicherzustellen, dass das Skript neu gestartet wird, wenn es nicht erfasste Fehler gibt oder die Verbindung zu Slack getrennt wird, um zu vermeiden, dass Nachrichten verloren gehen.

Das Skript slackPiBot.py stellt eine Verbindung zu slack her und überwacht den Kanal auf Nachrichten, die mit "bot" beginnen, oder Posts von IFTT. Bei einer Übereinstimmung wird ein HTTP POST an das Skript web-api.py gesendet und auf dem Bildschirm angezeigt.

Schritt 10: Optional: IFTT-Integration

Optional: IFTT-Integration
Optional: IFTT-Integration
Optional: IFTT-Integration
Optional: IFTT-Integration
Optional: IFTT-Integration
Optional: IFTT-Integration

Dieses Projekt wurde entwickelt, um meine Kinder auf Videos aufmerksam zu machen, die von Leuten gepostet wurden, denen sie auf YouTube folgen, da sie zu jung sind, um ein eigenes iPhone oder iPad zu haben. Ich habe dies erreicht, indem ich IFTT-Rezepte erstellt habe, die eine Benachrichtigung an den Slack-Kontrollkanal senden, sobald ein Video gepostet wurde.

Das Instructables-Wiki macht dies in einem Schritt kompliziert, aber die obigen Screenshots zeigen das Endergebnis.

Empfohlen: