KOS.LOG
tech

【スマートホームダッシュボード #1】Windows PCをサーバーにしてCO2・温湿度を可視化する構成とセットアップ準備

  • #SwitchBot
  • #Grafana
  • #HomeAssistant
  • #k3s
  • #RancherDesktop
  • #スマートホーム
  • #Windows

このシリーズについて

部屋のCO2濃度や温湿度をリアルタイムでグラフ化し、換気のタイミングをアラートで通知する——そんなスマートホームダッシュボードを手持ちの Windows PC を使って構築するシリーズです。

新たにサーバー専用機を買う必要はありません。ゲーミングPCや普段使いのデスクトップがあれば十分です。

使用する機器・ソフトウェア

種別内容
センサーSwitchBot CO2センサー(温湿度も計測可)
ハブSwitchBot Hub(初代・Hub 2 どちらでも可)
サーバーWindows PC(常時起動、またはゲーミングPC)
コンテナ環境Rancher Desktop(k3s on WSL2)
アプリHome Assistant / InfluxDB / Grafana

シリーズ全体の流れ

テーマ
#1(本記事)全体構成とWindows PCのセットアップ準備
#2Rancher Desktop(k3s)インストールとクラスター構築
#3Home Assistant + InfluxDB + Grafana のデプロイ
#4SwitchBot連携とデータパイプライン設定
#5Grafanaダッシュボード作成とアラート設定

システム構成の全体像

SwitchBot CO2センサー(BLE)
    └─ SwitchBot Hub(Wi-Fi経由でクラウドAPI)
            └─ Home Assistant(SwitchBot integration)
                    └─ InfluxDB(時系列データ保存)
                            └─ Grafana(可視化・アラート)

※ Home Assistant / InfluxDB / Grafana はすべて
  Windows PC 上の k3s(Kubernetes)コンテナで動作

なぜ k3s(Kubernetes)を使うのか?

Docker Compose でも同じスタックは動きます。ただ k3s を選ぶメリットは:

  • Pod の自動再起動(プロセス落ちても自動復帰)
  • Helmfile で構成をコードで管理できる
  • 将来的に複数ノードへ拡張しやすい

軽量さが必要なら docker-compose でも問題ありません。このシリーズでは k3s ベースで進めますが、適宜読み替えてください。


事前準備:Windows PC 側の設定

MacやLinuxから SSH でリモート操作するための準備です。PC に直接キーボードを繋いで操作する場合はスキップできます。

1. OpenSSH サーバーの有効化

管理者権限で PowerShell を開く(Win + X → Terminal(管理者))

# インストール状態の確認
Get-WindowsCapability -Online | Where-Object Name -like 'OpenSSH*'

State: NotPresent の場合はインストールします:

Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0

SSH サービスを起動・自動起動に設定:

Start-Service sshd
Set-Service -Name sshd -StartupType Automatic

2. ファイアウォールの設定

SSH(ポート22)と、後でデプロイするサービスのポートを開放します。

# SSH(ポート22)
netsh advfirewall firewall add rule name="Allow SSH" protocol=TCP dir=in localport=22 action=allow

# ICMP(pingを通す)
netsh advfirewall firewall add rule name="Allow ICMPv4" protocol=icmpv4:8,any dir=in action=allow

後で使うポートも先に開けておきます:

# Grafana (30300), InfluxDB (30086), Home Assistant (30880)
netsh advfirewall firewall add rule name="Allow SmartHome Ports" protocol=TCP dir=in localport=30086,30300,30880 action=allow

3. 接続確認(Mac / Linux 側から)

# pingで疎通確認
ping -c 3 <Windows PCのIPアドレ>

# SSH接続
ssh <Windowsのユーザー>@<Windows PCのIPアドレ>

Windows の IP アドレスは ipconfig コマンドで確認できます:

ipconfig
# → Wireless LAN adapter / Ethernet adapter の "IPv4 Address" を確認

WSL2 の有効化

Rancher Desktop は内部で WSL2(Windows Subsystem for Linux)を使います。事前に有効化しておきます。

管理者権限の PowerShell で:

wsl --install

インストール完了後、PCを再起動してください。

再起動後、WSL2が正しくインストールされたか確認:

wsl --status
# → Default Version: 2 と表示されればOK

次回予告

次回(#2)は Rancher Desktop のインストールと k3s クラスターの起動を行います。

インストール後に kubectl get nodes で1ノードのクラスターが立ち上がることを確認し、Helmfile でスマートホームスタックをデプロイする準備を整えます。


まとめ

作業内容
OpenSSH Serverインストール・自動起動設定
ファイアウォールSSH + サービスポートの開放
WSL2有効化・再起動

これで Windows PC をサーバーとして使うための下準備が完了しました。次のステップで Rancher Desktop をセットアップしていきましょう。