LoginSignup
2
2

More than 1 year has passed since last update.

スマート二酸化炭素センサーを作ってみました。

Posted at

背景

最近、
二酸化炭素の濃度に仕事の効率に影響するが分かってて、
自宅でも監視したくなりました。

もちろんAmazonで買えば済むことですが、
それを買うと記事にはならないし、しかもHomekitも使っているので
スマートのやつを作ろうと思います。

調査

殆どのスマートデバイスがTasmotaで動いているので
統一した方がベストかと思っています。
なので、Tasmota のドキュメンテーションに良さそうのやつがあるか探してみました。

たまたまGithubのリポジトリのdiscussionに見つかりました。

Sensiron という会社から新しいCO2 I2Cセンサーが出たらしくて、
最新の Tasmota に対応するようになったようです。
温度の計測機能もついているので、今まで使っていた温度センサーも取り替えるので一石二鳥です。

買う

ハードを買うなら Switch Science AliExpress なので、ここから買いました。

7,000円で買えるのでポッチっと買っちゃいました。

Switch Science相変わらず在庫なしでした (´ω`)

ESP8266

センサーだけたどデータ処理、通信などできないのでマイコンが必要です。
Tasmota といえば ESP8266 です。
今持っている温度センサーのマイコンを使ってました。
ちなみに使っているのはNodeMCUです。

ファームウエアをコンパイル

Tasmota には SCD40 を対応していますが、
あらかじめ用意したビルドには有効されていません。
そこで、個別でTasmotaのコンパイルが必要です。

コンパイルとは言ってもすごく簡単です。

  • TasmotaのGitリポをclone
$ git clone https://github.com/arendst/Tasmota.git
  • Tasmotaのビルドをカスタマイズできるファイルのテンプレートのコピーを作ります
$ cd Tasmota/tasmota
$ cp user_config_override_sample.h user_config_override.h
  • #define の直後に1行を追加します
user_config_override.h
#define _USER_CONFIG_OVERRIDE_H_ // <- 既にある行
#define USE_SCD40
  • docker を使ってコンパイルします
$ cd ..
$ docker run -it --rm -v .:/tasmota -u $UID:$GID blakadder/docker-tasmota -e tasmota
  • 無事にコンパイルできたら Tasmota/build_output/firmwaretasmota.bin というファイルが生成されます。

ファームウエアを焼く

Tasmotaのドキュメンテーションに沿って焼きました。方法いくつありましたが esptool.py を使ってました。

Tasmota をセットアップ

ファームウエアを焼いてマイコンを再起動したらWifi情報を設定しました。

ハードウエアレイアウトを定義

I2Cのセンサーならピンレイアウトやコンフィグはどれでも同じなので前に使った温度センサの情報を参考しながらやりました。

できました!

設定や接続が順調になるとTasmotaの画面にセンサー情報が出てきます!

image.png

オマケ

Home Assistantにセンサー情報を取り込む

MQTT経由で、Home Assistantの一覧画面に表示できるようになりました。

image.png

データ履歴もちゃんと表示されています。

Screen Shot 2021-12-02 at 18.50.26.png

窓を開くと一気に下がりますが、でも閉じると一瞬でまた上がります。
ワンルームなので仕方ないですかね。。
逆に長時間で開くと寒いので悩ましい。。。

Homekit と連携

Home AssistantのHomekitのプラグインを使って、センサー情報をHomekitと連携しました。
二酸化炭素の濃度が1,000ppmを超えると通知が来ます。

IMG_5595.PNG

IMG_5596.PNG

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2