2016-08-03 9 views
-1

ラズベリーパイから私の家の温度などのデータをライブストリーミングしたい。データを収集することはできますが、更新することなくページを更新するにはどうすればよいですか?私はAJAXとJavaScriptについて聞きましたが、Flaskでどのように使用するのか分かりません。ライブをFlaskから更新することなく、ページを更新する

from flask import Flask, request, make_response, abort, redirect, render_template, jsonify 

app = Flask(__name__) 

tempc = 0.0 
temp_sensor = "/sys/bus/w1/devices/28-000007013b3f/w1_slave" 

def temp_raw(): 
    f = open(temp_sensor, "r") 
    lines = f.readlines() 
    f.close() 
    return lines 

def read_tempc(): 
    lines = temp_raw() 
    temp = lines[1].strip()[-5:] 
    tempc = float(temp)/1000 
    tempc = round(tempc, 1) 
    return tempc 

@app.route('/temp', methods = ['GET']) 
def temp(): 
    temp = read_tempc() 
    return render_template('temp.html', temp=temp) 
<!DOCTYPE html> 
<html> 
    <head> 
     <meta charset="utf-8" /> 
     <title>"Test Temperature</title> 
    </head> 

     <body> 
       <h1> Je suis ici </h1> 
       <p> La température de la pièce est de: {{ temp }}°.</p> 
       <script text = "text/javascript"> 
         function() { 
           $SCRIPT_ROOT = {{ request.script_root|tojson|safe }}; 
           $.getJSON($SCRIPT_ROOT+"/temp", 
             function(data) { 
               $("#getTemp").text(data.temp+"°") 
             }); 
           }; 
       </script> 
     </body> 
</html> 

編集:私はすでにこのソリューションにenter link description here

を見た。しかし、私は、このソリューションを使用する場合、私はJSコードを配置する必要があり、しかもIところ、私は理解していない、jsonify(TEMP = TEMP)同じページ上にあること印刷: `

{ 
     "temp": 31.2 
} 

だから私はいくつかのexplications、事前に感謝し、良い夜をしたい:P

+0

http://flask.pocoo.org/docs/0.11/patterns/jquery/ – davidism

答えて

0

おそらく、データを渡し、JavaScriptを使用して時間に応じて定期的な更新を行うのが最も簡単です。

+0

どうすればjavascriptで行うことができますか?そして、このjavascriptコードは、データの更新を行うかどうかは正しいですか? –

関連する問題