Skip to content
Kouji Takao edited this page May 4, 2021 · 14 revisions

メッシュ拡張機能

この拡張機能は Scratch 1.4 の Mesh (英語) と同じ機能をスモウルビーでも使えるようにしたもので、ネットワークを利用して複数のスモウルビー間で双方向にやりとりできる(双方向性のある)プログラムを作成することができるようになります。

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

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

このブロックは、他のスモウルビーの変数の値を見るためのものです。 例えば、他のスモウルビーで「messageA」変数を「わたしのなまえはスモウルビーです」にすると、即座に([messageA▼]センサーの値) は「わたしのなまえはスモウルビーです」になります。

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

これらのブロックで送ったメッセージが、他のスモウルビーにも届くようになります。 例えば、他のスモウルビーで「messageA」を送ると、^[messageA▼]を受け取ったとき| ブロックが反応します。

これらの機能を使えば、スモウルビーを利用して中学校の技術科の「D(2) ネットワークを利用した双方向性のあるコンテンツのプログラミング」の授業を行うことができます。Scratch 1.4用のものですが 開隆堂のやってみようプログラミング が参考になります。

中学校学習指導要領(平成29年告示) より

D 情報の技術

(2) 生活や社会における問題を,ネットワークを利用した双方向性のあるコンテンツのプログラミングによって解決する活動を通して,次の事項を身に付けることができるよう指導する。

ア 情報通信ネットワークの構成と,情報を利用するための基本的な仕組みを理解し,安全・適切なプログラムの制作,動作の確認及びデバッグ等ができること。 イ 問題を見いだして課題を設定し,使用するメディアを複合する方法とその効果的な利用方法等を構想して情報処理の手順を具体化するとともに,制作の過程や結果の評価,改善及び修正について考えること。

他の学校の生徒と通信させないために必ずやってほしいこと

一応、15分以内にホストになったスモウルビーにだけ参加できるという制限はありますが、コンピューターの設置場所に関係なく世界中のメッシュのホストに参加できてしまいます。日本中の中学校の技術科でスモウルビーを使うようになれば、きっと意図せず他の学校の生徒のホストに参加してしまうということが起きてしまいます。

そこで、スモウルビーのURLの末尾に https://smalruby.app?mesh=690-2102 のように「?mesh=学校の郵便番号」をつけることで特定の学校のメッシュのホストだけに参加できるようにしています。

授業などで使う場合は、生徒に伝えるURLやブックマークに「?mesh=学校の郵便番号」をつけるようにしてください。

通信要件

この拡張機能は SkyWay というサービスを利用してネットワークやインターネットを利用した複数のスモウルビー間の通信を実現しています。

そのため、この拡張機能を利用するためには以下の SkyWay の通信要件を満たす必要があります。

SkyWay サポート > FAQ > SkyWayの仕様: SkyWayの通信要件について教えて下さい より

通信方向 プロトコル ポート番号 サーバアドレス
スモウルビー → インターネット TCP(HTTPS) 443 dispatcher.webrtc.ecl.ntt.com
スモウルビー → インターネット TCP(HTTPS) 443 *.webrtc.ecl.ntt.com
スモウルビー → インターネット UDP 3478 stun.webrtc.ecl.ntt.com
スモウルビー ←→ スモウルビー UDP 1024〜65535の間で動的に決まる 動的に決まる
スモウルビー → インターネット UDP or TCP 443 turn.webrtc.ecl.ntt.com
インターネット → スモウルビー UDP 1024〜65535の間で動的に決まる turn.webrtc.ecl.ntt.com

※ SFUサーバ向け通信、録音制御サーバ向け通信、録音サーバ向け通信は利用していません。

Clone this wiki locally