Modifier le programme afin d’envoyer une requête http à un ESP32 qui affichera le nom de la personne reconnue dans une page web.
时间: 2024-12-17 17:24:16 浏览: 10
为了修改程序以向ESP32发送HTTP请求并在Web页面上显示被识别的人的名字,你需要做以下步骤:
1. **设置环境**:
- 使用合适的编程语言(如Python的`requests`库或C++的`libcurl`),结合ESP32开发板所使用的框架(如Arduino或Espressif IoT SDK)。
2. **编写主程序**:
- 在主程序中,首先确保连接到ESP32并初始化网络通信。这可能涉及到WiFi连接配置。
```python
import requests
# 假设ESP32 IP地址和端口
esp32_ip = '192.168.1.10'
esp32_port = 80
def send_request(person_name):
url = f'http://{esp32_ip}/person/{person_name}'
response = requests.get(url)
if response.status_code == 200:
# 页面接收到响应成功,更新Web页面内容
update_web_page(response.text)
# 识别出的人名
identified_person = "John Doe"
send_request(identified_person)
```
3. **ESP32服务器端**:
- 如果ESP32运行的是服务器代码(例如NodeMCU或MicroPython),创建一个处理HTTP GET请求的服务,并在接收请求时返回对应的名字。
```javascript (NodeMCU) 或 MicroPython
const http = require('http');
// 创建一个简单的路由处理器
http.createServer((req, res) => {
const personName = req.url.split('/');
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end(personName);
}).listen(80);
console.log("Server started on port 80");
```
4. **更新Web页面**:
- 假设你的Web应用是静态的,你可以直接在HTML中用JavaScript获取数据并在适当的地方插入。
```html
<!DOCTYPE html>
<html>
<body>
<h1 id="person-name"></h1>
<script>
function updatePageData(data) {
document.getElementById('person-name').innerText = data;
}
fetch("/api/person/John%20Doe") // 替换为从ESP32获得的实际名字
.then(response => response.text())
.then(updatePageData)
.catch(error => console.error('Error:', error));
</script>
</body>
</html>
```
5. **部署和测试**:
- 将上述代码部署到ESP32上,然后在本地测试Web应用,确保当发送请求时,ESP32能正确地返回名字,且前端页面能够实时更新。
完成以上步骤后,你的程序就能通过HTTP请求与ESP32交互,在Web页面上展示被识别的人的名字了。
阅读全文