SwitchBot 温湿度計で表示される温度と湿度を Ambient でグラフ化が迷走しているので状況を整理しよう(その1)
どうも、かげさんです(^^)/
あなたがこの記事を読んでいるのは何回目でしょうか?
初めての方、いらっしゃい!
複数回目の方、再訪問ありがとです(・∀・)
SwitchBot 温湿度計で表示される温度と湿度を Ambient でグラフ化するはずが、だんだんグデグデになってきているので一度状況を整理しようと思う。
SwitchBot API を使った curl コマンドでデバイスリストを取得
まずは SwitchBot API をお手軽に実行できる curl コマンドでの情報取得をやってみることにした。
curl -X GET "https://api.switch-bot.com/v1.0/devices" -H "Authorization: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" -H "Content-Type: application/json; charset=utf8" | jq .
期待通り、デバイスリストは取得できた。
この記事を各段階で要約気づいたが、各デバイスの deviceId は、 SwitchBotアプリの各デバイス情報にある BLE MAC から : を抜いた値と一致しているようだ。
(手持ちのボットスイッチ、温湿度計x3個、加湿器、カーテン、ハブミニの全てで一致しているのを確認した)
デバイスリストから3つある SwitchBot 温湿度計の deviceId からステータスを取得
デバイスリストが取得できたので指定デバイスのステータスの取得をしてみることに。
curl -X GET "https://api.switch-bot.com/v1.0/devices/dddddddddddd/status" -H "Authorization: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" -H "Content-Type: application/json; charset=utf8" | jq .
試しにさっき調べてみたら
スマホと本体の値(温度:18.4℃、湿度45%)
curlで取得した値(温度:16.5℃、湿度51%)
と一致していなかった。
curl で取得した値と一致する温湿度計が存在しなかったことに、「SwitchBot 温湿度計の温湿度を取得しよう」の記事を書いた段階では気づいていなかった…。
理由は、なんとか日が変わる前にブログを更新しようとする意識が強すぎて、取得した値が SwitchBot 温湿度計の値と一致しているかに気が回っていなかったからだ。
そして、それが発覚したのが Ambient で Nature Remo 3 と SwitchBot 温湿度計3個、 SwitchBot 加湿器の温度をひと目で見れるグラフを出力するプログラムを作った段階。
記事でいうと「うむ、どうしてこんなグラフになったのか、わからぬ…(´・ω・`)」のときだ。
この段階で API を使った Web 経由の値取得より BLE 経由の値取得の方が良いのでは?と思った。
Windows 10 用の BLE ライブラリである bleak を使って Switchbot 温湿度計の温度と湿度を取得
「Windows10でBLE SwitchBot温湿度計」という記事を見つけ、その記事にあるサンプルプログラムを実行した。
それが「Windows 10 用の BLE ライブラリである bleak を使って Switchbot 温湿度計の温度と湿度を取得(その1)」の記事を書いた段階。
一応、このサンプルでは、SwitchBot 温湿度計とプログラムの取得している値が一致していることは確認した。
が、このサンプルを解説するに当たり、かげさんが python という開発言語をよく知らないために言語仕様を調べるのに時間がかかっていた…
そうして調べ物をしているうちに M5Stack で BLE を使って SwitchBot 温湿度計の情報を取得して Ambient でグラフにする記事「【SwitchBot温湿度計モニター】の製作~ソースコード付き~」を見つけた。
で、かげさんは M5Stack を持っている、かつ、M5Stack を Arduino IDE を使って開発する場合の開発言語は、慣れ親しんだ C 言語と似ている。
なら、M5Stack でグラフ化する方が、早期にやりたいことが実現できるかも?
そう思って、Python での開発より、先に M5Stack でグラフ化しようと思ったわけだ。
そして新たな迷走が始まるところで続く(笑)
ここまではOKだ
コメント
このブログの新着コメントをRSSリーダに登録する為のxml