2025年1月2日木曜日

SwitchBot 防水型温湿計、PRO、CO2のBluetoothのデータ構造

みんな大好きSwhitchBotの湿温度計で防水型、PRO、CO2の3種類を購入しbluetooth経由でデータを取るために構造を確認した。

No分類紹介サイト入手日
1防水型直販サイト2023/7/10
2PRO直販サイト2024/9/22
3CO2直販サイト2024/10/30

防水型は公式サイトでデータ構造が公開されている(URL)。
PRO,CO2は「スイッチボットCO2センサーの遊び方」を参照などし、防水型の拡張で構成されていた。

各デバイスのBLE Scannerでのアドバタイズは下記になっていた(黒塗り部分はMACアドレスが入っている)。
〇防水型


〇PRO


〇CO2

防水型、PRO、CO2の区別は長さで区別できるっぽい。
データは防水型、PROは同じフィールドに気温、湿度が入っている。
CO2型は後ろが拡張されてCO2濃度が入っている。
CO2の場合を例にすると下記のようになる

番号000102030405060708091011121314151617
0x690x090xXX0xXX0xXX0xXX0xXX0xXX0x2D0xE40x030x960x2E0x000x070x090x4D0x40

薄紫: MACアドレスが格納
緑: 気温
temp = ((data[9] & 0x0F) * 0.1 + (data[10] & 0x7F)) * (((data[10] & 0x80) > 0 : 1 : -1);
水色: 湿度
humidity = data[11] & 0x7F;
オレンジ: CO2濃度
CO2 = data[14] * 256 + data[15]

なおCO2モデルは電池駆動だとCO2濃度の測定は30分間隔。USB給電を行えば1分間隔で取れた。ただUSB給電の指す部分が狭いので付属ケーブルより柔らかいケーブルに変えたいがケーブルを選ぶので大変。


0 件のコメント:

コメントを投稿