简体中文
English
简体中文
日本語

TimerCamera 系列 Home Assistant 集成

本教程详细讲解 TimerCamera 系列设备接入 Home Assistant 的方法,适用于 TimerCamera (U082)、TimerCamera-X (U082-X)、TimerCamera-F (U082-F)。

1. 准备工作

环境准备

  1. 参考 Home Assistant 官方文档安装 Home Assistant。
  2. 参考 ESPHome 官方文档 完成 ESPHome Device Builder 插件安装。(注意:本教程基于 ESPHome 2025.12.3 版本编写,如遇编译错误,建议先切换至该版本进行验证。)

硬件产品

参考资料

2. 在线烧录

点击下方在线烧录按钮,按提示完成固件烧录和 Wi-Fi 配置,即可快速体验 TimerCamera 系列接入 Home Assistant。

烧录及配置的详细操作可参考在线 ESPHome 固件烧录与配置说明

使用在线烧录功能完成后,无需执行“固件编译 & 烧录”步骤,直接跳转至4. 开始使用章节继续后面的操作。

3. 固件编译 & 烧录

本小节将说明如何基于 yaml 配置文件重新编译项目,便于二次开发、功能修改或新增功能。

编译时长
通过 HA 进行固件编译较为耗费资源,首次编译可能会需要较长时间进行资源下载,跟实际部署 HA 服务的设备以及网络质量相关。
配置说明
本教程以 TimerCamera-X 作为配置示例。除部分型号使用的摄像头不同外,其余硬件配置一致,可根据实际型号修改设备名称等信息。

创建设备

  1. 打开 ESPHome Builder,点击右下角的 NEW DEVICE,创建一个新设备。
  1. 弹窗点击CONTINUE
  1. 选择New Device Setup,创建新的配置文件。
  1. 为新的配置文件命名。
  1. 选择设备类型,此处保持默认配置,选择ESP32即可。
  1. 复制 Encryption Key 备用,点击SKIP跳过。

修改配置

  1. 在生成的配置文件卡片下点击EDIT进行编辑。
  1. 打开配置文件进行修改
psram:
  mode: quad
  speed: 80MHz
yaml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
i2c:
  - id: bsp_i2c
    sda: GPIO12
    scl: GPIO14
  - id: cam_i2c
    sda: GPIO25
    scl: GPIO23

esp32_camera:
  name: OV3660 Camera
  external_clock:
    pin: GPIO27
    frequency: 20MHz
  i2c_id: cam_i2c
  data_pins: [GPIO32, GPIO35, GPIO34, GPIO5, GPIO39, GPIO18, GPIO36, GPIO19]
  vsync_pin: GPIO22
  href_pin: GPIO26
  pixel_clock_pin: GPIO21
  reset_pin: GPIO15
  resolution: 640x480
  jpeg_quality: 10

此处采用的默认图像配置,如需更改配置可以参考 ESPHome 提供的配置范例。

esphome:
  name: timercamera-x
  friendly_name: timercamera-x
  ...
  on_boot:
    then:
      # read the RTC time once when the system boots
      bm8563.read_time:

...
time:
  - platform: bm8563
    i2c_id: bsp_i2c
    # repeated synchronization is not necessary unless the external RTC
    # is much more accurate than the internal clock
    update_interval: never
  - platform: homeassistant
    # instead try to synchronize via network repeatedly ...
    on_time_sync:
      then:
        # ... and update the RTC when the synchronization was successful
        bm8563.write_time:

系统会在启动的时候读取 RTC 中的时间信息,当连接到 Home Assistant 后,会自动同步 Home Assistant 的时间信息。

  • 配置 LED。
yaml
1 2 3 4 5 6 7 8 9 10
output:
  - platform: ledc
    id: blue_led
    pin: GPIO2

light:
  - platform: monochromatic
    output: blue_led
    name: "Blue LED"
    restore_mode: RESTORE_DEFAULT_ON

蓝色 LED 会默认在设备上电后打开,可以在 Home Assistant 里面控制 LED 开关和亮度。

  • 使用电池。
yaml
1 2 3 4 5 6
switch:
  - platform: gpio
    id: bat_hold_pin
    name: "Battery Hold Pin"
    pin: GPIO33
    restore_mode: RESTORE_DEFAULT_ON

此处 GPIO33 用于控制是否使用电池,开启并且保持拉高即可让电池工作,默认情况会一直保持拉高;如果关闭此开关,没有外接电源的情况下设备会关机。

  • 监测电池电量信息。

TimerCamera-X 和 TimerCamera-F 上预装了电池,可以供过获取 GPIO38 的 ADC 读数来得到电池电压信息,转换后得到大致电池电量信息:

yaml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
sensor:
  - platform: adc
    pin: GPIO38
    attenuation: 12dB
    name: "Battery Voltage"
    id: battery_voltage
    update_interval: 10s
    filters:
      - multiply: 1.51

  - platform: template
    id: battery_percent
    name: "Battery Percentage"
    unit_of_measurement: "%"
    accuracy_decimals: 0
    lambda: |-
      float voltage = id(battery_voltage).state;
      float min_voltage = 3.350f;
      float max_voltage = 4.150f;

      if (voltage <= min_voltage) return 0.0;
      if (voltage >= max_voltage) return 100.0;

      float percent = ((voltage - min_voltage) / (max_voltage - min_voltage)) * 100.0;
      return percent;
电池电量提示
电池电量仅在未接入外部 USB 供电且 BAT_HOLD_Pin (GPIO33) 保持高电平时才能监测有效值。未保持 HOLD 状态时不会采用电池供电,ADC 读数会很低 (<1V);如果接入外部 USB 供电并保持 HOLD 状态,此处显示的是充电电压。

编译固件

  1. 修改完成后,点击右上角 SAVEINSTALL, 在弹出的选项中选择 Manual Download
配置示例
点击 TimerCamera-X / TimerCamera-F 查看完整配置文件示例。
  1. 编译完成后,点击 Download 按钮,选择 Factory Format 下载固件。

烧录固件

  1. 将套件通过 USB Type-C 数据线连接至主机,打开ESPHome Web,点击CONNECT连接设备。
  1. 点击INSTALL,选择之前编译的固件进行上传。
  1. 再次点击INSTALL进行烧录,等待烧录完成。

4. 开始使用

  1. 完成固件烧录后,设备开机将自动进行 Wi-Fi 连接。导航至 Settings > Devices & Services 查看设备情况。点击 Add 即可添加设备至 Home Assistant。
  1. Dashboard 示例:
  1. 点击相机实体,可以查看实时预览画面。

TimerCamera (TimerCamera-X) 如左图所示;TimerCamera-F 使用鱼眼镜头,呈现效果如右图所示。

5. 相关视频

Page Tools
PDF
On This Page