RasPi4iPadPro

小さな実力者

2012年に登場した安価な小型コンピュータ「Raspberry Pi」(ラズベリーパイ:ラズパイ)は,第4世代モデルが登場するまでに至って,なお世界中で人気のコンピュータです。

名刺入れサイズ面積の厚さ3センチ弱の箱に納まるミニサイズながら,立派なコンピュータで,1万円を切る価格で提供されていることが特徴です。

オープンな基本ソフトであるLinuxと各種ソフトが動くパソコンとして,また業務用に匹敵するLinuxサーバーとしても使えます。小さなLinux環境。

英国ラズベリーパイ財団によって,もともと教育向けを主眼として開発されたこともあり,コンピュータサイエンスやプログラミング教育で利用されることも多いです。中高の教科「情報」で使う学習ツールとしても適しているのではないかと思います。

ただ,この日本では,まだそれほど浸透している気配はありません。特に学校教育の導入事例は大変限られていると思います。

理由は,いろいろ考えられますが,端的には,ラズパイがデスクトップパソコン的に使わざるを得ない機器だからだと思います。

たとえば雑誌『子供の科学』関連で企画された「ジブン専用パソコン」はセレクトパッケージとして大変人気で売れ切れ状態の商品ですが,明らかに据置き指向の構成です(一式持ち出せますが…)。

はじめよう!ジブン専用パソコン(子供の科学)
http://prog.kodomonokagaku.com/jibun/index.html

独自の筐体パッケージを提供する「Kano」や「RasPad」のようなもありますが,つまりは如何様にでもなるDIY的な利点が,大量に導入というときの選択肢になりにくいということかも知れないのです。

Kano
https://kano.me/row/store/products/computer-kit-touch
https://kano.me/row/store/products/kano-pc
RasPad
https://www.raspad.com

せっかく小型で比較的安価なコンピュータをもっと活かせないものか。

Linux環境を一つずつ

Linux環境は,教科「情報」やコンピュータ科学を学ぶ中で,良い土台となるものの一つです。なにしろ本物のコンピュータですから。

でも,GIGAスクール構想の端末候補には入れてもらえなかった。

いやいや,1人1台学習者用端末というのは仮の姿,実は着々と進みつつあるのは1人1つLinux環境なのです。

Windowsは「Windows Subsystem for Linux」という互換機能を提供してLinux環境を付加しています。mac OSはもともとUNIXというLinuxのお父さん(?)と互換です。Chrome OSはAndroidと同じでほぼLinuxでできています。iOSは家出(?)しましたが元はmac OS(UNIX)の家系です。

ほとんどのコンピュータがLinux環境と縁があることになります。

なので,GIGAスクールのモデル端末のどれを選んでもLinux環境と付き合うことに…ああ…ならないのが一つありました。iOS/iPad OSです。親戚のくせして自分の環境を使わせてくれません。

そこで,ラズベリーパイの登場です。

シンプルに独立したLinux環境をプラスすれば,端末個別に存在する細々とした違いを気にすることなくLinux環境を確保して操作することができます。

そこで,今回はまず,iPad Proにラズパイを組み合わせることをご紹介してみようと思います。実は,新しいRaspberry Pi 4なら,ゲーブル一本でiPad Proに接続することができるのです。

RasPi4をiPadProにつなぐ

ラズパイZeroという超小型版をUSBで接続することから始まったテクニックなのですが,ラズパイ4がUSB-Cコネクタを採用したことから名刺サイズ版でも可能になったとのこと。

Pi4 USB-C Gadget(Ben's Place)
https://www.hardill.me.uk/wordpress/2019/11/02/pi4-usb-c-gadget/
Connect your Raspberry Pi 4 to an iPad Pro(Raspberry Pi F.)
https://www.raspberrypi.org/blog/connect-your-raspberry-pi-4-to-an-ipad-pro/

大ざっぱな手順はこうです。
1) 別のパソコンでラズパイ用の基本ソフトを入手する [LINK]
2) 手順通りにラズパイをセットアップする
3) ラズパイを最新状態にアップデートする
4) ブートローダーのアップデートをする [LINK](最近は済んでいて不要かも)
5) 情報提供ブログの箇条書きの通りに設定する [LINK]
6) iPadアプリを用意してアクセスする
こんな感じ。

手順5)の中でいくつかファイルを編集したり作成したりする必要があるのが面倒ですが,当該ブログにアクセスしてコピペしながら作業すれば,少しは省力化できます。

といっても,これだけでは初めての人にはまったく分からないので,機会をみつけて動画で紹介できればと考えています。

セッティング作業には,別途ディスプレイと,マウス,キーボードが必要になりますが,作業完了してしまえばラズパイ単独をUSB-CケーブルでiPad Proにつなぐと起動して,iPadの設定アプリで「Ethernet」項目が現れます。

あとは,決め打ちで設定したIPアドレスに対してSSH接続をすると,このEthernetを経由してiPad Proからラズパイを操作できるようになるというものです。

ところで,ケーブル一本でつながるのはシンプルでいいものの,長時間作業しているとiPad Pro側のバッテリーを使い切ってしまうのではないかという素朴な事実が浮かび上がります。確かにそうです。

シンプルな構成でも数時間なら問題ないので,出先はこのスタイルで運用するとしても,デスク作業の際はやはりiPadを充電しながら接続したい。

USB-Cコネクタが2つ付いているUSBハブを挟めば,ACアダプタからiPad Proとラズパイに通電しながら運用できます。仮にUSB-Cコネクタが一つで残りUSB-AコネクタしかないハブでもラズパイにつなげるケーブルをA->Cにすることで同じことができます。
(確認済みですが,ハブやケーブルによってはうまく動作しない可能性はあります。写真はサンワサプライのものです。 https://direct.sanwa.co.jp/ItemPage/400-HUB075BK

ラズパイを扱うためのiOSアプリ

iPadからラズパイを操作するにはアプリが必要ですが,そのためのアプリはいくつか候補がありますのでご紹介します。

PiHelper - ラズパイアシスタント
https://apps.apple.com/jp/app/id1369930932

このアプリはラズパイを遠隔管理する目的で開発されたもので,今回の用途にドンピシャだと思います。CPUやメモリ,ディスク容量の表示やSSHとSFTP接続機能があり,再起動や停止メニューもあって便利です。慣れてくると使い勝手の要望がいろいろ出てきそうですが,手始めとしてのPiHelperは申し分ないです。

VNC Viewer - Remote Desktop
https://apps.apple.com/jp/app/id352019548

Linux環境というのは文字ばっかりのテキストコマンドライン環境がベースですが,もちろんウインドウ表示するグラフィカルデスクトップ環境も用意されています。しかし,その場合iPad Pro側はVNCという方法でラズパイを覗かなければなりません。そのためのアプリがVNC Viewerです。

Textastic Code Editor 9
https://apps.apple.com/jp/app/id1049254261
テキストエディタ LiquidLogic
https://apps.apple.com/jp/app/id1458566442

そもそもLinux環境で何をやるのかは人それぞれですが,コーディング(プログラミング)作業をする人たちにとってはエディタソフトは必携です。いろんな選択肢がありますが,ここでは2つご紹介。SFTP接続することでラズパイ上のファイルを読み書きできます。

Blink Shell
https://blink.sh

ラズパイとiPadをSSH接続するときに一番紹介されるのがBlinkです。といってもApp Storeでは有料アプリ。実は中身は公開されているのですが,アプリの仕上げを自分でしなければならず,そう簡単ではないので手間代ですね。

Prompt 2
https://apps.apple.com/jp/app/id917437289
Code Editor by Panic
https://apps.apple.com/jp/app/id500906297

これもBlinkと同じく有料のSSH接続アプリが「Prompt 2」です。その会社が出しているエディタアプリ「Code Editor」も有料ながら使っています。個人的な好みで以前購入していたので,これらを使っています。

プログラミング学習(高校編)

さて,これで何をするのかというお話も少し。

中高の新しい教科書は採択や検定段階なので,たとえば「ネットワークを利用した双方向性のあるコンテンツのプログラミング」とか,共通教科「情報Ⅰ」におけるコンピュータとプログラミングの具体的教材レベルの情報は少ないのが実情です。

高等学校 情報(教科書教会)
http://www.textbook.or.jp/textbook/publishing/high-info.html
中学校 技術・家庭(技術分野)
http://www.textbook.or.jp/textbook/publishing/junior-technique.html

ただ,高校に関しては文部科学省の教員研修用教材が公表されています。

文部科学省の「高等学校情報科「情報Ⅰ」教員研修用教材」の第3章「コンピュータとプログラミング」がベースイメージになるのでしょうか。

高等学校情報科「情報Ⅰ」教員研修用教材(本編)
https://www.mext.go.jp/a_menu/shotou/zyouhou/detail/1416756.htm
第3章 他プログラミング言語版
https://www.mext.go.jp/a_menu/shotou/zyouhou/detail/1421808.htm

Python版の第3章108頁にある「Mu」エディタはラズパイ用もありますので,問題なく使うことができます。

Mu for Raspbian - Instructions
https://codewith.mu/en/howto/1.0/install_raspberry_pi

もっともiOSには「Pythonista 3」という有名Python開発環境アプリがあるのでPythonの場合はそれを使った方がいいかも知れません。

Pythonista 3
https://apps.apple.com/jp/app/id1085978097

正直なところ,文部科学省の教員研修用教材は環境構築に関しての記述は皆無で,チュートリアル的でないところは少々不親切です。検定教科書はもっと見栄えがよくなるんでしょうけれど…。

プログラミング学習(中学編)

中学校の方はいくつかヒントになりそうな資料が上がっていますが,見たところ双方向のところはScratch 1.4のMESH機能を使っていたり,Linux環境はあんまり出番がないかぁ…。

中学校 技術・家庭の広場(東京書籍)
https://ten.tokyo-shoseki.co.jp/kyokah/chu/gijutsu-katei/
平成30~令和3年度用移行期資料 中学校技術・家庭 技術分野(開隆堂)
https://www.kairyudo.co.jp/contents/02_chu/gijutsu/h33iko/index.htm

いやぁ,ちょっと待って。

もっとラズパイ+iPad Proで面白いことができるはずなんですが,それはやはりコンピュータサイエンス部みたいなマニアックな活動向けかなぁ。

CS研には手を出すな!…みたいな。