2026年8月9日日曜日

iPadからScratch GPIOを動かしたかった2015年、いま同じことはブラウザで終わります

2015年の手順書を読みながら苦笑いしている私

子どもにプログラミングを触らせたい、そのために iPad から Raspberry Pi の Scratch を動かせるようにした——という2015年の記事です。動機はすごくまっとうですし、実際に動かすところまで到達しています。

ただ、結論が潔すぎました。「駄目です。全然ダメ。重い。操作性が悪い。文字が読みにくい。」。ここまでやって全否定、しかも「せっかく作ったので一応方法だけご紹介します」と続くんです。この時点で完全に信頼しました。

→ 元記事:「Raspberry Pi の Scratch GPIO を iPad から操作する」(tech.andhandworks.com)

完成品イメージ:机の上でケーブルにつながれたタブレットとキーボード

デスクトップに入るまでが、すでに長い

やりたいことは「タブレットでブロックを並べて、当時の Raspberry Pi の GPIO ピンにつないだLEDを光らせる」だけです。それだけなのに、まず子ども用のユーザアカウントを作り、リモートデスクトップサーバの XRDP を入れ、/etc/xrdp/startwm.sh に日本語ロケールを書き足し、update-rc.d で自動起動を仕込みます。

ここで一番刺さったのが、選択肢の潰れ方です。X端末アプリは初代 iPad では動かない。VNC はつながるのに、なぜか画面上で Scratch が起動しない。消去法でリモートデスクトップだけが残ります。しかも接続すると毎回デフォルトが VNC になっていて、「ものすごく操作しにくいですが、頑張って seesman-X11rdp を選択してください」。頑張ってって書かれた手順書、初めて見ました。

フォントを入れ、権限の壁にぶつかる

日本語が読みにくいので、さざなみゴシックを入れて Scratch の ja.po の Linux-Font を書き換えます。ここは分かります。問題はこの後です。Scratch GPIO をインストールしたのに、pi ユーザなら動くのに、作った子ども用ユーザだと起動しない。

原因は管理者権限でした。そこで vigr でグループを直し、visudo で該当スクリプトだけ NOPASSWD にして、~/bin/ に sudo 付きのラッパーを2本置き、デスクトップアイコンの Exec= をそちらに向ける。……子どもにプログラミングを体験させる下準備が、完全にインフラ運用の作業です。私だったらこの辺で一回冷蔵庫を開けに行きます。

そして、iPadなのにダブルタップ

再ログインして、アイコンをダブルタップすると Scratch が起動します。iPad なのに、ダブルタップ。ドラッグしたいときは、プレスしてからドラッグ。おっさん自身もそこで我に返っていて、「パソコンを使えない子どもにそんなことを説明しても理解できる訳がありません」と書いています。

そうなんですよね。プログラミングに興味を持ってもらうのが目的なのに、関係ないところでやる気を削がれる。技術的には全部クリアしたのに、目的に対しては失敗——この判断を自分で下して記事に残しているのが、この回のいちばん格好いいところだと思います。

2026年の私が同じことをやるなら

ブラウザで解決すると分かって澄まし顔の私

まず XRDP を入れません。Raspberry Pi Connect という公式サービスがあって、Raspberry Pi OS に最初から入っています。ブラウザで connect.raspberrypi.com を開くとデスクトップがそのまま出てくる仕組みで、ポート開放もネットワーク設定も要りません。11年かけて、あの startwm.sh の1行が丸ごと消えました。

Scratch 側も変わりました。いまの Scratch 3 はブラウザで動きますし、Raspberry Pi OS 版には GPIO を扱う拡張機能が用意されています。sudo bash isgh7.sh でスクリプトを流し込んで権限と格闘する工程は、拡張機能の追加ボタン1つになりました。本体は Raspberry Pi 5 のスターターキットと、microSDカード、27WのUSB-C電源があれば足ります。※元記事当時の Raspberry Pi 2 は2026年現在、新品の流通はほぼありません。

ちなみに気になって確認したら、元記事がリンクしていた simplesi.net の ScratchGPIO 配布ページ、2026年でもまだ生きていました。追記で紹介されていた iOS 版 Scratch の「ピョンキー」も App Store に残っています。11年前の記事のリンクが両方とも生存しているの、正直すごいです。

失敗を書き残すことについて

この記事、末尾に追記があります。「iOS版Scratchは削除された」と書いた部分を読者から指摘され、Pyonkee として再公開されていること、Scratch2Romo が止まっている理由も MFi 認証の都合であることを、名指しでお礼を書いたうえで訂正しているんです。「駄目です。全然ダメ。」で始まって訂正追記で終わるこの1本、技術記事としてより先に、書き方の教科書として読みました。

今回の用語メモ

  • XRDP:Linux を Windows のリモートデスクトップ(RDP)で操作できるようにするサーバソフト。2015年当時、iPad から Pi の画面に入る現実的な唯一の道でした。
  • Scratch GPIO:Scratch から Raspberry Pi の GPIO ピンを操作できるようにした拡張版。今は Scratch 3 の公式拡張機能がその役割を引き継いでいます。
  • visudo / NOPASSWD:どのコマンドを管理者権限で実行してよいかを決める設定を編集するコマンド。特定のスクリプトだけパスワードなしで sudo できるようにする、今でも使う技です。
  • MFi 認証:Apple 製品に外部機器をつなぐための Apple の認証プログラム。追記で判明した「アプリが公開されない本当の理由」がこれでした。

関連アイテム

0 件のコメント:

コメントを投稿