MESH SDK でタグを作ってみた
アプリ開発イベント~プログラミングが君の未来を拓く!!~というイベントに、お手伝いとして参加しています。お手伝いなので、アイデア出しとか実装とかで困ってる人の手助けをするのがこの土日の過ごし方なのですが、空いた時間で少し遊んでいます。
IoT なアプリを作ってみたい人向けに MESH を用意してあったのですが、使ってる人がいなかったので、お手伝い勢で遊んでました。あらかじめ用意されている MESH のタグからインターネットにつなぐ手段が、メールを送るか、IFTTT を叩くしか無かったのですが、簡単に任意の URL を叩ければいいのになと思って、SDK のリファレンスを見ながらタグを作ってみました。
タイトルとか説明文は適当に。
任意の URL を指定するためのプロパティをひとつ作ります。Input Connector はひとつ作ってありますが、なぜ作ったか覚えてません。とりあえず押しただけだったかも。
コードは天気予報のサンプルを参考にして Execute のところにこれだけ書きました。
- プロパティで設定した url は
properties.url
で参照する。 - いったん pause で返して、非同期処理が終わった後に
callbackSuccess
で continue を返す。
ajax ({ url : properties.url, type : "GET", timeout: 5000, success : function ( contents ) { callbackSuccess( { resultType : "continue" } ); }, error : function ( request, errorMessage ) { log("GET URL : ERROR"); callbackSuccess( { resultType : "continue" } ); } }); return { resultType : "pause" };
これをスマホ側の MESH のアプリで読み込むと、こんな感じで配置できます。試しに動きタグから自作のタグにつないで、タグを横向きにしたら URL を叩くことができました!
MESH にふくもく会タグを追加して任意の URL を叩くことに成功した。JavaScript で書けると知ってワクワクしてるぞ #ふくもく会 pic.twitter.com/xNpVz88pB6
— りちゃ (@rch850) 2016年8月20日
今回は URL に GET リクエスト出して、結果は気にせず continue するだけでしたが、結果に応じて Output Connector に何かだしてあげれば、もっと MESH らしい動きをしてくれそうです。