Xively は IoT のためのパブリッククラウドです。詳細はXivelyのサイトを参照していただければ幸いです。データを publish するだけでグラフにしてくれたり、地図にマッピングしてくれたり、トリガーを仕掛けたり(私はまだ使ったことがないですが)といろいろなことをしてくれるのでシステムの開発が大変楽になります。REST API の他に MQTT API があるのですが、これが少しハマッたので備忘録の意味を兼ねてメモをのこさせていただきます
Xively のAPIドキュメントによるとcsv 形式で Feed する場合、以下のようになります
コマンド文字列
mosquitto_pub -h api.xively.com -t "API Key文字列/v2/feeds/FeedID 文字列.csv" -m "Channel ID,`TZ=GMT date '+%Y-%m-%dTS:%H:%M:%Sz'`,値"
認証はAPI Key が正当かどうかで判断されます。API Key、FeedID、データストリームのタイプ(json, xml, csv)はトピックで指定します。シンプルにCSVでpublishするとして、MQTT のメッセージの内容は
"Channel ID、日時、値" の順になります
まだ分かりにくいので例として
- API Key: オール0
- FeedID: オール1
- Channel ID: load_avg
- 値: 0.4
だと、以下のようなコマンド文字列になり
例
mosquitto_pub -h api.xively.com -t "000000000000000000000000000000000000000000000000/v2/feeds/1111111111.csv" -m "load_avg,`TZ=GMT date '+%Y-%m-%dTS:%H:%M:%Sz'`,0.4"
Xively の Development Site で表示を確認すると以下のようになります
(API Key 文字列は消してあります)