PaSoRiとOSXとRaspberry Pi

 ICカードリーダー/ライターは,名前の通りICカードの情報を読み取ったり,情報を書き込んだりする機器です。具体的には電子マネーカードや関東圏のSuicaカードのような交通系カードを読み取るもので,パソコンに接続する周辺機器として店頭でも売られています。ソニーのPaSoRiという商品はその中で最も手に入りやすいものとして有名です。

 最近では,iOS端末(iPhoneやiPad)にBluetooth無線接続するタイプのPaSoRiが登場し,電子マネーカードや交通系カードの残高確認がアプリからも可能になりました。

 斯様にソニーのPaSoRiというのは現在も販売されているのですが,結構なモデルチェンジを繰り返して現在に至っているものとしても有名なのです。

 もともとFelica方式(多くの電子マネーやおサイフケータイで採用された方式)のカードを読み書きできるように作られた製品RC-S310という機種から始まり,廉価で多く販売されたRC-S320,黒くなってe-Tax対応したRC-S330,改良版RC-S370,そしてNFC国際規格に対応を果たしたRC-S380と進化を続けてきました。

 Android端末もNFC規格に対応を始め,iPhone6も内部的にはNFC機能を持つようになってきたので,今後はRC-S380という機種である程度落ち着くのではないかと思いますが,技術は日進月歩ですのでPaSoRiは今後も変化していくのかも知れません。

 ところで,PaSoRiというのはWindowsパソコン用として販売されてきました(RC-S390は別枠なのでUSB接続できるPaSoRiはWindowsのみ対応というのが基本です)。あとは同じソニーということでPlayStationに接続できるという変わり種はあります。

 しかし,世の中にはMacもあるし,Linuxパソコンなどもあるし,そうしたWindows以外のコンピュータでもICカードを扱いたいというニーズはあったわけです。そうした声に対してソニー側も水面下ではいろいろ対応してきましたが,なかなか思うようには使えなかったというのが正直なところです。

 一方で,オープンソースの世界には,いろんなデバイスを自由に扱えるように,独自にドライバやプログラムを組んでいる人たちがいます。有り難いことに,そうした人たちの努力によってUSB機器が自由に扱えるようになったり,PaSoRiがLinux上で扱えるようになったりしています。

 ただ,そうした動きがあるにも関わらず,ネックなのがPaSoRiのような頻繁なモデルチェンジ。

 新しい型番のものは,たとえ見た目が似ていても中身ががらっと変わっていたりするため,今までの対応方法では動かなくなることも少なくないのです。

 PaSoRiもRC-S320(白PaSoRiと呼ばれています)とRC-S330(黒PaSoRi)との間に互換性がなくなり,作業のやり直しが必要になりました。同様なことがRC-S370とRC-S380の間でも起こり,いままで対応してきたものがまたリセットされたところでした。

 私自身,RC-S320を対象した残高ソフトをMac OS Xのネイティブアプリとしてリリースしたことがありますが,これも残念ながらRC-S330以降のPaSoRiには対応できていません。ハードウェアと直接やりとりするソフトウェアをメンテナンスするのは,結構大変です。

 現在販売されているRC-S380に対応したオープンソースの成果はないのではないかと思われていたのですが,実は「nfcpy」とよばれるPython言語で書かれたものが対応しているとわかり,しかもRaspberry Piで動かした報告などが紹介されていました。

Raspberry Pi 2 で NFC (FeliCa) を使えるようにする」(しばやん雑記)

 こうしたライブラリが使用できるのであれば,FelicaやNFCによるIDカード(社員証や学生証)を読み取って出勤/出欠管理システムをRaspberry Piで構築するというのも悪くないかも知れません。

 個人的にはMac OS XでRC-S380が動かせるようにしたいなと考えていますが,まずはRaspberry Piでメイカーズ的にシステムを作ってみるのも面白いかなと思いました。

「Scratch」に集まる注目と「Tickle」

文字によるプログラミングの敷居の高さを回避して,処理の命令をブロックのように描いたビジュアル・プログラミング言語(ブロック型プログラミング)というものがあります。

これが,子供たち向けにプログラミングを教えることの重要性を訴える昨今の声とともに注目を集めています。現在最も有名なのが「Scratch」というビジュアル・プログラミング言語です。

2006年にマサチューセッツ工科大学(MIT)のメディアラボで開発され,世界中の言葉に翻訳されて利用されています。2015年8月12日〜15日にアムステルダムでScratchコンファレンス2015が開催されています。

教育を考えて生み出されたプログラミング言語には,BASIC(1964)やLogo(1967)などがあり,その後のLogoBlocks(1996)というグラフィカル・プログラミング言語の試みや,プログラミング環境であるSqueak(1996)に含まれたEtoysの存在に影響を受ける形で,Scratchが開発されることになります。また,『作ることで学ぶ』(オライリー2015)には,この辺の教育向けプログラミング言語と絡む「メイカーズ」と呼ばれる動きに至るまでの歴史の概略が記載されていますので関心があればこの本を読んでみてはどうでしょうか。

こうした教育的な取り組みと,2008年に解禁されたiPhoneアプリ開発によるゴールドラッシュ,カードサイズの安価なワンボードコンピュータ「Raspberry Pi」やドローンと呼ばれるマルチ・コプターの登場,家電を始めとした日常生活の中の物がインターネットを介して繋がり合うことで可能性を広げるInternet of Things(IoT)の分野がビジネス的にも注目を集めていることが,昨今のプログラミング教育や電子工作への注目に繋がっていると考えられます。

Scratchは,自分で作ったキャラクターに命令ブロックなどを組み合わせて動きを付けることによって作品を作り上げていくプログラミング環境です。見た目ブロックで取っ付きやすそうですが,本格的なプログラミング言語と変わらないため複雑な作品を作ることもできます。そうした柔軟性が人気となって,この夏も様々なワークショップやイベントでScratchによる表現作品づくりが盛んです。

Scratchを使ったプログラミング教育への関心の高まりは,ご時世的に「IT人材の育成」といった課題から来ているものも少なくありませんが,文化的な観点からすれば,日常生活に深く入り込むに至った表現手段(コンピューティング)を使って自己表現や感情表現していくことを,ごくごく当り前にできる世界を目指したいという思いが大きくなっているからです。

Scratchというビジュアルプログラミング言語は,万能選手ではありませんが,そのひとつの有力なツールとして,普及し始めているということになります。

ところで,Scratchの周りには,ブロック型プログラミングという特徴が似ている別のプログラミング環境があります。思いつくものの名前を列挙すると,Snap!BlocklyHOPSCOTCHSctatchJrPyonkeeTickleプログラミン前田ブロックコロコロ工作ブロック)などです。Scratchと系統を同じにするものもありますし,かなり異なるものもあります。

Scratchは,現在の2.0はFlash技術を使って動いていたりするので,iPadでは,標準Webブラウザから直接利用することが出来ません。Flash対応ブラウザアプリを介して利用するか,Snap!を使うか,ScrachJSという実験的なサイトを利用するしかありません。あとはScratchの仲間として開発されたアプリを使う他ありません。

Scratchのバージョン1.4というものを移植したScratchアプリが「Pyonkee」ピョンキーです。名前こそ違いますが,中身は正真正銘のScratchなのです。iPadでビジュアルプログラミングする場合にはこれを活用する人が多いです。

最近,りん研究室が注目して関わっているのは,Scratchにインスパイアされて開発された「Tickle」というiPad向けのプログラミング環境アプリです。

こちらはScratchとは別に新たに作られたアプリで,キャラクターやデザインなどが違いますが,同じようにブロックプログラミングできるように進化中です。

なによりTickleが凄いのは,ドローンなどの実物の機器をプログラミングで動かせてしまうことです。ドローンといっても玩具サイズのミニドローンや,二輪ロボット,ボール型ロボットなど「スマート玩具」と呼ばれているものです。

こうしたものをBluetoothという通信で遠隔プログラミングして動かすことで,よりプログラミングという行為の醍醐味をスマート玩具などの動きという結果で味わうことが出来るというわけです。また同様に,Arduinoと呼ばれるマイコン回路をプログラミングしたり制御することが出来るので,電子工作の世界にも足を伸ばすことができそうです。

現時点では,日本で使える機器に制限があるため,謳われている全ての機器を入手して動かすことが出来ないというのが問題ですが,そうした課題を克服する中でScratchやTickleを使った実物プログラミング(フィジカル・プログラミング)の世界も拡がるかなと思います。

近況報告

 寂しいニュースに接してから,しばらく日々の慌ただしさに流されて,ブログの更新が滞ってしまいました。いろいろ書きたいこともあったのに,どう書き始めるべきか考えているうちに時が過ぎるといういつものパターンです。

 さて,ブログの名前を「りん研究室」にしました。URLは「rinlab」を踏襲しますが,後期から専門ゼミナールが始まるので,場合によっては「rinsemi」という表記も出てくる予定です。りんラボかりんゼミかで悩むのも面倒なので,ブログの名前は日本語表記の「りん研究室」にします。「りん研究室ブログ」をどうぞよろしくお願いします。

 少し前にChromebookを手に入れました。

 職場がGoogle App for Educationを採用して本格運用を始めたので,本務に関わる環境はGoogleアカウントでまとめられるように環境構築することにしました。

 そして,学生たちも同様ですから,学生向けの情報端末としてのChromebookを使わせるのはどうだろうと関心が高まったのです。

 実際に使い始めて,そのシンプルさに驚きました。

 特定のアプリケーションの利用に縛られるのでなければ,多くの仕事ははChromebook上で作業することができます。起動が素早く,動作も軽快で,システムの管理も簡便なので,変なストレスを感じることがないのは好印象です。

 Windows10も軽快さを取り戻してなかなか評判が良いですが,まだ始まったばかりのOSですし,ウイルス系の話は依然として無視できません。教育機関での大規模利用においてはGoogle Apps for EducationとChromebookの取り合わせに優位性もあると思います。

 今後もノウハウを貯めていく必要があるだろうと思い,Facebookd上にグループを作ったりしました。いろいろ試していく予定です。

 研究室の動向としては,後期から3人の学生を受け取れることになりそうです。まだ確定ではありませんが,特に問題なければそうなります。

 というわけで,3人なら研究室としてiPadを新規導入して常時使わせるという試みを始められそうです。iPadの教育利用を中心としたゼミ活動というコンセプトで進めようかと思います。

 

お悔み申し上げます

 認知科学者として世界的に活躍されてきた三宅なほみ先生が,2015年5月29日にご逝去されたとの報に接しました。信頼できる方々の情報網で流れている報なので,本当だと思います。しかし,だとすれば私たちはとても貴重な人物を失ってしまったことになり,言葉もありません。

 あの時躊躇わずお話しをさせていただいていたなら…そう後悔するばかりです。

 深い哀悼の意を表します。

20140317amm

 写真は,私が最後に三宅先生に一番近づいた時(20140317)のものです。

配属が変わって

 平成27年度が始まって,今日まで慌ただしい日々が続いていました。4月中と5月のGW連休は,なんだかんだといろいろあってブログの更新もままなりませんでした。

 今年度より徳島文理大学 人間生活学部 児童学科に配属されました。昨年度までは短期大学部に配属されていたのですが,諸般の事情で異動となったのです。短期大学から大学へと変わったことになるので,教育研究機関番号で区別している側からすれば所属変更となりますが,私自身は部屋の引っ越しも無いので仕事だけが押し寄せてきたという感じです。

 さっそく新入生の担任を仰せつかり,いろんなオリエンテーション行事に顔を出したり,先日も宿泊セミナーに参加するなど担任業務でくるくる回っていました。本日,ようやく普通の日曜日を過ごしていたところです。

 今年度はまだ始まりませんが,来年度になると専門ゼミナールを受け持つことになります。

 そのため,私の研究室は「りんゼミ」ということになります。

 「りんラボ」でやってきた研究室やブログの名称を変えるかどうかは決めていません。

 最近の私の研究関心が文系寄りに戻っていることを考えると変えた方がよいのではないかとも思います。一方で,アプリ開発や工学的な視点での探究も続けたいと考えているのでラボの名称を残してもよいのではないかとも思います。しばらくは考え中にしておこうと思います。

 さて,来週末あたりからお出かけが増えるので,またバタバタした日々となりそうです。