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が無いので)くらいでしょうか。
もし1から揃えるのであれば、IchigoJamの場合は、一式3000円ちょいで入手できる、Raspberry Pi Zeroも良い選択肢と思います。IchigoJam自体が非常に軽いので、非力なRaspberry Pi Zeroでもサクサク動きます。Amazonだと異常に高額なので、下記のKSYさんのサイトで購入するのがよいでしょう。
IchigoJamダウンロード
以下サイトのDownloadsというところから、ダウンロードしましょう。圧縮されたファイル4MB以下なのでダウンロードは一瞬です。
ダウンロードされたら、解凍しておきましょう(圧縮ファイルの解凍方法は、各自の環境に合わせて調べて下さい)。
SDカードフォーマット
SD Formatterを使うのが確実です。以下サイトからダウンロードしましょう。
SD Memory Card Formatter for Windows/Mac | SD Association
使い方は、特に悩むことはないとは思います。
以下Macの例です。SDカードを挿入した後、SD Formatterを立ち上げて、オプションの論理アドレスを「する」にチェック
あとは、右下のフォーマットをクリックするだけです。いつも私はクイックフォーマットを使用しますが、特に支障が出たことはありません。
他のOSでも似たような操作でOKだと思います。
SDカードへのコピー
ダウンロードしたIchigoJamのフォルダの中身のファイルをまるごとコピーしましょう。特別なソフトを使う必要はなく、そのままドラッグ&ドロップのコピーでOKです。
こんな感じにコピーすればOK
容量は約8MBです。最新のRaspbianの容量4GB超えているので、なんと 0.2%以下。これだけ差があると笑ってしまいますね。
IchigoJam on Raspberry Pi 起動からテスト
後は、以下のようにRaspberry Piとディスプレイ、キーボード、SDカード、電源を接続するだけです。
以下は、実際に接続して起動している様子の動画です。
実際に電源投入から3秒程度で起動していることがわかります。凄い!
Ichigo Jamのプログラム
Lチカテスト
Ichigo Jamは昔懐かしのBASICというプログラム言語を使用してプログラミングします。日本語キーボードの場合は、最初に、KBD1
と入力してキーボード設定を切り替えておきましょう(毎回実行するのが面倒臭い場合は、設定ファイルに書き込むこともできます)。
まずはLチカ(LEDをチカチカさせる)をしてみましょう。具体的には、以下のようなプログラムを書いて、RUN
とコマンドするだけです。
10 LED1:WAIT30 20 LED0:WAIT30 30 GOTO10
簡単ですね。
SAVE0
と打つと、0番目のファイルにセーブされます。IchigoJamはキーボードを抜いて起動すると、0番目のファイルが自動で起動するようになっているので、自動起動したい場合は、0番目のファイルに保存して、キーボード抜くだけでOKです。勝手にRaspberry PiについているLEDがチカチカするようになります。
ちなみに、セーブされたファイルはSDカードを見ても見えません(バイナリで保存されている?)。また、テキストファイルの読み出し方もマニュアルにないので、基本的にはプログラミングは、ソースコードを見ながら、キーボードで打ち込んでいく(写経)のが基本となるようです。
その他コマンドのリファレンスは以下にあるので、こちらを参照にしながらプログラムを組んでいくことになります。
IchigoJam BASIC リファレンス ver 1.2.2
また、以下公式サイトにサンプルのプログラムがあるので、参考にすると勉強になりそうです。
こどもパソコン IchigoJam - はじめてのプログラミングパソコン
以下サイトにも、IchigoJamの投稿作品が多く載っています。
Kidspod;
短い行数ながら、工夫された非常にレベル高い作品も多く載っています。
プログラムのSDでの読み出しと編集方法
IchigoJamのプログラム、SDカードで見えないと最初書いたのですが、なんとIchigoJamの開発者である福野さん(@taisukef)から返信いただきました!
SAVEすると、SDカード内のフォルダに保存されますよ
— 福野泰介 (@taisukef) 2017年11月8日
事前に書いておくこととかもOKです
間違ったこと書いて、申し訳ありません!というわけで早速確認してみました。でもやっぱり、それっぽいテキストファイルが見つかりません。まさかと思いfiles
というディレクトリの0.bin
というファイルを恐る恐る適当なテキストエディタ(Vim)で開いてみると…
それっぽいデータがでーたー!
Vimではつらいので、バイナリエディタを使います(今回は0xedを使いました)。
見えました先生!
一応これで編集もできますね。こういうことで合っているのでしょうか…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)
Raspberry Pi ZeroでもLチカ動きました(公式サイトにキーボードの反応が悪い例があるとのことでしたが、私の環境では問題ありませんでした)。
まとめ
「IchigoJam」がRaspberry Pi上で動く「IchigoJam BASIC RPi」を動かして見ました。久しぶりにBASICを触りましたが、昔を思い出してこう何というかグッとくるものがありますね。私が小学生のころには、周りにプログラミングしている人なんて1000人に1人くらいだったので(誇張ではないです)、時代の変化を感じますね。私はひねくれ者なので、義務教育化されていると、逆にやろうとしななかったのかもしれませんが(笑)
しかし、IchigoJamとRaspberry Piの組み合わせは、中々良くて子供だけに使わせておくには勿体ないくらいです。起動も早く、電源もそのまま切れるので、ちょっとしたArduino替わりくらいにはなりそうです。問題は、テキストエディタを使った編集やコピペができない点でしょうか。PCとの簡易なファイル転送の仕組み等、これからどんどん機能拡張・情報公開されていくと良いなと期待しております。
関連記事
変更履歴
2017/11/08 プログラムのSDカードでの読み出し、編集に関して追記