Ceci est une suite de Dernier article.
Razpai 3B + (y compris la carte SD) Matrice LED RVB (pas de 6 mm 32 x 32) 6 feuilles Connecteur pour matrice LED Alimentation à découpage MAXWELL 3 cordons d'alimentation pour panneau LED 6 câbles plats IDC 50 fils de saut, mâles et femelles, et 50 mâles et femelles planche à pain
Je souhaite basculer l'affichage du babillard électrique de Slack sur mon smartphone et créer un environnement dans lequel je peux facilement le faire fonctionner sans avoir à utiliser l'écran de Raspeye.
Présentez Slackbot pour faire fonctionner Rasppie à partir de Slack. Avec Slackbot, vous pouvez le faire fonctionner en fonction du message envoyé à Slack.
Tout d'abord, installez la bibliothèque pour gérer Slackbot avec python.
$ sudo pip install slackbot
Commencez par créer un nouvel espace de travail dans Slack. Après cela, veuillez créer un bot à partir de ce site. Appuyez sur "Ajouter une intégration de bot" et un jeton API sera émis. Utilisez ce jeton API.
Une fois le compte Bot créé, il sera ajouté à l'application comme indiqué ci-dessous. Invitez cette application sur la chaîne.
Définissez la structure de répertoires Slackbot comme suit. Créez uniquement slackbot_settings.py avec ce nom. N'importe quel nom convient aux deux autres.
slackbot
├ bot.py #Exécutez slackbot
├ slackbot_settings.py #Paramètres Slackbot
└ botmodule.py #Description du contenu de l'opération
slackbot_settings.py
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# 「API_Veuillez décrire le jeton API obtenu de Slack dans "TOKEN"
API_TOKEN = "Jeton d'API obtenu"
#Réponse par défaut lors de la mention de mots inconnus
DEFAULT_REPLY = "Il n'y a pas de telle commande."
#Lisez un fichier externe. botmodule.Charger py
PLUGINS = [
'slackbot.plugins',
'botmodule',
]
Dans slackbot_settings.py, écrivez le jeton API que vous avez obtenu. Décrivez également le fichier qui décrit l'opération en tant que plug-in. Dans DEFAULT_REPLY, vous pouvez définir une réponse lorsqu'un mot non enregistré arrive en mentionnant le bot.
bot.py
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
from slackbot.bot import Bot
from slacker import Slacker
import slackbot_settings
#Lancer le bot
def main():
#d'ici
text="L'envoi d'une commande à ce canal fera fonctionner le tableau de bord.\n"\
"Vous pouvez le faire fonctionner en envoyant la commande suivante.\n"\
"<Nom de la commande>\n → commande"
sla=Slacker("Jeton d'API obtenu")
sla.chat.post_message('Le nom de la chaîne que vous souhaitez publier', text, as_user=True)
#Jusqu'à présent, décrivez uniquement si vous souhaitez publier au démarrage
bot = Bot()
bot.run()
if __name__ == "__main__":
main()
Cela fonctionne en exécutant bot.py. Si vous souhaitez envoyer un message au démarrage du bot, utilisez Slacker. Slacker fonctionne également avec le jeton API acquis. Veuillez spécifier la chaîne que vous souhaitez publier.
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}]Il est affiché'.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}]Faire défiler'.format(something))
text_image_ledmatrix.textscroll(something)
text_image_ledmatrix.py est publié dans Article précédent. Listen_to reçoit des mots autres que des mentions publiées dans la chaîne. Cela fonctionne quand il reçoit les mots entre (). Nous utilisons des expressions régulières dans la seconde moitié de (), qui est le deuxième argument défini dans la ligne suivante. Si aucun argument n'est requis, aucune expression régulière n'est nécessaire. Tampon avec message.react (). Vous pouvez également mentionner le message avec message.reply (). Si vous postez sur-le-champ, un bogue se produira, alors veuillez ne pas publier le prochain post avant qu'il y ait une réaction.
Je l'ai en fait déplacé.
python3 bot.py
Parlons de la matrice LED dans Slack.
Ça s'est bien passé! Maintenant, vous pouvez facilement changer l'affichage de la matrice LED.
Cette fois, je me suis référé au site suivant. 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
Cette fois, nous avons réussi à combiner la matrice LED avec Slack. Dès la prochaine fois, nous résumerons la diversification des fonctions d'affichage et le démarrage du programme à la mise sous tension.
Recommended Posts