易西 发表于 2025-9-28 13:02:17

esphome中如何给esp32-cam视频画面添加时间显示

esphome中如何给esp32-cam视频画面添加时间显示

易西 发表于 2025-9-28 13:03:01

‌基础配置‌
在ESPHome的YAML配置文件中,需启用摄像头组件和时间组件。示例配置如下:

yaml
Copy Code
esphome:
name: esp32-cam
platform: ESP32
board: esp32cam

# 启用摄像头
esp32_camera:
name: "ESP32-CAM"
external_clock: 20MHz
i2c_pins:
    sda: GPIO26
    scl: GPIO27
data_pins:
vsync_pin: GPIO25
href_pin: GPIO23
pixel_clock_pin: GPIO22
power_down_pin: GPIO32
resolution: 800x600

# 启用时间组件(从NTP服务器获取时间)
time:
- platform: homeassistant
    id: homeassistant_time
‌叠加时间显示‌
使用lambda在视频流上叠加时间文本,需在摄像头配置中添加以下内容:

yaml
Copy Code
esp32_camera:
# 其他配置同上
extra_components:
    - lambda: |-
      it.text(10, 10, id(homeassistant_time).now().strftime("%Y-%m-%d %H:%M:%S"))
          .color(255, 255, 255)
          .font_size(20);
注意事项
‌时间同步‌:需确保ESP32连接到Home Assistant或配置NTP服务器以获取准确时间
2
3。
‌电源稳定性‌:电源不足可能导致图像水纹或时间显示异常
4。
‌字体大小与位置‌:通过调整text()函数的坐标和font_size参数可优化显示效果
7。
验证与调试
编译并刷入固件后,通过Home Assistant的ESPHome面板查看视频流,时间应显示在画面左上角。若未显示,检查时间组件是否成功同步或调整lambda中的坐标值
3
8。

参考

易西 发表于 2025-9-28 13:36:05

https://zhidao.baidu.com/question/445750262465112804.html
参考

易西 发表于 2025-9-28 13:36:54

https://zhuanlan.zhihu.com/p/1908975111807141597
参考

易西 发表于 2025-9-28 14:42:27

在ESPHome中为ESP32-CAM视频流叠加时间显示的最简方法如下:

基础配置方案
‌时间组件‌
使用SNTP协议自动同步网络时间:

yaml
Copy Code
time:
- platform: sntp
    id: sntp_time
    servers: pool.ntp.org
    timezone: "Asia/Shanghai":ml-citation{ref="3" data="citationList"}
‌摄像头配置‌
通过esp32_camera组件直接叠加时间文本:

yaml
Copy Code
esp32_camera:
name: "ESP32-CAM"
# 标准引脚配置(AI-Thinker版本)
external_clock:
    pin: GPIO0
    frequency: 20MHz
i2c_pins:
    sda: GPIO26
    scl: GPIO27
data_pins:
# 时间叠加关键配置
extra_command: "text 10 10 %Y-%m-%d %H:%M:%S -c white -s 20":ml-citation{ref="3,5" data="citationList"}
替代方案(兼容旧版本)
若上述方法不兼容,改用图像处理组件实现:

yaml
Copy Code
image_processing:
- platform: lambda
    name: "Time Stamp"
    update_interval: 1s
    lambda: |-
      return {
      draw: [{
          type: "text",
          x: 15, y: 15,
          text: id(sntp_time).now().strftime("%H:%M:%S"),
          color: { r: 255, g: 255, b: 255 },
          font_size: 16
      }]
      };:ml-citation{ref="3" data="citationList"}
注意事项
确保ESP32-CAM使用board: esp32cam配置
时间同步需要稳定的WiFi连接,首次启动可能延迟30-60秒
2
若显示异常,尝试降低分辨率至640x480或调整字体位置参数


参考
页: [1]
查看完整版本: esphome中如何给esp32-cam视频画面添加时间显示