ESPHome 是一个开源固件框架,它简化了为常用 Wi-Fi 微控制器创建自定义固件的过程。使用 ESPHome,您可以:
使用简单的 YAML 配置文件创建自定义智能家居设备
与 Home Assistant 无缝集成,打造统一的智能家居体验
通过多种接口(网页、API、MQTT)控制和监控您的设备
利用强大的设备端自动化功能,实现家居自动化
通过无线方式“空中下载”(OTA)更新您的设备,无需物理接触。
ESPHome 负责固件开发的复杂部分,让您可以专注于真正重要的事情——按照您想要的方式构建智能家居。

下面将结合 ZeroNews 内网穿透工具,介绍如何在本地部署 ESPHome 并实现公网访问,以便于远程开发和调试。
一、 本地部署 ESPHome
1、 安装 Python 和 pip
更新软件包列表并安装 Python3 及相关依赖工具:

2、 安装 Python 虚拟环境模块

3、 创建虚拟环境
在目录下创建名为 v_esphome的虚拟环境:

4、 激活虚拟环境

5、安装 ESPHome
使用清华大学镜像源加速下载:


6、 验证安装检查
ESPHome 版本,确认安装成功:


7、 创建项目目录

8、 使用向导生成配置文件
运行以下命令,按提示创建设备配置文件(如 your_device.yaml):


9、 启动 ESPHome Dashboard 服务
在项目目录中执行:


10、 本地访问 ESPHome 界面
打开浏览器,访问 http://*****:**,即可看到 ESPHome 的管理界面。

二、 创建 ZeroNews 映射服务
1、 首先,打开 ZeroNews 网站,然后选择您的系统(我们是用ubuntu安装,选择Linux即可),并按照对应的步骤和命令安装运行 Agent 服务。


2、 运行完成之后,您可以在 Agent 页面看到已经在线的 Agent 服务。

3、 接着,我们在域名端口页面,创建一个可用的公网域名,并勾选HTTPS 协议端口。

4、 域名创建完成之后,我们继续打开映射页面,并按下面的步骤添加映射
a) Agent:选择第一步运行的 Agent
b) 映射协议:选择 HTTP 协议
c) 域名:选择刚创建好的域名
d) 带宽:根据需要选择带宽大小
e) 内网IP:我们是本地部署,直接使用 127.0.0.1 即可
f) 内网端口:输入本地服务的端口 6052 即可

5、 按照上述步骤创建完成之后,我们就可以得到一条可公网访问的映射域名
三、 公网访问您的 ESPHome项目
1、我们在任意有网络访问电脑的浏览器上,复制上面的链接并打开访问。

2、 ESPHome 支持非常多的设备,可以参考相关的文档完成相关设备的添加创建。


审核编辑 黄宇
