Skip to content
Kouji Takao edited this page Jan 11, 2026 · 1 revision

メッシュ拡張機能

この拡張機能は Scratch 1.4 の Mesh (英語) と同じ機能をスモウルビーでも使えるようにしたものです。インターネットを通じて、複数のスモウルビーの間でデータを送ったり受け取ったりするプログラムを作ることができます。

学校のネットワーク内だけでなく、離れた場所にいる友達のスモウルビーともやりとりが可能です。

具体的には、次の2つの機能が使えます。

(1) ([▼]センサーの値) ブロック

センサーの値

このブロックは、他のスモウルビーで使っている変数の値を確認するためのものです。 例えば、他のスモウルビーで「名前」という変数を「スモウルビー」という値にすると、あなたのスモウルビーでも ([名前▼]センサーの値) が「スモウルビー」になります。

注意点: 変数の値は 1秒(1000ミリ秒)ごと に更新されます。そのため、値が変わるまで少し時間がかかることがあります。

(2) |[メッセージ1▼]を送る| ブロック、|[メッセージ1▼]を送って待つ| ブロック

メッセージ1を送る、メッセージ1を送って待つ

これらのブロックを使うと、他のスモウルビーにメッセージを送ることができます。 例えば、誰かが「こんにちは」というメッセージを送ると、他の人のスモウルビーにある ^[こんにちは▼]を受け取ったとき| ブロックが動き出します。

注意点: メッセージも 1秒(1000ミリ秒)ごと にまとめて届けられます。送ってから相手に届くまで、最大で1秒くらいの待ち時間が発生します。


これらの機能を使えば、ネットワークを利用した「双方向性のあるコンテンツ」のプログラミングを学ぶことができます。例えば、対戦ゲームやチャットアプリなどを作ることができます。

メッシュ事例 (中学校の先生向け)

実際の授業の指導案、ワークシート、プログラム例は こちら からご確認いただけます。

特定のグループや、離れた場所にあるスモウルビー間でやりとりする方法

標準の設定では、同じグローバルIPアドレス(同じ学校や同じ家など)のスモウルビー同士がつながるようになっています。

しかし、「特定のクラスだけで通信したい」場合や「離れた場所にいる友達と通信したい」場合には、**「ドメイン」**を設定することで、通信する相手を限定したり、ネットワークを越えてつなげたりすることができます。

メッシュのメニューから「ドメインを設定する」を選び、好きな言葉を入力してください。

ドメイン設定

同じドメインを設定したスモウルビー同士だけが、お互いに通信できるようになります。学校の授業で使う場合は、クラス名や班の番号などをドメインに設定すると良いでしょう。

通信要件

この拡張機能は、AWS AppSync というサービスを利用して、インターネット経由でデータのやりとりを行っています。学校などのネットワークで制限がある場合は、以下の通信を許可する必要があります。

通信方向 プロトコル ポート番号 接続先 (ホスト名)
スモウルビー → インターネット HTTPS 443 graphql.api.smalruby.app
スモウルビー ↔ インターネット WebSocket 443 graphql.api.smalruby.app

※ データの送受信には https://graphql.api.smalruby.app/graphql を使用します。

技術について

スモウルビーのメッシュ拡張機能は、クラウドサービスの AWS AppSync を活用して作られています。皆さんが作成したプログラムがスムーズに動くよう、最新の技術を使って支えられています。