# -*- coding: UTF-8 -*
#!/usr/bin/python-
import os
from bs4 import BeautifulSoup
import re
import urllib
import sys
import RPi.GPIO as GPIO
import time
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BCM)
args = sys.argv
pin = 21 # GPIO PIN
def isRunning(process_name):#判断进程本地进程是否执行
try:
process = len(os.popen('ps aux | grep "' + process_name + '" | grep -v grep').readlines())
if process >= 1:
return True
else:
return False
except:
print(process_name)
return False
while 1:
url = "http://www.bigbigdee.cn/raspi/"
data = urllib.urlopen(url).read()
data = data.decode('UTF-8')
html=data
soup = BeautifulSoup(html, 'html.parser')
con=0
for k in soup.find_all('a'):
con=int(k['id'])
if con==1:
GPIO.setup(pin, GPIO.OUT)
GPIO.output(pin,GPIO.HIGH)
print("开启")
elif isRunning("run.py"):
print("本地程序正在运行,不关闭")
else:
GPIO.setup(pin, GPIO.OUT)
GPIO.output(pin, GPIO.LOW)
print("关闭")
time.sleep(3)
因为树莓派本地有定时启动,公用用一个GPIO端口,所以要用树莓派对进程进行监视。不然就一直处于低电平,无法调用本地的自动GPIO端口。