今回はESP8266にマイコンと光センサーを組み合わせ、得た値をHTTPサーバ経由で遠隔取得します。センサーを交換したり、値を変更するなどすればさまざまなIoT DIYに応用できます。
「ESP-WROOM-02」など、ワンチップにWi-FiからGPIOなどの周辺デバイスを搭載したワイヤレスSoC「ESP8266」を搭載したモジュールで“IoTを手作りしてみよう”というこの連載。前回(ESP8266を使って、Webブラウザ経由でマイコンを制御する)は、Webブラウザからの操作でESP8266側のマイコンにつながった発光ダイオードを点灯あるいは消灯させました。
それに対して今回はWebブラウザからの操作でESP8266側につながったセンサーの値を読みだす例を紹介します。センサーとして今回は光センサーを用い、HTTPサーバにつながったセンサーで光の量を測定し、0.000000から1.000000までの値をWebブラウザ上に表示します。
・ESP8266を使って、Webブラウザ経由でマイコンを制御する
・ESP8266にmbedマイコンを接続してM2Mを実現する
・ESP8266をTCPサーバとTCPクライアントにするATコマンド実例
・ESP8266を宅内Wi-Fiにぶら下げるATコマンド実例
・話題の技適Wi-Fiモジュール「ESP8266」でIoTを手作りする
用意するものは前回とほぼ同じですが、ここに光センサー(今回は手元にあった太陽電池を光センサーの代わりに用いました)が加わります。太陽電池を光センサーとしてマイコンのアナログ入力に接続する際、電圧調整が必要な場合がありますので、太陽電池を使用する際には可変抵抗を用意します。これ以外の準備物については前回およびそれ以前の記事を参考にしてください。
次の図がこれから作ろうとしているシステムの概要図です。
ESP8266はAPモード(アクセスポイントモード)で立ち上げます。クライアントのIPアドレスはESP8266のDHCPにより図のように割り当てられます。ESP8266はUART(シリアル通信)でマイコン(LPC1114)と接続されており、マイコンからのATコマンドでESP8266を制御する構成になっています。マイコンには光センサー代用の太陽電池が接続されていてこのセンサーの値をWebブラウザ経由で読みだすというのが今回の目的です。
次の写真が光センサーとして用いる太陽電池です。これは今回の用途のために購入したものではなく、たまたま手元あったもので正確なスペックは分かりません。ただ見てみるとセルが直列に8個並んでいるように見えます。一般の太陽電池の1セルは解放時(何も負荷をかけていない状態、言い換えれば太陽電池が発電した電力を何にも利用していない状態)の電圧が約0.6Vなので最大電圧が4.8Vくらいになること想像できます。
天気が良いので直射日光で実測してみたところ、すると4.6V〜4.7Vあたりの電圧が検出できました。太陽電池は表面に射した光の量で電圧が変化しますので、晴天時には発電量が多く雨や曇りの日は発電量が少なくなるというのはこのためです。この「光の量に応じて出力電圧が変化する」という性質を利用して、太陽電池を照度センサーの代わりに使います。
Copyright © ITmedia, Inc. All Rights Reserved.