雷雲ガンマ線検出器の温度プロット - AT&T M2X
今シーズンの観測に向けて鋭意開発中の雷雲ガンマ線検出器(関連: カミナリ雲からの謎のガンマ線ビームを追え!on アカデミッククラウドファンディング「アカデミスト」)ですが、観測サイトへの展開を来週にひかえて、現在は研究室で長時間の試験運転中です。ガンマ線の計数データや温度などのHousekeeping(HK)データは、通信回線経由で解析サーバに伝送しているので、ほぼリアルタイムで検出器の動作状況がモニタできます。(検出器の内部では、Raspberry Pi 2上でデータ取得ソフトウエアとHK取得ソフトウエアが動作していて、とくにHK取得ソフトウエアは、SPI通信でHK収集用のADCから温度計などのアナログ値を読みだしています)
いままでは、解析サーバ上で自分でデータをプロットして、そのプロットをwebサーバにrsyncすることで、状況をモニタしていたのですが、最近のIoTプラットフォームを活用すると、HKのモニタはもっと簡単になりそうです。当初、Xivelyを利用しようと思っていたのですが、無料アカウントの発行が遅れがちになっているという情報があったので、代替候補として上がっているAT&TのM2Xを利用してみました。
使い方はいたって簡単で、以下の手順にしたがってデータをcurlでPOSTするだけで、クラウド上にデータが保存され、ウェブブラウザで閲覧可能なプロットが作成されます。
- ユーザ登録
- デバイス登録(今の場合、1台の雷雲ガンマ線検出器を1個のvirtual deviceとして登録)
- ストリーム登録(デバイスから出てくるデータ、たとえば「ADCボード上の温度」などを登録)
- curlコマンドでデータを送信するためのスクリプトが表示されるので、それをコピー
- Raspberry Pi上でHK取得ソフトウエアとcurlコマンドをつなげて、温度データを1分ごとに送信する
デバイスの管理画面では、何分前に最新のデータが届いたか、などが確認できます。
以下のプロットが、growth-fy2015dデバイスのtemperature-pcbストリームをプロットしたときのサンプル。
リアルタイムデータは以下です(検出器が動いていて、データが送信されている場合、デーテ店が表示されます)。
データをPOSTするためのcurlコマンドの例
以下の様なcurlコマンドをRaspberry Piで実行しています。JSONデータのvalue:にあたえる「値」は、たとえば、HK読み出しソフトウエアで取得した温度の実数値。
1
2
3
curl -i -X PUT http://api-m2x.att.com/v2/devices/(デバイス名))/streams/(ストリー名)/value \
-H "X-M2X-KEY: (固有のキー))" -H "Content-Type: application/json" \
-d "{ \"value\": \"(ここに値を詰める e.g. 31.5))\" }"
無料プランで送信できるデータ量
2015年11月時点では、無料プランでは10デバイスまで、かつ、100,000データポイント/デバイスまで利用できます(AT&TのPricingの解説ページ)。有料プランでは年間99ドルからのプランがあるようです(料金の計算は少し難しそう)。