MESHプログラミング(Ver. 1.0 2018/09/14)

MESHという小型コンピュータセットを使って、IoT(モノのインターネット)は何か考えながら、いろいろなものを作っていきましょう。
MESHのしくみや使い方を詳しく知りたい人は読んでね。
内容:
0. MESHの前に、IoTって何?
1. MESHって何?
2. MESHのプログラミングの基礎
3. MESHプログラミングのしくみ
4. いろいろMESHで作ってみよう

一部の図はMESHWebサイトより引用しています。
http://meshprj.com/jp/
Go.OtaCoderDojo市川真間

1

ねえ、知ってた?
最近の自販機はネットワークにつながっていて、ますます賢くなっているん
だってIoTはInternet of Thingsの略で、現在の日本語では「モノのインターネット」と訳されています。
これはパソコンやスマホだけでなく、世の中ありとあらゆるものをネットワークに接続して活用するという考え方です。
社会や家庭にはいろいろな機械や装置がありますが、ほとんどのモノにはコンピュータ(マイコン)が現在組み込まれています。これらのモノがネットワークに接続されると、どんなことが便利になるか考えてみましょう。

2

マイコン(コンピュータ)内蔵からIoTへネット接続を前提としたパソコン・携帯

ネット
ワーク

社会のいろいろな機械や装置

家庭のいろいろな道具や機械

こんなことができます!
・スマホで家庭の電化製品を操作したり、製品の状態(例えば冷蔵庫の中⾝)を確認できます。
・家に帰ったことを自動的におとうさん、おかあさんに通知します。
・トイレに入っておしっこをすると、その日の健康状態を判断します。
3

MESHには7種類の役割を持った7個のブロックとよばれる装置があります。
一つ一つのブロックは約5cm(10円玉二個分ぐらいの大きさ)/13gと非常に小さいものですが、それぞれが、ちゃんとしたコンピュータで、無線通信でやりとりします。
MESHの一つ一つがセンサーや動作をするIoTの装置をイメージしていて、複数のブロックが無線通信で連携をとりながら、いろいろな仕事をすることができます。
個々のブロックがどんなことが出来るか、もっと知りたい場合は、次のサイトで、上の図の[LED]等のボタンを押して⾒てね。
http://meshprj.com/jp/
4

MESHで何かできるの?
一番簡単な動き:
ボタンを押すと、LEDが光ります。

スマホとの連携:
人感ブロックを使うと、人が近づいたらスマホから音を出すことができます。
外部入出⼒:GPIOブロックを使うと、外部のモーターを制御したり、MESHに無い他のセンサーの値を取り出すことができます。
他のサービスとの連携:
G-mailが来たら、LEDが光るように、インターネット上等の他のサービスと連携することができます。
5

MESHブロックは小さいながらも、通信機能を持つコンピュータです。
MESHブロックが動くときは、ブロック間で通信するのではなく、MESHアプリというソフトを使って通信します。
MESHのプログラミング(レシピ)はMESHアプリの中で、MESHブロックがどのように動作するか指定します。
(MESHアプリは、タブレット/スマホ/PCで動作します)
MESHアプリ・各MESHブロック間の通信の中心
・各MESHブロックがどのように動作するかプログラムする。

6

MESHアプリを起動すると、MESHブロックを表す、アイコンが表示されます。
このアイコンを左側のプログラミングエリアにドラックしたり、プログラミングエリアのアイコンをつないだりすることでプログラムを作ります。
図の例では、ボタンブロックのボタンを押すとLEDブロックのLEDが点灯します。
大切なこと:プログラム上では、二つのブロックが線でつながっているように⾒えますが、実際は通信で、ボタンが押されたことが通知されます。ちょうど、LINEなんかで「ボタンが押された」というメッセージが来るイメージです。
7

電源ON/OFFの確認

押す

⻑く押す

真ん中が、初め明るくて、だんだん暗くなっていった
ら、電源OFF

アンコンをちょっと押して緑に光れば電源ONの状態

真ん中が、だんだん明るくなっていったら、電源ON押す
アンコンをちょっと押して光らなければ電源OFFの状態

⻑く押す
8

新規や追加のMESHブロックを使う場合は、追加をしよう

すでに、タブレット/スマホ/PCにタブレットがペアリングされている時は、MESHブロックのアイコンが表示されます。
大切なこと:例えば、同じボタンブロックでも別々の機械です。このため、違うボタンブロックを使う前にはMESHアプリで表示されている、別のボタンを消した方がいいです。
別々の機械なので、MESHアプリの中で、違う複数のボタンブロックを使うことができます。

MESHアプリの中でタグを設定したり、つないだりして、プログラム(レシピ)を作ります。タグには次のようなものがあります。
ロジックタグ:タブレットタグ:
ブロックタグ:
各タグの動作を制御する
MESHブロックのアプリ タブレット/スマホ/PC内の分⾝です。一つ一つ の動作を指定するタグで ためのタグです。のタグが別の意味を持ち す。
ます。

10

一つのMESHブロックにはいろいろな機能がありますが、その分⾝である、MESHアプリの中のブロックタグには、その中の一つの機能を割り当てることができます。
例えば、ボタンブロックがどのように押されたら、押されたと合図(通信)するか、次の3つの機能から選びます。

MESHアプリの中でプログラムの中のタグをクリックすると、この機能の設定指定することができます。
どのような機能があるかは、クリックした後のHELPで確認できます。

11

一つのMESHブロックしかなくても、MESHアプリの中で、その分⾝のブロックタグを複数使うといろいろなことができます。
図のようにすると、ボタンブロックを1回押すとLESブロックが普通に白く点灯し、ボタンブロックを⻑押しとLESブロックが赤く点灯します。
12大切なこと: 前にも説明しましたが、ボタンブロック(タグ)はボタンが押されたことしか通知(通信)することしかできません。そのためボタンを押して電気のON/OFFをするような場合、間にスイッチタグを入れて、そこからでている出⼒1/出⼒2に、ぞれぞれ電気をON/OFFするようにプログラムする必要があります。
13

MESHを使っていろいろなものをつくってみよう。つぎのサイトもヒントにしてね。

MESHレシピ集

https://recipe.meshprj.com/jp

MESHでアイデア物作り

http://prog.kodomonokagaku.com/
mesh/

14

タミヤのソーラーモーター等低電流で動作するものは直接GPIOタグに接続して制御することができます。
指定方法:
オン-電源供給を開始します
オフ-電源供給を停止します

ピン機能

1電源供給(+)

2

デジタル入⼒1

3

デジタル入⼒2

4

デジタル入⼒35電源(-)(グラウンド)15

外部のモータを制御したり、MESHにはないセンサー等を使用する場合は、GPIOブロックを使用します。

ピン機能

ピン機能

1電源供給(+)

6デジタル出⼒1

2

デジタル入⼒1

7デジタル出⼒2

3デジタル入⼒2

8デジタル出⼒3

4

デジタル入⼒3

9アナログ入⼒

5電源(-)(グラウンド)

10

PWM制御

16

外部のモータを制御したり、MESHにはないセンサー等を使用する場合は、GPIOブロックを使用します。
GPIOにはデジタル回路を持った装置を接続します。各ピンの状態は、次の表のように、いろいろな言い方で表すことがあります。
いろいろな場面

On状態

Off状態

MESHでの指定

High

Low

デジタル回路High

Low

スイッチ状態

オンオフ

真偽表現

真偽

コンピュータ内部表現

102.7V〜3.0V

0V〜0.3V

電圧(電位)状態

17