SwitchBot の温度湿度計から温度と湿度を取得して表示するコンソールアプリケーション。
Linux のツールはあったけど、Windows 用が見つけられなかったので作成。
本当は Win32 で作りたかったけど、難しそうだったので諦めて .NET Core 3.1 を使用。
とはいえ、C# も .NET Core 3.1 もほとんど経験がないので、とんでもない実装をしている可能性があります。
- Windows 10 Build 19041
- .NET 6.0 (Windows)
dotnet publish --configuration Release
起動すると、空白区切りでデバイスのアドレス、温度、湿度、バッテリー残量(%)、デバイスの種類が表示されます。
デフォルトでは1回取得したら終了します。
デバイスは数秒ごとに温度・湿度のデータを送信しているので、受信を開始してもすぐにデータを取得できるわけではありません。
デフォルトのタイムアウトは120秒です。
1回だけ取得。
C:\> SwitchBotMeter
FEDBB31721C2 27.6 59 61 Meter
EB1D9EAADC79 27.9 67 58 Meter
C694122B0920 28.3 57 51 Meter
B0E9FE5354A0 28.4 57 100 MeterPro
F3AE13927590 27.4 88 72 OutdoorMeter
タイムアウトを10秒に設定して取得。
C:\> SwitchBotMeter --timeout 10
1分間取得し続ける。
C:\> SwitchBotMeter --timeout 60 --limit 0
無限に取得を繰り返す。
C:\> SwitchBotMeter --timeout 0 --limit 0
以下の情報を参考にしました。ありがとうございます。