セットアップ30秒!起動3秒!!BASICで動くプログラミング教育ツール「IchigoJam」がRaspberry Pi上で動く「IchigoJam BASIC RPi」を試してみた

f:id:karaage:20171104112444j:plain:w640

2017/11/08 プログラムのSDカードでの読み出し、編集に関して追記

IchigoJam meets Raspberry Pi

 国産のプログラミング教育ツールであるところの「IchigoJam」。懐かしのBASICで動くということで、ずっと気になっていたのですが、中々手を出せずにいました。

 そんな中、かねてから噂のあったRaspberry Pi上で動くIchigoJam、その名も「IchigoJam BASIC RPi」がついにリリースされたというニュースが飛び込んできたではありませんか。

IchigoJam for RaspberryPi has released! Trial classes will be held in I-O DATA Caravan Japan! / ラズパイ版 IchigoJam リリース!全国4カ所のI-O DATA キャラバンにて体験教室開催! – about yrm

 居ても立ってもいられず、早速インストールして動かしてみましたので簡単に紹介します。

IchigoJam on RPiのインストールから起動まで

必要部品購入

 ハードウェアに関しては、基本的には以下セットアップ記事と同じものを購入すればOKです。

 具体的には、Raspberry Pi、マイクロSDカード、HDMIケーブル、電源アダプタ、電源ケーブルですね。差分としてはマウスが必要ない(IchigoJamにGUIが無いので)くらいでしょうか。

サンワサプライ 電源タップ USB充電ポート4つ付き 2P 2個口 ホワイト TAP-B49W

サンワサプライ 電源タップ USB充電ポート4つ付き 2P 2個口 ホワイト TAP-B49W

 もし1から揃えるのであれば、IchigoJamの場合は、一式3000円ちょいで入手できる、Raspberry Pi Zeroも良い選択肢と思います。IchigoJam自体が非常に軽いので、非力なRaspberry Pi Zeroでもサクサク動きます。Amazonだと異常に高額なので、下記のKSYさんのサイトで購入するのがよいでしょう。

ホーム - Raspberry Pi Shop by KSY

IchigoJamダウンロード

 以下サイトのDownloadsというところから、ダウンロードしましょう。圧縮されたファイル4MB以下なのでダウンロードは一瞬です。

IchigoJam BASIC RPi1.2 ダウンロード

 ダウンロードされたら、解凍しておきましょう(圧縮ファイルの解凍方法は、各自の環境に合わせて調べて下さい)。

SDカードフォーマット

 SD Formatterを使うのが確実です。以下サイトからダウンロードしましょう。

SD Memory Card Formatter - SD Association

 使い方は、特に悩むことはないとは思います。

 以下Macの例です。SDカードを挿入した後、SD Formatterを立ち上げて、オプションの論理アドレスを「する」にチェック

f:id:karaage:20171103105422p:plain:w640

 あとは、右下のフォーマットをクリックするだけです。いつも私はクイックフォーマットを使用しますが、特に支障が出たことはありません。

f:id:karaage:20171103105440p:plain:w640

 他のOSでも似たような操作でOKだと思います。

SDカードへのコピー

 ダウンロードしたIchigoJamのフォルダの中身のファイルをまるごとコピーしましょう。特別なソフトを使う必要はなく、そのままドラッグ&ドロップのコピーでOKです。

f:id:karaage:20171103105453p:plain:w640  こんな感じにコピーすればOK

 容量は約8MBです。最新のRaspbianの容量4GB超えているので、なんと 0.2%以下。これだけ差があると笑ってしまいますね。

IchigoJam on Raspberry Pi 起動からテスト

 後は、以下のようにRaspberry Piとディスプレイ、キーボード、SDカード、電源を接続するだけです。

f:id:karaage:20171104112501j:plain:w640

 以下は、実際に接続して起動している様子の動画です。

 実際に電源投入から3秒程度で起動していることがわかります。凄い!

Ichigo Jamのプログラム

Lチカテスト

 Ichigo Jamは昔懐かしのBASICというプログラム言語を使用してプログラミングします。日本語キーボードの場合は、最初に、KBD1と入力してキーボード設定を切り替えておきましょう(毎回実行するのが面倒臭い場合は、設定ファイルに書き込むこともできます)。

 まずはLチカ(LEDをチカチカさせる)をしてみましょう。具体的には、以下のようなプログラムを書いて、RUNとコマンドするだけです。

10 LED1:WAIT30
20 LED0:WAIT30
30 GOTO10

f:id:karaage:20171104112429j:plain:w640

 簡単ですね。

 SAVE0と打つと、0番目のファイルにセーブされます。IchigoJamはキーボードを抜いて起動すると、0番目のファイルが自動で起動するようになっているので、自動起動したい場合は、0番目のファイルに保存して、キーボード抜くだけでOKです。勝手にRaspberry PiについているLEDがチカチカするようになります。

 ちなみに、セーブされたファイルはSDカードを見ても見えません(バイナリで保存されている?)。また、テキストファイルの読み出し方もマニュアルにないので、基本的にはプログラミングは、ソースコードを見ながら、キーボードで打ち込んでいく(写経)のが基本となるようです。

 その他コマンドのリファレンスは以下にあるので、こちらを参照にしながらプログラムを組んでいくことになります。
IchigoJam BASIC リファレンス ver 1.2.2

 また、以下公式サイトにサンプルのプログラムがあるので、参考にすると勉強になりそうです。
こどもパソコン IchigoJam - はじめてのプログラミングパソコン(1500円)

 以下サイトにも、IchigoJamの投稿作品が多く載っています。
Kidspod;

 短い行数ながら、工夫された非常にレベル高い作品も多く載っています。

プログラムのSDでの読み出しと編集方法

 IchigoJamのプログラム、SDカードで見えないと最初書いたのですが、なんとIchigoJamの開発者である福野さん(@taisukef)から返信いただきました!

 間違ったこと書いて、申し訳ありません!というわけで早速確認してみました。でもやっぱり、それっぽいテキストファイルが見つかりません。まさかと思いfilesというディレクトリの0.binというファイルを恐る恐る適当なテキストエディタ(Vim)で開いてみると…

f:id:karaage:20171108225144p:plain:w640
 それっぽいデータがでーたー!

 Vimではつらいので、バイナリエディタを使います(今回は0xedを使いました)。

f:id:karaage:20171108225212p:plain:w640
 見えました先生!

 一応これで編集もできますね。こういうことで合っているのでしょうか…IchigoJam可愛い名前してるのにめちゃめちゃハードモードです。

追記:この後、開発者陣の方々からPCとプログラムをやりとりする方法を2通り教えていただきました。以下記事参照下さい。グッとIchigoJamの開発が便利になります。

IchigoJamのプログラミング教育への可能性

 IchigoJam、以前から面白そうだなと思っていたのですが、ネックとなっていたのがディスプレイがアナログ(コンポジット入力)のみという点でした。もちろん、ハードウェアの基板の半田付けから始めるという思想は素晴らしいとは思うのですが、中々そのためにコンポジット対応のディスプレイ買うのも気が引けますし、家のテレビの大きな画面でプログラムするのも、ちょっと大変そうです。

 そんな中、このRaspberry Piとの組み合わせというのは、入手性や価格の面も含めて素晴らしいのじゃないかなと思います。特にIchigoJamのプログラミング教材として良い点としては、以下が挙げられます。

  • セットアップが簡単で起動が早い
  • いつでも電源を切れる
  • プログラムを簡単にコピーできない

 Raspberry Piは、セットアップでつまずく人も多いと思うので、このセットアップが早く簡単にできて、すぐ使えるというのは、素晴らしい利点と思います。また、OSがない(ベアメタル)のでいつ電源切ってもそうそうSDが壊れないというのも魅力ですね。もし、壊れても30秒もあればセットアップできますしね。

 あと、プログラムを簡単にコピペできないという制約も、教育としてはなかなかスパルタでよろしいのじゃないかなと個人的には思ったりします。お父さん世代だと、ベーマガ(BASICマガジン)のソースコードを写経したことを思い出すのではないでしょうか。

 また、逆にIchigoJamの弱点として挙げられるのは、コミュニティでしょうか。Raspberry PiのScratchとかだと、大きなコミュニティが出来上がっており、ネットとプログラムを通じてワールドワイドにコミュニケーションをとれる可能性もあります。IchigoJamは、このコミュニティの規模でいうとどうしても小さくなってしまうかなと感じます。もちろんネットに繋がらないということも子供の教育においては、一つの利点ではあるのかもしれませんが。

 ただ、結局どれもあくまで教育のツールなので、子供の向き不向きや成長に合わせて、試行錯誤していくしかないのかなと個人的には思います。Raspberry Piの共通ハードで使えるとステップアップも容易ですしね。

 IchigoJamのプログラミング教育に関しては、レッドハット株式会社の平初さんが絶賛連載中のプログラミング教育体験記が非常に面白く、私も読者としても、親としても楽しみにしています。

 また、現役の教員のすずすけ (id:justsize)さんが、はてなブログでRaspberry Piを使ったプログラミング教育の取り組みを公開されているので、こちらも非常に興味深く見ております。

 Raspberry Pi Zeroを購入されているので、恐らくRaspbian+Scratchをベースにプログラミング教育を行うのだと思いますが、SDカードの書き込み含めたセットアップや、Raspbianは多機能な上にRaspberry Pi Zeroでは結構重いので、カリキュラムが中々難しいのじゃないかなとも予感しております。

 すずすけさんの方針を否定するつもりは全くありませんが、もし行き詰まった時の選択肢として、ハードウェア活用できる「IchigoJam BASIC RPi」も面白そうですよ!とそっと紹介しておきます。

 IchigoJamなら、Raspberry Pi Zeroでもめちゃめちゃ軽快に動きます(なにせ容量 Raspbianの0.2%ですからw)

f:id:karaage:20171104112414j:plain:w640
 Raspberry Pi ZeroでもLチカ動きました(公式サイトにキーボードの反応が悪い例があるとのことでしたが、私の環境では問題ありませんでした)。

まとめ

 「IchigoJam」がRaspberry Pi上で動く「IchigoJam BASIC RPi」を動かして見ました。久しぶりにBASICを触りましたが、昔を思い出してこう何というかグッとくるものがありますね。私が小学生のころには、周りにプログラミングしている人なんて1000人に1人くらいだったので(誇張ではないです)、時代の変化を感じますね。私はひねくれ者なので、義務教育化されていると、逆にやろうとしななかったのかもしれませんが(笑)

 しかし、IchigoJamとRaspberry Piの組み合わせは、中々良くて子供だけに使わせておくには勿体ないくらいです。起動も早く、電源もそのまま切れるので、ちょっとしたArduino替わりくらいにはなりそうです。問題は、テキストエディタを使った編集やコピペができない点でしょうか。PCとの簡易なファイル転送の仕組み等、これからどんどん機能拡張・情報公開されていくと良いなと期待しております。

関連記事