Dies ist eine Fortsetzung von Ad Carre Article. Ich fragte mich, ob ich etwas mit ** RaspberryPi ** + ** discord.py ** machen könnte. Die Raspeye Blynk-Fernbedienung, die ich zuvor hergestellt habe, ist aufgrund einer Fehlfunktion auf der Razzpie-Seite (wahrscheinlich eine SD-Karte) gestorben. Ich dachte, ich sollte diese Gelegenheit nutzen.
Grundlegende Teile sind unter Akizuki Denshi erhältlich. (Wir gehen davon aus, dass Lötkolben, Steckbretter und Überbrückungsdrähte verwendet werden.)
Schließen Sie zuerst die Empfangsmodule wie in dieser Tabelle gezeigt an, um Infrarotstrahlen zu empfangen.
Himbeer-Pi-Seite | Modulseite(Der empfangende Teil steht Ihnen gegenüber) |
---|---|
GPIO für die Eingabe | links |
GND | Zentral |
3.3V | richtig |
Ich habe Lirc für den Infrarotaustausch ausprobiert, konnte es aber aufgrund der schlechten Umgebung in meinem Zimmer nicht gut einstellen, daher verwende ich WiringPi.
Dieser Artikel war hilfreich. Scannen und Senden von Infrarot-Fernbedienungssignalen mit GPIO von Raspberry Pi
Die Wartung ist einfacher, wenn Sie sie indirekt von einem Shell-Skript ausführen lassen. Die Ausführung von der Python-Seite verwendet ** Unterprozess **.
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'
#Generieren Sie die für die Verbindung benötigten Objekte
client = discord.Client()
#Verarbeitung, die beim Start ausgeführt wird
@client.event
async def on_ready():
#Nach dem Start wird im Terminal eine Anmeldemeldung angezeigt
print('ready...')
#Verarbeitung, die beim Empfang einer Nachricht ausgeführt wird
@client.event
async def on_message(message):
#Ignorieren Sie, wenn der Absender der Nachricht Bot ist
if message.author.bot:
return
#Lichtschalter
if message.content == 'on light':
#Benutzerauswahl
if (str)(message.author) == me_id:
#Auf Befehl
subprocess.run("[ABSOLUTE PATH]/lightOn.sh",shell=True, text=True)
await message.channel.send('Ich stelle die Beleuchtung auf ON'+rasp)
else: #Wenn ein anderer Benutzer als Sie versucht zu arbeiten
await message.channel.send(f'{message.author.mention}Kein Befehl richtig')
#Starten Sie Bot und stellen Sie eine Verbindung zum Discord-Server her
client.run(TOKEN)
Unter / etc / systemd / system /
discordBot.service
[Unit]
Description=Discord Bot Service
[Service]
ExecStart=Absoluter Pfad der Python-Datei
Restart=no
Type=simple
[Install]
WantedBy=multi-user.target
Sparen,
raspberryPi$ sudo systemctl enable discordBot.service #Aktivierung
raspberryPi$ sudo systemctl start discordBot.service #Start
Ausführen.
Der Bot ist jetzt ansässig.
Am Terminal
raspberryPi$ sudo systemctl status discordBot.service
Sie können das Protokoll durch Ausführen überprüfen. Behandeln wir also den Fehler.
Wenn alles gut geht, können Sie die Raumbeleuchtung mit den Befehlen steuern, die Sie auf dem Discord-Talk-Bildschirm angeben. Ich habe auch eine Klimaanlage aufgestellt. Außerdem ist der Bot-Name ein Spiel mit meinem Lieblingscharakternamen.
sehr gut. (gut)
Derzeit lautet der Quellcode hier (springt zu Github)
Es scheint, dass discord.py ein praktisches Framework hat, also wollte ich es verwenden, aber ich habe es verwendet, weil es vorher einen ähnlichen Bot-Quellcode gab.
Scannen und Senden von Infrarot-Fernbedienungssignalen mit GPIO von Raspberry Pi schemeit discord.py Document TV Anime Idol Master Official
Recommended Posts