[PYTHON] Einfache Einführung in Home Hack mit Raspberry Pi und discord.py

00 Einleitung

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.

01 Was vorzubereiten?

Grundlegende Teile sind unter Akizuki Denshi erhältlich. (Wir gehen davon aus, dass Lötkolben, Steckbretter und Überbrückungsdrähte verwendet werden.)

Artikel Preis(Kreis)
RaspberryPiZeroW(Einheit) 1,320
Empfangsmodul für Infrarot-Fernbedienung OSRB38C9AA (2 Stück) 100
Infrarot-LED OSI5FU5111C-40 (5 Stück) 100
Kohlenstoffbeständigkeit (Kohlenstofffilmbeständigkeit) 1 / 4W 1kΩ (100 Stück) 100
Kohlenstoffbeständigkeit (Kohlenstofffilmbeständigkeit) 1 / 4W 10Ω (100 Stück) 100
Transistor 2SC2120-Y (20 Stück) 110
Ausdauer Marktpreis

02 Lernen Sie die Infrarotstrahlen der Fernbedienung

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

03 Erstellen Sie ein Infrarot-Übertragungsmodul

スクリーンショット 2020-06-12 2.38.28.png Ich habe es wie oben gemacht. Wählen Sie für den GPIO-Pin für die Übertragung ** Pin-Nummer, die PWM unterstützt **.

04 Mit discord.py ausführen

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)

05 Machen Sie es mit systemctl resident

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.

Wenn ein Fehler auftritt ・ Wenn der Bot nicht startet

Am Terminal

raspberryPi$ sudo systemctl status discordBot.service

Sie können das Protokoll durch Ausführen überprüfen. Behandeln wir also den Fehler.

06 Ergebnisse

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.

スクリーンショット 2020-06-12 1.28.10.png

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.

07 Referenzlink

Scannen und Senden von Infrarot-Fernbedienungssignalen mit GPIO von Raspberry Pi schemeit discord.py Document TV Anime Idol Master Official

Recommended Posts

Einfache Einführung in Home Hack mit Raspberry Pi und discord.py
Einfaches IoT, um mit Raspeye und MESH zu beginnen
Home Hack zum automatischen Kauf, wenn es mit Amazon Dash Button und Raspberry Pi billiger wird
Haustierüberwachung mit Rekognition und Raspberry pi
Einführung in discord.py (2)
Hinweis: Ich möchte die Heimautomation mit Home Assistant + Raspberry Pi + Sensor Nr. 1 durchführen
[Python] Einfache Einführung in das maschinelle Lernen mit Python (SVM)
MQTT Radicon Car mit Arduino und Himbeere
Einfache Verbindung zwischen Raspberry Pi und AWS IoT
Holen Sie sich Temperatur und Luftfeuchtigkeit mit DHT11 und Raspberry Pi
Stellen Sie mit Python auf Raspberry Pi eine Verbindung zu MySQL her
Quellkompilieren Sie Apache2.4 + PHP7.4 mit Raspberry Pi und erstellen Sie einen Webserver --2 PHP Einführung
Quellkompilieren Sie Apache2.4 + PHP7.4 mit Raspberry Pi und erstellen Sie einen Webserver. 1. Apache-Einführung
GPGPU mit Raspberry Pi
DigitalSignage mit Raspberry Pi
Notieren Sie Temperatur und Luftfeuchtigkeit mit systemd auf Raspberry Pi
Maschinelles Lernen mit Raspberry Pi 4 und Coral USB Accelerator
[Einführung in Word Cloud] Einfache Verwendung mit Jetson-nano ♬
Stellen wir uns den Raum mit Raspeltorte vor, Teil 1
Ermitteln Sie den Tragezustand der Maske mit OpenCV und Raspberry Pi
Messen Sie Temperatur und Luftfeuchtigkeit mit Raspberry Pi3 und visualisieren Sie mit Ambient
Ubuntu 20.04 auf Himbeer-Pi 4 mit OpenCV und mit Python verwenden
Fehlerbehebung bei der Installation von OpenCV auf Raspberry Pi und der Erfassung
Steuern Sie die Musikwiedergabe auf einem Smartphone, das mit Raspberry Pi 3 und Bluetooth mit AVRCP verbunden ist
Einfache Verwendung der Nifty Cloud API mit Botocore und Python
Mutter pflanzt mit Raspberry Pi
Aktualisieren Sie Raspberry Pi Python mit pyenv auf 3.7 oder höher
Erstellen Sie eine WEB-Überwachungskamera mit Raspberry Pi und OpenCV
Python-Anfänger öffnet und schließt die ineinandergreifende Kamera mit Raspberry Pi
Erstellen Sie LCD-Spiele (16x2) mit Raspberry Pi und Python
Ich habe versucht, Raspeye und conect + mit der Web-API zu verbinden
Ich habe mit Raspberry Pi gesprochen
Einführung in RDB mit sqlalchemy Ⅰ
Herstellung eines Temperaturregelungssystems mit Himbeerkuchen und ESP32 (1)
Machen Sie es mit der Syntax einfach
Einführung von PyMySQL in Himbeer-Pi3
Messen und vergleichen Sie Temperaturen mit Raspberry Pi und generieren Sie automatisch Diagramme
Maschinelles Lernen mit Nogisaka 46 und Keyakizaka 46 Teil 1 Einführung
[Razpai] So überwachen Sie das Verzeichnis kontinuierlich und führen eine Shell mit Hooks auf Änderungen aus
Einführung in discord.py (3) Verwenden von Stimme
Verbinden Sie Raspberry Pi mit "Python" mit der Alibaba Cloud IoT Platform
Messen Sie Temperatur, Luftfeuchtigkeit usw. mit SensorTag und senden Sie es über Raspberry Pi 3 an Ambient, um es Teil 2 grafisch darzustellen
Melden Sie sich mit ssh ohne Passwort bei Raspberry PI an (Schlüsselauthentifizierung)
Lassen Sie uns mit VPN (WireGuard) von außerhalb Ihres Hauses auf Ihren Home Rasp Pie zugreifen.
Ich habe versucht, die Bewässerung des Pflanzgefäßes mit Raspberry Pi zu automatisieren
Ich habe mit Razpai einen Webserver erstellt, um Anime zu schauen
Weihnachtsklassiker (?) Einen Weihnachtsbaum mit Raspberry Pi und Philips Hue anzünden
Machen Sie ein Thermometer mit Raspberry Pi und machen Sie es im Browser Teil 4 sichtbar
Erstellen Sie einen Kanji-Kompass mit Raspberry Pi und Sense Hat
Grafische Darstellung des Stromverbrauchs im Haushalt mit 3GPI und Raspeye
Verbinden Sie SORACOM mit Haushaltsgeräten und LINE Bot [Python / Flask / Raspberry Pi]
Port FreeRTOS auf Raspberry Pi 4B
[Raspberry Pi] Schrittmotorsteuerung mit Raspberry Pi
Verwenden Sie vl53l0x mit RaspberryPi (Python)
Servomotorsteuerung mit Raspberry Pi
MQTT auf Raspberry Pi und Mac
[Einführung in Python3 Tag 1] Programmierung und Python
Einfacher Slackbot mit Docker und Errbot