[PYTHON] Schalten Sie Ihren PC mit Himbeer-Pi ein / aus

pc_power_unit.png

In meiner häuslichen Umgebung läuft mein Windows-Hauptcomputer immer, und ich führe pi für einen schnellen Test aus. Es gibt eine Ubuntu-Maschine, bei der die Hauptmaschine für umfangreiche Verarbeitung und Tests ausgefallen ist, und obwohl sie machtlos ist, verfügt sie über eine GTX650. Die meiste Zeit ist es so ziemlich in der Cloud, und wenn Sie es am Laufen halten, wird die Stromrechnung hoch sein und der Raum wird heißer, so dass ich ihn kaum bewege. Aber manchmal benutze ich es, wenn ich GPU oder Maschinenstrom benötige. Auch als ich es von außen benutzte und aufhängte, passierte nichts, also wollte ich etwas dagegen tun.

Also habe ich eine Einheit und ein Skript erstellt, mit denen das Gerät direkt über pi ein- und ausgeschaltet werden kann.

Eine kleine Erklärung

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="Ziel-IP"

#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()

Schaltplan

pc_pwer_unit.png

Recommended Posts

Schalten Sie Ihren PC mit Himbeer-Pi ein / aus
Ein- / Ausschalten von Raspberry Pi mit Arduino
Steuern Sie das Ein- und Ausschalten des USB-Anschlusses des Raspberry Pi
Normal programmieren mit Node-RED-Programmierung mit Raspberry Pi 3
Den Servomotor SG-90 mit Himbeer-Pi betreiben
Arbeiten mit Sensoren in Mathematica auf Raspberry Pi
Arbeiten mit GPS in Python für Raspberry Pi 3
Pigpio auf Himbeer-Pi
Genießen Sie die elektronische Arbeit mit GPIO von Raspberry Pi
DigitalSignage mit Raspberry Pi
Cython auf Raspberry Pi
Stellen Sie mit Python auf Raspberry Pi eine Verbindung zu MySQL her
Notieren Sie Temperatur und Luftfeuchtigkeit mit systemd auf Raspberry Pi
Führen Sie die LED-Matrix interaktiv mit Raspberry Pi 3B + auf Slackbot aus
Versuchen Sie, Python auf Raspberry Pi mit Visual Studio zu debuggen.
Steuern Sie bürstenlose Motoren mit GPIO von Raspberry Pi Zero
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
Mutter pflanzt mit Raspberry Pi
Pyenv auf Raspberry Pi eingeführt
Verwenden Sie NeoPixel mit Himbeerkuchen
Installieren Sie OpenCV4 auf Raspberry Pi 3
Installieren Sie TensorFlow 1.15.0 auf Raspberry Pi
Machen Sie einen in die Klimaanlage integrierten Personal Computer "airpi" mit Raspberry Pi 3!
[Raspberry Pi] Schrittmotorsteuerung mit Raspberry Pi
Testen der Kommunikation mit Raspberry Pi
Verwenden Sie vl53l0x mit RaspberryPi (Python)
Servomotorsteuerung mit Raspberry Pi
MQTT auf Raspberry Pi und Mac
Himbeer Pi 4 Centos7 auf Docker installieren
Serielle Kommunikation mit Raspberry Pi + PySerial
Installieren Sie ghoto2 auf Raspberry Pi (Hinweis)
Versuchen Sie es mit ArUco mit Raspberry Pi
Probieren Sie L Chika mit Himbeerpi
OpenCV-Installationsverfahren auf Raspberry Pi
Aufbau eines VPN-Servers mit Raspberry Pie
Versuchen Sie, 3 Servos mit Raspeye zu bewegen
Erkennen Sie den Schalterstatus mit Raspberry Pi 3
Installieren Sie OpenMedia Vault 5 auf Raspberry Pi 4
Verwenden einer Webkamera mit Raspberry Pi
L Chika mit Himbeer-Pi C #
Erstellen Sie wxPython unter Ubuntu 20.04 auf Himbeer-Pi 4
Steuern Sie den Motor mit einem Motortreiber mit Python auf Raspberry Pi 3!
Lassen Sie uns mit VPN (WireGuard) von außerhalb Ihres Hauses auf Ihren Home Rasp Pie zugreifen.
Grafische Darstellung des Stromverbrauchs im Haushalt mit 3GPI und Raspeye
Messen Sie die SIM-Signalstärke mit Raspberry Pi
Haustierüberwachung mit Rekognition und Raspberry pi
Raspberry Pi "Honwaka Benachrichtigungslampe" Teil 2
Erkennen Sie "Helligkeit" mit Python auf Raspberry Pi 3!
Stellen Sie mit Ihrem Smartphone eine Verbindung zum VPN her und schalten Sie den Server aus / ein
Erkennen Sie analoge Signale mit dem A / D-Wandler mithilfe von Python auf Raspberry Pi 3!
USB-Boot auf Raspberry Pi 4 Model B.
Hallo Welt mit Raspberry Pi + Minecraft Pi Edition
Raspberry Pi "Honwaka Benachrichtigungslampe" Teil 1
Erstellen Sie eine Tensorflow-Umgebung mit Raspberry Pi [2020]
Aktivieren Sie die serielle UART + -Kommunikation mit Raspberry Pi
Adafruit Python BluefruitLE arbeitet mit Raspeye.
Verwenden Sie Python auf Raspberry Pi 3, um die LED mit Schaltersteuerung zu beleuchten!
Bedienen Sie Minecraft Pi Edition von einem PC aus