その時、参加されていた林田さんと吉田さんから、Xivelyというネットサービスを教えてもらいました。
Xivelyというのは、過去CosmやPathubeと呼ばれていたネットサービスで、センサーなどからのデータをアップする事が出来るものです。林田さんの資料の言葉を借りますと、「Xively はセンサデータを公開し合うユーチューブを意識したサービスとしてスタートした経緯がある。そのデータ投稿管理が良く出来てるので、簡易なM2Mクラウドとして利用する。」との事です。
Xivelyへのアップロードは、Xively側で各種環境向けにライブラリを公開してくれていて、それを利用することで手軽に実施出来ます。
2013年6月9日時点では、Android、Arduino、mBed、C、ElecricImp、Java、JavaScript、Objective-C、Python、Rubyに対応したライブラリが公開されているようです。
今回は、ベランダに設置した以下のような太陽電池を使って、バッテリーを充電し、それをモニタリングしてみたいと思います。
そこで、Raspberry Piで簡単な製作を行なってみました。本記事はその取り組みの紹介になります。
今回、僕はRaspberryPiで太陽電池から鉛シール蓄電池へ充電を行い、そのバッテリー電圧をモニターしてXivelyにアップロードしてみることにします。
測定に使用するモジュールはストロベリーリナックスで販売されている、「INA226 I2Cディジタル電流・電圧・電力計モジュール」を使用します。これは、I2C接続で電圧と電流をモニターできるものです。
このモジュールは以前本ブログの「Raspberry PiのI2Cを利用して簡易電流・電圧計を作る」で取り上げたものです。
http://projectc3.seesaa.net/article/350916175.html
システム構成はこんな感じです。
Raspberry Pi側のソフトはCで作成しました。XivelyのライブラリはC用のものをそのまま使用しています。
Cのライブラリの実装は、普通のPOSIX環境で実行できるもののようで、実際にMacOSX上と、Raspberry Pi上で試しましたところ、そのままアッサリ問題なく動いてくれました。
制御はシンプルに、2秒ごとにバッテリー電圧と充電電流をI2C経由で取得し、Xively側にアップロードします。
ソースコードはこちらです。
https://github.com/yishii/rpi_solar_charger_with_xively
上記リポジトリ内に、Xivelyのアップロードに使用するライブラリ(libxively.a)のソースも含んでいます。src直下でmakeすると、libxively.aとメインプログラムのビルドをまとめて行います。
(なお、conf_xively.hにXivelyで使用するキー(API KEYやFEED ID等)に関する情報を設定するようにしています)
こんな感じで確認できます。(電流の系は接続してないので0のままです^^;)
実際のXivelyのURL : https://xively.com/feeds/2077712670
と、いうわけで、Raspberry Piを使用することで、とてもお手軽に測定データをアップして共有する事ができます。今回は有線LAN接続していますが、USB-3Gドングルを接続するなどすると、外に設置した(ex.ビニールハウスに設置して、温度をアップするとか)機器のデータのアップロードも非常に簡単に行えますし、結構楽しそうですね。
Raspberry Pi Type B 512MB
posted with amazlet at 13.06.09
RS Components Ltd
売り上げランキング: 457
売り上げランキング: 457
Raspberry Piユーザーガイド
posted with amazlet at 13.06.09
Eben Upton Gareth Halfacree
インプレスジャパン
売り上げランキング: 2,358
インプレスジャパン
売り上げランキング: 2,358
図解入門よくわかる最新太陽電池の基本と仕組み (How‐nual Visual Guide Book)
posted with amazlet at 13.06.09
東京理科大学総合研究機構太陽光発電研究部門
秀和システム
売り上げランキング: 193,610
秀和システム
売り上げランキング: 193,610