from bottle import route, run, request, redirect, template, static_file import serial ser = serial.Serial("/dev/ttyUSB0", 9600) channelStatus = [False, False, True] def updateChannels(): print("Updating States") print(channelStatus) if channelStatus[0]: ser.write(b'ch00-l-1\n') ser.write(b'ch00-r-1\n') else: ser.write(b'ch00-l-0\n') ser.write(b'ch00-r-0\n') if channelStatus[1]: ser.write(b'ch01-l-1\n') ser.write(b'ch01-r-1\n') else: ser.write(b'ch01-l-0\n') ser.write(b'ch01-r-0\n') if channelStatus[2]: ser.write(b'ch02-l-1\n') ser.write(b'ch02-r-1\n') else: ser.write(b'ch02-l-0\n') ser.write(b'ch02-r-0\n') updateChannels() @route("/") def index(): return template("index", vals=channelStatus) @route("/toggle/") def channel(c): channelStatus[c] = not channelStatus[c] if channelStatus.count(True) > 2: channelStatus[c] = False updateChannels() redirect("/") @route('/') def send_static(filename): return static_file(filename, root='static/') run(host="0.0.0.0", port=8081, debug=False)