池澤あやかの 体験!スマートワークテクノロジー - 第7回

サクサクプログラミングでさまざまな活用法が生まれる魔法のIoTブロック

PREV
1
2
NEXT

目覚まし時計作りからアイデアがひらめいたMESH誕生秘話

池澤 「これってもともとは、どういう意図で作ったんですか?」

萩原 「もともとは、日常生活のいろんな課題を解決できるようなものにしたくて。きっかけは目覚まし時計だったんですよ。気付かずに止めてるときが結構あって、スヌーズボタンを洗面所に付ければ、そこまで行くから起きられるんじゃないかと思ったんですね」

池澤 「あぁ、なるほど」

萩原 「そうなると音は枕元で鳴って、止めるのは洗面所に行ってやるわけです。そういう目覚まし時計が売ってるんじゃないかと思って調べたんですけど、売ってないんです。だったら自分で作ろうと。でも結構無線とかが面倒で」

池澤 「確かに面倒くさい」

萩原 「そうこうしているうちに、いろいろできるんじゃないかってアイデアがたくさん思い浮かんだんです。例えば出張中に家族が無事なのかどうかって、何か高い専用のシステムを入れなくても、トイレに加速度センサー付けていればいいかなって。その加速度センサーを、例えば防犯にも使えるかもしれないしって考えたら、何かこういうツールがあったら、一気に解決するなって思ったんです。なので、しょうがない自分で作るかということになりました(笑)。それは冗談ですけれども、でもそこからは結構プロトタイプ作りは大変でした」

池澤 「そうですよね。コンパクトにするの大変そうですもん」

萩原 「でもここまではある程度、3Dプリンターとか活用して個人のもの作りでもできます」

池澤 「でもここまで小さくできるのはすごいですね」

萩原 「このあたりが限界です。手作りの限界を感じました。なので、もの作りって面白いんですが、日常のちょっとした課題を解決するときに、そこまで頑張らずに、うまくMESHを活用して課題解決につながればうれしいですね」

7つのブロックでは足りない部分を“GPIO”ブロックで補完

池澤 「この“GPIO”ブロックというのは、どういった用途で使われることが多いんですか?」

萩原 「“GPIO”ブロックは、コネクターにいろんなアクセサリーを付けたりして使います」

池澤 「アクセサリー?」

萩原 「一応こういうのもありまして」

“GPIO”ブロックのコネクターに差し込む基板が発売されている

池澤 「あ、スイッチサイエンスから出ているんですね」

萩原 「そうなんです。これは何かというと、USB電源で動作する機器のオン/オフをコントロールできるアクセサリーです」

池澤 「これ、すごい便利じゃないですか。USB電源で動く機器っていろいろありますもんね」

萩原 「そうですね。例えば、これはただの扇風機で、この状態だと動かないのですが、モバイルバッテリーとかでUSB給電すれば動きます。そこで、モバイルバッテリーと扇風機の間にこの“GPIO”ブロックを挟んで、プログラムで電源出力を調整すると……」

池澤 「これ、設定も分かりやすいですね」

萩原 「そうなんです。“GPIO”ブロックはデジタルとアナログの入出力があります。一番左がデジタルの入力で、インプットが1、2、3と選べるようになってます。デジタルの出力も3つあって、High/Low指定ができます。アナログの入力は0から一応3Vまでできるので、ここでしきい値の電圧を決めます。その値を上回ったときと下回ったときに動作が設定できます。アナログ出力はPWMですね」

池澤 「へー、すごく細かく設定できるんですね」

萩原 「これを使えば、例えばサーボモータをコントロールしたり、アイデア次第でいろんなことができると思います」

萩原 「世の中にはUSB電源で動作するものっていっぱいあるじゃないですか。それが全部これでコントロールできるわけです」

池澤 「ちょい足しするのにいいですね。何かこう、ちょい足しするとIoT家電になるとか」

萩原 「いままでIoTではなかったものも、IoT機器になります」

池澤 「IoT扇風機とか普通に買ったら結構高そうです」

萩原 「そうですよね。ほかにも、ちょっとメカメカしいんですけどこういうセンサーがありまして」

続いて取り出したのは、U字型の基板がつながったアクセサリー。

萩原 「例えば水分センサーとか。このU字部分で水分を検知します」

池澤 「これ私、お風呂のセンサーにしたい。あっ、MESHが防水じゃないか」

萩原 「MESHは防水ではないので気をつける必要はありますね。例えば、お湯を溜める前にセットして、溜まったら取り外すぐらいの気軽な感じならいいかもしれません。もちろんMESHにお湯がかからないように注意しなければならないですね」

池澤 「すごい悩んでるんですよ。お知らせしてくれなくて。いつもあふれさせるんです」

萩原 「いろいろやり方はあると思うんですけど、例えば、電圧を掛けておいて、アナログ入力でしきい値を設けて、それを上回るように設定しておき、あとは抵抗値で入力が来るのでお湯がいっぱいになったのかがわかります。通知は何がいいですかね」

池澤 「Slackとかがいいんですけど」

萩原 「Slack! じゃあ、Slackでいきましょう」

 実際、コップに水を入れて、どのぐらいの抵抗になるのかをテストして確かめてしきい値を調整します。正常に反応すると青くなります。

萩原 「いま青くなりましたね」

池澤 「あ、ほんとだ」

池澤 「でも、通知を見逃してあふれたら防水じゃないので終わりですね」

萩原 「そうですね。余裕をもたせたほうがいいですね」

池澤 「でも、ちゃんとセンサー部分が長めなのを作ればいいんです。

萩原 「そうですね。あと“温度湿度センサー”ブロックを使うとか。ちょっと息を吹き掛けるだけでも、ギューッと湿度が上がっていきます。画面に現在の数値が出ているので、これを見て調整すればコーディングも楽だと思います」

池澤 「ほんとだ、60%って出ている」

萩原 「2~3秒、フーッて息を吹きかけると、すぐ100%になりますので。お風呂も沸いた瞬間って、恐らく100%近くなってると思うんです」

池澤 「なるほど、確かに。さまざまな環境に合わせて組み合わせられますね」

萩原 「例えば、梅雨とかだと結構湿気が気になりますよね。クローゼットの中とか。実際どれぐらいあるのかというのも、扉を開けてしまうと正確な値がわからない。閉じた状態でどれぐらいあるのか。1日の変化はどうなのかということも記録できます」

池澤 「1日中記録できるんですね」

萩原 「はい。そのときは、このGoogleスプレッドシートを使うんです。一度IFTTTと連携させれば、ここに実際に送るデータを追加するだけで利用できます。単純にテキストを入れることもできるんですけど。いまは湿度を記録していきたいので、“データを追加”をタップすると、出力可能なデータ一覧が出ます。ここで湿度を選択してください」

池澤 「IFTTTってそんな仕様があるんですね」

萩原 「そうなんです。これで、タイマーをセットして日時を入れます。ただ、このままだと、湿度が変わったときにだけ送るようになっているので、都度湿度を確認するというようにするために、タイマーを頭につけて10秒置きに送るというふうにすると、10秒ごとに確認して記録していきます」

池澤 「送られた。動作の流れが見えるのがいいですね」

萩原 「そうなんです。この流れが見えないとデバッグが難しいんですよ。湿度センサーのブロックも反応して、光るようになってるんです」

池澤 「あっ、ほんとだ」

萩原 「チェックしたときに、ここのステータスが一瞬光ります。つながっていないと、デバッグが結構大変じゃないですか。なので、それをわかりやすくするために、指で画面上のブロックを触っていると、こっちも光って教えてくれます」

池澤 「いま、どのブロックが動いているのかがわかるんですね」

萩原 「同じ種類のブロックがたくさんあってもこれでわかります。じゃあ、どう記録されたか見てみましょうか。スプレッドシートで」

池澤 「ちゃんと10秒ごとに記録してますね」

萩原 「バックグラウンドで動いているので、リアルタイムに反映されていきます。ちょっと息を吹き掛けてあげると、数値が上昇するかと」

池澤 「あっ、ちょっと上がりましたね」

萩原 「このようにデータを記録していって。あとでグラフ化することも簡単です」

Raspberry Piを使えばタブレットやスマホが不要

萩原 「あと実はMESH、ラズパイ(Raspberry Pi)でも動作します」

池澤 「そうなんですか。あっ、MESHのハブとしてラズパイを使うってことですか?」

萩原 「そうハブ。MESHのハブアプリケーションがあるんです」

池澤 「ハブアプリケーション? いろいろとMESHワールドは広い(笑)」

ここで取り出したのが、Raspberry Pi。このRaspberry Piには、MESHハブアプリケーションがインストールされている

萩原 「MESHハブアプリケーションをインストールしたラズパイを使えば、スマホやタブレットがなくてもMESHを動作させることができます。ラスパイならネット接続もできるので、MESHで取得したデータをラズパイを経由して確認することもできます」

池澤 「これは確かにいいですね。ラズパイだったら複数あるけど、スマホは1個しかないっていう人もいますし(笑)。ラズパイはスマホに比べて安いですから」

萩原 「はい、そうなんですよね。あとはMESHアプリと同じで今まで使っていたiPad上でプログラミングできるんです。ペアリングは、追加を押してラズパイに近づけるとつながります」

池澤 「ペアリングが簡単なのもいいですね」

萩原 「そして、いままでだと、このMESHアプリを終了してしまうと、動作しなくなっていたものも、関係ないのでそのまま動作します」

池澤 「ラズパイZero W とかでもいけるんですか?」

萩原 「Zero W でも大丈夫です。ただ、Zero W だとちょっと遅いですね」

池澤 「Zero Wだと、小さくていいんですよね」

萩原 「Zero Wの小ささに響く方は、結構マニアックですね(笑)」

ビジネスでは統計やプロトタイプづくりに活用できる

池澤 「お話を伺っていると、いろいろな可能性がありそうですね。ワークショップとか開いたら、無限にアイデアが出てきそう」

萩原 「ワークショップでやることと、あとは例えばプロトタイプですね。企業の中でいろいろシステムを考えるときに、まずMESHのセンサーといろんなGPIOの拡張を使って簡易的に試せるんですね」

池澤 「確かに」

池澤 「会議室とかトイレのレシピは伺いましたが、ほかにもビジネスで使える事例ってありますか?」

萩原 「ビジネスでは、やはりデータを取得して解析するという使い方が多いと思いますね。その場合には、先ほどのGoogleスプレッドシートを使ってもいいですし、MESH SDKを使って、いろんなサービスへつなげる仕組みをることができます。例えばSORACOMのサービスで、Harvestというデータの可視化サービスがありますが、Harvestへ直接データを送ってしまうとか。実はこの方法、MESHの公式ブログでも公開しています。センサーで取得したデータを、指定したクラウド上に出力することができます」

池澤 「へー。SDKで記録先を変えられると幅が広がりますね」

萩原 「同じように、例えばサイボウズのkintoneとか。データをkintoneのサービスへ送って、チームでシェアするということも可能です。開発の方もそれほど作り込まなくても、データの入口さえ作っていただければ、あとは、MESHのプログラミングでなんのデータを送るか考えるだけなので、いろいろとビジネスに活用いただけると思います」

池澤 「プロトタイプのときにも使えそうだなって、私も感じたんですけど。実際に使われた事例ってあったりしますか?」

萩原 「例えば、ビニールハウスの中の温度を先ほどのkintoneに送って。実際、農家の方は、その専門的なプログラミングをされないとは思うんですけど、kintoneでやれば、例えば送ったデータが全部グラフで見えるようになるという使い方をされたり。あとは総務の方が会議室の利用状況を把握するために、人感センサーと温度センサーと明るさセンサーを使って統計をとったりですね」

池澤 「『こういうの作りたいんです』みたいな感じでデモができるのは強いですよね」

萩原 「はい。実際に導入する前にもテストができるのも楽ですね」

池澤 「確かに。実際に1週間やってみたら、これだけのことが分かりましたってという効果もわかるという」

萩原 「そうなんです。プロトタイプでの利用にすごい強いんです」

池澤 「実装ハードルがめちゃめちゃ低いっていうのは、やっぱり改めてすごいなって感じますね」

池澤 「人感ではなく物がここに入ったらとか、通ったらということはできるんですか?」

萩原 「その場合は、例えば“明るさ”ブロックを使うと、センサー部分がふさがってるか否かで判断させるのがお薦めです」

池澤 「なるほど、いくつか用意して、棚から商品がなくなったら通知するとか」

萩原 「そういう使い方もできますね。あと、シュレッダーのクズがある程度たまったら通知が来るとか。ほかには、より高度なことになりますが、レーザーポインターを置いて、明るさブロックに向けて照射しておき、レーザーの前を何かが横切った時に、明るさセンサーの明るさが変化するので、物体が横切ったという検知も可能です」

池澤 「なるほど。人感だと何人通ったかということはわからないけど、“明るさ”ブロックを活用すればわかるんですね。発想を柔軟にしないともったいないですね」

 ということで、今回は池澤さんの得意分野だったので、取材時間があっという間に過ぎていきました。MESHを使ってみての感想は?

池澤 「得意分野というわけではないですが、かなり、欲しくなりますよね(笑)。うちにもMESHがいくつかブロックがあるのでさっそく作ってみたいですね。やっぱりアイデア次第でパッと作れるというのが、今回改めて思ったMESHのいいところだと思いました。電子工作はやっぱりハードル高いですよね。部品を買い集めても、例えばブレッドボードがないとか、ワイヤー買ってこなきゃとか、あと思ってる抵抗値じゃなかったみたいな。私、買い忘れっていうのがすごい多くて(笑)。時間も必要だし、部品も必要だし、プロトタイプを作るのもおっくうになっている人がいると思うので。そんなときに、子供でも作れてしまうMESHはすごい便利だと思います。

 例えば、ここにあるもので実現できなくても、取りあえず途中までプログラムを作って、あとで差し替えたり新規で作ったり。“GPIO”ブロックで何かアクセサリーを導入するとか。なので、素晴らしいプロトタイピングツールだし、ちゃんと考えられた設計になってるんだって思います」

 MESHは、夏休みの自由研究的なプログラミングと電子工作のような教育用というイメージが強いかもしれませんが、実は企業でプロトタイプを作る際のアイデアを練って動作確認するときにも活用できるので、かなり利用価値が高いツールと言えます。アイデア次第でいろいろな作品もできますし、MESH公式サイトにはたくさんのレシピ集もあるので、参考にしつつ新たなものに挑戦することもできます。いろいろと池澤さんの意見も吸収していただき、さらに一歩進んだMESHの世界をみせてほしいものです。

今回紹介したソリューション

身近な課題を解決するシステムをプログラミングの知識不要でスピーディに実現する「MESH アドバンスセット」

 センサーを活用するIoTは、例えば工場などの生産設備の運用・管理を効率化して生産性向上を実現してくれます。しかしIoTはこうした大規模な活用だけではなく、ごく身近な課題の解決や利便性の向上にも役立つテクノロジーです。そんなIoTの活用を実践できるのが、ソニーのIoTブロック「MESH」です。

PREV
1
2
NEXT