ESPHomeとLVGLで実現する「夢のスタートレックLCARSコントロールパネル」:自宅を宇宙船に変えるDIYプロジェクト

はじめに:スタートレックへの愛が駆動するホームオートメーション

パンデミックをきっかけに、ホームオートメーションに深く没頭したUrsa Wright氏が、その情熱をさらに加速させました。オープンソースで高度なカスタマイズが可能なホームオートメーションプラットフォーム「Home Assistant」を使いこなす彼は、ADHDの管理にも役立てています。音声カレンダーリマインダー、洗濯通知、タイマー、ドアベルや犬用カメラの監視など、多岐にわたる用途でその恩恵を受けているとのことです。

Wright氏は、子供の頃から魅了されてきた『スタートレック:次世代』のLCARS(Library Computer Access and Retrieval System)インターフェースを自宅に再現することを夢見ていました。既存のHome Assistant用LCARSテーマも存在しましたが、ボタンの比率や角の丸みといった細部で「完璧ではない」と感じ、より本物に近い体験を追求する決意を固めます。

LCARSパネル実現の鍵:ESPHomeとLVGL

この野心的なプロジェクトを実現するために、Wright氏が辿り着いたのが二つの主要技術です。

  • LVGL(Light and Versatile Graphics Library):標準のHome Assistantダッシュボードよりも遥かに高度なカスタマイズが可能なグラフィックインターフェースを構築できるライブラリです。
  • ESPHome:ESPHomeは、ESPHomeは、ESP32やESP8266といったWi-Fi対応マイクロコントローラーを、コーディング初心者でもYAMLというシンプルなマークアップ言語でプログラムできるオープンソースのファームウェアフレームワークです。Home Assistantとの深い連携が可能で、LVGLを特定のディスプレイハードウェア上でサポートしています。

これらの技術を見出したWright氏は、LVGLをサポートするESP32-S3マイクロコントローラーを内蔵したWaveshare製7インチタッチディスプレイを購入し、プロジェクトに着手しました。

デザインと実装の舞台裏

デザインのインスピレーションは、『スタートレック:ヴォイジャー』に登場するバルカン人セキュリティ主任トゥヴォックの私室パネルに求められました。そのカラフルなボタンと角の丸み、そして用途不明ながらも明るさ調整ゲージに見立てられた二つのダイヤルは、LCARSインターフェースの象徴的な要素を豊富に含んでいました。

実装プロセスは以下の通りです。

  • デザインの具体化:まず、Adobe Illustratorで最終デザインを作成し、各要素の正確な寸法や配置の参考にしました。
  • ESPHomeでの再現:ESPHomeのエディター内で、YAMLを用いてLVGLの「ウィジェット」(グラフィック要素)を一つずつ定義していきました。各ボタンのサイズ、位置、色、ラベル、形状などを細かく指定します。
  • リソースの最適化:ESP32マイクロコントローラーはリソースに限りがあるため、画像の使用は極力避け、LVGLの内蔵ウィジェットを多用しました。唯一画像を使用したのが、上部の二つのゲージです。
  • 複雑な形状への工夫:LCARSインターフェース特有の半円状のボタンや肘掛けのような形状は、LVGLの重ね合わせ機能を活用して実現しました。例えば、半円ボタンは四角いボタンの上に同色の円を重ねることで、一体感のある形状を作り出しました。

最終的に、リビングルームには本物と見紛うばかりのLCARSタッチスクリーンが完成しました。

リビングルームに息づく未来のインターフェース

完成したLCARSパネルは、単なる飾りではありません。リビングルームの照明と連携し、ボタンを押すことで照明のオン/オフを切り替えたり、ゲージを使って明るさを調整したりできます。また、ホームの動作モード(「通常」や「快適」など)を表示するステータスボタンも備わっています。

Wright氏はこのプロジェクトを振り返り、「実用性は皆無だが、美しい」と語っています。しかし、子供時代のヒーローたちが宇宙船を操るように自宅を制御できるという事実は、彼にとって計り知れない喜びをもたらしました。これは、IT技術と個人の情熱が融合した、まさに夢のようなDIYプロジェクトと言えるでしょう。


元記事: https://www.theverge.com/tech/862070/lcars-homes-assistant-star-trek