48 lines
1.4 KiB
HTML
48 lines
1.4 KiB
HTML
from flask import Flask, jsonify, render_template_string
|
|
|
|
html_page = """
|
|
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<title>Modbus 即時資料</title>
|
|
<style>
|
|
body { font-family: Arial, sans-serif; font-size: 20px; padding: 20px; }
|
|
.label { font-weight: bold; }
|
|
</style>
|
|
</head>
|
|
<body>
|
|
<h1>📊 Modbus 即時資料</h1>
|
|
<p><span class="label">RPM (地址1633):</span> <span id="rpm">載入中...</span></p>
|
|
<p><span class="label">AI 電壓 (地址1635):</span> <span id="ai">載入中...</span></p>
|
|
<p><span class="label">類比訊號值 (地址1637):</span> <span id="analog">載入中...</span></p>
|
|
|
|
|
|
<script>
|
|
async function fetchData() {
|
|
try {
|
|
const response = await fetch('/modbus'); // ✅ 修改這行
|
|
const result = await response.json();
|
|
|
|
document.getElementById('rpm').textContent = result.rpm;
|
|
document.getElementById('ai').textContent = result.ai;
|
|
document.getElementById('analog').textContent = result.analog;
|
|
} catch (error) {
|
|
document.getElementById('rpm').textContent = '錯誤';
|
|
document.getElementById('ai').textContent = '錯誤';
|
|
document.getElementById('analog').textContent = '錯誤';
|
|
}
|
|
}
|
|
|
|
|
|
setInterval(fetchData, 1000);
|
|
fetchData();
|
|
</script>
|
|
</body>
|
|
</html>
|
|
"""
|
|
|
|
@app.route("/")
|
|
def index():
|
|
return render_template_string(html_page)
|