Dies ist eine Fortsetzung von Letzter Artikel.
Razpai 3B + (einschließlich SD-Karte) RGB-LED-Matrix (6 mm Abstand 32 x 32) 6 Blatt Anschluss für LED-Matrix MAXWELL Schaltnetzteil 3 Netzkabel für LED-Panel 6 IDC-Flachkabel 50 Sprungdrähte, männlich und weiblich, und 50 männlich und weiblich Brotbrett
Ich möchte eine Umgebung schaffen, in der ich problemlos arbeiten kann, ohne den Bildschirm von Raspeye bedienen zu müssen, indem ich die Anzeige des elektrischen schwarzen Bretts von Slack auf meinem Smartphone umschalte.
Stellen Sie Slackbot vor, um Rasppie von Slack aus zu betreiben. Mit Slackbot können Sie es entsprechend der an Slack gesendeten Nachricht zum Laufen bringen.
Installieren Sie zunächst die Bibliothek, um Slackbot mit Python zu verarbeiten.
$ sudo pip install slackbot
Erstellen Sie zunächst einen neuen Arbeitsbereich in Slack. Erstellen Sie anschließend einen Bot von dieser Site. Klicken Sie auf "Bot-Integration hinzufügen" und ein API-Token wird ausgegeben. Verwenden Sie dieses API-Token.
Sobald das Bot-Konto erstellt wurde, wird es wie unten gezeigt zur App hinzugefügt. Laden Sie diese App in den Kanal ein.
Stellen Sie die Slackbot-Verzeichnisstruktur wie folgt ein. Machen Sie nur slackbot_settings.py mit diesem Namen. Jeder Name ist gut für die anderen beiden.
slackbot
├ bot.py #Führen Sie slackbot aus
├ slackbot_settings.py #Slackbot-Einstellungen
└ botmodule.py #Beschreibung des Betriebsinhalts
slackbot_settings.py
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# 「API_Bitte beschreiben Sie das von Slack erhaltene API-Token in "TOKEN".
API_TOKEN = "API-Token erhalten"
#Standardantwort beim Erwähnen unbekannter Wörter
DEFAULT_REPLY = "Es gibt keinen solchen Befehl."
#Lesen Sie eine externe Datei. Botmodul.Laden Sie py
PLUGINS = [
'slackbot.plugins',
'botmodule',
]
Schreiben Sie in slackbot_settings.py das API-Token, das Sie erhalten haben. Beschreiben Sie auch die Datei, die den Vorgang als Plug-In beschreibt. In DEFAULT_REPLY können Sie eine Antwort festlegen, wenn ein nicht registriertes Wort eintrifft, indem Sie den Bot erwähnen.
bot.py
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
from slackbot.bot import Bot
from slacker import Slacker
import slackbot_settings
#Starten Sie Bot
def main():
#von hier
text="Durch Senden eines Befehls an diesen Kanal wird die Anzeigetafel bedient.\n"\
"Sie können es bedienen, indem Sie den folgenden Befehl senden.\n"\
"<Befehlsname>\n → Befehl"
sla=Slacker("API-Token erhalten")
sla.chat.post_message('Der Name des Kanals, den Sie veröffentlichen möchten', text, as_user=True)
#Beschreiben Sie bis zu diesem Punkt nur, ob Sie beim Start posten möchten
bot = Bot()
bot.run()
if __name__ == "__main__":
main()
Der Bot führt bot.py aus. Wenn Sie beim Starten des Bots eine Nachricht senden möchten, verwenden Sie Slacker. Slacker arbeitet auch mit dem erworbenen API-Token. Bitte geben Sie den Kanal an, den Sie veröffentlichen möchten.
botmodule.py
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
from slackbot.bot import respond_to
from slackbot.bot import listen_to
import io,sys
import subprocess
import text_image_ledmatrix
#sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8')
import requests
import slackbot_settings
import time
def processmatrix():
f=open('clear.txt')
line=f.readline()
while line:
ans=line
line=f.readline()
f.close()
ans=ans.strip()
if ans=='on':
return True
else:
return False
@listen_to('-print(.*)')
def print(message, something):
if processmatrix():
text_image_ledmatrix.add_text('clear')
time.sleep(3)
message.react('ok')
message.reply('[{0}]Es wird angezeigt'.format(something))
text_image_ledmatrix.ledprint(something)
@listen_to('-scroll(.*)')
def print(message,something):
if processmatrix():
text_image_ledmatrix.add_text('clear')
time.sleep(3)
message.react('ok')
message.reply('[{0}]Scrollen'.format(something))
text_image_ledmatrix.textscroll(something)
text_image_ledmatrix.py ist in Vorheriger Artikel veröffentlicht. Listen_to empfängt andere Wörter als die im Kanal veröffentlichten Erwähnungen. Es funktioniert, wenn es die Wörter in () empfängt. Wir verwenden reguläre Ausdrücke in der zweiten Hälfte von (), dem zweiten Argument, das in der nächsten Zeile definiert wird. Wenn keine Argumente erforderlich sind, wird kein regulärer Ausdruck benötigt. Stempeln Sie mit message.react (). Sie können den Beitrag auch mit message.reply () erwähnen. Wenn Sie sofort posten, tritt ein Fehler auf. Posten Sie daher den nächsten Beitrag erst, wenn eine Reaktion eintritt.
Ich habe es tatsächlich bewegt.
python3 bot.py
Sprechen wir mit der LED-Matrix in Slack.
Es ging gut! Jetzt können Sie die Anzeige der LED-Matrix einfach umschalten.
Dieses Mal habe ich auf die folgende Seite verwiesen. https://qiita.com/undo0530/items/2139a1e8b73b3eee6e00/ http://www.denzow.me/entry/2017/12/16/225241/ https://qiita.com/minase_tetsuya/items/dba79cfe12db4557cefc https://qiita.com/o_s_t/items/f05057aefb297393a69a
Diesmal ist es uns gelungen, LED-Matrix mit Slack zu kombinieren. Ab dem nächsten Mal werden wir die Diversifizierung der Anzeigefunktionen und den Programmstart beim Einschalten zusammenfassen.
Recommended Posts