[PYTHON] Introduction facile au piratage domestique avec Raspberry Pi et discord.py

00 Présentation

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é.

01 Quoi préparer

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.)

Article prix(Cercle)
RaspberryPiZeroW(Unité simple) 1,320
Module de réception de télécommande infrarouge OSRB38C9AA (2 pièces) 100
LED infrarouge OSI5FU5111C-40 (5 pièces) 100
Résistance au carbone (résistance au film de carbone) 1 / 4W 1kΩ (100 pièces) 100
Résistance au carbone (résistance au film de carbone) 1 / 4W 10Ω (100 pièces) 100
Transistor 2SC2120-Y (20 pièces) 110
Persévérance Prix du marché

02 Apprenez les rayons infrarouges de la télécommande

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

03 Fabriquer un module de transmission infrarouge

スクリーンショット 2020-06-12 2.38.28.png Je l'ai fait comme ci-dessus. Pour la broche GPIO pour la transmission, sélectionnez ** numéro de broche correspondant à PWM **.

04 Exécutez avec discord.py

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)

05 Rendre résident avec systemctl

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.

Lorsqu'une erreur se produit ・ Lorsque le bot ne démarre pas

Au terminal

raspberryPi$ sudo systemctl status discordBot.service

Vous pouvez vérifier le journal en exécutant, donc traitons l'erreur.

06 Résultats

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é.

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

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.

07 Lien de référence

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

Introduction facile au piratage domestique avec Raspberry Pi et discord.py
IoT facile pour démarrer avec Raspeye et MESH
Home Hack pour acheter automatiquement quand il devient moins cher avec Amazon Dash Button et Raspberry Pi
Surveillance des animaux avec Rekognition et Raspberry pi
Introduction à discord.py (2)
Remarque: je souhaite faire de la domotique avec Home Assistant + Raspberry Pi + capteur # 1
[Python] Introduction facile à l'apprentissage automatique avec python (SVM)
MQTT Radicon Car avec Arduino et Raspberry
Connexion facile entre Raspberry Pi et AWS IoT
Obtenez la température et l'humidité avec DHT11 et Raspberry Pi
Connectez-vous à MySQL avec Python sur Raspberry Pi
Source compilez Apache2.4 + PHP7.4 avec Raspberry Pi et construisez un serveur Web --2 introduction PHP
Source compilez Apache2.4 + PHP7.4 avec Raspberry Pi et créez un serveur Web ―― 1. Introduction à Apache
GPGPU avec Raspberry Pi
DigitalSignage avec Raspberry Pi
Enregistrez la température et l'humidité avec systemd sur Raspberry Pi
Apprentissage automatique avec Raspberry Pi 4 et Coral USB Accelerator
[Introduction à WordCloud] Il est facile à utiliser même avec Jetson-nano ♬
Visualisons la pièce avec tarte aux râpes, partie 1
Détecter l'état de port du masque avec OpenCV et Raspberry Pi
Mesurez la température et l'humidité avec Raspberry Pi3 et visualisez avec Ambient
Ubuntu 20.04 sur raspberry pi 4 avec OpenCV et utilisation avec python
Résoudre les problèmes liés à l'installation d'OpenCV sur Raspberry Pi et à la capture
Contrôlez la lecture de musique sur un smartphone connecté à Raspberry Pi 3 et Bluetooth avec AVRCP
API Nifty Cloud facile à utiliser avec botocore et python
Plantes Mutter avec Raspberry Pi
Mettre à jour Raspberry Pi Python vers 3.7 ou version ultérieure avec pyenv
Créez une caméra de surveillance WEB avec Raspberry Pi et OpenCV
Débutant Python s'ouvre et se ferme avec Raspberry Pi
Créez des jeux LCD (16x2) avec Raspberry Pi et Python
J'ai essayé de connecter Raspeye et conect + avec l'API Web
J'ai parlé à Raspberry Pi
Introduction à RDB avec sqlalchemy Ⅰ
Production de système de contrôle de température avec tarte aux framboises et ESP32 (1)
Rendre avec la syntaxe facile
Présentation de PyMySQL à Raspberry pi3
Mesurez et comparez les températures avec Raspberry Pi et générez automatiquement des graphiques
Apprentissage automatique pour apprendre avec Nogisaka 46 et Keyakizaka 46 Partie 1 Introduction
[Razpai] Comment surveiller en permanence le répertoire et exécuter n'importe quel shell avec des crochets pour les changements
Introduction à discord.py (3) Utilisation de la voix
Connectez Raspberry Pi à Alibaba Cloud IoT Platform avec «Python»
Mesurez la température, l'humidité, etc. avec SensorTag et envoyez-le à Ambient via Raspberry Pi 3 pour le représenter graphiquement Partie 2
Connectez-vous à Raspberry PI avec ssh sans mot de passe (authentification par clé)
Accédons à votre tarte à la râpe domestique depuis l'extérieur de votre maison avec VPN (WireGuard)
J'ai essayé d'automatiser l'arrosage du pot avec Raspberry Pi
J'ai créé un serveur Web avec Razpai pour regarder des anime
Classique de Noël (?) Éclairage d'un arbre de Noël avec Raspberry Pi et Philips Hue
Créez un thermomètre avec Raspberry Pi et rendez-le visible sur le navigateur Partie 4
Faire une boussole d'affichage kanji avec Raspberry Pi et Sense Hat
Affichage graphique de la consommation électrique des ménages avec 3GPI et Raspeye
Associez SORACOM aux appareils ménagers et au LINE Bot [Python / Flask / Raspberry Pi]
Portez FreeRTOS vers Raspberry Pi 4B
[Raspberry Pi] Contrôle du moteur pas à pas avec Raspberry Pi
Utilisez vl53l0x avec RaspberryPi (python)
Commande de servomoteur avec Raspberry Pi
MQTT sur Raspberry Pi et Mac
[Introduction à Python3 Jour 1] Programmation et Python
Easy Slackbot avec Docker et Errbot