🧭

【ホームオートメーション計画】ロードマップと到達基準

に公開

HA計画

HA is何?

HomeAutomation、IoTのマネごとをしながら、Reactを利用したアプリ開発、要件通りのローカルNW構築、IoT HW制御スクリプトと関連技術を学び取る計画です。
今のところ妄想にすぎませんが。少しずつ進めます。

ゴールの要件定義

可能な限り学習可能な領域の多いPJとするため、ゴールの定義を下記のように定めます。

  • A:NW
    • ゲストNW、IoTNW、ホームNWがVLAN分割されたNW。
    • 下記のアプリケーションをローカルで動作させる。
    • CloudFlareを利用して、外部から非固定IPの家のNWを外から制御できるようにする。
  • B:アプリケーション
    • IoT制御用アプリケーション
  • C:IoT
    • エアコン、照明制御などの鉄板機器を自動化する。ゆくゆくはスマートキーや洗濯機など?
    • データ収集・IR機器操作が両方できるようにしなくちゃ。
    • ローカルNWのみで完結するように組む(クラウドサービスを経由する機器は導入しない)。
    • Arduino互換機を使用して、温湿度計+IR制御機器を自作する。

ストリーム(A/B/C)

A. NW疎通ストリーム

A1:Archer c6 v2へOpenWRTの導入とセットアップの完成、動作確認。

記事(TBW)
A2:ルーターモードの下で、LAN周辺設定を完了する。設定を完成させる。VLAN/ACLをある程度完成する
記事(TBW)
A3:ブリッジ化を実施する
記事(TBW)
A4:外部公開(Cloudflare Tunnel + SSH Zero Trust)をセットアップ
記事(TBW)
A5:ルータ設定をpythonで制御・管理する。また、ステータス管理、ログ管理も視野に。
記事(TBW)

B. アプリケーションストリーム

B0:ハンズオン

Reactは未経験ゆえ、世の中のハンズオンなどをベースに、自学できそうな形でやりたい。開発現場でもっとも一般的な構成で組む。
Webリクエストを受けつけられるとこまでできたら、いったん設計に。

記事(TBW)

B1:設計(最低限)

スクラムとかアジャイルっぽいことをやりたいけど、とにかく早く作るを優先する。基本設計書か詳細設計書かわからんくらいのものを用意すればいいか。

記事(TBW)

B2:最小構成でアプリを稼働する。B0でローカルから見られるようにはなっているので、web/api/db(/cam)を分離して最終系のComposeの構成を作る。

ログ可視化、認証と操作ログの簡素版を動かすところまでいく。

記事(TBW)

B3:Googleログインを実現してやる

記事(TBW)

B4:外部からHTTPS接続

記事(TBW)

B5:ログ可視化(温湿度・IP履歴ダッシュボードの土台)、認証と操作ログ(GoogleAuth・操作監査テーブル)の完成

記事(TBW)

C. IoT制御ストリーム

C0:HWの準備を完了する。

記事(TBW)

C1:MQTTについて学び、上記の機器を簡素なスクリプトから制御するところまでいく。

記事(TBW)

センサー収集MVP(SwitchBot温湿度→DB、エラー通知)

記事(TBW)

C2:AC制御MVP(しきい値制御+“ピッ”音検知で完了判定)

記事(TBW)

C3:グローバルIP監視(変更検知→メール+履歴DB)

記事(TBW)

観測性 / 監視

  • 収集対象(メトリクス/ログ/イベント)
  • ダッシュボード最小項目(温湿度/グローバルIP/コンテナ)
  • 通知チャネルと閾値(誰に・どの条件で)
    を決めておかないとならないね。

DR、バックアップ

  • バックアップ対象と頻度 / リストア方法を決めておかないとならないね。

Discussion