diff options
author | Matthias P. Braendli <matthias.braendli@mpb.li> | 2016-09-10 23:53:51 +0200 |
---|---|---|
committer | Matthias P. Braendli <matthias.braendli@mpb.li> | 2016-09-10 23:53:51 +0200 |
commit | 1599d900a498f7575b47b3dbfe8d52613cbe3f50 (patch) | |
tree | 48b840dda99c5c93daca3765486391af660b50ad /glutte_serial_web.py | |
parent | 6b837ae98b61813ce59162992d278662bb5a9f18 (diff) | |
download | glutte-serial-web-1599d900a498f7575b47b3dbfe8d52613cbe3f50.tar.gz glutte-serial-web-1599d900a498f7575b47b3dbfe8d52613cbe3f50.tar.bz2 glutte-serial-web-1599d900a498f7575b47b3dbfe8d52613cbe3f50.zip |
Add first version with simple data streaming
Diffstat (limited to 'glutte_serial_web.py')
-rwxr-xr-x | glutte_serial_web.py | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/glutte_serial_web.py b/glutte_serial_web.py new file mode 100755 index 0000000..2154599 --- /dev/null +++ b/glutte_serial_web.py @@ -0,0 +1,51 @@ +#!/usr/bin/env python +# +# The MIT License (MIT) +# +# Copyright (c) 2016 Matthias P. Braendli +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in all +# copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. + +from time import sleep +from flask import Flask, render_template +import serialrx + +app = Flask(__name__) + +ser = serialrx.SerialRX() + +@app.route('/') +def index(): + def generate(): + while True: + line = ser.get_line() + if line is not None: + yield line + sleep(0.1) + + return app.response_class(generate(), mimetype='text/plain') + + +try: + ser.start() + app.run() +except KeyboardInterrupt: + print("Ctrl-C received, quitting") +finally: + ser.stop() |