python制御リレーでデバイスのハード再起動を実現

9766 ワード

1.python制御リレー出力ハイレベルアナログボタンで押す-離す2.デバイスの再起動に成功したかどうかを判断する(このステップの核心理念は個人的にデバイスと通信することだと思います.pingデバイスipができて、説明を通じて電源を入れました;フォルダを建てることができます)難しい点はpythonでcmdで命令を送信することを実現することです
import os
def send_cmd(path,cmd):
	os.chdir(path)# path   cmd     cd path
	result = os.system("cmd")#cmd      ,  ping、ls 
	return result #result=0        ,result=1        
if __name__ == "__main__":
	path = "D:\\test"
	ip = "www.baidu.com"
	cmd = "ping -c 1 -w 1 %s"%ip #   pingIP     ,-c1       ,-w1   1 
    result = send_cmd(path,cmd)
    if(result == 1):
    	print("ping    ip")

私のスクリプトを1つ入れます.リレーはドライブレスで実行可能なファイルを持って直接指令を出すなどの2.ping命令による機器のスイッチング成功の判定
import time
import sys
import os

def Open_USBRelay(path):
	os.chdir(path)
	result = os.system(".\CommandApp_USBRelay S2OD2 open 01")#       
	return result
def Close_USBRelay(path):
	os.chdir(path)
	result = os.system(".\CommandApp_USBRelay S2OD2 close 01")#       
	return result
def zero_one(sleepTime,path):
	#path       CommandApp_USBRelay     
	#sleepTime    on_off   ,           
	j=Open_USBRelay(path)
	if j == 1:
		print("open error")
		return 
	time.sleep(sleepTime)
	k = Close_USBRelay(path)
	if k== 1:
		print("close error")
		return 
def ping_ip(path,ip):
	os.chdir(path)
	#   pingIP     ,-c1       ,-w1   1 
	result = os.system("ping -c 1 -w 1 %s"%ip)
	# print("ping ip result:",result)
	return result
        
if __name__ == "__main__":
	path = "D:\\test-learning\\   \\【010810】USBRelay       \\USBRelay       \\TestApp"
	ip = "www.baidu.com"
	#ip = "192.168.1.103"
    # execute only if run as a script
	for i in range(120):
		print(" ",i+1," ")
		zero_one(0.5,path)#    
		time.sleep(4)#          wifi
		result = ping_ip(path,ip)
		if(result == 1):
			print("ip   ping ,      ")
		zero_one(1.5,path)#    
		time.sleep(1)
		result = ping_ip(path,ip)
		if(result == 0):
			print("ip ping ,      ")
		time.sleep(1)