Ceci est une continuation de Article Ad Carre. Je me suis demandé si je pouvais faire quelque chose avec ** RaspberryPi ** + ** discord.py **. La télécommande Raspeye Blynk que j'ai fabriquée plus tôt est morte en raison d'un dysfonctionnement du côté Raspeye (probablement une carte SD), j'ai donc pensé que je devrais profiter de cette opportunité.
Les pièces de base sont disponibles sur Akizuki Denshi. (Nous partons du principe que des fers à souder, des planches à pain et des fils de liaison sont utilisés.)
Tout d'abord, connectez les modules récepteurs comme indiqué dans ce tableau pour recevoir les rayons infrarouges.
Côté Raspberry Pi | Côté module(La partie réceptrice est face à vous) |
---|---|
GPIO pour l'entrée | la gauche |
GND | Central |
3.3V | droite |
J'ai essayé Lirc pour l'échange infrarouge, mais je ne pouvais pas le régler correctement en raison du mauvais environnement dans ma chambre, alors j'utilise WiringPi.
Cet article a été utile. Scanner et envoyer des signaux de télécommande infrarouge à l'aide de GPIO de Raspberry Pi
La maintenance est plus facile si vous la laissez être exécutée indirectement par un script shell. L'exécution du côté python utilise ** sous-processus **.
index.py
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import discord
from discord.ext import commands
import subprocess
from subprocess import PIPE
# DiscordToken
TOKEN = 'Your Token'
#Générer les objets nécessaires à la connexion
client = discord.Client()
#Traitement qui fonctionne au démarrage
@client.event
async def on_ready():
#Une notification de connexion sera affichée dans le terminal après le démarrage
print('ready...')
#Traitement qui fonctionne lors de la réception d'un message
@client.event
async def on_message(message):
#Ignorer si l'expéditeur du message est Bot
if message.author.bot:
return
#Interrupteur d'éclairage
if message.content == 'on light':
#Sélection de l'utilisateur
if (str)(message.author) == me_id:
#Sur commande
subprocess.run("[ABSOLUTE PATH]/lightOn.sh",shell=True, text=True)
await message.channel.send('J'ai mis l'éclairage sur ON'+rasp)
else: #Lorsqu'un utilisateur autre que vous tente de fonctionner
await message.channel.send(f'{message.author.mention}Pas de commande juste')
#Lancez Bot et connectez-vous au serveur Discord
client.run(TOKEN)
Sous / etc / systemd / system /
,
discordBot.service
[Unit]
Description=Discord Bot Service
[Service]
ExecStart=Chemin absolu du fichier python
Restart=no
Type=simple
[Install]
WantedBy=multi-user.target
Sauvegarder,
raspberryPi$ sudo systemctl enable discordBot.service #Activation
raspberryPi$ sudo systemctl start discordBot.service #début
Éxécuter.
Le bot est maintenant résident.
Au terminal
raspberryPi$ sudo systemctl status discordBot.service
Vous pouvez vérifier le journal en exécutant, donc traitons l'erreur.
Si tout se passe bien, vous pouvez contrôler l'éclairage de la pièce à l'aide des commandes que vous spécifiez à partir de l'écran de conversation Discord. J'ai également installé un climatiseur. De plus, le nom du bot est un jeu sur le nom de mon personnage préféré.
très bon. (bien)
Pour le moment, le code source est ici (passe à github)
Il semble que discord.py a un cadre pratique, donc je voulais l'utiliser, mais je l'ai utilisé car il y avait un code source de bot similaire auparavant.
Scanner et envoyer des signaux de télécommande infrarouge à l'aide de GPIO de Raspberry Pi schemeit discord.py Document Officiel TV Anime Idol Master
Recommended Posts