SSブログ

jumpwire.ioを試してみる jumpwire.ioの備忘録1 #jumpwire #IoT #IoTやりてぃー [XBee]

jumpwireIoLogo.png

jumpwire.ioは日本発のIoTデバイス向けサービスです。多分
http://ja.jumpwire.io

Arduino及びESP8266(Arduino IDE環境向け)のライブラリが用意されており、登録すればわりと簡単にサンプルの実行までは進みます。
Arduinoで行う場合は別途ESP8266を用意してそれと接続した上の話だと思いますが、私が試したのはArduino IDE環境を使ったESP8266単体です。
※それに!XBee wifi+GR-KURUMI!!ええ勿論最終的にはXBee wifiとGR-KURUMIでの運用を目的としています。


jumpwire.ioの細かな説明はドキュメントページのスライドを見て行くとだいたい判ります。
スライドの下の「ESP8266単体 (Arduino IDE使用) の場合」のリンクからgitに飛び、ESP8266用の一式を手元にダウンロードします。展開してSample_Sketch/examples/LED以下のお試しスケッチをやってみました。

まずJWIO_ESP8266_ArduinoIDE.cppとJWIO_ESP8266_ArduinoIDE.hをJWIO_ESP8266_ArduinoIDE-masterからコピーして来ます。
LED.inoをArduino IDEで開きます。
zipファイルをライブラリとして登録している訳ではないので、ここを修正します。
#include <JWIO_ESP8266_ArduinoIDE.h>
となっているのを
#include "JWIO_ESP8266_ArduinoIDE.h"
ですね。


ユーザー登録して取得したtokenと、アクセスポイントのssid、password、それに先程のtokenを以下の関数の引数とします。
jumpwireIo jwio("your access point ssid","your access point password",
"your token","A");

このサンプルスケッチが行っているのは、プロジェクトは"A"、5秒置きに内部時間をキー"B"としてjumpwire.ioに送信している事と、jumpwire.ioから受信したキー"A"の値を見てLEDを点けたり消したりする処理です。
なのでESP8266のIO5にLEDを接続しておきます。

スケッチをコンパイル→ESP8266に転送しておきます。シリアルモニターを起動しておいた方が良いでしょう。
jumpwire.ioに登録が済んでいればコンソール画面が使えますので、「Testing tool」の「Project」をA、
「Key」をAとしてValueに適当な値を書いて「Throw」ボタンを押します。
1または0をValueとして送るとLEDの点灯/消灯が行えるはずです。
またコンソール画面のログにキー"B"の値が表示されます。

jumpwire.ioを利用した場合のアクションはこのThrowとLED.inoの中のCatchが基本です。
jumpwire.io側のサーバーも、ESP8266などのクライアント側もCatchで制御を受けてThrowで制御を送ります。

IFTTTなどのクラウドサービスと異なる点は、IFTTTはクライアントがMakerチャネルに要求を行うと、Makerチャネルとクライアント側の接続はその時点だけ確立し、要求を送信後接続は解消します。
同様にIFTTTからマイコン等のデバイス側に要求を送る場合も同じ事となり、IFTTTがクライアント、デバイスがサーバーとなってその場限りの接続を確立します。

ではjumpwire.ioの場合は何が違うのか?
この場合はESP8266などのデバイス側がクライアントとしてjumpwire.ioのサーバー側に接続を行うと、その接続は特に理由が無い限り解消せず、いつでもデバイス側から要求を送れますし、いつでもサーバー側からも要求を送れます。お互いに任意のタイミングで双方向でやりとりができるのです。
常時接続の状態なのでとても反応よく動きます。

このjumpwire.ioの特性を利用すると2つのIoTデバイスをjumpwire.ioだけ経由して接続が可能となります。M2M(Machine to Machine)と呼ばれるあれです。
※IFTTTの場合もM2Mは可能ですが、制御を受ける側はグローバルIPアドレスまたはURLを事前に登録する必要があり、一般的なブロードバンド接続の場合はDDNSを利用するなど結構面倒な事前準備が必要です。DDNSを利用すればできる事も多いのですけれどね。


jumpwire.ioはGoogle Driveと連携できます。
無料使用の場合はサーバー側に溜められるデータの量や時間に制限が有ります。しかし必要な記録はGoogle Driveに飛ばしてしまえばGoogle Driveの残り容量分は大丈夫ですね(笑)。
この設定はコンソール画面から行えます。
「Data Log」の一番下の「Download CSV云々」ボタンの下の「Fusion Tables connector.」をクリックするとその設定が開始されます。
どのプロジェクトのどのキーの値をGoogle Driveに飛ばすのか?タイムゾーンは?を決めたら「Connect」ボタンを押せば連携が開始されます。この時勿論Googleのアカウントが必要です。

jumpwireIo_002.png

自分のGoogle Driveを見てみるとファイルが出来上がっています。
ダブルクリックすると以下の様になります。
jumpwireIo_003.png

タブの右端の赤い+を押すと機能タブを追加できます。ここでは「Chart」を追加してみました。
jumpwireIo_004.png

グラフのフォーマットを幾つか選べますが、ここでは一般的な折れ線グラフを選んでみました。
いや、これは便利ですね。

無償利用だとGoogle Drive連携ができるのが3つまでで残念ですが、でも結構使えると思います。どうでしょう?


nice!(0)  コメント(0)  トラックバック(0) 

nice! 0

コメント 0

コメントを書く

お名前:[必須]
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

※ブログオーナーが承認したコメントのみ表示されます。

トラックバック 0

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。