[PYTHON] Führen Sie die LED-Matrix interaktiv mit Raspberry Pi 3B + auf Slackbot aus

Dies ist eine Fortsetzung von Letzter Artikel.

Umgebung

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

Was Sie erreichen wollen

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.

Wie benutzt man Slackbot?

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.

Installation

Installieren Sie zunächst die Bibliothek, um Slackbot mit Python zu verarbeiten.

$ sudo pip install slackbot

Erstellen Sie ein Bot-Konto

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.

Einladung zum Bot-Account-Kanal

Sobald das Bot-Konto erstellt wurde, wird es wie unten gezeigt zur App hinzugefügt. Laden Sie diese App in den Kanal ein. 68747470733a2f2f71696974612d696d6167652d73746f72652e73332e61702d6e6f727468656173742d312e616d617a6f6e6177732e636f6d2f302f3535373637392f62316638386465342d303837332d626231332d346630642d63316636303166313830.png

Slackbot-Verzeichnisstruktur

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

Schreiben Sie ein Programm

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.

Probieren Sie es mit Slack

Ich habe es tatsächlich bewegt.

python3 bot.py

Sprechen wir mit der LED-Matrix in Slack. ezgif.com-video-to-gif (2).gif

Es ging gut! Jetzt können Sie die Anzeige der LED-Matrix einfach umschalten.

Worauf ich mich beziehen durfte

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

abschließend

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

Führen Sie die LED-Matrix interaktiv mit Raspberry Pi 3B + auf Slackbot aus
Führen Sie den Python-Beispielcode BNO055 mit I2C (Raspberry Pi 3B) aus.
USB-Boot auf Raspberry Pi 4 Model B.
Normal programmieren mit Node-RED-Programmierung mit Raspberry Pi 3
Lassen Sie einen Servomotor mit Python auf Raspberry Pi 3 laufen
Arbeiten mit Sensoren in Mathematica auf Raspberry Pi
Erstellen Sie eine OpenCV-Python-Umgebung auf Raspberry Pi B +
Arbeiten mit GPS in Python für Raspberry Pi 3
Warum DetectMultiScale () auf Raspberry Pi B + langsam ist
Genießen Sie die elektronische Arbeit mit GPIO von Raspberry Pi
Schalten Sie Ihren PC mit Himbeer-Pi ein / aus
Einführung von Ceph mit Kubernetes auf Raspberry Pi 4B (ARM64)
Stellen Sie mit Python auf Raspberry Pi eine Verbindung zu MySQL her
GPS-Tracking mit Raspeye 4B + BU-353S4 (Python)
GPGPU mit Raspberry Pi
Pigpio auf Himbeer-Pi
DigitalSignage mit Raspberry Pi
Cython auf Raspberry Pi
Notieren Sie Temperatur und Luftfeuchtigkeit mit systemd auf Raspberry Pi
Versuchen Sie, Python auf Raspberry Pi mit Visual Studio zu debuggen.
Steuern Sie bürstenlose Motoren mit GPIO von Raspberry Pi Zero
Ubuntu 20.04 auf Himbeer-Pi 4 mit OpenCV und mit Python verwenden
USB-Boot mit Raspberry Pi 4 Modell B (3) LVM Edition
Fehlerbehebung bei der Installation von OpenCV auf Raspberry Pi und der Erfassung
Mutter pflanzt mit Raspberry Pi
Himbeere pi 1 Modell b, Python
Pyenv auf Raspberry Pi eingeführt
Verwenden Sie NeoPixel mit Himbeerkuchen
Installieren Sie OpenCV4 auf Raspberry Pi 3
Installieren Sie TensorFlow 1.15.0 auf Raspberry Pi
Führen Sie das AWS IoT Device SDK für Python auf Raspberry Pi aus
[Hinweis] Installieren von VMware ESXi auf Arm Fling auf Raspeye 4B
getrpimodel: Erkennen Sie das Himbeer-Pi-Modell (A, B, B +, B2, B3 usw.) mit Python
Port FreeRTOS auf Raspberry Pi 4B
[Raspberry Pi] Schrittmotorsteuerung mit Raspberry Pi
Testen der Kommunikation mit Raspberry Pi
Steuern Sie den Motor mit einem Motortreiber mit Python auf Raspberry Pi 3!
Verwenden Sie vl53l0x mit RaspberryPi (Python)
Himbeer pi 1 Modell b, knotenroter Teil 17
Servomotorsteuerung mit Raspberry Pi
MQTT auf Raspberry Pi und Mac
Himbeer Pi 4 Centos7 auf Docker installieren
Serielle Kommunikation mit Raspberry Pi + PySerial
Installieren Sie ghoto2 auf Raspberry Pi (Hinweis)
Betriebssystem-Setup mit Raspberry Pi Imager
Führen Sie SwitchBot mit Bleak unter Windows 10 aus
Versuchen Sie es mit ArUco mit Raspberry Pi
Probieren Sie L Chika mit Himbeerpi
OpenCV-Installationsverfahren auf Raspberry Pi
Automatischer Programmstart beim Start mit Raspberry Pi 3B + systemd Zusammenfassung
Aufbau eines VPN-Servers mit Raspberry Pie
Versuchen Sie, 3 Servos mit Raspeye zu bewegen
Ein- / Ausschalten von Raspberry Pi mit Arduino
Erkennen Sie den Schalterstatus mit Raspberry Pi 3
Installieren Sie OpenMedia Vault 5 auf Raspberry Pi 4
Verwenden einer Webkamera mit Raspberry Pi
Führen Sie Polyglot auf Raspberry Pi aus, um eine morphologische Analyse auf Englisch durchzuführen
L Chika mit Himbeer-Pi C #
Erstellen Sie wxPython unter Ubuntu 20.04 auf Himbeer-Pi 4