【スマートホームダッシュボード #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のセットアップ準備 |
| #2 | Rancher Desktop(k3s)インストールとクラスター構築 |
| #3 | Home Assistant + InfluxDB + Grafana のデプロイ |
| #4 | SwitchBot連携とデータパイプライン設定 |
| #5 | Grafanaダッシュボード作成とアラート設定 |
システム構成の全体像
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 をセットアップしていきましょう。