本地智能家居系统ESPHome,实现远程访问调试
ESPHome 是一个开源固件框架,它简化了为常用 Wi-Fi 微控制器创建自定义固件的过程。使用 ESPHome,您可以:
● 使用简单的 YAML 配置文件创建自定义智能家居设备
● 与 Home Assistant 无缝集成,打造统一的智能家居体验
● 通过多种接口(网页、API、MQTT)控制和监控您的设备
● 利用强大的设备端自动化功能,实现家居自动化
● 通过无线方式“空中下载”(OTA)更新您的设备,无需物理接触。
ESPHome 负责固件开发的复杂部分,让您可以专注于真正重要的事情——按照您想要的方式构建智能家居。
下面将结合 ZeroNews 内网穿透工具,介绍如何在本地部署 ESPHome 并实现公网访问,以便于远程开发和调试。
一、本地部署 ESPHome
- 安装 Python 和 pip
更新软件包列表并安装 Python3 及相关依赖工具:
sudo apt-get update && sudo apt-get install -y python3-pip python3-dev git
- 安装 Python 虚拟环境模块
sudo apt install -y python3-venv
- 创建虚拟环境
在目录下创建名为 v_esphome的虚拟环境:
python3 -m venv ~/v_esphome
- 激活虚拟环境
source ~/v_esphome/bin/activate
- 安装 ESPHome
使用清华大学镜像源加速下载:
pip install esphome -i https://pypi.tuna.tsinghua.edu.cn/simple
- 验证安装检查
ESPHome 版本,确认安装成功:
esphome --version
- 创建项目目录
mkdir ~/esphome-project
cd ~/esphome-project
- 使用向导生成配置文件
运行以下命令,按提示创建设备配置文件(如 your_device.yaml):
esphome wizard your_device.yaml
- 启动 ESPHome Dashboard 服务
在项目目录中执行:
esphome dashboard .
- 本地访问 ESPHome 界面
打开浏览器,访问 http://127.0.0.1:6052,即可看到 ESPHome 的管理界面。
二、创建 ZeroNews 映射服务
- 首先,打开 ZeroNews 网站,然后选择您的系统(我们是用ubuntu安装,选择Linux即可),并按照对应的步骤和命令安装运行 Agent 服务。
- 运行完成之后,您可以在 Agent 页面看到已经在线的 Agent 服务。
- 接着,我们在域名端口页面,创建一个可用的公网域名,并勾选HTTPS 协议端口。
-
域名创建完成之后,我们继续打开映射页面,并按下面的步骤添加映射
a) Agent:选择第一步运行的 Agent
b) 映射协议:选择 HTTP 协议
c) 域名:选择刚创建好的域名
d) 带宽:根据需要选择带宽大小
e) 内网IP:我们是本地部署,直接使用 127.0.0.1 即可
f) 内网端口:输入本地服务的端口 6052 即可
-
按照上述步骤创建完成之后,我们就可以得到一条可公网访问的映射域名
一、公网访问您的 ESPHome项目
- 我们在任意有网络访问电脑的浏览器上,复制上面的链接 https://myesphomeo.dy.takin.cc并打开访问。
- ESPHome 支持非常多的设备,可以参考相关的文档完成相关设备的添加创建:https://www.esphome.io/guides/getting_started_hassio/














