世界を動かす技術を、日本語で。

秘密の箱:アパートのインターホンをApple Homeと連携させるための discreet な改造

概要

  • Frankのアパートの インターホン故障 による入館問題の発生
  • Hazelと協力し ハードウェア・ソフトウェア両面から解決策 を模索
  • ESP32リレーボード とApple Home連携によるスマート解錠システムの構築
  • 電源問題やメモリ不足など 複数の技術的課題を克服
  • 目立たず安全 な設置で快適なゲート管理を実現

Frankのインターホン問題と最初の調査

  • Frankのアパートで Doorking 1834-080インターホン のセルラーサービスが未更新
  • ゲストが 通話できず ゲートを開けられない状況
  • 管理会社への 修理依頼が放置 され数ヶ月経過
  • Hazelと共に現場を調査、 インターホンボックスが解錠状態 で内部確認

ルーター・電話線からのアプローチ

  • Wi-Fiルーター の管理パスワードがデフォルトのまま、 管理者権限を取得
    • しかし、 SSHやシステム操作は制限 されルーター経由での突破は断念
  • 電話線端子 からのDTMF信号注入も検討
    • メインコントローラーが 待機状態でなければ反応しない ため断念

ジャンクションボックス経由の物理的アプローチ

  • ジャンクションボックス内の配線 を調査し、 ソレノイド制御線 を発見
    • ソレノイドは 通電で解錠・非通電で施錠 という単純構造
  • 12V DC補助電源 を利用し ESP32リレーボード を設置する計画を立案
    • Apple Homeと連携 しスマートフォンでゲート解錠を実現
    • 回路は 通常時は既存システムを維持 し、障害時も安全設計

ソフトウェア開発とメモリ問題

  • Rust製Matterライブラリ を利用し、ESP32をApple Home対応デバイスとして実装
  • 状態遷移はシンプル :ネットワーク接続→コマンド待機→解錠→自動施錠
  • Wi-FiとBluetooth同時起動でRAM不足 によるクラッシュ発生
    • Bluetoothは初期プロビジョニング時のみ有効化 し、運用時はWi-Fi専用で回避
    • sdkconfig.defaultsでメモリ節約設定 を適用し安定動作を実現

現場設置と電源トラブル対応

  • ジャンクションボックス内にESP32ボードを設置 し、配線も目立たないよう処理
  • 12V補助端子が実は入力用 であることが発覚し、電源問題が発生
    • ドリル用バッテリーで動作確認 し、回路自体は正常と判明
    • AC→DC整流レギュレータ を追加購入し、AC電源から安定供給
  • 設置完了後は Apple Homeからの遠隔解錠が可能 となり、Frankも大満足

結果と今後

  • ゲートと部屋の両方をApple Homeで一括管理 できる利便性を実現
  • 目立たず既存システムに影響しない 設置で安全性も確保
  • 簡単な部品とオープン技術 で再現可能なプロジェクト
  • Twitterでのシェアも歓迎、同じ課題を持つ人への提案

備考

  • リレーの物理的故障による「常時ON」状態は極めて稀であり、設計上は考慮外とした

Hackerたちの意見

最近のインターホンのエコシステムがこんなにひどいとは、正直驚いてる。夕食の準備ができたってアナウンスできる「セミダム」なEthernetやWi-Fi製品がもっとあってもいいのに。こんなに頑丈な商業システムや、完全にクラウド管理されたソリューションみたいなのは必要ないんだよね。安い無名のワイヤレス製品は、部屋間の通信もできないし、家全体で使うのは無理。セキュリティの問題も克服できないわけじゃないし、ネットワークに複数のデバイスがあればペアリングコードを使えばいいだけだし。ニッチな市場だってことは受け入れてるし、結局のところAsteriskと安いVoIP電話を使うのが唯一の解決策だと思ってる。

Butterflyって会社と、もう一つ名前を忘れた会社があって、大規模な複合施設向けに高価なシステムを提供してるんだよね。だから、ニッチ市場はお金があまりない小さな建物向けってことだね。ソフトウェアの進化がそれを助けてくれるかも。

AppleのHomePod MiniやGoogle Home、Alexaはみんなインターホンモードをサポートしてるよ。普通の家庭向けには、これらが大半をカバーしてるんじゃないかな。

*Asterisk

音声に関することは本当に面倒くさい。まずは部屋にスピーカーを設置することから始めるんだけど、AppleやGoogle、Sonosなど、たくさんの製品があるよね。でも、ほとんどのは音質がひどい。クラスDアンプもたくさんあって、スピーカーに接続できるんだけど、Wiimやアクリルとか…これだけでも100ドルから500ドルはかかるし、スピーカーを買う前にこれだもん。大体、音楽を流したり声を投影したりするにはいいけど、テレビを絡めると…もう大変。HDMIのARCが必要になるし、センターチャンネルも欲しくなるから、そうじゃないと字幕地獄に陥ることが多い。これが高くつくんだよね。Sonosのサウンドバーは数百ドルするし、もっといいものが欲しいなら…GPUが安く見えるくらいになるよ。音を流せるようになったら、今度はどうやって聞くかって問題が出てくる。スマホは使えるし、周りにはたくさんのサテライトがあるからね。今度は、ホームアシスタントを動かして「何かが再生中なら」メッセージを流して、元の状態に戻す必要がある。WIIMやアクリル、高級ステレオ機器を試したけど、結局はそこそこの音質で妥協してSonosの機器を買った。音楽を本当に楽しみたいときのために、1台のWIIMユニット、安いアンプ、そこそこいいスピーカーとサブウーファーを残しておいたけど、それ以外はSonosの中途半端な音質で日常使いを我慢してるよ(オーディオファイルではないけどね)。

夕食の準備ができたってアナウンスできる「セミダム」なEthernetやWi-Fi製品がもっとあってもいいのに。 その理由は2つある。1) これは非常に非社会的な行動だから。2) 多くの人がほとんどの時間、手の届くところに携帯電話を持っているから、そこでインターホンがあるってこと。家庭内の教育を受けたメンバーは、夕食の準備ができたことを知っているはずだし、実際にみんなのために準備を手伝うから。たまに一人のティーンエイジャーが宿題に集中することもあるけど、誰かが動いて上に行ってドアをノックして知らせるのは悪いことじゃないと思う。それを「無料の運動」と呼んでるから、フィットネスのサブスクリプションよりずっと安上がりだよ。ホームアシスタントやドモティックについて聞くと、私が思い浮かべるのは、Wall-Eの中のシーンで、みんなが24時間体制で目の前にホロスクリーンを持った飛ぶアームチェアに住んでいる姿。物理的な世界との唯一の接触は、時々腕を動かしてソーダを取ることだけ。子供の頃、しばらく借りた家には電気配線を使ったインターホンがあったことを覚えてる。最初の新鮮さを過ぎると、ほとんどは埃をかぶって、結局プラグを抜かれちゃった。

Home Assistant Voiceは、何でもできるよ。音声を受け取って再生する小さなサーバーを作ったけど、好きなときに音声を送ることもできる。ほんとにいいデバイスだよ。

同じ問題を抱えてたんだけど、1年以上も既製品を探してて、ようやく逆アセンブルしてインターホン用のボードを30ユーロ以下で作ってくれる人を見つけたんだ。リンクを貼るべきか迷うけど、ルーマニア特有のものだからね。でも、そのビルドがすごく雑で好きなんだよね。https://www.olx.ro/d/oferta/automatizare-interfon-electra-cu...

数年前、古いアナログインターホンにオープンボタン用の知能を追加したんだ。音声部分は無視してね。ESP01でやるのは簡単で、アパート内のインターホンボックスにアクセスするだけで済んだ。最初の問題は、どんなに最適化しても電力消費が高くて、ほとんど使えない状態になってしまったこと。そこで賢くなって、インターホンシステムから来ている24Vのラインから電源を取ることにしたんだ。それはうまくいったけど、住んでいる場所ではそれが電気泥棒と見なされることに気づいて、やめたんだ。管理人に何か気づかれたらまずいからね。結局、Nuki Openerを手に入れたんだけど、これはあらゆるインターホンに対応していて、ずっと楽だよ。ジャンクな改造は面白いけど、家族全員が信頼できる解決策としては向いてないよね。追記:記事のコードはもっと目立つところにリンクしてほしいな [0]、いじりたい人のためにね。 [0] https://github.com/ImTheSquid/doorbell2

フランクのゲストは、Doorking 16120のデフォルトキーを使って自分で入ってくればいいだけだよ。編集: 10年前の大学時代のいたずら話。私たちの大学の学生運営の電子機器ラボには問題があったんだ。技術的には、学生証を持っている誰でもいつでも入れるはずだったけど、学部からは他の学生団体と共有するための少数の鍵しかもらえなかった。明らかに解決策が必要だった。ちょっと調べてみたら、出口ボタンの配線が他の配線や配管と一緒にケーブルトレイに走ってるのを見つけたんだ。ラボは地下にあったからね。適当な暗い目立たない場所を選んで、ラズベリーパイを使ってトランジスタを動かし、その後リレーを接続して、そのボタンと並列に配線した。ユーザーはローカルラボのWi-Fiに接続して、そのデバイスにSSHで入れるようにした。ログインシェルは、GPIOラインを0.5秒間パルスするスクリプトに置き換えられ、その結果ドアが開くようになった。私たちは決して捕まらなかったし、数年後に建物が改装されたときに証拠はすべて消されたらしい。

すごいね!

いいところは、監査人がラズベリーのことを知らなければ、これが完全にSOC2準拠だってことだね。

最高だね、esp32は多分見つからないだろうな。だって、大家さんが元の問題を直そうとしたら、ユニット全体が交換されるだろうし。

私は、アパートのドアシステムにApple HomeKitを使った似たような仕組みを、もっとシンプルに作ったよ。インターホンからアパートに呼び出すと、専用の固定電話に接続されるんだ。その電話は自動的に留守番電話に直行するように設定してあって、留守番電話のメッセージはドアを開けるためのトーンの録音なんだ。それから、固定電話に電源を供給するスマート電源ソケットがあって、ホームアプリで切り替えられるんだ。だから、電源ソケットをオンにして、入口でアパートのコードをダイヤルすると、すぐに入れるよ。電源ソケットをオフにすれば、入れないけどね。

これで思い出したんだけど、もう一つのイライラがあるんだ。私たちはキャビンに壁掛けのサーモスタットを使っていて、バッテリーで動いてるんだ。中央暖房から床にどれだけ水を通すかを、ラジオ信号で制御してるんだ。これをリモートで制御できたらいいな、例えば到着の1日前に暖房を入れるとか。でも、これを実現するには、パイプに接続された新しいユニットを買って、全体をアップグレードしなきゃいけないんだ。見積もりは2,000ドル以上で、彼らのアプリとサブスクリプションも必要だって。なんでラジオ信号を模倣するだけでできないの?今でもそれはできるのに!なんで全体の暖房システムを再構築しなきゃいけないの?技術が必要ないのに縛るのは本当に馬鹿らしい。リモコンでノブを回せるドライバーが欲しくなってきたよ。

SwitchBotを見てみて!ボタンを押すためのデバイスがあって、こういう問題を解決できるんだ。あと、ロッドを回してブラインドを傾けるデバイスもあるから、ノブを回すように改造できるかもね。

確かに山奥のキャビンもあるけど、ビール1ケースでやってくれる信頼できる隣人はいる?うちの母の隣人は牛乳やパンを買ってきて、暖房も入れてくれるんだ!自分の隣人にはちょっと信頼できないけど、彼女には素晴らしいことだね。

確かに、信号を模倣するコントローラーは結構あるよね。でも、すべての機器でうまくいくわけじゃなくて、実装の仕方やメーカーがそのアプローチを不可能にしたいかどうかによるんだ。信号を記録して、ホームアシスタントを通じて再現するオプションは絶対にあるよ。以前は天井ファンやいろんな赤外線デバイスをコントロールするのに使ってた(同じアイデアだけど、ラジオじゃなくて「ブラスター」って呼ばれてた気がする)。でも、引っ越し後は天井ファンをこのアパートに取り付けられなかったから、再設定してないんだ。赤外線デバイスはメディアセンター(テレビやオーディオ)だけど、今はほとんど使ってないしね。

暖炉や暖房、冷却の自動化の鍵は、熱源から始めることだよ。何をする必要があるかを理解して、そこから進めていくんだ。暖炉やボイラーのところはほとんどいつも信じられないくらいシンプルで、ポンプやブロワーなど必要なものなしに熱を入れないように気をつけるだけでいいんだ。複雑なエココントローラーは、最終的に3つの出力になる:ブロワーオン、ヒートオン、クーリングオン。ワイヤーは3本。

一部のヨーロッパのインターホンにはDoorman [0]があるよ。彼らの作者はKochが使っているプロトコルを逆解析して、ESP32 + Home Assistantのソリューションを作ったんだ。これがかなりうまく動いてるよ(ボードも含めて)。「パーティーモード」[1]は、屋上でイベントをやるときに私にとって救世主だったよ。 [0] https://doorman.azon.ai/ [1] https://doorman.azon.ai/guide/features/ring-to-open

似たようなものを作ったよ! https://michael.stapelberg.ch/posts/2021-03-13-smart-interco... > eBayで一番安いBTicinoのインターホンデバイス(BT 344232、32ユーロ)を買って、4本のワイヤーをハンダ付けしてマイクロコントローラーを追加してスマートにしたんだ。今はNuki Opener Smart Intercom IOTデバイスと、ローカルのMQTT Pub/Subバスに接続してるよ(なんでやらないの?)。

計画の一部:未知のマイクロコントローラー用のファームウェアを書くこと。計画のもう一つの部分:休暇を全部使わないこと…未来が楽しみだな。

法的にも倫理的にも非常に疑わしいけど、アパートのボックスに接続しているのは理解できる。共有のドアコントローラーに接続して、友達にアクセス「キー」を渡すのはあまり良くないね。発見を避けようとするあなたの試みから、これを知っているみたいだね。