[PYTHON] Allumez / éteignez votre PC avec Raspberry Pi

pc_power_unit.png

Dans mon environnement domestique, ma machine Windows principale est toujours en cours d'exécution, et j'exécute également pi pour un test rapide. Il y a une machine ubuntu avec la machine principale en panne pour le traitement et les tests lourds, et bien qu'elle soit impuissante, elle possède une GTX650. La plupart du temps, c'est à peu près dans le cloud, et si vous le faites fonctionner, la facture d'électricité sera élevée et la pièce deviendra plus chaude, donc je la bouge à peine. Mais parfois, je l'utilise lorsque j'ai besoin d'une alimentation GPU ou machine. De plus, quand je l'utilisais de l'extérieur et que je le suspendais, rien ne se passait, alors je voulais faire quelque chose à ce sujet.

J'ai donc créé une unité et un script qui peuvent allumer et éteindre directement à partir de pi.

Une petite explication

code

power.py


#!/usr/bin/env python

import RPi.GPIO as GPIO
import time
import subprocess

#out put gpio pin
OUTPUT=16

#host ip
HOST="IP de destination"

#initialize
def init():
        GPIO.setmode(GPIO.BOARD)
        GPIO.setup(OUTPUT,GPIO.OUT,initial=GPIO.LOW)

#finalize
def finalize():
        GPIO.cleanup()

#gpio power on
def on():
        GPIO.output(OUTPUT,GPIO.HIGH)
        time.sleep(2)
        GPIO.output(OUTPUT,GPIO.LOW)

#gpio power off
def off():
        GPIO.output(OUTPUT,GPIO.HIGH)
        time.sleep(10)
        GPIO.output(OUTPUT,GPIO.LOW)

#ping check
def ping_check():
    pcheck = subprocess.Popen(["ping", "-c", "1", HOST],stdout = subprocess.PIPE,stderr = subprocess.PIPE )
    time.sleep(10)
    pcheck_out, pcheck_error = pcheck.communicate()
    out_line = pcheck_out.split("\n")
    for i in range(0,len(out_line)):
        print out_line[i]
    if "1 received, 0% packet loss" in pcheck_out:
        print "ping success!!"
    else:
        print "--ping fail--"

#power on main
def power_on():
        print "power on y/n"
        input_line = raw_input()
        if input_line == "y":
                print "power on please wait"
                on()
                time.sleep(120)
                print "ping check please wait"
                ping_check()
        elif input_line == "n":
                print "power on cancel"
        else:
                print "input error"

#power off main
def power_off():
        print "--CAUTION---"
        print "power off? y/n"
        input_line = raw_input()
        if input_line == "y":
                print "power off please wait"
                off()
                print "ping check please wait"
                ping_check()
        elif input_line == "n":
                print "power off cancel"
        else:

                print "input error"

#main
if __name__ == '__main__':
        try:
                init()
                print "please input power on/off "
                input_l = raw_input()
                if input_l == "on":
                        power_on()
                elif input_l == "off":
                        power_off()
                else:
                        print "input error"
                finalize()
        except:
                finalize()

schéma

pc_pwer_unit.png

Recommended Posts

Allumez / éteignez votre PC avec Raspberry Pi
Allumer / éteindre le Raspberry pi avec Arduino
Contrôler la mise sous / hors tension du port USB du Raspberry Pi
Programmation normale avec la programmation Node-RED avec Raspberry Pi 3
Exécuter le servomoteur SG-90 avec Raspberry Pi
Travailler avec des capteurs dans Mathematica sur Raspberry Pi
Travailler avec le GPS en Python pour Raspberry Pi 3
pigpio sur Raspberry pi
Profitez du travail électronique avec GPIO de Raspberry Pi
DigitalSignage avec Raspberry Pi
Cython sur Raspberry Pi
Connectez-vous à MySQL avec Python sur Raspberry Pi
Enregistrez la température et l'humidité avec systemd sur Raspberry Pi
Exécutez la matrice LED de manière interactive avec Raspberry Pi 3B + sur Slackbot
Essayez de déboguer Python sur Raspberry Pi avec Visual Studio.
Contrôlez les moteurs sans balais avec GPIO de Raspberry Pi Zero
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
Plantes Mutter avec Raspberry Pi
Introduction de pyenv sur Raspberry Pi
Utilisez NeoPixel avec la tarte aux framboises
Installez OpenCV4 sur Raspberry Pi 3
Installez TensorFlow 1.15.0 sur Raspberry Pi
Fabriquez un climatiseur intégré à un ordinateur personnel "airpi" avec Raspberry Pi 3!
[Raspberry Pi] Contrôle du moteur pas à pas avec Raspberry Pi
Test de la communication UART avec Raspberry Pi
Utilisez vl53l0x avec RaspberryPi (python)
Commande de servomoteur avec Raspberry Pi
MQTT sur Raspberry Pi et Mac
raspberry pi 4 centos7 installer sur docker
Communication série avec Raspberry Pi + PySerial
Installez ghoto2 sur Raspberry Pi (Remarque)
Essayez d'utiliser ArUco avec Raspberry Pi
Essayez L Chika avec raspberrypi
Procédure d'installation d'OpenCV sur Raspberry Pi
Construire un serveur VPN avec Raspberry Pie
Essayez de déplacer 3 servos avec Raspeye
Détecter l'état du commutateur avec Raspberry Pi 3
Installez OpenMedia Vault 5 sur Raspberry Pi 4
Utiliser une webcam avec Raspberry Pi
L Chika avec Raspberry Pi C #
Construisez wxPython sur Ubuntu 20.04 sur Raspberry Pi 4
Contrôlez le moteur avec un pilote de moteur en utilisant python sur Raspberry Pi 3!
Accédons à votre tarte à la râpe domestique depuis l'extérieur de votre maison avec VPN (WireGuard)
Affichage graphique de la consommation électrique des ménages avec 3GPI et Raspeye
Mesurer la force du signal SIM avec Raspberry Pi
Surveillance des animaux avec Rekognition et Raspberry pi
Raspberry Pi "Lampe de notification Honwaka" Partie 2
Détectez la "luminosité" en utilisant python sur Raspberry Pi 3!
Connectez-vous au VPN avec votre smartphone et éteignez / rallumez le serveur
Détectez les signaux analogiques avec un convertisseur A / N en utilisant python sur Raspberry Pi 3!
Démarrage USB sur Raspberry Pi 4 modèle B
Bonjour le monde avec Raspberry Pi + Minecraft Pi Edition
Raspberry Pi "Lampe de notification Honwaka" Partie 1
Créer un environnement Tensorflow avec Raspberry Pi [2020]
Activer la communication série UART + avec Raspberry Pi
Adafruit Python BluefruitLE fonctionne sur Raspeye.
Utilisez python sur Raspberry Pi 3 pour éclairer la LED avec le contrôle du commutateur!
Utilisez Minecraft Pi Edition à partir d'un PC