diff --git a/main.py b/main.py index 6e4ce39..7568b43 100644 --- a/main.py +++ b/main.py @@ -88,10 +88,10 @@ html = """
- +
+ +
temps = deque(maxlen=10) def stream(dev): - with serial.Serial(dev, timeout=1) as s: - while True: - temperature = s.readline().decode().strip() - if not temperature: - continue - print("temperature", temperature) - temps.append(temperature) - + while True: + temperature = dev.readline().decode().strip().split()[0] + if not temperature: + continue + print("temperature", temperature) + temps.append(temperature) +arduino = None def application(env, start_response): @@ -159,8 +158,8 @@ def application(env, start_response): if message.startswith("message="): message = parse_qs(message)["message"][0] - messages.appendleft(html_escape(message.strip())) - #start_response("200 OK", [('Content-Type', 'application/json')]) + start_response("200 OK", [('Content-Type', 'application/json')]) + return [json.dumps("OK")] if env["PATH_INFO"] == "/temps.json": start_response('200 OK', [('Content-Type', 'application/json')]) @@ -204,8 +203,11 @@ if __name__ == "__main__": print("{} is not a valid tty device".format(ser_dev)) exit(1) - import threading - t = threading.Thread(target=stream, args=[ser_dev]) + with serial.Serial(ser_dev, timeout=1) as s: + arduino = s + import threading + t = threading.Thread(target=stream, args=[ser_dev]) + # classifying as a daemon, so they will die when the main dies t.daemon = True