<!DOCTYPE html><html><head> <meta charset="UTF-8"> <title>ESP8266 LED Control</title> <style type="text/css"> .slider { -webkit-appearance: none; width: 50%; height: 20px; background: #ddd; outline: none; opacity: 0.7; -webkit-transition: opacity .2s; transition: opacity .2s; } .slider:hover { opacity: 1; } .slider::-webkit-slider-thumb { -webkit-appearance: none; appearance: none; width: 20px; height: 20px; background: #4CAF50; cursor: pointer; } .slider::-moz-range-thumb { width: 20px; height: 20px; background: #4CAF50; cursor: pointer; } </style></head><body> <h1>ESP8266 LED Control</h1> <input type="range" min="0" max="255" value="0" class="slider" id="brightnessSlider"> <p>Brightness: <span id="brightnessValue">0</span></p> <script> var slider = document.getElementById("brightnessSlider"); var output = document.getElementById("brightnessValue"); output.innerHTML = slider.value; slider.oninput = function() { output.innerHTML = this.value; sendBrightness(this.value); } function sendBrightness(value) { var xhttp = new XMLHttpRequest(); xhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { console.log("Brightness set to: " + value); } }; xhttp.open("GET", "/brightness?value=" + value, true); xhttp.send(); } </script></body></html>这是你写给我的代码,为什么brightness后的值一直是0,而不会随滑条的值改变
时间: 2024-03-19 18:40:03 浏览: 299
这可能是因为您没有正确设置服务器端的代码来处理ESP8266发送的HTTP GET请求。服务器端代码应该解析“value”参数,并将其用于更改LED亮度。您可以检查服务器端代码是否正确处理了此请求。如果服务器端代码正确,您还可以在ESP8266端使用串行监视器来检查是否正确发送了HTTP GET请求。
相关问题
<!DOCTYPE html><html><head> <meta charset="UTF-8"> <title>ESP8266 LED Control</title> <style> </style></head><body> <h1>ESP8266 LED Control</h1> <input type="range" min="0" max="255" value="0" id="brightnessSlider" oninput="onput_function();"> <p id="brightnessValue">Brightness: 0</p> <script> function onput_function() { var slider = document.getElementById("brightnessSlider"); var output = document.getElementById("brightnessValue"); output.innerHTML = "值为" + slider.value; } function sendBrightness(value) { var xhttp = new XMLHttpRequest(); xhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { console.log("Brightness set to: " + value); } }; xhttp.open("GET", "/brightness?value=" + value, true); xhttp.send(); } </script></body></html>和<!DOCTYPE html><html><head> <meta charset="UTF-8"> <title>ESP8266 LED Control</title> <style> </style></head><body> <h1>ESP8266 LED Control</h1> <input type="range" min="0" max="255" value="0" id="brightnessSlider" oninput="onput_function();"> <p id="brightnessValue">Brightness: 0</p> <script> function onput_function() {var slider = document.getElementById("brightnessSlider"); var output = document.getElementById("brightnessValue"); output.innerHTML = "值为" + this.value; }); function sendBrightness(value) { var xhttp = new XMLHttpRequest(); xhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { console.log("Brightness set to: " + value); } }; xhttp.open("GET", "/brightness?value=" + value, true); xhttp.send(); } </script>body></html>是完全一样的吗
不完全一样,第二个 HTML 代码存在语法错误。在第二个代码中,`onput_function()` 函数的语法是不正确的,应该是 `oninput_function()`。此外,`onput_function()` 函数的代码也被修改了,导致其与第一个代码不同。在第二个代码中,`onput_function()` 函数的代码是:
```
function onput_function() {
var slider = document.getElementById("brightnessSlider");
var output = document.getElementById("brightnessValue");
output.innerHTML = "值为" + this.value;
});
```
这段代码多了一个右括号 `)`,而且没有与前面的左括号 `(` 匹配。正确的代码应该是:
```
function oninput_function() {
var slider = document.getElementById("brightnessSlider");
var output = document.getElementById("brightnessValue");
output.innerHTML = "Brightness: " + slider.value;
}
```
除此之外,两个 HTML 代码是完全一样的。
使用HTML写一个ESP8266服务的控制页面,用来控制stm32的小灯
好的,以下是一个简单的示例代码:
```html
<!DOCTYPE html>
<html>
<head>
<title>ESP8266 Control Panel</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<style>
body {
font-family: Arial, sans-serif;
margin: 0;
padding: 0;
}
h1 {
text-align: center;
margin-top: 20px;
}
.container {
max-width: 500px;
margin: 0 auto;
padding: 20px;
border: 1px solid #ccc;
border-radius: 5px;
}
.form-group {
margin-bottom: 10px;
}
label {
display: block;
margin-bottom: 5px;
font-weight: bold;
}
input[type="submit"] {
display: block;
margin: 20px auto 0;
padding: 10px 20px;
border: none;
border-radius: 5px;
background-color: #4CAF50;
color: #fff;
font-size: 18px;
cursor: pointer;
}
</style>
</head>
<body>
<h1>ESP8266 Control Panel</h1>
<div class="container">
<form action="/control" method="post">
<div class="form-group">
<label for="led">LED</label>
<select name="led" id="led">
<option value="on">On</option>
<option value="off">Off</option>
</select>
</div>
<input type="submit" value="Submit">
</form>
</div>
</body>
</html>
```
这是一个基本的 HTML 页面,包含一个表单,用户可以选择将 LED 打开或关闭。在表单提交时,数据将被发送到 `/control` 路径。
你需要在 ESP8266 上运行一个 Web 服务器,将该页面提供给用户。当用户提交表单时,ESP8266 将捕获表单数据,并将其发送到 stm32 控制 LED。
具体实现方式取决于你使用的编程语言和框架。你可以使用 Arduino IDE 和 ESP8266 库来编写代码,或使用其他语言和框架,如 MicroPython 或 NodeMCU。
需要注意的是,该示例代码仅作为参考,你需要根据自己的需求进行修改和适配。
阅读全文