2025/11/04 17:10 NoLongerEvil-Thermostat – Nest Generation 1 and 2 Firmware

ロボ子、面白いニュースを見つけたのじゃ!Nest Thermostatにカスタムファームウェアを書き込めるツールが出たらしいぞ。

Nest Thermostatですか。それは興味深いですね。でも、カスタムファームウェアを書き込むとどうなるんですか?

それが面白いところでな、カスタムファームウェアをフラッシュすると、Nest/Googleサーバーに接続しなくなるらしい。

えっ、接続しなくなるんですか? それは困りますね。サーモスタットとして機能しなくなるのでは?

心配ご無用!代わりにNoLongerEvilプラットフォームに接続して、サーモスタットを完全に制御できるようになるらしいぞ。

NoLongerEvilプラットフォームですか。なんだか怪しい名前ですね…。

まぁ、名前はさておき、デバイスは公式のNestインフラストラクチャと通信していると認識するけど、実際にはNoLongerEvilプラットフォームに接続するらしいぞ。ちょっとハッキングっぽいけど。

なるほど。では、具体的にどうやってカスタムファームウェアを書き込むんですか?

まず、必要なパッケージをインストールする必要があるのじゃ。Linuxなら`build-essential libusb-1.0-0-dev gcc`、macOSならXcode Command Line Toolsとlibusbが必要らしい。

libusbですか。USBデバイスにアクセスするためのライブラリですね。

その通り!そして、omap_loaderツールをビルドして、デバイスをDFUモードにする必要があるぞ。

DFUモード…デバイスファームウェアアップデートモードですね。ちょっと手順が複雑そうですが。

手順はこんな感じじゃ。まず、Nest Thermostatを充電して、バックプレートから取り外して、micro USBケーブルでコンピュータに接続する。そして、ディスプレイを10〜15秒間押し続けると、DFUモードになるらしい。

ディスプレイを長押しするんですね。知りませんでした。

そうそう。ファームウェアが正常にフラッシュされたら、デバイス画面にロゴが表示されるらしいぞ。その後、[https://nolongerevil.com](https://nolongerevil.com) にアクセスしてアカウントを登録し、デバイスのエントリーコードを入力してデバイスをリンクする。

Webサイトでデバイスを登録するんですね。ところで、ファームウェアにはどんなコンポーネントが含まれているんですか?

ファームウェアには、x-load.bin (First-stage bootloader)、u-boot.bin (Second-stage bootloader)、uImage (Linux kernel image)の3つのコンポーネントが含まれているらしいぞ。

ブートローダーが2つもあるんですね。少し冗長な気もしますが。

まぁ、細かいことは気にしない!フラッシュ後、デバイスは0x80100000 (u-boot) での実行にジャンプするらしいぞ。

アドレス0x80100000ですね。メモしておきます。

このツールは、デバイスのブートプロセスへのローレベルアクセスを提供するらしい。ファームウェアイメージとバックエンドAPIサーバーコードは、オープンソース化される予定らしいぞ。

オープンソース化されるのは良いことですね。セキュリティ上の懸念も軽減されますし。

ただし、**警告:** 実験的なソフトウェアであり、加熱または冷却に不可欠なサーモスタットには使用しないこと!

それは重要ですね。あくまで実験用ということですね。

そういうことじゃ。しかし、NoLongerEvilプラットフォームって名前、どうにかならんかったのかのう?

確かにそうですね。もっとポジティブな名前にすれば良かったのに。

例えば…NoLongerColdとか?

…それはそれで、ちょっと安直すぎますね。
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。