インターネットがなくてもStretch3やmicro:bitが使える教室を、Raspberry Piでつくってみた
/ 7 min read
Table of Contents
「誰が使うねん」と言われそうなものを、Claudeの力を借りて作ってみたという話。
インターネットに接続できない場所でも、Stretch3(Scratchをベースに、画像認識や音声認識といったAI(人工知能)の機能をブロックを組むだけで使えるようにしたプログラミング環境)と、MakeCode for micro:bit (小さな教育用コンピューター micro:bit をブラウザーでプログラムできる環境)が使える。そんな環境をRaspberry Pi(手のひらサイズの小型コンピューター)の上に構築するスクリプトセットを作りました。
Raspberry Pi自身を無線の接続元、つまりアクセスポイント(みんながつなぎに行く電波の親機)にしてしまう。すると、インターネットにつながっていない教室でも、子どもたちの手元のパソコンからStretch3(一部の拡張機能を除く)とMakeCode for micro:bitが使えるようになる 、という仕組みです。
6年越しの「やってみたかったこと」
種そのものは、けっこう前からありました。
2020年、小学校でプログラミング教育が始まるタイミング。あちこちの学校の話を聞いていると、どうも学校のネットワークが貧弱で、みんなで一斉につなぐと途端に動かなくなる、という声が少なくなかったんですね。授業の45分のうち、最初の15分が「ページが開かない」との格闘で溶けていく。これは最悪。
じゃあ、教室の中に小さなサーバーを一台置いて、そこだけで完結できたらいいんじゃないか。外の回線が細くても、部屋の中だけで電波を配れば、混雑とは無縁になるはず。そんなことをRaspberry Piでできないかなあと、当時はぼんやり考えていました。
考えてはいたけれど、手は動かなかった。自分ひとりで細部まで作り込むには、正直しんどい量だったからです。
それが、AIのおかげで実装の速度がぐっと上がった今、「あれ、これ今なら作れるんじゃない?」と思い立った。6年寝かせた種に、ようやく水をやったような感覚です(笑)。
ひとつだけ、高めのハードルがある
ただ、万人向けではありません。
このスクリプトセット、httpsでの接続(通信を暗号化して、安全にやりとりするための仕組み)を実現するために、Let’s Encrypt(無料で暗号化のための証明書を発行してくれるサービス)を使っています。そして、この証明書を発行してもらうには、自分で自由に操作できるドメイン(インターネット上の住所のようなもの)が必要になるんです。
このハードルが、なかなか高い。
「Raspberry Piを一台用意すれば誰でも動かせます」と言えれば格好よかったのですが、ドメインを自分で持っていて、しかも自由にいじれる、という条件がつく。これはもう「万人向け」とは言えないよね、というのが正直なところです。
でも、たとえば普段からサーバーやドメインをさわっている人にとっては、そこまで大きな壁ではないはず。ピンと来る方には、たぶん「ああ、あれね」で通じる話だと思います。
とりあえず、置いておきます
もうひとつ、白状しておきます。
一通りの動作確認はしたのですが、そのあと「ここもこうしたい」「あそこも直したい」とあれこれ手を入れてしまったので、もしかすると今の状態では、どこかでつまずくかもしれません。
追って自分でも検証を進めていくつもりですが、完璧になるまで抱え込んでいてもしょうがないので、とりあえず共有してみることにしました。作ったものは、こちらに置いてあります。
https://github.com/kwaka1208/raspi-edu-hub
「誰が使うねん」と自分でも思う。思うのだけれど、こういう「ネットが細い場所でも、子どもたちが手を動かせる環境」を必要としている現場は、きっとどこかにあるはずなんですよね。もし関心を持ってくださる方がいれば、気軽に使ってみてもらえたらうれしいなと思うのです。
よろしければ、どうぞ。