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

打开 ESPHome Builder,点击右下角点击 NEW DEVICE,创建一个新设备。

弹窗点击CONTINUE。

选择New Device Setup,创建新的配置文件。

为新的配置文件命名。

选择设备类型,此处保持默认配置,选择ESP32即可。

复制 Encryption Key 备用,点击SKIP跳过。

在生成的配置文件卡片下点击EDIT进行编辑。

打开配置文件进行修改
psram:
mode: quad
speed: 80MHz 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 的时间信息。
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 开关和亮度。
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 读数来得到电池电压信息,转换后得到大致电池电量信息:
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;SAVE 和 INSTALL, 在弹出的选项中选择 Manual Download。
编译完成后,点击 Download 按钮,选择 Factory Format 下载固件。

将套件通过 USB Type-C 数据线连接至主机,打开ESPHome Web,点击CONNECT连接设备。

之后点击INSTALL,选择之前编译的固件进行上传。

再次点击INSTALL进行烧录,等待烧录完成。

Settings->Device & services 查看设备情况。点击 Add 即可添加设备至 Home Assistant。

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