カワリモノ息子の技術メモ的な~

カワリモノ息子の技術メモ的な〜

学校が苦手な息子君の作品いろいろを在宅パートタイムエンジニアの母が綴る

小6息子くんMESHをゲームコントローラーにしてみた

息子くん前回の大会の賞品のひとつとしていただいた、MESH。

f:id:toriko0413:20190919224544j:plain

これを使って遊んだ記事です。

MESHとは

手軽にIOTできるキットです。

この7ブロックのフルセットをいただきました☆
たぶん自分じゃ買わない(買えない)、結構ないいお値段しますね( ̄д ̄)

・LEDブロック
・ボタンブロック
・人感ブロック
・動きブロック
・明るさブロック
・温度・湿度ブロック
・GPIOブロック

ブロック同士で連携しても遊べますが、1個だけでも充分おもしろいことができますよ!ばらばらでも売ってます。

こちらの大会でいただきました。本当有難いです。
siroitori.hatenablog.com

どんなことができるのか

各ブロックはBluetoothスマホタブレット)につながります。
そしてスマホに入れたアプリで挙動を設定することができます。

MESHアプリの画面

f:id:toriko0413:20190919212622p:plain

たとえば、ボタンのブロックを使って上の図のようにボタンタグ(タグという表現をします)と音楽とつなげると、「ボタンブロックのボタンを押すとスマホから音楽が鳴る」という仕組みを作ることができます。

音楽はどの曲を鳴らすかなどの細かい設定が画面から可能で、簡単に感覚的に作れるようになっています。

簡単に作れる!がしかし

息子くんとこれで何をつくるかいろいろ考えてみました。

人感センサーあるから、「トイレ使用中」とかの表示をどこかの画面に出してみるとか?話してたけど、息子くん冷めた感じで「それはいらんね~」と。
確かに我が家のメンバーはトイレ早い人ばかりなので争奪戦になったことや出るのを待つことなどなく、人とタイミングがかぶることは年に1度くらいしかありません。

常に実用的(自分にとって必要)なものを求める息子くん。

うーん。考えれば考えるほど何を作るか思いつきません。

そもそもMESHのアプリでできる範囲内で考えてるから、アイデアの幅が狭まってるんですよね。

MESH SDKとな

で、調べ進めると、MESH SDKなるものの存在が判明。
これを使うとJavaScriptで思いのままにやりたい動作が書けるみたい。

たとえば上のアプリのスクショ画像の、「ボタンを押したとき」のタグの詳細な処理を自分で作ることができます。
あとは、IFTTTやWebhooksと連携させても面白いことできそうですね。

以前、息子くんがIFTTTを使って開発した作品
siroitori.hatenablog.com

IFTTTって単体で使っても、毎日お天気のメールをくれたり設定次第で色々できて便利ですよね。

そして結局息子くんが作っていたもの

動きブロックがゲームのコントローラーになってました!

youtu.be

内部構造

・MESH SDK を使って、動きブロックが動いたらその情報でリクエストを投げるようにJavaScriptで記述
・リクエストを待ち受ける口はVBで作成。受けたリクエスト情報にもとづきキー入力イベントを発生させる
 ここではRobloxのコントローラーにしたので、前に進むを受け取ったら「w」(&H57)キーイベントを発生

ソースはきれいに書けてないから公開してはいけないと言われたので、控えます(;^ω^)

しかしコントローラー用途でわざわざリクエストを投げるなんて、て感じですよね、、
でも、たぶん今わかっている知識の範囲内ではMESHでコントローラーを実現しようと思ったらこれしか方法がないかな~。
それならmicro:bitをつないでやったほうがいいですね。あは。

以前、micro:bitをコントローラーにしたことがあったときの記事
siroitori.hatenablog.com

またなにかおもしろいことができたらご紹介します^^



スター・はてブとても嬉しいです!