#rust
-
照明7台を120BPMで操る、mando新機能loopの設計
家族で音楽をかけながらリビングを演出したい思いつきから、家のOS mando に新デバイス種別 loop を追加する設計をしました。ビート検出はせず疑似同期で十分と判断し、Matterのgroupcastとunicastを実機7台で比較してunicastを切り捨てた経緯の記録です。
-
書斎の家電3台、新品を買わずmandoの2ボタンに乗せた
書斎に机上の専用ボタンが欲しかったものの、新しいガジェットは買わない方針中。手持ちの入口mandoにスイッチを3枚足し、状態を読めない赤外線機器にはON/OFF2ボタンの新しい表示を追加した判断の記録です。
-
mandoのきろく、発電とラズパイの体調を4項目で見る
家族がスマホで使うmando画面に、太陽光発電やCO2の推移を見る「きろく」セクションを作った記録です。ラズパイ自身のCPU・メモリ・ディスク・温度も同じ仕組みで見張り、異常時だけバナーで知らせます。データの置き場所がNASに移った日、mando側はコードを1行も変えずに済みました。
-
家族が触るmandoの照明ボタン、家のOSは3段階で応える
家族が唯一触るスマートホームの入口mandoで、照明のボタン一つに何を選び、何を捨てたか。push優先の3段階モデルと実測値、以前の記事で予告したポーリング廃止の答え合わせをまとめました。
-
Matter接続、80秒待ちの誤診と0.5秒への短縮
自作MatterコントローラmatのCASE確立(機器との暗号化セッションを張る手続き)には、死んだIPv6アドレスに当たると最大80秒待つ経路が残っていた。過去の設計メモの誤りに気づき、本当の問題を切り分け、Happy Eyeballs方式で0.5秒に縮めた記録です。
-
Matterの鍵ローテーション、家を2分止めない設計にした
自作Matterコントローラmatのfabric鍵(IPK)は一度も替えたことがなかった。安全にローテーションする設計をしたら、素朴な実装は常駐デーモンmatdの再起動を要し家を2分間操作不能にすることが判明。何を読み直す必要があるかを切り分け、狙い撃ちのreload機構に設計し直した記録です。
-
3プロトコルの機器を1つの名前で操作する自作CLI casa
家じゅうの機器はプロトコルごとに呼び方がバラバラです。ECHONET Lite・Matter・SwitchBotの3つを、devices.tomlで付けた1つの名前と統一動詞で叩けるようにする横断CLI casaの設計を、実際のコマンドと出力付きでまとめました。
-
chip-toolのCPU100%が限界、Matterコントローラ自作へ
Matter機器をCLIで叩く自作ツールmatは、当初は公式chip-toolのラッパーでした。しかしchip-toolはテストツールで、常駐させるとCPU1コアが100%に張り付く。既製の選択肢を比較した末、Rustでコントローラを自前実装した設計判断の記録です。
-
SwitchBotのCO2をAPIなしで読む——BLE直収56行
SwitchBotのCO2センサー・温湿度計の値は、クラウドAPIを叩かなくても読めます。機器がBLEで常時ばらまいているアドバタイズをPython 56行で直接受信し、家のCO2濃度を5分間隔で記録するまでの顛末。バイト列の解読とハマりどころも全部書きます。
-
自作Rust製ツール6本でスマートホームを一元管理する全体構成
スマートホーム前提で建てた家を、自作したRust製ツール6本で動かしています。ECHONET LiteやMatterなど複数プロトコルをそれぞれ専用のCLIに分け、その上に統合レイヤを重ねる——各ツールの役割とつながりをまとめたハブ記事です。
-
ECHONET Liteとは?家のシャッターを3コマンドで動かす
日本の住まいの設備や家電が共通で使う通信の仕組み、ECHONET Lite。エアコンやシャッターに実は載っています。公開しているCLI「enl」で家じゅうの機器を探し、3つのコマンドでシャッターを閉じるまでを、Matterとの違いも交えて解説します。
-
Home Assistantをやめて、家のOSを自作しはじめた
スマートホーム前提で建てた新居。家のOSに選んだHome Assistant(HA)をやめ、UNIX哲学に沿った軽量CLI群を自作しはじめた——その経緯と、いま家を動かしているツール(enl / mat / ais / casa / mando)の顔見せ。