要通过 Flask 使用实时传感器数据更新 jQuery,你需要理解几个基础概念和技术:
app.py
)from flask import Flask, render_template
from flask_socketio import SocketIO
app = Flask(__name__)
socketio = SocketIO(app)
@app.route('/')
def index():
return render_template('index.html')
@socketio.on('connect')
def test_connect():
print('Client connected')
@socketio.on('disconnect')
def test_disconnect():
print('Client disconnected')
def simulate_sensor_data():
import random
while True:
socketio.emit('sensor_update', {'data': random.randint(0, 100)})
socketio.sleep(1)
if __name__ == '__main__':
import threading
threading.Thread(target=simulate_sensor_data).start()
socketio.run(app, debug=True)
templates/index.html
)<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Real-time Sensor Data</title>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/socket.io/4.0.1/socket.io.js"></script>
</head>
<body>
<h1>Sensor Data</h1>
<div id="sensor-value">Loading...</div>
<script>
$(document).ready(function() {
var socket = io.connect('http://' + document.domain + ':' + location.port);
socket.on('sensor_update', function(data) {
$('#sensor-value').text('Sensor Value: ' + data.data);
});
});
</script>
</body>
</html>
simulate_sensor_data
函数运行正常,没有阻塞操作。from flask_cors import CORS
app = Flask(__name__)
CORS(app)
socketio = SocketIO(app, cors_allowed_origins="*")
通过以上步骤和代码示例,你可以实现一个基本的实时传感器数据更新系统。如果遇到具体问题,可以根据错误信息和日志进行调试。
领取专属 10元无门槛券
手把手带您无忧上云