今日の風に吹かれましょう!

tagiru@SXD.Media.TUT
2017.02.14

休日は海でこころをデトックス! それとも家でからだをリラックス!

レシピの生い立ち

良い風が吹くなら海に行って風乗りしたいけど、そうでなければ家でゴロゴロしていたい。朝、寝床からでも、ボタンタグを押せば、風を調べて、天気を調べて、電車を調べて、LEDタグで教えてくれます。青色なら海でこころをデトックス! 赤色なら家でからだをリラックス! 黄色なら風の吹くまま気の向くまま!

このレシピに使用したMESHタグ
このレシピで使う素材

素材:OpenWeatherMapのCurrent Weather Data、鉄道遅延情報のJSON
道具:MESH SDK

作り方
1

ボタンタグを押すと、(1) OpenWeatherMap serviceが提供するWeather APIを利用して「Location」で指定された場所の風を調べ、(2)天気を調べ、そして(3)鉄道遅延情報のAPIを利用して「Name」で指定された電車の運行状況を調べ、判定結果を信号機に見立てたLEDタグで教えてくれるという仕掛け。天気関連はMESH SDKのサンプル参照、電車関連は https://rti-giken.jp/fhc/api/train_tetsudo/ を参照して、設定情報を工夫してみてください。

2

MESH SDKのサンプルにある「天気予報タグ」を動かしてみましょう。「天気予報タグ : Import用 JSONデータ」をダウンロードし、メモ帳などで開けて中身をコピーします。MESH SDKのページでアカウントを作成してサインインします。(1)「Create New Tag」を押し、(2)「Import」を押し、(3)先ほどの中身をペーストし、(4)「Load JSON」を押します。(5)「Check」(6)「Code」(7)「Execute」を開け、(8)「APPID」をOpen Weather Mapのサイトで自分で無料取得したAPPIDに書き換え、(9)「Save」を押します。

3

サンプルの予報のままでも構いませんが、(1)ここではURLの末尾の「2.5/」の後を「weather」にして実況に変更してみましょう。予報は配列形式の「.list[ ]」になっていますが、実況は1つしかありませんので、配列を削除します。具体的には、(2)最初のif文の行の「.list」と「.list[0]」を削除し、(3) var idNumの行からも「.list[0]」を削除します。また、(4)風速の単位を「m/秒」にするために、var dataの2つ目を「"units" : 'metric'」にします。図を見ながら変更し、「Save」を押します。これで「天気実況タグ」は完成です。

4

「風の実況タグ」をつくります。「天気実況タグ」で「Export」を押し、JSONをコピーします。「Create New Tag」を押し、JSONをImportし、名前を「Weather」から「Wind」に変更します。(1) Output Connectorの名前を順に「Light」「Moderate」「Strong」に変更します。(2)「Execute」内の最初のif文の行を風の内容にし、(3) outputIndexを選択するif文も風の強さで場合分けするように変更します。図を見ながら変更してみましょう。変更したら、「Save」を押すのをお忘れなく。

5

「電車の運行状況タグ」をつくります。「Create New Tag」で同様にJSONをImportし、名前を「Train Delay」に変更します。(1) Output Connectorの名前を順に「Normal」「Delay」にし、(2) Property名を「Name」に、(3) Reference Nameを「name」にします。(4)「Execute」内のajaxにURLを指定し、不要な行は削除します。(5) outputIndexを0に初期化し、路線名ないし鉄道会社名をnameで前方一致検索し、該当があればoutputIndexを1にします。図を見ながら変更してみましょう。

6

MESHアプリで、右上のメニューから「SDK」を選択してサインインしましょう。右下の「カスタム」の「追加」から作成した3つのタグを追加しましょう。追加後に何か変更を加えた場合にはタグを押し、「アップデートを確認する」から更新することができます。キャンパスでの配置と配線は図を見ながら行いましょう。中風の場合には、晴れか曇りの場合には、電車に遅れがなければ青色につなぎ、海でこころをデトックス! 遅れや運休があれば黄色につなぎ、風の吹くまま気の向くまま! なお、つなぎ方はお好みで調整してみてください。

7

一方、中風でも雨の場合は、電車に遅れがなければ黄色につなぎ、風の吹くまま気の向くまま! 遅れや運休がある場合や、強風の場合は赤色につなぎ、家でからだをリラックス! もっとも、強風だからこそ出掛けていく方もいるかもしれませんね。お好みで調整してみてください。

8

微風の場合には、晴れていれば浜辺でのんびりすごすのも気持ちいいですから、電車に遅れがなければ青色につなぎ、海でこころをデトックス! 晴れているけれども遅れや運休がある場合や、曇っているけれども電車に遅れがない場合は、黄色につなぎ、風の吹くまま気の向くまま! 雨の場合は赤色につなぎ、家でからだをリラックス! 朝、寝床でチェックした方は、きっと二度寝ですね。

9

具体的な数値を知りたい方は、log( ... ) 関数を利用して詳細を表示するのも便利です。図を見ながら追加してみましょう。(参考:平日用には、天気を調べ、通勤経路の電車運行を調べ、「行ってきまーすの信号機」と題しても便利でした:青色は平常どおりの出発、黄色は少し早めの出発、そして赤色はだいぶ早めの出発。)

ボタンタグを押すと、風を調べ、天気を調べ、そして電車運行を調べて、信号機に見立てたLEDタグで休日の過ごし方を提案してくれるコンシェルジュのような仕掛け。その他、お好みでスピーカータグやミュージックタグも加えてみてください。別途、タイマータグで時刻設定しておくと目覚まし時計としても便利です。

作者プロフィール
tagiru@SXD.Media.TUT

大学の演習講師

MESHってなに?

さまざまな機能を持ったブロック形状の電子 "MESHタグ" を"MESHアプリ" 上でつなげることにより、あなたの「あったらいいな」を実現できる。それがMESHです。 難しいプログラミングや電子工作の知識は必要ありません。IoT(モノ・コトのインターネット化)を活用した仕組みも簡単に実現します。

最新情報、楽しみ方やお得な情報を受け取ろう

ご利用規約およびプライバシーポリシーをご確認の上ご登録ください。