2016.12.28
日本でも使えるmicro:bit互換機“chibi:bit”製品版が登場
日本でも使えるmicro:bit互換機”chibi:bit”の製品版が届いたので簡単にレビューします。
micro:bitはイギリスBBCが推進している教育向けのマイコンボード。そのコンセプトは過去の記事『BBCのmicro:bitがイギリスのすべての11歳と12歳の子どもたちに無料配布される』に詳しくまとめられています。
ARMマイコンに加えてBLEモジュール、5×5のLEDマトリクス、加速度センサ、コンパスなどが搭載されていて、このボードだけでいろいろなことができます。ただし、現在のmicro:bitは工事設計認証(いわゆる技適)が未取得のため日本では使えません。そこで、スイッチサイエンスが技適マーク付きのモジュールを使って日本向けに開発した互換機がこの“chibi:bit”。夏のMaker Faire Tokyoでテスト版を目撃した方もいるはずです。12月19日に製品版がリリースされたので、それを見ていきましょう。
基板に部品名が印刷されているので、写真だけでも機能はだいたい分かりますね。基板下端のエッジコネクターを使えば、I2CやSPIによる外部デバイスとの通信も可能です(ピンの詳細はこちら)。バッテリーコネクタの使い方を調べると、乾電池2個(3V)の電池ボックスを繋いで電源としている事例が多く見つかります。今回は手元に電池ボックスがなかったので、モバイルバッテリーを使ってパソコンと繋ぐ前の動作チェックをしました。
工場出荷状態のボードに電源を繋ぐと、明るいLEDマトリクスにメッセージがスクロール表示され、スイッチやセンサを使ったデモが始まります。5×5個のLEDで可能な表現は限られているものの、ボード単体で文字や図形を表示できるのはとてもいいですね。
プログラミング環境はPythonベースのものやビジュアルプログラミングツールのMicrosoft PXTなどが用意されていて(microbit.org/code/)、いずれの場合も、ブラウザ上でコーディング→クラウドでビルド→生成されたhexファイルをダウンロード→(USBメモリとして認識されている)chibi:bitにコピー、という作業の流れになります。
では、プログラミング環境に触れてみましょう。本家のツールとは別に、スイッチサイエンスがchibi:bit用にIDEを公開しているので、今回はそれを試してみました(Microsoft PXTで生成したhexも動作しました)。
Scratchを使ったことがある人なら、すぐに始められると思います。ユーザー登録やツールのインストールといった手間はありません。このIDEで扱えるmicro:bit/chibi:bitの機能については、“入力”や“LED”といったブロックを順に見ていくと、できることがわかってくると思います。
こちらはブラウザのウインドウサイズを小さくしたときのレイアウト。chibi:bitそのままのエミュレータが常に表示されていて、リアルタイムにプログラムの動作確認ができます。
ダウンロードボタンを押すと、hexファイルが手に入ります。書き込みは、このファイルをUSBドライブとして認識されているchibi:bitにドラッグアンドドロップするだけ。ちなみに、ドライブアイコンをダブルクリックすると“MBED.HTM”というファイルが現れました。mbedがベースになっているんですね。
専用アプリ(Android, iOS)を使えば、スマートフォンやタブレットでプログラミングし、Bluetooth経由で書き込むことができます。
iPadでアプリを試したところ、ペアリング→ブロックエディタでプログラミング→書き込み(フラッシュ)、という一連の操作を実行することができました。しかし、筆者のAndroid端末(Nexus6)では必ずフラッシュに失敗してしまう状況で、なにがマズいのか思案中です。接続の確実さと転送スピードを重視するならUSBのほうが良さそう。とは言え、BLE経由でスマホと連携するようなプロジェクトもやってみたいので、iOS/Androidにおける使いこなしは今後の研究課題とします。
さて、現時点の感想をまとめます。
・3,456円でLEDマトリクス、複数のセンサ、BLEモジュールなどが載っているかわいいマイコンボードが手に入るのはお得感アリ
・USB接続なら準備はとてもカンタン(パソコンに繋ぐだけ)
・スマホやタブレットでプログラミングできるのは便利
・ビジュアルプログラミングをプロトタイピングやフィジカルコンピューティングのワークショップに取り入れたいときに良さそう
・「これはmbedの一形態なんだな」と理解したときに、既存資源との連続性が見えた気がしました
他のプラットフォームとの比較や長所短所のさらなる列挙は、もっとソフトウェアを使い込んでからにしたいと思います。次はPythonでGPIOとBLEをいじってみよう。