win安装ESPHome教程

感谢 Little-Bear-Bear 博主的教程,ESPHome入门 windows环境安装 -01

1.安装python

Python官方网站下载。
在这里插入图片描述
确保选中“将Python添加到PATH”,然后一直通过 安装。

安装后重新启动计算机

win+R -> 输入cmd -> 按回车键
查看 python 是否安装成功

python --version

在这里插入图片描述

2.安装esphome

pip3 install esphome

在这里插入图片描述
查看 esphome 是否已经安装

esphome version

在这里插入图片描述
在这里插入图片描述
下载指定版本的esphome

pip3 install esphome==2023.9.3

以后更新到最新版本指令

pip3 install --upgrade esphome

3.启动 esphome 网页

esphome dashboard demo/

在这里插入图片描述

4.浏览器打开ESPHome

你电脑IP地址:6052

或者浏览器打开

localhost:6052

在这里插入图片描述

5.添加设备

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
注意:第一次编译会下载一些工具链/库,会耗费很长时间,而且没有进度条显示,当安装到100%才会打印进度条....
在这里插入图片描述

6.bin烧录

最终生成烧录bin文件
在这里插入图片描述

然后使用 bin在线烧录工具 烧录到板子即可

7.优化

每次启动esphome的时候,都要通过cmd运行esphome dashboard demo/来打开,好麻烦!
这次添加了一个脚本,双击直接运行cmd指令
双击运行ESPHome.bat

@echo off
start cmd /k esphome dashboard ./

在这里插入图片描述
在这里插入图片描述

如果你像我一样懒,连浏览器输入IP:6052都懒得做,可以运行下面的脚本
双击运行ESPHome浏览器访问6052.bat

@echo off
start cmd /k esphome dashboard ./ && start "" http://localhost:6052

这个脚本会运行esphome dashboard ./命令,在该命令成功执行后(&&表示前一命令成功时才执行后一个命令)它将会打开默认的Web浏览器并访问http://localhost:6052

8.白屏处理

在这里插入图片描述
在这里插入图片描述

esphome 中,可以使用 `web_server` 组件来生成一个简单的网页服务器,用于配置和控制设备。默认情况下,`web_server` 只提供一个简单的配置页面,包括设备名称、Wi-Fi 设置等基本配置项。 如果需要添加更多的配置框或自定义页面,可以通过编写 HTML、JavaScript、CSS 等文件来实现。具体来说,可以在 esphome.yaml 配置文件中使用 `file` 组件来指定这些文件的路径和名称,例如: ```yaml web_server: port: 80 auth: username: admin password: secret url_path: esp root_path: /var/www index_page: index.html ssl_certificate: /etc/ssl/cert.pem ssl_key: /etc/ssl/key.pem files: - path: css/main.css name: main.css - path: js/main.js name: main.js - path: index.html name: index.html ``` 这里的 `files` 列表中包含了三个文件,分别是 `main.css`、`main.js` 和 `index.html`。这些文件应该放置在 `root_path` 指定的目录下,可以通过浏览器访问 `http://设备的IP地址:port/url_path/index_page` 来访问 `index.html` 页面。 在 HTML 页面中,可以使用各种标签和框架来实现不同的功能。例如,可以使用 `input` 标签来创建输入框,使用 `button` 标签来创建按钮,使用 JavaScript 来处理事件等等。在后台代码中,可以通过 `web_server` 组件提供的 `on_request` 回调函数来处理用户的请求和提交,例如: ```cpp class MyCustomComponent : public Component { public: void setup() override { // 注册 web_server 回调函数 register_web_server_callback("/my_page", HTTP_GET, &MyCustomComponent::handle_request); } private: void handle_request(AsyncWebServerRequest *request) { // 处理 GET 请求 if (request->method() == HTTP_GET) { // 返回自定义页面 auto response = request->beginResponse_P(200, "text/html", PAGE_CONTENTS); request->send(response); } // 处理 POST 请求 else if (request->method() == HTTP_POST) { // 处理表单提交 String value = request->arg("input_name"); // ... // 返回结果 request->send(200, "text/plain", "OK"); } } static const char* PAGE_CONTENTS; }; const char* MyCustomComponent::PAGE_CONTENTS = R"( <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>My Custom Page</title> <link rel="stylesheet" href="/main.css"> <script src="/main.js"></script> </head> <body> <h1>My Custom Page</h1> <form method="post" action="/my_page"> <input type="text" name="input_name"> <button type="submit">Submit</button> </form> </body> </html> )"; ``` 这里的 `handle_request` 函数注册了一个名为 `/my_page` 的回调函数,用于处理 GET 和 POST 请求。在 GET 请求中,我们返回了一个自定义的 HTML 页面,其中包含一个输入框和一个提交按钮。在 POST 请求中,我们处理了表单提交,并返回了一个简单的文本结果。 需要注意的是,在处理表单提交时,需要对用户输入进行验证和处理,以避免出现安全问题或程序错误。同时,也需要考虑网页服务器的性能和稳定性,避免出现阻塞、死锁等问题。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值