![見出し画像](https://assets.st-note.com/production/uploads/images/62089093/rectangle_large_type_2_f2b60aa3e08cb5bbd031ca98e19d42fd.jpeg?width=800)
twBlueScanをSwitchBotの温度・湿度センサーに対応する開発
昨日、日中歩いたのでよく眠れました。今朝は気がつけば5時でした。遅く始めましたが何とかマニュアルの記事を3本書きました。
です。
朝食後は、昨日、購入した。SwitchBotの温度・湿度センサー
をtwBlueScanに対応させるための開発です。
とかの記事を参考にして対応できました。対応するためのポイントは
Scanモードをアクティブにすることと、測定データがServiceDataに入っていることです。買ってきて電池をいれるだけで使えます。スマフォのアプリで設定する必要はありません。デコードする処理は、
func sendSwitchBoxEnv(d *BluetoothDeviceEnt) {
bat := int(d.EnvData[4] & 0x7f)
temp := float64(int(d.EnvData[5]&0x0f))/10.0 + float64(d.EnvData[6]&0x7f)
if (d.EnvData[6] & 0x80) != 0x80 {
temp *= -1.0
}
hum := float64(int(d.EnvData[7] & 0x7f))
if debug {
log.Printf("swbox temp=%.02f,hum=%.02f,bat=%d", temp, hum, bat)
}
syslogCh <- fmt.Sprintf("type=SwBoxEnv,address=%s,name=%s,rssi=%d,temp=%.02f,hum=%.02f,bat=%d",
d.Address, d.Name, d.RSSI,
temp, hum, bat,
)
}
のような感じです。
twitterを見ていたら、
という面白いツールを見つけました。
試しにセンサーの絵を書いて見ました。 画像ではないです。
┌────────────────┐ ┌────────────────────┐
│ │ │ │
│ │ │ │
│ SwitchBox │ │ OMRON Env Sensor │
│ │ │ │
│ │ │ │
└────────────────┘ └────────────────────┘
▲ ▲
│ │
│ │
│ │
│ │
┌┴───────────┴──┐
│ │
│ twBlueScan │
│ │
└───────────────┘
明日に続く
開発のための諸経費(機材、Appleの開発者、サーバー運用)に利用します。 ソフトウェアのマニュアルをnoteの記事で提供しています。 サポートによりnoteの運営にも貢献できるのでよろしくお願います。