diff --git a/nginx/default b/nginx/default index 517be6e..d32b58a 100644 --- a/nginx/default +++ b/nginx/default @@ -32,6 +32,8 @@ server { } location /mopidy { + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $host; proxy_pass http://127.0.0.1:6680/mopidy; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; diff --git a/projektor/projektor.py b/projektor/projektor.py index fc24555..a2413ae 100755 --- a/projektor/projektor.py +++ b/projektor/projektor.py @@ -58,7 +58,7 @@ def off(): class Projektor: def __init__(self, device): - self.ser = serial.Serial(device, 115200, timeout=1) + self.ser = serial.Serial(device, timeout=1) def close(self): self.ser.close() @@ -99,7 +99,9 @@ class Projektor: self.ser.write(b"\r*pow=?#\r") while True: + #print (self.ser.read(999)) c = self.ser.read(1) + #print(c); if c == b">": self.ser.read(15) status = self.ser.read(3) @@ -121,6 +123,7 @@ if __name__ == "__main__": while True: if p.get_power() != "ON": print("POWER ON") + print(p.get_power()) p.on() elif p.get_source() != "HDMI": diff --git a/projektor/server.py b/projektor/server.py index 8c0059b..3317ee9 100755 --- a/projektor/server.py +++ b/projektor/server.py @@ -1,22 +1,55 @@ #!/usr/bin/env python3 from bottle import get, post, request, run -import projektor +import serial +import termios + +def send(cmd): + ser = serial.Serial() + ser.rts = False + ser.dtr = False + ser.port = "/dev/ttyS0" + ser.open() + ser.write(cmd) + ser.close() + +def send1(cmd): + port="/dev/ttyUSB0" + ser = serial.Serial() + ser.rts = False + ser.dtr = False + ser.port = port + ser.open() + ser.write(cmd) + ser.close() + @get("/status") def status(): print("asking status") - return projektor.get_status() + return "hdmi" + @post("/status") def set_status(): mode = request.forms.get("mode") print("SETTING STATUS TO", mode) if mode == "off": - projektor.off() + send(b"\r*pow=off#\r") + elif mode == "on": + send(b"\r*pow=on#\r") + elif mode == "viido": + send1(b"t") elif mode == "hdmi": - projektor.on_hdmi() - elif mode == "vga": - projektor.on_vga() + send1(b"m") + elif mode == "steam": + send1(b"l") + elif mode == "aux": + send1(b"a") + elif mode == "volumeup": + send1(b"q") + elif mode == "volumedown": + send1(b"w") + return "OK" diff --git a/systemd/projektor.service b/systemd/projektor.service index 874ca9d..b6663b1 100644 --- a/systemd/projektor.service +++ b/systemd/projektor.service @@ -2,6 +2,7 @@ Description=Projektori server [Service] +Environment=PYTHONUNBUFFERED=1 ExecStart=/opt/projektor/server.py [Install] diff --git a/www/index.html b/www/index.html index fe2de4a..2e1dcff 100644 --- a/www/index.html +++ b/www/index.html @@ -52,12 +52,22 @@ display: flex; flex-direction: row; width: 100%; + flex-wrap: wrap; + user-select: none; + -webkit-user-select: none; /* Chrome all / Safari all */ + -moz-user-select: none; /* Firefox all */ + -ms-user-select: none; /* IE 10+ */ + user-select: none; /* Likely future */ } .radio-toolbar input[type="radio"] { display: none; } + .radio-toolbar input[type="button"] { + display: none; + } + .radio-toolbar label { background-color: white; /* RED */ border: none; @@ -72,10 +82,19 @@ transition-duration: 0.4s; cursor: pointer; flex: 1 0 auto; - border: 2px solid #4CAF50; + border: 2px solid #4CAF50; + user-select: none; + } + .rbnt{ + width: 30%; + transition-duration: 0s; } + .rbnt:active{ + background-color: #4CAF50; + color: white; + } .radio-toolbar lable.red { border: 2px solid #af4c4c; } @@ -120,11 +139,6 @@ @@ -148,15 +168,38 @@

Projektori juhtimine

- + - - + +
+

Sisendi juhtimine

-

Linux audio tunnel

+
+ + + + + + + + + +
+
+
+ + + + + + + + +
+

Linux audio tunnel

 pacmd load-module module-tunnel-sink-new server=viido
 PULSE_SERVER=viido pavucontrol &