MESHではじめるIoT生活

第9回 MESHでここまでやる? Raspberry PiでMESHが動く!話題のラズパイ版MESHをいち早く使って、スマート・ホームを実現しよう!

こんにちは、ヨシケンです!

今回は、MESHチームが発表したMESH Raspberry Pi Hubを、開発テスト版としていち早く使わせてもらったので、おそらく世界初となるRaspberry Pi(以下ラズパイ)版のMESH工作をレポートしたいと思います!
(※正式版のリリースは2017年内との事です。正式リリース時には、この記事の内容と画面、機能などが異なる可能性があります。)

話題のラズパイ版MESHは一言で言うと、MESHがよりIoTプラットフォームになった!という感じです。IoTガジェットを手軽に作りたい人、必見です!

MESHチームから貸与されたラズパイ
(MESHチームから貸与されたラズパイ。実際はもちろんラズパイは別売りで、インストールするパッケージが公開される予定です。)

MESH Raspberry Pi Hubとは

MESH Raspberry Pi Hub(以下MESH Hub)は、ラズパイ上で動くJavaScriptベースのパッケージです。これまでのタブレット上のMESHアプリの最新版と同時にリリースされ、それによりラズパイと合わせて使う事ができるようになります。(レシピ設定画面として、タブレットなどのMESHアプリは引き続き必要になります。)
MESH Hubで出来る事を最も簡単に言えば、今までタブレット上で動いていたレシピ設定を、ラズパイ上に保存でき、タブレットが無くてもMESHの機能が動くようになる、というものです。

MESH Raspberry Pi Hub
少し分かりづらい部分もあるので、MESHを使うシーンを挙げながら図解して説明します。
これまでの工作では、MESHを使って動くおもちゃなどを作っても、レシピ設定をしたスマホやタブレットを外に持ち出してしまうと、作ったものが動きませんでした。(MESHとスマホは、Bluetoothの範囲内にある必要がありました。)

MESH Raspberry Pi Hub

そこにMESH Hubを導入すると、MESHアプリで作ったレシピをラズパイ側に保存できるようになります。ラズパイは数千円で買えるLinuxコンピュータなので、安価に手に入りますし、それを一台家に置いておけば、作ったものをそのまま家で使う事ができます。またそのラズパイを、動く車やロボットに内蔵すれば、遠隔で色々操作できる作品がすぐ作れます。

また、家に何台かのラズパイを持っている方もいるかと思います。
そんな方は、玄関用のラズパイとリビング用のラズパイという形で、それぞれMESH Hubをセットアップできます。それらをWifiに常時接続し、お互いが離れていても、MESHで作った仕組みを動かす事ができるようになります。

MESH Raspberry Pi Hub

これにより、例えば玄関に人が帰ってくると、玄関用ラズパイと紐付いた人感タグが反応し電気を付け、更に少し離れたリビングにあるラズパイに連携させ(これまではBluetoothの範囲内でしか届きませんでした)、リビングのテレビを自動で付ける、などといったことが出来るようになります。
またMESHアプリが入ったタブレットを外に持ち出して、遠隔からでもMESHの動きをチェックしたり、設定を変えたりといった事もできるようになっています。

どうでしょう、MESHアプリの指で簡単に操作できるUIはそのままに、これまで以上にラズパイ+MESHで便利なモノが作れそうではないでしょうか?

それでは、この新しいMESH Hubを使って、便利なスマート・ホームを実現してみましょう!

今回のMESH工作の流れ

1.MESH Hubとラズパイのセットアップ
2.ラズパイR2D2ハブを作る
3.キッチンからロボへの連携を作る
4.キッチンお知らせハブを完成させる

ラズパイR2D2ハブ
(ラズパイR2D2ハブ)

キッチンお知らせハブ
(キッチンお知らせハブ)

必要なモノ一覧

MESHタグ:

  • GPIOタグ
  • 動きタグ
  • ボタンタグ
  • LEDタグ
  • 温湿度タグ

ラズパイ側
Raspberry Pi 3 Model B(ラズパイ3が推奨です)

Raspberry Pi 3 Model B
MESH Raspberry Pi Hubパッケージ(ラズパイにインストールするもの)

最新版のMESHアプリ(タブレット、スマホにインストールするもの)

その他のモノ:
Wifi付き電球のHueや赤外線リモコンキットIRKitなど(必要に応じて)

MESH Hubとラズパイのセットアップ

それでは、ラズパイとMESHの接続設定をしていきましょう。

ラズパイのOSインストール、初期設定とMESH Hubのインストールは、別途MESHチームから公開される資料に詳細が載っているので、それを参照して下さい。
また、タブレットのMESHアプリの最新バージョンがリリースされますので、アプリをアップデートしておいて下さい。

http://hub.meshprj.com画面
(この画面はhttp://hub.meshprj.comにMESHアカウントでログオンすると見る事ができます)

まず、アプリを最新バージョンにすると、レシピ画面の右上に「他の端末に変更する」というメニューが現れます。
ここで、「+ハブの追加」を選びます。
ラズパイにMESH Hubをインストール

ラズパイにMESH Hubをインストールしましょう、という説明が出てくるので、MESHチームのドキュメント(先ほどのハブ画面の「パッケージのインストール方法」)を参照しながら、MESH Hubのダウンロード、インストールをして下さい。
その後、「セットアップを始める」を選ぶと、「MESHアカウントにサインインして下さい」とメッセージが出ます。このアカウントはMESH SDKと同じアカウントなので、それでログインするか、「アカウント作成」で新規に取得して下さい。
ラズパイにMESH Hubをインストール

ログイン後、ハブ(ラズパイ側)の電源を入れるよう促されます。電源接続後、右下の「次へ」を押します。
ハブとタブレットをBluetoothで接続します。上手くいくと「接続されました!」のメッセージと共に、「次へ」が押せるようになります。
ラズパイにMESH Hubをインストール

タブレット側からハブのWifi接続を行います。
ハブをつなぐためのネットワークID、パスワードを入力し、見事ハブがWifiにつなげられたら、そのハブの名前をセットします。
ラズパイにMESH Hubをインストール

ハブ(ラズパイ側)に、スイッチサイエンスが販売するMESH Hub Board(Hub公開時に発売予定)を付けておくと、MESHと連携できているかや、インターネットとの接続の確認が一目でできるようになっています。
さて設定が全て済むと、先ほど付けたハブの名前が出てきて、端末を選択可能になります。
この「MESH RasPi Hub」端末を選んで、接続すれば、ハブ上でMESHの設定が動くようになるわけです。

ラズパイにMESH Hubをインストール
もし上手くつながらない場合は、別途MESHチームから、ラズパイ上のコマンドラインでの確かめ方のドキュメントが提供されますので、それでラズパイ側の状況を確認しながら進めてみて下さい。

MESH Hub設定
さて、MESH Hubが設定できたところで、このハブを使った工作に移りましょう!(ハブに接続すると、右上の四角いアイコンがブルーになって、アプリ上でもちゃんと接続されているのが分かります。)

ラズパイR2D2ハブにしよう!

まず以前作ったR2D2ロボを、ラズパイを内蔵する事により、タブレット無しで動くようにしましょう。
と言っても、作り方は、以前のロボットの中にラズパイを入れ、レシピ設定もほぼ同じものをセットするだけです。

MESH Hubが入ったラズパイと、小さめのバッテリーを用意し、ロボットの中に入れます。
9-15

レシピ設定の方は、まずタブレットからハブに接続し(右上の四角いアイコンが青色になっています)、いつもの設定画面と同様に「新しいレシピ」を選びます。
レシピは以前と同じで、このようなシンプルなものです。
レシピ設定

この設定が終わった後は、レシピ右上のメニューから「アプリ設定」を選び、「バックグラウンド実行」をONにしておいて下さい。こうすれば、タブレットを他の部屋に持って行っても、ちゃんと動き続けます。

一度、動きタグを振って、ラズパイ上に移植したレシピでもR2D2ロボが動くかどうかを確認しておいて下さいね。
レシピ設定

ラズパイを内蔵させたR2D2を動かしている動画です。

これだけではつまらないので、もう一つキッチンにラズパイを置いて、子ども部屋と連携させた機能も作っていきましょう。

キッチンお知らせハブを作ろう!

では、キッチン側から子ども部屋に連携できる仕組みを作ります。夕食などが出来た時に、キッチンから少し離れた子ども部屋に、ボタン一つで連絡ができるようにしましょう。

それでは、もう一台ラズパイを用意して、MESH Hubをセットアップし、キッチン側の設定をしていきます。
このキッチン側ハブに、ボタンタグ、LEDタグ、温湿度タグなどを一緒にしておきます。
キッチン側の設定

まずボタンタグを押したら、ご飯が出来たよ、という連絡を子ども部屋のハブに送るようにします。
設定は、ボタンを一回押したら、IFTTTタグの「イベントを送信する」というのをセットします。イベントIDとして「Kids」などとセットします。

キッチン側の設定
(キッチン側ハブ設定)
子ども部屋ハブの方では、IFTTTの「イベントを受信したら」をセットします。
これとロボットを動かすGPIOタグをつなぎ、ロボットを動かすようにします。
子ども部屋側ハブ設定
(子ども部屋側ハブ設定)
合わせて、子ども部屋のライトをHueにしておいて、この信号が来たらライトを点滅させる、などとすると効果的でしょう。
もし何度押しても、子どもが来ないときには、キッチンのボタンをダブル・クリックして、Hueライトを赤く警告させる、というのも面白いかもしれません。
こちらは、子ども部屋側ハブのレシピ完成図です。

子ども部屋側ハブ設定完成図
(子ども部屋側ハブ設定完成図)
またキッチン側の機能として、温湿度計代わりに室温と湿度を測って、スプレッドシートに記録する機能も追加しましょう。湿度などがある一定値を超えたら、LEDタグを光らせて教えてくれるようにもします。

まず、温湿度タグを持ってきて、そこに連携タグからGoogle Spreadsheetを選びます。
ご自分のGoogleアカウントでログインして、自分のGoogleドライブにアクセスできるようにします。
温湿度タグの「温度を確認する」と、「スプレッドシートに行を追加する」をつなぎます。
これで自分のGoogle Spreadsheetのシートに、MESHで取得した温度データなどを書き込むことができるようになりました。

温湿度タグ
温湿度タグ

また、湿度が40%を下回ったら、LEDタグを青色に光らせて、乾燥注意を知らせるのも追加します。
更にスイッチサイエンスが販売しているGPIOタグ用USBパワースイッチを使うと、加湿器などとも連携できて、快適な生活が送れますね!

mesh9_32

こちらがキッチン側ハブの設定完成図です。
キッチン側ハブの設定完成図

では、使ってみましょう!

キッチン側にはこのように、ラズパイ・ハブを置いておきます。
ラズパイ・ハブ

ご飯ができたよ~、とボタンタグを押してみます。

子ども部屋側では、R2D2が動き出し、部屋のライトがオレンジに光って、ご飯が出来たことを知らせてくれます。

いかがでしょうか?色々な場所にMESH Hubを置いて、連携できるのが分かってもらえたと思います。

更にこのハブ機能が面白いのは、先ほどから設定しているタブレットを持ち出して、遠隔からでも(別のWifiでも構いません)、このMESHの動きが見れることです。
例えば、お父さんが会社でこのタブレットを見た時、家族がMESHでやり取りしているのをリアルタイムで見る事ができます。
また、こっそり遠隔からロジックを変えてしまって、ボタンを押すとロボットやHueの光などを変えてびっくりさせる事もできます(家族内の信頼関係の元、遊んでくださいね!)

さて今回は、MESH RasPi Hubをおそらく誌上初使ってみて、これまでのMESHアプリの簡便さにプラスして、IoTデバイスとしての可能性が広がった事を分かってもらえたのではないかと思います。

次回は、MESH工作これまでの総まとめ、このMESH Hub、Arduino、SDKなど数々のデバイス、アプリとつないで、本格的MESHロボットを作りたいと思います!お楽しみに!

(ヨシケン)

出場ロボット解剖計画
ヨシケン(吉田 顕一)

普通の会社に勤めるサラリーマンですが、モノ作りが好きな週末メイカーで、電子書籍MESHBOOKを出したり、ブログを書いたりしています!

http://blog.ktrips.net