読者です 読者をやめる 読者になる 読者になる

人生日々すれ違い通信 season2

元バツイチが日々思う事を書いたりハンドメイドしたり買い物で散財したりするよ。

MESHできることメモ

MESH

meshprj.com

iPhoneiPadbluetooth接続して、温度や動きの変化をトリガーに音を鳴らしたり、カメラを起動して撮影したりできるDIYキット「MESH」の存在を知ったので買ってみました。

f:id:mizi:20151203001439p:plain:w300

こんな感じでiPhoneのアプリ上で風が吹けば桶屋が儲ける的なしくみがぱぱっと作れます。上の画像は、moveタグという動きを感知するアイテムをひっくりかえして置くと音声Aが鳴って、横に置くと音声Bが鳴る…みたいな設定をしています。

このエントリーでは2015/12/2の時点で、MESHでできること、できないことをまとめておきます。なお、iPhoneiPadで起動できますが、ここではまとめて「iPhone」として記述します。

電子工作はしたことがないのと、機械に弱い系なのであいまいな所も多いですが、MESHどんなことできるのかな?の参考になれば。

0)用語解説

  • MESHタグ…iPhonebluetooth接続できるガジェット。
  • MESHアプリ…MESHタグと通信して、条件を指定してアクションの設定できるiPhoneアプリ
  • アクション…MESHタグの状態が変化した時に起こすこと。

1)MESHアプリだけでできること

  • MESHタグは動き検知等の「状態が変わった」ことをMESHアプリに通知できる
  • MESHアプリでは「どんな状態にタグが変化したら、次のアクションをする」という流れをプログラムを書かずにドラッグのみで設定できる。

アクションとして主に行えるのは

  • LEDライトのMESHタグを光らせる。
  • アプリを起動しているiPhoneのカメラを起動して撮影
  • Gmailを設定した条件で送信
  • iPhoneのスピーカーを使って指定した音を鳴らす(録音した音も使える)
  • SDK(詳しくは後述)を利用して作ったアクションで、指定URLへのjsonの送信やGETでの値の送信と結果の取得
  • GPIOタグという特別なタグに対してデジタル信号を送る事ができる(モーターを動かしたりできるよ)
  • WebサービスIFTTTと連携することができる(2015/12/03追記)

ロジックとアルゴリズム

「この条件とこの条件が満たされたら」(例:温度・湿度感知タグで温度が5度以上10度以内であることを検知しつつ、moveタグがシェイクされたことを検知したら次のアクションを実行する)
などのややフクザツな条件を指定できる。タイマーとかもできる。くわしくは下記url参照。

ソフトウェアタグ - ロジック・アルゴリズム – MESHサポート | 遊び心を形にできる、アプリとつなげるブロック形状の電子タグ

MESH SDKについて

  • ブラウザからMESH SDKサイトにコードを登録することで、オリジナルのアクションを設定できる。
  • 言語はjava scriptでajaxまわりはjqueryと同じ記述方法。

2)MESHアプリだけでは今できないこと

  • バックグラウンドでMESHアプリを実行し続ける。
  • スリープ状態でMESHアプリを実行し続ける。
  • アクションとしてアプリの変化を画面に表示すること(コンソールはありますがjsの実行結果をデバッグする用。終了メッセージの表示をダイアログで表示などはできないので、音を鳴らすとか、あるいは外部にのデバイスに変化を伝えるのがよいかなと)
  • MESHタグの現在の状態をパラメータとして取得すること(例として、温度・湿度感知タグの現在のパタメータを取得することはできない。ただ、「5度以上10度以下の時にこのアクションを実行」という条件を作る事はできるので、たくさん条件を作れば結果的に現在のパラメータを知る事はできるか…)

3)MESHアプリに+αでできること

WiFi通信を行う事ができてAPIの公開されている電化製品を操作することができる。

www.amazon.co.jp

こういうのを使えば家電を条件によってコントロールできるかなと。

IFTTTというwebサービスを使って、外部サービスへの投稿を行う・連携するデバイスを操作する。

IFTTTはMESHアプリで公式にサポートされました。(2015/12/03追記)
IFTTTについては下記のサイトに解説がされています。

作りながら覚える「IFTTT」レシピの使い方活用講座!(全5回) | hoomey

要約すると「なんか起こったら、このアクションを行う」のWebサービスバージョンです。MESHはGmail以外の外部サービスへの干渉は直接的にはできないのですが、IFTTTを使えばできるます。

そんなIFTTTを利用して…

  • MESHアプリでデフォルトで行えるアクションを利用して、メールの受信やiPhoneへの写真の追加をトリガーにして外部サービスへの投稿などを行う事ができる。
  • SDKajaxを利用することができるので、送信先をIFTTTのmaker channelにしてトリガーにして外部サービスへの投稿を行うなど。

ただ、IFTTTも忙しい人なのでGmailや写真撮影をトリガーにしても、即座に反映されずにタイムラグがあります。その点、maker channelをトリガーにすると即座に反応します。


2015/12/2現在で私が把握しているのは以上です。
SDKやアプリはアップデートで仕様が変わっていきそうなので、詳細な情報は公式サイトへGO!

試してみて仕様の感想

電子工作のむずかしそうな事をせずに、動き検知などのセンサーをかんたんにiPhoneiPadで扱えるのは超魅力的です!

ただ、現実世界に干渉するようなこと、たとえば電化製品や自作のロボットのコントロールなどをMESHをトリガーに行おうとすると、そこそこ初期費用かかるなーという印象です。ロボットのコントロールなどにトライする人は、そもそも電子工作の知識がそこそこあるのでraspberry piとかのほうがコスト低くはじめられるし、ライブラリを自分の好きなように拡張できるなーと。

そう考えると、MESHを電子工作できない派が遊ぶにはWebサービスとの連携が一番気楽かもという気がしました。

私は電子工作の知識はぜんぜんないので、むずかしいことをせずに外部の変化(ものが動いたとか)をiPhoneに伝えられる仕組みはすごく魅力的です。コードでいろいろ繋がなくても、iPhoneとMESHタグだけでぱぱっと新しい仕組みが作れるのは楽しい!

MESHを使ってのアイディアは次のエントリーで。

mizupo.hatenablog.com