python制御リレーでデバイスのハード再起動を実現
9766 ワード
1.python制御リレー出力ハイレベルアナログボタンで押す-離す2.デバイスの再起動に成功したかどうかを判断する(このステップの核心理念は個人的にデバイスと通信することだと思います.pingデバイスipができて、説明を通じて電源を入れました;フォルダを建てることができます)難しい点はpythonでcmdで命令を送信することを実現することです
私のスクリプトを1つ入れます.リレーはドライブレスで実行可能なファイルを持って直接指令を出すなどの2.ping命令による機器のスイッチング成功の判定
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)