我正在尝试创建一个python脚本来控制我家中的热水锅炉。我有一个网页运行,它将更新我的服务器上的文本文件0或1,具体取决于网站上的按钮开/关选择。下面的Python脚本可以读取这一切,并根据文本文件的值打开LED。 我希望脚本在打开时等待,然后将GET URL发送到我的网站以更新文本文件并关闭LED。这部分不起作用。 我可以在网站上执行此操作,但想知道如何从python脚本发送GET请求以供将来改进。我是python的新手,所以任何帮助都会非常感激。
import urllib2
import wiringpi2
import time
##URL set up URL 1 reads test file on server url2 upload GET/URL tell server to turn water off
url = "http://mywebsite.com/watercontrol.txt"
url2 = "http://mywebsite.com/waterpage,php?status=0"
wiringpi2.wiringPiSetupGpio()
wiringpi2.pinMode(17,1) ##boiler control
def delay ():
time.sleep(1)
readWeb()
time.sleep(1)
readWeb()
urllib2.urlopen(url2).read()
def waterOn ():
wiringpi2.digitalWrite(17,1)
delay()
def waterOFF ():
wiringpi2.digitalWrite(17,0)
def readWeb ():
relaystatus = urllib2.urlopen(url).read(1)
if relaystatus == "1"
waterOn()
elif relaystatus == "0"
waterOFF ()
time.sleep(2)
while 1:
readWeb()

答案 0 :(得分:0)
我意识到自己的错误。在延迟中调用readWeb()导致循环返回onWater然后返回延迟。这导致我陷入困境。 我改变了这个并且它有效