mbedマイクロコントローラーを使用した、データロガーを作成しました。
温度・湿度・気圧を測定して、Web/httpサーバーに送信します。
温度センサー(LM35)と湿度センサー(CHS-UGS)は、mbedのA/Dコンバーターで出力電圧を読んで各値に変換します。
気圧センサー(SPC1000)は、SPIインターフェースで接続され、デジタルで読み取ります。
データは10分毎に測定され、httpサーバーのPHPプログラムにpostメソッドで送信します。
サーバーでは、受信したデータをcsvファイルで保存し、以下のように別のPHPプログラムでグラフ表示させています。
今までは単体の気圧計等を使っていましたが、時系列の変化はもちろん追うことはできず、気象庁のデータをグラフ表示して利用していました。
(PHPのメニューに入れています)
これで、ネットに繋がっていれば、どこからでも自宅の温度・湿度・気圧変化がモニター可能になりました。
mbedは「高速プロトタイピング・マイコンモジュール」と呼ばれ、以下のような多くの特徴を持っています。
- Analog・Digital In/Outや、SPI,I2C,USB,シリアル等、多種類のI/Fが小型のボードに全て集約されている。
- EtherのI/Fも実装されており、安価なパルストランスを接続するだけでIP接続が可能になる。
- PCとはUSBケーブルで接続でき、電源もそこから取れる。PCと接続せず、電源だけUSBから供給しての単体動作も可能。
- USBから5Vで供給して、ボードから3.3Vを出力可能で、それが必要な外部ICの駆動に便利。
- 基盤のヘッダが標準ピッチで並行なので、ブレッドボードに簡単に載せられる。
- 開発ソフトエアがWebのクラウド上にあり、ブラウザだけあればプログラム作成可能。当然MacでもPCでもOKで、特別なソフトウェアのインストール等が不要。
- 言語がC++で非常に柔軟にプログラム制御可能。
- 多数のライブラリーを簡単に利用できる。特にWeb関係のhttpライブラリーが非常に充実しているので、Webサーバーとの連携やTwitterへの送信など高度な機能が実装できる。
特に最後のライブラリーが非常に強力で、PHPと連携するプログラムが簡単に実現できました。ベーシックなDHCPによるIPアドレスの取得から、PHP/POSTまでほんの数行で実現できるのには感動しました。
アナログ系の温度・湿度センサーは、センサー自体がデータをリニアに電圧に変換してくれるので、プログラムは単純換算するだけで簡単ですが、気圧の方はSPIのデジタル接続で、バス制御やコマンド受け渡しが複雑です。ところがなんとこのSPC1000用のライブラリが公開され、これで簡単に気圧測定データの読み込みが可能になりました。クラウド上の開発ツールは、世界中の開発者が作成した上記のようなライブラリーが無料で利用できるようになっており、非常にすばらしいと思います。
現在は室内で測定しているだけですが、次のステップでは屋外にセンサーを設置して、そのデータを取り込めればと思います。
このmbedを使用すると、他にも面白いことが色々実現できそうです。
良い楽器(当方の場合リュートですが)を入手すると、自分の能力が何十倍にも拡大されたような興奮を感じることができますが、このmbedもそれと同じような気持ちにさせてくれます。
No comments
Comments feed for this article
Trackback link: http://lute.penne.jp/thumbunder/mbedを使用した温度・湿度・気圧ロガー/trackback/