AIがあれば、外出時にドアの閉め忘れを心配しなくていい

外出先でふと、「そういえばドア、閉めたっけ?」って不安になること、ありますよね。

私もそうです。出かけた後に何度も思い返して、「鍵、かけたよな?」と。ときにはマンションの敷地を出てから、わざわざ戻って確認したこともあります。

この問題を解決するために、私は「便利ツールボックス」を作りました。家のドアの施錠状態、温度、ルーターの情報をすべて1つのページにまとめて、いつでもどこでも確認できるようにしたんです。

きっかけは、画像アップロードサービス(図床)でした。

image

図床から始まった

私は自分でブログを書いていて、Markdownで画像を挿入することがあります。他人の図床を使うといろいろ心配だし、自分のAlibaba Cloud OSSクライアントを使うのはアップロード方法が面倒。Webからサクッと使える快適さには到底及びません。

そこで、Hermes Agentを活用して、自分用の図床を作ってもらいました。スマホからでも画像をアップロードできるようにしたんです。

実装方法はとてもシンプルです。

最初に、自分の要件を伝えました。「Alibaba Cloud OSSを使ってプライベートな図床を作りたい。パスワード認証をつけて、悪用を防ぎたい」と。AIは、バックエンドにAlibaba Cloud Functionを使い、フロントエンドはどこにでも置ける方式を提案してくれました。

私がやったことはたった一つ:Alibaba Cloud OSSのAPIを提供しただけ。

残りの作業は、すべてAIに任せました。

ちょうどXiaomiが開発者向けに配布している100億トークンを少しもらっていたので、ついでにMimo-v2.5-pro大モデルの実力も試してみました。指示を出してから数分で、AIはフロントエンドとバックエンドのコードを生成し、バックエンドコードをサーバーにアップロードするよう指示してきました。何度か調整を重ねて、このOSS図床のアップロードページが完成しました。

ページを公開してみると、どうも見た目が寂しい。もっと内容を充実させたくなりました。

そこで、思い切って「便利ツールボックス」にしたんです。

便利ツールボックス

日常生活で毎日チェックしたい情報をまとめました。まずは、Tencent FinanceとOKXのAPIを使って、株価と暗号通貨の相場を表示しました。

これらのツールはとても簡単です。情報はすべて外部サイトから取得しているからです。次は、もう少し難易度の高いものに挑戦しました。

私が確認したい内容は次の通りです:

  1. 家のドアが閉まっているか(ここではDockerでHome Assistantをインストールし、Xiaomi miotプラグインを導入)
  2. ルーターの状態
  3. サーバーの状態

私の内網はLinuxの小型サーバーで、外網にもLinux環境があります。しかし、外網からは家の内網情報を取得できません。AIがいくつかの方法を提案してくれましたが、内網の情報を収集して外網のサーバーにプッシュすればいい、という結論に至りました。

技術的な実装

システムの核心は、データ収集とプッシュです。

家庭の状態

Home Assistantには、ドアロック、温湿度計、空気清浄機など、さまざまなスマートデバイスが接続されています。

ローカルに収集スクリプトを書き、1分ごとにHome AssistantのAPIからデータを取得し、外網サーバーにアップロードします。

ドアの施錠状態は、ドア・窓センサーを使っています。磁石の反応でドアの開閉を検知します。温湿度計は屋外、室内、ラック内にそれぞれ設置し、家の環境をいつでも把握できるようにしました。

ルーターの状態

ルーターはOpenWrtシステムです。LuCIのWeb APIを使って、CPU温度、稼働時間、オンラインユーザー数などの情報を取得できます。シェルスクリプトを書き、5分ごとに収集してSCPでサーバーにアップロードします。

サーバーの状態

サーバーの状態はさらに簡単です。システムファイルを直接読み取るだけで、CPU温度、メモリ使用率、ディスク容量などの情報が取得できます。

最終的な効果

今では、ツールページを開くだけで、次の情報が一目でわかります:

  • 家庭の状態:玄関のドアが閉まっているか、室内外の温度、ラック内の温度
  • 相場情報:Xiaomi、Tesla、金の価格
  • 暗号通貨相場:BTC、ETHのリアルタイム価格
  • ルーターの状態:CPU温度、オンラインユーザー数
  • Homelabの状態:サーバーのCPU、メモリ、ディスク使用状況
  • 世界時計:北京、ロンドン、ニューヨークの時刻
  • 日替わり詩:ランダムに一首の古詩を表示

ページはPWAにも対応しているので、スマホのホーム画面に追加して、ネイティブアプリのように使えます。

物を最大限に活用する

このツールボックスの価値は、各プラットフォームに散らばっていた情報を一つにまとめたことです。

以前は、ドアの施錠状態を確認するのにXiaomi Homeアプリを開き、ルーターの状態を見るのにブラウザでIPアドレスを入力し、相場をチェックするのに株価アプリを開く必要がありました。

今では、1つのページで全部済みます。

しかも、自分で作ったものなので、いつでも新しい機能を追加できます。例えば、今後は天気予報や宅配便の追跡、スケジュールリマインダーなども追加できるでしょう。

でも、今のところはこれ以上必要な機能が思いつかないので、とりあえずこのままでいこうと思います。