メインコンテンツまでスキップ

ESPHome で動作させる

開発環境を用意せずにデモを試す

開発環境をセットアップする前に、プロジェクトの結果をすばやくプレビューしたり、基本的なデモファームウェアを試したい場合は、reTerminal E-Series Firmware Hub を開きます。対応する reTerminal E シリーズデバイスを選択し、ブラウザから直接デモファームウェアを書き込むことができます。


このページは、ESPHome を通じて互換性のある Seeed ePaper 製品を駆動し、Home Assistant と統合するためのリファレンスマニュアルです。ここでは、すべてのハードウェアで共通の部分を扱います:

  1. ePaper ディスプレイを駆動する手段として ESPHome を選ぶ理由。
  2. クックブックの YAML サンプルを使い、自分の用途に合わせて調整し、ESPHome ダッシュボードからフラッシュする方法。
  3. すべての製品が独自のピンマップで特化させる汎用 YAML スケルトン — wifiapiotadisplay
  4. 製品ごとのクックブックの所在(ペリフェラル、ハードウェア固有の lambda、ダッシュボードレシピ)。

「フラッシュ → 接続 → 最初のダッシュボード」までのエンドツーエンドの手順が必要な場合は、以下の自分のハードウェア向けクックブックに直接進んでください。これらのページは、このリファレンスで説明する定型部分を再利用し、製品固有のサンプルを追加しています。

対応ハードウェア

メインハブページESPHome 列にチェックが付いているすべての Seeed ePaper 製品は、このワークフローで動作させることができます:

製品MCUクックブック
reTerminal E1001 / E1002 / E1003 / E1004XIAO ESP32-S3ディスプレイの基本、HA 連携 & 描画
ボタン、ブザー、LED、バッテリー、SHT4x & ディープスリープ
RTC、SD カード & マイク
EE04 driver boardXIAO ESP32-S3 PlusEE04 ESPHome クックブック
XIAO 7.5" ePaper PanelXIAO ESP32-C3XIAO パネル ESPHome クックブック
TRMNL 7.5" (OG) DIY KitXIAO ESP32-S3 PlusTRMNL DIY キット ESPHome クックブック

なぜ ePaper に ESPHome を使うのか?

  • 省エネルギー — ePaper は画面を更新しているときだけ電力を消費するため、(ESP32 + ESPHome のディープスリープ + ePaper)の組み合わせは、バッテリーで数週間〜数か月動作させることができます。
  • 日光下での視認性 — LCD と異なり、ディスプレイは日光下でも読みやすく、壁掛けの Home Assistant パネルに最適です。
  • ネイティブな HA 市民 — デバイスが Home Assistant に現れれば、あらゆるエンティティ(空調、カレンダー、センサー、人物、天気)は、壁に表示するまで Jinja テンプレート 1 つ分の距離になります。
  • ローカルファースト — クラウドもベンダーロックインもありません。すべてが自宅 LAN 上で動作します。

ステップ 1: ESPHome YAML を生成してファームウェアを書き込む

最も簡単な始め方は、reTerminal E-Series Firmware Hub を使うことです。ハブは、デバイスと有効化したい機能の選択から ESPHome YAML ファイルを生成できるため、最初の設定を手作業で組み立てる必要がありません。

推奨ワークフロー:

  1. デスクトップ版 Chrome または Edge で reTerminal E-Series Firmware Hub を開きます。
  2. プラットフォームとして ESPHome を選択します。
  3. 自分のデバイスを選択します。
  4. セットアップ手順で、ディスプレイ、ボタン、バッテリー、センサー、RTC、SD カード、マイク、ディープスリープなど、デバイスで利用可能な機能を有効化するよう選択します。
  5. ページに対応する ESPHome YAML を生成させます。
  6. Copy to clipboard または Download file を使って、生成された YAML をエクスポートします。
  7. ESPHome ダッシュボードに YAML を貼り付けるか、インポートします。
  8. プロジェクトで最も重要な部分、つまり ePaper ディスプレイのコンテンツ、Home Assistant エンティティ、レイアウト、フォント、リフレッシュ動作に手動編集の焦点を当てます。
ヒント

Firmware Hub は、デバイス固有の YAML 構造の多くを処理してくれるため、新規ユーザーにとって推奨される出発点です。生成された設定を理解したいとき、高度な機能を組み合わせたいとき、あるいは小さなサンプルからカスタムレイアウトを構築したいときには、クックブックを利用してください。

ESPHome ダッシュボードは次のいずれかの形で実行します:

  • Home Assistant アドオン(すでに HA OS / HA Supervised を運用している場合に推奨)、または
  • スタンドアロンの Python CLI(pip install esphome の後に esphome dashboard config/ を実行)。

手動クックブックワークフロー:

  1. 自分のハードウェア向けクックブック(上の表を参照)を開き、必要な YAML サンプルをコピーします。
  2. ESPHome ダッシュボードで + New device をクリックし、名前を入力して、クックブックに記載されている ESP バリアント(ESP32-S3、ESP32-C3 など)を選択します。
  3. 生成されたスターターファイルを自分の設定で置き換えます。1 台のデバイスで複数の機能が必要な場合にのみ、クックブックのセクションを組み合わせてください。
  4. 最初の USB フラッシュでは Install → Plug into this computer をクリックします。wifiapiota が設定されれば、その後の更新は Wi-Fi 経由で行えます。
  5. デバイスがオンラインになると、ESPHome 連携を通じて Home Assistant に表示されます。

ステップ 2: 生成された YAML 構造を理解する

すべての Seeed ePaper ESPHome 設定は同じ基本構造に従いますが、ハードウェアの値は共通ではありません。ボードタイプ、バスピン、電源イネーブルピン、ディスプレイプラットフォーム、ディスプレイモデル、オンボードペリフェラルについては、Firmware Hub または自分の製品向けクックブックを信頼できる情報源として使用してください。

以下のブロックは、構造ガイドであり、そのままフラッシュできる設定ではありません。製品固有の YAML ファイルを生成またはコピーした後に、各種設定が通常どこに現れるかを示しています:

substitutions:
device_name: my-epaper
friendly_name: My ePaper Display

esphome:
name: ${device_name}
friendly_name: ${friendly_name}
# Optional. Some products enable power rails or read sensors during boot.
# Keep this section from the generated YAML if your device needs it.
on_boot:
priority: 600
then:
- output.turn_on: <power_enable_output_id>
- delay: 200ms

# Board and framework come from the Firmware Hub or your cookbook.
esp32:
board: <board_from_generated_yaml>
framework:
type: arduino

logger:
# Some ESP32-S3 products use a USB-to-UART bridge.
# Keep hardware_uart from the generated YAML if it is present.
# hardware_uart: UART0

api:
encryption:
key: !secret api_key

ota:
- platform: esphome
password: !secret ota_password

wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
ap:
ssid: "${device_name} Fallback"

captive_portal:

# Buses are hardware-specific. Do not reuse pins from another product.
spi:
clk_pin: <spi_clk_from_generated_yaml>
mosi_pin: <spi_mosi_from_generated_yaml>
miso_pin: <spi_miso_if_required>

i2c:
scl: <i2c_scl_if_required>
sda: <i2c_sda_if_required>

i2s_audio:
# Only needed when your generated YAML enables a microphone.
i2s_lrclk_pin: <i2s_clock_if_required>

font:
- file: "gfonts://Inter@700"
id: font_medium
size: 24

# Outputs are often used for LEDs, buzzers, or power-enable circuits.
output:
- platform: gpio
id: <output_id_from_generated_yaml>
pin: <gpio_from_generated_yaml>

light:
- platform: binary
name: "Onboard LED"
output: <output_id_from_generated_yaml>

time:
- platform: homeassistant
id: ha_time

sensor:
# Add Home Assistant, onboard, or template sensors here.
- platform: homeassistant
id: outdoor_temperature
entity_id: sensor.outdoor_temperature

binary_sensor:
# Add buttons or status inputs here if your hardware provides them.
- platform: gpio
id: button_1
pin: <button_gpio_from_generated_yaml>

display:
- platform: <display_platform_from_generated_yaml>
id: epaper_display
# Keep the model and pin map from the generated YAML or cookbook.
model: <display_model_from_generated_yaml>
cs_pin: <display_cs_from_generated_yaml>
dc_pin: <display_dc_from_generated_yaml>
reset_pin: <display_reset_from_generated_yaml>
busy_pin: <display_busy_from_generated_yaml>
update_interval: never
lambda: |-
it.print(0, 0, id(font_medium), "Hello, ePaper!");

Firmware Hub またはクックブックから、次の値を維持してください:

  • esp32.board と、hardware_uart などの logger 設定。
  • spii2ci2s_audio のピン。
  • ディスプレイ、バッテリー測定、SD カード、マイク、その他オンボード回路用の電源イネーブル output ブロック。
  • ボタン、バッテリー、RTC、SHT4x、SD カード、マイク、ブザー、LED の定義。
  • display.platformmodel、ピンマップ、リセット動作、busy ピンの動作、更新間隔。

通常カスタマイズする部分は次のとおりです:

  • substitutions、デバイス名、フレンドリーネーム。
  • wifiapiota のシークレット。
  • font の種類とサイズ。
  • 描画したいデータを提供する Home Assistant の sensorbinary_sensortext_sensor、または time エンティティ。
  • display.lambda ブロック。ここで実際の電子ペーパー画面レイアウトを設計します。
  • update_interval、ボタンによるリフレッシュ、ディープスリープのタイミングなどのリフレッシュ動作。

ステップ 3: Home Assistant に接続する

ファームウェアが起動して Wi-Fi に接続されると、Home Assistant が自動的にデバイスを検出します:

  1. Settings → Devices & services
  2. ESPHome インテグレーションに、あなたのデバイス用の「Discovered」カードが表示されます。
  3. Configure をクリックし、API 暗号化キー(secrets.yaml から)を貼り付けて送信します。
  4. デバイスと、そのすべてのエンティティ(sensors、binary_sensors、display)が HA で利用可能になります。

これでエンティティを Lovelace ダッシュボードにドラッグすることもできますし、電子ペーパーではさらに面白いことに、display.lambda ブロックを使って homeassistant コンポーネント経由で任意の HA エンティティを直接画面に描画することもできます。

次のステップ — クックブック

このページは意図的にボイラープレートまでで止めています。製品固有の YAML、周辺機器の例、エンドツーエンドのレシピは、各製品のクックブックにまとめられています:

新しい電子ペーパー製品が出荷されると、対応するクックブックが各製品フォルダの下に追加され、このメインページからのリンクも更新されます。

よくある問題

技術サポート & 製品ディスカッション

弊社製品をお選びいただきありがとうございます。私たちは、製品をできるだけスムーズにご利用いただけるよう、さまざまなサポートを提供しています。お好みやニーズに合わせて選べる、複数のコミュニケーションチャネルをご用意しています。

Loading Comments...