Add receiver support

This commit is contained in:
viido
2019-11-12 21:45:31 +02:00
parent e5a0eb685a
commit cb951a9559
5 changed files with 100 additions and 18 deletions

View File

@@ -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":

View File

@@ -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"