ESP32

You are currently browsing the archive for the ESP32 category.

学生のころから、電子部品を調達するために頻繁に秋葉原に出向いていたのですが、コロナ以降ほとんど通販ですますことが多くなって、実店舗に足を運ぶ機会は以前より少なくなってしまいました。(交通費より送料の方が安いし)
しかしやはり現物を手に取って形状や状態を確認したり、思わぬ掘り出し物に出会ったりするワクワク感は、現地に実際に足を運ばなければ得られないものです。

秋葉原に行ったら必ず訪れるのが「秋月電子」で、6月に2Fにもフロアーが拡張されたのですが、ここに「掘り出し物コーナー」というのがあります。そこで見つけたのが「ボッシュ製総合環境センサBME680を使用したセンサモジュール」です。これは現用品は1320円で普通に販売されているものですが、なぜか1個だけ300円で出ていて即Getしました。特に不良品でも無いようで、早速動作させ、まともなデータが得られることを確認しました。

K-14469

BME680は気温、湿度、気圧が1つで測定できるマルチセンサーですが、加えて「ガス(有機溶剤、アルコール等)濃度」の測定をサポートしています。テストでArduinoのライブラリーからこのガス濃度を取ってみると「GAS = xxxkΩ」という値で出てきて、いったいこれが何を示しているのか?さっぱりわかりません。

そこでボッシュ社のサイトをチェックすると、BSEC(Bosch Sensortec Environmental Cluster )というライブラリーがサポートされていて、これを利用すると上記のGAS値をIAQ(Index for Air Quality)やCO2濃度に変換してくれるのです。そしてなんとBSECはArduinoをサポートしていて、ライブラリーマネージャーから簡単にインストールして利用できます。

https://github.com/BoschSensortec/BSEC-Arduino-library

実際試してみるとこのライブラリーを利用できるプロセッサーは非常に限定されていて、最近よく使っているXIAOのESP32C3などではコンパイルエラーが出て使用できません。いろいろ試して「ESP32 Dev Module」で確実に動作することがわかりました。早速ブレッドボードで組んで、linuxサーバーにデータを送ってGrafanaで表示させてみました。

IMG_3245

iaq

IAQは写真のTable4のような定義になっていて、空気の汚れ具合を数値で確認することができます。CO2の値はほとんどこのIAQにリンクしているように見えますが、一応ppm値で出てきます。別にCO2モニターを持っているので比較すると、値の絶対値は目安程度?に考えた方が良いようです。

iaq_table

このBSECライブラリーはソフトウェアの後処理で換算値を算出するので、よくセンサーモニターでやる一定周期で測定して休止期間中にスリープさせてバッテリー駆動させるような使い方はできません。そのため電源を常時つないでおく必要があります。

CO2 gas

今回掘り出し物でたまたま300円で調達できてラッキーでしたが、普通に購入しても価値のある非常に面白いセンサーです。
あとこれの別機種の新製品でBME688というのが出ていて、これはなんと匂い成分のAIプロファイリングをサポートしています。

https://www.bosch-sensortec.com/…/gas-sensors/bme688/

例ではエスプレッソコーヒー豆とドリップ用コーヒー豆の匂い成分の違いをBME AI-Studioでモデリングしています。

https://youtu.be/4vdliMRtxBY?si=4A4DEWqV4ra1i-1S

コーヒー紅茶好きとしては、非常に興味深いので是非試してみたくなりました。

ということで、やはり実際に店舗やコンサートや講習会などに足を運ぶことで、意外な出会いや情報を得ることができるということを実感した、という次第であります。