Python 树莓皮瓶网页服务器,按下按钮时更改网页

Python 树莓皮瓶网页服务器,按下按钮时更改网页,python,raspberry-pi,bottle,Python,Raspberry Pi,Bottle,我有一个树莓圆周率与瓶网络服务器运行。我已将几个簧片开关连接到Pi。这个想法是当一个开关被激活时,服务器将自动“推”一个网页到客户端。现在,当我启动开关时。在重定向之前,我必须先刷新页面。到目前为止,我只为一个开关编写了一个脚本。请参见下面的脚本: from bottle import route, run, template, error from bottle import redirect, request, response switch1 = 38 led1 = 40 GPIO.s

我有一个树莓圆周率与瓶网络服务器运行。我已将几个簧片开关连接到Pi。这个想法是当一个开关被激活时,服务器将自动“推”一个网页到客户端。现在,当我启动开关时。在重定向之前,我必须先刷新页面。到目前为止,我只为一个开关编写了一个脚本。请参见下面的脚本:

from bottle import route, run, template, error
from bottle import redirect, request, response

switch1 = 38
led1 = 40

GPIO.setmode(GPIO.BOARD)
GPIO.setup(switch1, GPIO.IN, pull_up_down=GPIO.PUD_UP)
GPIO.setup(led1, GPIO.OUT)

@route("/")
def hello():
    if not GPIO.input(switch1):
        GPIO.output(led1, True)
        return template("video1.html")
    else:
        GPIO.output(led1, False)
        return template("index.html")

@error(404)
def error404(error):
    return("Nothing here, keep searching!")

run(host='0.0.0.0', port=80)

刷新页面之前,页面中有什么内容?我认为您可以添加一些由服务器信号触发的JS(当开关被激活时发送),或者类似websocket的东西来自动刷新页面。如果你只是发送一些没有JS的HTML,你的客户端将不会“知道”你激活了一个开关。这是发送请求的客户端,而不是“推送”并强制更改页面的服务器。是的,在页面上附带javascript,它在循环中轮询(或使用)以检测何时按下了一个开关。刷新之前的页面是video1.html或index.html,这取决于我是否按下了按钮。你能举个例子说明在这种情况下如何使用JS吗?我几乎没有使用Javascript的经验。