pdf-icon

TimerCamera シリーズ Home Assistant 連携

対象範囲
本チュートリアルは TimerCamera (U082)、TimerCamera-X (U082-X)、TimerCamera-F (U082-F) に適用されます

TimerCamera シリーズは ESP32-D0WDQ6-V3 をベースにしたカメラモジュールで、8MB の PSRAM、3MP カメラ (OV3660) を搭載しています。DFOV は 66.5°(TimerCamera-F は 120°)で、最大 2048x1536 解像度の写真を撮影できます。ステータス LED と RESET ボタンを備え、超低消費電力設計が特長です。RTC(BM8563)により、スケジュールによるスリープとウェイクアップが可能です。

ESPHome の最新設定例はこちら

準備

  • Home Assistant ホスト
  • Home Assistant にて ESPHome Builder をインストールし有効化
ヒント
本チュートリアルでは ESPHome 2025.12.3 でコンパイル/書き込みを行っています。ビルド/書き込みで問題がある場合は、このバージョンに切り替えてください。ここでは TimerCamera-X を例にします。機種によりカメラが一部異なる点を除き、その他のハードウェア構成は同一です。名称などはご自身の機種に合わせて調整してください。

ESPHome Builder を開き、右下の NEW DEVICE をクリックして新しいデバイスを作成します。

ポップアップで CONTINUE をクリックします。

New Device Setup を選択し、新しい設定ファイルを作成します。

新しい設定ファイルに名前を付けます。

デバイスタイプはデフォルトのまま ESP32 を選択します。

Encryption Key を控え、SKIP をクリックして進みます。

デバイスの構成

作成された設定カードで EDIT をクリックして編集します。

設定ファイルを開き、次を追加・変更します。

  • PSRAM コンポーネントの追加
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 22

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 からオン/オフや明るさを制御できます。

  • バッテリーを使用する
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 はバッテリー使用の制御に用います。High のまま保持するとバッテリー駆動します。デフォルトで High が維持されます。このスイッチをオフにして外部電源が無い場合、デバイスはシャットダウンします。

  • バッテリー残量の監視

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)が High に保持されている場合のみです。HOLD を保持しない場合、バッテリー駆動にならず ADC 値は非常に低くなります(< 1 V)。外部 USB 給電があり HOLD も High の場合、表示される電圧は充電電圧です。

編集後、右上の SAVEINSTALL をクリックし、ポップアップで Manual Download を選択します。

ヒント
完全な設定例は TimerCamera-X/TimerCamera-F をクリック。初回ビルドは、ホスト性能やネットワーク状況により時間がかかる場合があります。

ビルド完了後、Download をクリックし、Factory Format を選んでファームウェアをダウンロードします。

ファームウェアの書き込み

USB Type‑C ケーブルでホストに接続し、ESPHome Web を開いて CONNECT をクリックします。

続いて INSTALL をクリックし、先ほどビルドしたファームウェアを選択して書き込みます。

再度 INSTALL をクリックしてフラッシュを開始し、完了まで待ちます。

Home Assistant への追加

書き込み後、起動時に自動で Wi‑Fi に接続します。Settings -> Device & services を開き、デバイスを確認して Add をクリックすると追加できます。

ダッシュボード例:

カメラエンティティをクリックすると、ライブプレビューを表示できます。

左が TimerCamera(TimerCamera‑X)、右は魚眼レンズを採用する TimerCamera‑F の表示例です。

On This Page