imaocande とは測定した放射線の値を一定時間ごとに twitter に投稿するシステム。およびその投稿データを利用し可視化などを行う。

imaocande 資料

http://openforce.project2108.com/file/cloudcande/Imaocande.pdf 2011/5 Wireless Japanにての配布資料

Imaocande Viewer仕様書

imaocandeで規定されているプロトコルなどの記述があります。

https://docs.google.com/document/d/1VmAxtvelaYe-7qK44Ed2f1YKbeKLDsVeoseLQsHX-wU/edit

Androidアプリ

imaocande Viewer

http://code.google.com/p/imaocande-viewer/ apkがダウンロードできます。 @imaocandeのTLを取得して、グラフと地図表示するアプリ。2012/10/17現在、動作しないようです。

imaocande-forest

http://code.google.com/p/imaocande-forest/ apkがダウンロードできます。 @imaocandeのTLを取得して、グラフと地図表示するアプリ。2012/10/17現在、動作しないようです。

imaocandeフォーマット

旧プロトコル

  • XML形式

新プロトコル

  • JSON形式
  • 旧プロトコルとは形式および、値の意味も変化している
  • Imaocande Viewer仕様書にあるものは定義が厳密でないため、独自解釈を加えたものをImaocande Proプロトコルとして以下に示す。

Imaocande Proプロトコル

Imaocande ProプロトコルはImaocandeに準拠して、運用に伴う拡張や解釈を規定したものである。twitterサーバ以外への投稿にも利用する。

データ形式

以下に規定されるものはすべてJSON形式である。

imaocandeオブジェクト

ht,sn,dt,ct,dt,la,lgキーによって構成される。この他のキーを含むことも可。

imaocande配列

imaocandeオブジェクトの配列。

転送プロトコル

imaocande転送については規程はない。 しかし実装したものとして、twitterにimaocandeオブジェクトをツィートするもの、cloudcandeサーバにimaocande配列を転送するものがある。

twitterツィート

専用ツィートアカウントとして、iomaocande,imaocande2が存在する。 imaocandeオブジェクトを1オブジェクト1ツィートの形で登録。オンラインになっていない時の計測値については一度に数百ツィートするわけにいかないのでlinuxの時刻同期みたいにすこしずつ追いかけていくか、別サーバに一気にバルク転送。別サーバとしては、cloudcandeサーバが存在する。

cloudcandeサーバ

  • cloudcandeサーバに対してPUTメソッドでimaocandeオブジェクトを転送する。
  • cloudcandeサーバに対してPOSTメソッドでimaocande配列を転送する。
  • imaocande配列の順序は順不同。上限50MBytes。
  • 事前にユーザ名/パスワードを登録のあと、公開鍵/秘密鍵ペアを生成。鍵をPOSTで同時に送出する。鍵の変数名はkey、imaocande配列の変数名はimaocande_array。
  • 暫定的にcomment変数で、JSON形式の追加データを送ることができる。このcommentはサーバ側のアクセスログに記録される。 以下に規定されるものはすべてJSON形式である。

imaocandeキー&バリューの解説

  • ht:ハッシュタグ。複数のimaocandeに対応できるようハッシュタグをキーにタイムラインを取得する。
  • sn:シリアル番号。計測機器が起動した時点で必ず0となる。snが9999を超えたときは1に戻る。毎送信ごとにカウントアップするものとする。この値で機器が正常に動作していることを確認する。 0は初期状態であることを示す特別な値。
  • dt:データ送信時点の日付と時刻について。 エラー再送やオフライン時に蓄積したものを吐き出すことを考えると、 データ送信時点ではなくデータ計測時点の方が良い。 更に、データ計測時間は測定開始時刻と終了時刻があることを踏まえ、物理量の測定期間の終わり時刻とする。
  • ct:単位時間に計測したカウント数。 単位時間とは、前回のデータ送信時点から現データ送信時間までの時間を云う。 この間隔は、計測システム側で任意に設定可能とする。 とありますが、単位時間は可変でもいいのですかね。1回目と2回目 の間は5分、2回目と3回目の間は10分というように、単位時間は可変でもいい。
  • ct:単位時間に計測したカウント数。
  • dt:データ送信時点の日付と時刻(iso8601形式とする)、尚時間を取得できない機器については、空文字列を入れること。
  • la:データ送信時点の計測機器の緯度
  • lg:データ送信時点の計測機器の経度
    • 単位時間とは、前回のデータ送信時点から現データ送信時間までの時間を云う。
    • この間隔は、計測システム側で任意に設定可能とする。

Imaocande Pro プロトコル

オブジェクト

{"ht":"imaocande”,“sn”:0, “ct”:0,”dt”:”2011-05-20T12:34+09:00”,”la”:33.934744,”lg”:132.775183} 

配列

[
{"ht":"imaocande”,“sn”:1, “ct”:2,”dt”:”2011-05-20T12:39+09:00”,”la”:33.934744,”lg”:132.775183},
{"ht":"imaocande”,“sn”:2, “ct”:1,”dt”:”2011-05-20T12:44+09:00”,”la”:33.934744,”lg”:132.775183},
{"ht":"imaocande”,“sn”:3, “ct”:3,”dt”:”2011-05-20T12:49+09:00”,”la”:33.934744,”lg”:132.775183},
{"ht":"imaocande”,“sn”:4, “ct”:1,”dt”:”2011-05-20T12:54+09:00”,”la”:33.934744,”lg”:132.775183},
.
.
.
.
{"ht":"imaocande”,“sn”:9999,“ct”:3,”dt”:”2011-05-20TXX:XX+09:00”,”la”:33.934744,”lg”:132.775183},
{"ht":"imaocande”,“sn”:1, “ct”:2,”dt”:”2011-05-20TXX:XX+09:00”,”la”:33.934744,”lg”:132.775183}
]
//測定回数が9999を超えた場合、次のシリアルナンバーは1に戻る

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2012-10-17 (水) 22:17:34 (4206d)