PaSoRich – ICカードリーダーをScratch3.0で

グラフィカルなプログラミング環境であるScratch

2019年に3.0へと移行し,HTML5対応Webブラウザのみでも利用できるようになりました。

Scratch 3.0には「拡張機能」を追加する仕組みがあり,ブロックを増やすだけでなく,外部機器を制御できるようになっています。たとえば「micro:bit」や「LEGO Education WeDo 2.0」といったものです。

Scratch 3.0自体がリリースされて間もないため,拡張機能は限られたものが提供されている段階です。いずれ様々な拡張機能が登場したり,ユーザーが作ったものを申し込みで追加できるようになると思います。

今回,Scratch 3.0の拡張機能としてICカードリーダーを扱えるように作業してみました。

量販店で最も入手しやすいICカードリーダーの1つであるソニー社「PaSoRi」パソリをScratch 3.0で利用するための拡張機能「PaSoRich」パソリッチです。

PaSoRi with Scratch 3.0
https://github.com/con3office/pasorich

これを利用するとICカードの識別番号を読み取ることが出来ます!

Pasorich2019

簡単なデモプロジェクトでは,「s」キーでICカードを読み取って配列に識別番号を登録し,「スペース」キーでICカードを読み取って登録した識別番号に対応したセリフを表示します(デモなので3パターンだけ)。物理的なカードと画面上のステージを組み合わせたプログラムが組めるわけです。

ICカードは,いま使っている会員カードや電子マネーカードが利用できます。使い切って家で眠っているもの,旅行先で利用したが持って帰って使ってないものも使えます。

つまり,カードを入手するのに大きな苦労はしない上,数を用意するのも難しくない。それでいて,識別番号という面白い特性が利用できるのです。

カード対戦ゲームを作ることから始まって,かざす果物カードによって果物が表示されていく提示教材とか,宝探しで見つけ出したヒントカードをかざすと次なるヒントが音声で流れてくるとか,児童生徒カードと先生カードとの組み合わせでいろんな記録システムを作成するといったことも可能です。

ちょっと面白そうでしょ?

(追記)

試す環境を構築するのも大変なので,デモサイトを用意してみました。

Scratch 3.0 GUI with PaSoRich
https://con3office.github.io/scratch-gui/

Windows環境の方はICカードリーダーが認識されないことがあります。以下のZadigという汎用USBドライバをインストールすると認識することもあるようです。Windowsユーザーの方はお試しください。

Zadig - USB driver installation made easy
https://zadig.akeo.ie/

(追記ここまで)

でも残念ながら,いまのところこの拡張機能を使うのはとても難しいです。

第1に,ICカードリーダーが必要です。ソニー社のパソリという製品のみ対応です。

第2に,ChromeというWebブラウザのみ対応です。

第3に,冒頭で説明した理由のため正式なScratch 3.0では利用できません。

第4に,技術的理由で,ネットを介した環境では利用できません。
(これはHTTPS通信なら大丈夫だったようです)

へ?それではどうやって使うのか?

自分のコンピュータに自分専用のローカルなScratchをつくって,そこで利用するしかありません。(もしくはデモサイトをどうぞ。)

PaSoRichを追加したローカルなScratch環境を構築するのです。

以下が手順です。

  1. コンピュータに「Node.js」と「Git」というソフトウェアをインストールする
  2. GitHubサイトにあるScratchの大元ソフトウェアをコンピュータにコピーする
  3. 2.をするときは,あらかじめPaSoRichを追加したバージョンを選んでコピーする。
  4. コピーしたScratchの準備を整え,scratch-guiを(「npm start」で)動かす
  5. Webブラウザで http://localhost:8601(または http://0.0.0.0:8601 )をアクセスする
  6. ローカルなScratchが使い始められるのでPaSoRichの拡張機能を追加する。

以上です。

PaSoRichを組み込んだ「scratch-vm」と「scratch-gui」のGitHubリポジトリは以下の通りです。

https://github.com/con3office/scratch-vm

https://github.com/con3office/scratch-gui

これを以下のページの説明のように作業を進めることでローカルなScratchを構築できます。(アドレスを置き換えて入力します。)

Scratch 3.0の拡張機能を作ってみよう/下準備

ぜひ挑戦してみてください。

(追記)

動作条件が厳しく,動かないケースが多いと思われます。まさに挑戦して確かめてください。

[参考情報]Web USBでPaSoRiを扱えるOSをまとめてみた

20190501_Wed 令和元年

新天皇即位に伴い元号が改まりました。

昨夜のテレビ番組は平成を振り返る企画として盛んに過去の出来事を取り上げているので、それを眺めながら研究室で改元を迎えたところです。

りん研究室は,新しい元号時代にも淡々と物事を見通す作業を続けていきたいと思います。

あらためて,どうぞよろしくお願いします。

20190430_Tue

平成最後の日。

学生とのアポイントメントがあるため本日も出勤。ふんわりと休日が搾取されているような気がしないでもないが,まぁ,平成最後の日に人に会えるのは悪くはない。

NHKは年末の番組をもじった「ゆく時代くる時代」という特別番組を放送している。平成を振り返るという作業は教育と情報の歴史研究でもやっていかなきゃいけないので,基本的には興味深く番組を見る。

とにかく流れに身を任せて平成から令和を過ごす。

明日くらいは,ぼーっと家で過ごしたい。

20190429_Mon

連休のはずだが出勤。

午前中はデジタル読書会に参加する。が,あれこれ慌ただしい日々だったため,自分の担当部分の資料準備ができないまま参加することに。読んだ気になっていたが,いざとなるとボロボロと記憶から落ちてしまって,まともな説明にはなっていなかった。反省。

午後はそのための続きをしようかと思っていたが,なかなか作業がはかどらず時間が過ぎた。というか,一日中ぐったり休みたい。

20190428_Sun

世間は連休突入済み。

AO・推薦入試説明会を兼ねたオープンキャンパスの日。ミニ授業の担当になっていたので休日出勤である。ここまでずっと端末準備。

当日もなかなか全体設定が整わず,直前まで試行錯誤していた。iPad Proを小規模導入してあるのだが,このくらいの規模だと個人用Apple IDを利用した管理になってしまい,10台のiPadは同じクラウドアカウントで同期しあう関係になっているのが実情。

Apple School IDのようなものは,学校単位での大規模導入を焦点に当てているため,学科単位といった部署レベルの小規模導入だとまるで相手にされない。大学単位の責任者は学科単位の取り組みのためには動いてくれないこともあるので,結局,個人向けApple IDで無理に何とかするしかないのである。その状態で,少しでも10台のiPadが個別に動かせるように細かい設定を工夫する。

ミニ授業は,Apple Pencilの調子が良くないもののために時間ロスも発生したが,Keynoteを使ったデジタルストーリーテリングの活動自体はおおむね好評のうちに幕を閉じた。