ホビー向け・教育向けコンピューターの再構築
教育・ホビーを意識したSBC(シングルボードコンピューター)というと、イギリスのラズベリーパイ財団による「Raspberry Pi」シリーズがおなじみ。2016年9月に全世界で累計1000万台の販売を達成し、その後も順調に発展を続けこの2018年3月には「Raspberry Pi 3 Model B+」がリリースされている。
1000万台販売達成時、ラズベリーパイ財団が公開したコメント「TEN MILLIONTH RASPBERRY PI, AND A NEW KIT」では、1982年登場のホームコンピューター「コモドール64」シリーズ、1980年登場の「シンクレア ZX」シリーズ、またBBC(英国放送協会)とエイコーン・コンピュータによって1981年に発売された教育用途向け「BBC Micro」の名を挙げる形で1980年代のホビー向け・教育向けコンピューターの再興に触れており、興味深く思った方もいるはずだ。
BBCが改めて生み出した「BBC micro:bit」とは
先に挙げた「BBC Micro」発売から約35年、その名を引き継ぐ形で生まれたのが「BBC micro:bit」(マイクロビット。以下micro:bit)だ。BBC Micro同様にBBCが中心となり、STEM教育(Science、Technology、Engineering and Mathematics。科学・技術・工学・数学教育分野の総称)・プログラミング教育を目的に開発された(回路図およびリファレンスデザインは、「micro:bit hardware repository」「micro:bit Reference Design」で公開されている)。
「BBC micro:bit」の主なスペック
CPU Nordic nRF51822(16MHz。32bit ARM Cortex M0ベース)
メモリー 16KB
インターフェース マイクロUSB 2.0端子、バッテリー接続端子(2ピンPHコネクター)、Bluetooth 4.0+LE、P0-P2端子、電源端子、グラウンド端子
ボタン 2個(A、B)、リセットボタン
センサー 地磁気、加速度、温度、照度(LED兼用)
LED 25個(5×5)、USB確認用
サイズ 43×52×11mm
重量 9g
micro:bit教育財団が管理を担当しており、2016年にイギリスの11~12歳(Year 7)の全学生対象に約100万台が無償配布されたほか、アメリカ・カナダにおいては2020年までに200万人の児童にmicro:bitを利用してもらうことを目的に活動を行なっているという。
日本では、同じく2020年までに30万人の児童がmicro:bitで学べるよう活動中で、スイッチエデュケーションがmicro:bitの日本公式販売代理店となり、2017年8月より直販価格2160円(税込)で販売されている。2018年6月には、業界団体ウインドウズ デジタルライフスタイル コンソーシアム(WDLC)が、プログラミング教育応援プロジェクト「MakeCode×micro:bit 100プロジェクト」として小学校100校に無償配布(1校あたり20枚提供)を実施するなど、普及に向けた取り組みが着実になされつつある。
Youtube動画https://www.youtube.com/embed/L125HSqkJ6U?rel=0
ウインドウズ デジタルライフスタイル コンソーシアム(WDLC)が公開しているmicro:bit紹介動画
micro:bitは、従来のSBCと何が違う?
micro:bitが従来のSBCと大きく違う点は、非常にシンプルなことだ。OSをインストールする必要はなく、PCにUSBケーブルで接続するだけで一般的なUSBメモリーのように認識される。USB経由で電力が供給され、電源スイッチなども存在しない。電源を切りたい時は、USBケーブルを取り外すだけでいい。
micro:bitと合わせて買うべきもの
micro:bitを購入する際には、合わせてワニ口クリップ(ワニクリップ、ミノムシクリップ)とスピーカー(またはイヤホン)を手に入れることをオススメしたい。
ワニ口クリップは、アルミホイル・アルミテープなどを使った工作で、例えばmicro:bitとアルミホイルをつなぐために利用する。また、micro:bitの作例を扱っているWebサイトや書籍でも、ある程度複雑な工作になるとワニ口クリップを活用しており、ほぼ必須と考えた方がいい。スピーカーがあると、LEDの点滅などmicro:bitに何か動作させる際に、標準内蔵の効果音を同時に鳴らすといった演出を行なえるようになる(お子さんに工作やプログラミングに興味を持たせやすくなるはず)。
ワニ口クリップはホームセンターなどで販売されており、スピーカーは100円ショップなどで安価に入手できる。お子さんの夏休みの工作代わりにといった場合は、micro:bit単体で動作できるようにするmicro:bit用乾電池ボックスも用意しておくといいだろう。こちらは、Amazonやスイッチサイエンスで「単3電池用ボックス」(税込187円)、「単4電池用ボックス」(税込183円)として販売されている。
Webブラウザー上でブロックを配置していくだけで、プログラミングできる
micro:bitの公式な開発環境としては、「JavaScript Blocks Editor」とMicroPythonの2種類が用意されている(どちらもMITライセンス)。
JavaScript Blocks Editorは、Microsoft MakeCodeをベースに開発されたビジュアルコーディングエディターで、Webブラウザー上で動くバージョンと、Windows 10用アプリ版が用意されている(別途、Android版、iOS版のビジュアルコーディングエディターも配布中)。Webブラウザー版はインストールなどの手間が必要ないものの、ネットワーク環境が必須だ。大勢の生徒が同時にインターネットにつながる環境を用意するのが難しい場合などは、Windows 10用アプリ版を利用した方が確実だろう。
JavaScript Blocks Editorを使ったプログラミングの方法は、「Scratch」のように命令ブロックなどを配置していくというもの。ブロック配置では難しいことを行ないたい場合は、画面上部の「JavaScript」ボタンを押すだけでJavaScriptエディターに即座に切り替わりコードを記述できる。またJavaScript Blocks Editorはシミュレーターを搭載しており、micro:bit実機がない状態でもどのような動作をするのか確認可能だ。
プログラミングしたデータは、「ダウンロード」ボタンのクリック後にhexファイル(実行ファイル)としてmicro:bit上に直接書き込むか、いったんどこかにセーブしてからドラッグ&ドロップでコピーすると、数秒後に自動実行される。micro:bitは、16KBしかメモリー(RAM)を搭載していないものの、25個(5×5)のLED、2種類のボタン、地磁気・加速度・温度・照度(LED兼用)といったセンサーを備えており、これらを組み合わせる形でプログラミングを学習できるサンプルなどが用意されている。
組み込み用途向けのMicroPythonもサポート
micro:bitの公式なプログラミング環境のもうひとつの柱は、Python 3をベースに組み込み用途などを意図して開発されたMicroPython(micro:bit向けはPythonソフトウェア財団が移植)だ。Windows、macOS、Linux上で利用できる一般的なPython(CPython)に比べると、例えばmicro:bitのメモリーが少なすぎるため(現状では)Bluetooth LEを使った通信が行なえないなどの相違はあるものの、Pythonの学習にも非常に役立つものとなっている。
エディターとしては公式のものではなく、REPL(対話型実行環境)などが利用できる「Mu」エディターが便利だ(Mu公式サイトから入手できる)。
このほかのテキストエディターでは、「Visual Studio Code」「Atom」向けにMicroPython関連パッケージが存在するが、パッケージ自体の動作環境としてはmacOSやLinuxが想定されているようだ。
マルチプラットフォームのPython用IDE「PyCharm」では、開発元のJetBrainsがmicro:bit、MicroPython pyboard、ESP8266など対象ハードを明示する形でMicroPythonプラグインを配布しているので、扱いやすいだろう。プラグインのイントールは、PyCharm内の設定ウィンドウにある「プラグイン」から行なえる。
PyCharmは、WillBrains開発によるPleiadesプラグイン(オープンソース)を導入することで日本語化できるので、micro:bit以外でもMicroPythonやPythonを試してみたい方は使ってみるといい。
micro:bit用MicroPython関連日本語ドキュメントとしては、「BBC micro:bit MicroPython ドキュメンテーション」(@inachi氏翻訳)があり、チャレンジしやすい。ドキュメント内のチュートリアルから試していき、JavaScript Blocks EditorのサンプルをMicroPythonで書き直したり、より複雑な動作に改造したりするだけでも、かなり勉強になるはずだ。
■関連サイト
ラズベリーパイ財団
JavaScript Blocks Editor
BBC micro:bit MicroPython ドキュメンテーション
スイッチエデュケーション
micro:bit教育財団