ESP-WROOM-02を使用した環境モニター(1)

ESP8266photo

ESP-WROOM-02

5$/600円のZeroや、10$/1200円のWiFi,Blue Tooth付きのZero-Wが日本でも発売され(Wはまだ発表のみですが)、ますます勢いに乗るRaspberry Piですが、コントローラーで使用する時には一つ弱点があります。それは消費電力が大きい事です。

宅内でAC電源を使用して動作させる分には、あまり問題にはならないのですが、AC電源が使えない場所でバッテリー動作が必要な局面では、この消費電力の大きさがネックになります。
Raspberry piは、UNIX系のOSを使用してWiFi等を常時使う構成が基本なので、そのために消費電力が大きくなるのは致し方ないところでしょうか。
UNIXを使用する事で得られる、高機能や・フレキシビリティーとのトレードオフがこの高い消費電力というわけです。

 以前mbedを使用して、温度や湿度、気圧等の環境モニターをするシステムを作成し、これを今回Raspberry piを使用したシステムに移行しようと思い、検討してみたのですが、屋外での気温等のモニターを考えると、バッテリーでの動作が非現実的(消費電力が大きいので動作持続時間が短い)なため、その使用をあきらめたのでした。

 それで色々調べていると、巷ではESP-WROOM-02というコントローラーが密かにブームになっている事がわかりました。これはESP8266というSoC-32bit MCUにWiFiを搭載したモジュールで、なんとAudiunoのIDEを使ってソフトウェア開発ができるのです。言語はAudiunoと同じC言語になります。
私はこのモジュールの事を全然知らなかったのですが、昨年のトランジスタ技術の特集(2016年9月号:Web脳接続!Wi-Fi×3G/LTEでIoT製作)で詳しく解説されていました。この特集が非常に良く書かれていて、ESP-WROOM-02の開発ツールの設定方法から、バッテリーで動作させるためのスリープモードの使い方まで、色々な実例で詳しく説明しています。
自分でも試しに一つ作ってみたのですが、非常に良好で、完全にこれにはまってしまい、以下の4つの環境モニターシステムを一気に作成する事が出来ました。

  1. 室内の温度・湿度・大気圧をモニターするシステム(バッテリー駆動)
  2. 室外の温度・湿度・日光のレベル:光、IR、UV紫外線モニター(太陽電池駆動)
  3. 花粉・PM2.5のモニターシステム
  4. 放射能レベルモニター:市販のガイガーカウンターキット:GC10のデータを収集
IMG_0539j

室内:気温、湿度、気圧モニター
乾電池(単三x3)で動作

IMG_0542j

ESP-WROOM-02にHDC1000温度湿度センサー、SPI気圧センサーを接続

IMG_0534j

屋外環境モニター 太陽電池LEDユニットを電源に利用。気温、湿度の他にUVセンサーを具備

IMG_0531j

防水対策で100円ショップのシール容器に実装

IMG_0537j

花粉・PM2.5モニター

IMG_0538j

微粒子センサーをESPに接続。上部にファンを付けて気流を発生

IMG_0564j

GC10ガイガーカウンター モニターシステム

IMG_0550j

ガイガーカウンターキット:GC10のシリアルポートに接続したESP(デバック中)

このESP-WROOM-02の特徴をサマリーすると以下になります。

  • 低価格:秋月電子で基板化されたものが650円で購入可能
  • WiFi機能内蔵:日本の技適をしっかり取得している
  • 定評あるArduinoのソフトウェア開発環境(Arduino IDE)を使用可能
  • 充実したWiFi関係のライブラリがある(http関係)
  • I2C、SPI、A/D、GPIO等のIOが、しっかりサポートされている。
  • ディープスリープモードによりμAオーダーに消費電力を低減可能。これをプログラム制御できる。

 Raspberry piもZEROが発売されて、低価格になったのですが、ESPはWiFiが内蔵されて650円なので非常に気軽に使う事が出来ます。
ラズパイで出来ないのがディープスリープモードで、これによりバッテリー駆動のシステムが実用的に作成可能になります。
WiFiそのものは、常時動作させると消費電力が大きく、これはどのシステムでも同じなのですが、定期的にデータを取ってサーバーに送信するようなシステムでは、測定しない時にディープスリープモードに移行して消費電力を劇的に抑える事が可能になるわけです。
今回、室内のモニターにはアルカリ乾電池を、室外のものは太陽電池を使用しました。
どのシステムも、定期的にデータを収集して、httpでWebサーバーにデータを送信します。
サーバーサイドとグラフ表示はいつものようにPHPで書いています。

ESPモニター

html、JavaScriptで書いたサマリー

esp-temp-graph (1)

屋外の気温と湿度

esp-UV-graph (1)

太陽光とUVインデックス

esp-dust-graph2ch (1)

花粉とPM2.5

esp-gc10-graph

放射線量 CPM/μCv

以降の記事で、各システムについて個別に説明できればと思います。

Tags: ,

Reply

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>