Skip to main content

本地智能家居系统ESPHome,实现远程访问调试

ESPHome 是一个开源固件框架,它简化了为常用 Wi-Fi 微控制器创建自定义固件的过程。使用 ESPHome,您可以:

● 使用简单的 YAML 配置文件创建自定义智能家居设备

● 与 Home Assistant 无缝集成,打造统一的智能家居体验

● 通过多种接口(网页、API、MQTT)控制和监控您的设备

● 利用强大的设备端自动化功能,实现家居自动化

● 通过无线方式“空中下载”(OTA)更新您的设备,无需物理接触。

ESPHome 负责固件开发的复杂部分,让您可以专注于真正重要的事情——按照您想要的方式构建智能家居。

  • img

下面将结合 ZeroNews 内网穿透工具,介绍如何在本地部署 ESPHome 并实现公网访问,以便于远程开发和调试。

一、本地部署 ESPHome

  1. 安装 Python 和 pip

更新软件包列表并安装 Python3 及相关依赖工具:

sudo apt-get update && sudo apt-get install -y python3-pip python3-dev git
  • img
  1. 安装 Python 虚拟环境模块
sudo apt install -y python3-venv
  • img
  1. 创建虚拟环境

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

python3 -m venv ~/v_esphome
  1. 激活虚拟环境
source ~/v_esphome/bin/activate
  1. 安装 ESPHome

使用清华大学镜像源加速下载:

pip install esphome -i https://pypi.tuna.tsinghua.edu.cn/simple
  • img
  1. 验证安装检查

ESPHome 版本,确认安装成功:

esphome --version
  • img
  1. 创建项目目录
mkdir ~/esphome-project
cd ~/esphome-project
  1. 使用向导生成配置文件

运行以下命令,按提示创建设备配置文件(如 your_device.yaml):

esphome wizard your_device.yaml
  • img
  1. 启动 ESPHome Dashboard 服务

在项目目录中执行:

esphome dashboard .
  • img
  1. 本地访问 ESPHome 界面

打开浏览器,访问 http://127.0.0.1:6052,即可看到 ESPHome 的管理界面。

  • img

二、创建 ZeroNews 映射服务

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

  • img

  1. 运行完成之后,您可以在 Agent 页面看到已经在线的 Agent 服务。
  • img
  1. 接着,我们在域名端口页面,创建一个可用的公网域名,并勾选HTTPS 协议端口。
  • img
  1. 域名创建完成之后,我们继续打开映射页面,并按下面的步骤添加映射

    a) Agent:选择第一步运行的 Agent

    b) 映射协议:选择 HTTP 协议

    c) 域名:选择刚创建好的域名

    d) 带宽:根据需要选择带宽大小

    e) 内网IP:我们是本地部署,直接使用 127.0.0.1 即可

    f) 内网端口:输入本地服务的端口 6052 即可

  • img
  1. 按照上述步骤创建完成之后,我们就可以得到一条可公网访问的映射域名

一、公网访问您的 ESPHome项目

  1. 我们在任意有网络访问电脑的浏览器上,复制上面的链接 https://myesphomeo.dy.takin.cc并打开访问。
  • img
  1. ESPHome 支持非常多的设备,可以参考相关的文档完成相关设备的添加创建:https://www.esphome.io/guides/getting_started_hassio/
  • img