Raspberry Pi 3 を活用した情報教育の可能性
土肥 紳一 1)
1) 東京電機大学 システムデザイン工学部
dohi@mail.dendai.ac.jp

Possibility of the information education by using the Raspberry Pi 3
Shinichi Dohi 1)
1) School of System Design and Technology, Tokyo Denki Univ.

概要
Raspberry Pi 3(ラズベリーパイ 3)は Arduino(アルディーノ)と同様に，GPIO(General-purposeinput/output)を経由して各種センサを取り付け，信号を入出力できるシングルボードコンピュータである．これらの外観は似ており，数千円程度で購入できる．Raspberry Pi 3 の存在は知っていたが，2 つは大差がないと認識していた．しかし，Raspberry Pi 3 を使用してみると，全く異なる存在であることが分かった．大学でのコンピュータリテラシーやコンピュータプログラミングの授業で，かなり実用的なレベルで活用できる可能性を秘めていることが分かった．筆者が担当している「コンピュータリテラシー」や「コンピュータプログラミングⅠ」の授業内容のいくつかを Raspberry Pi 3 で試し，情報教育の可能性を述べる．

1

2 Raspberry Pi

はじめに教育目的に開発されたシングルボードコンピュ

2.1 Raspberry Pi についてータの 1 つに Raspberry Pi がある．通称，ラズパ

Raspberry Pi は，2012 年 2 月 29 日にイギリスのイと呼ばれている．筆者は，Arduino というシング

Raspberry 財団によって開発されたシングルボールボードコンピュータを使って，「コンピュータドコンピュータである[1]．日本で購入できる最新プログラミング A を学んだ後のハードウェア入モデルは，Raspberry Pi 3 Model B+である．筆者は，門」と題して，集中講義を開講したことがある．

一つ前の Raspberry Pi 3 Model B を使用して調査し当時，ラズパイの存在は知っていたものの使用した．海外では Raspberry Pi 4 Model B が 2019 年 6たことはなく，Arduino とは大差がないと認識して月 24 日に発売され，日本での発売が待ち遠しい．

いた．この度，Raspberry Pi 3 Model B(以下，AC アダプターの電源を入れると，Debian ベー

Raspberry Pi と略)を使う機会に遭遇し，試してみスの Raspbian(ラズビアン)という OS が起動し，デたところ，Arduino とは全く異なる機能を持ってスクトップが表示される．
この様子を図 1 に示す．

いることが分かった．Raspberry Pi は，キーボード，マウス，ディスプレイを接続でき，OS をインストールすると，情報端末として利用できるようになり，超小型のデスクトップパソコンとして機能する．Raspberry Pi の応答速度は速くはないが，Microsoft Office に対抗したアプリケーションや，ラズパイ用の Processing が利用できる．さらにMathematica V12 のサブセットが，デフォルトでインストールされていることにも驚いた．筆者が担当している共通教育「情報」の「コンピュータリテラシー」と「コンピュータプログラミングⅠ」の授業内容のいくつかを Raspberry Pi で試した．

155

図 1 Raspbian(ラズビアン)を起動した様子

もちろん，OS のインストールが終わっている

る．したがって microSD カードの準備と，これをことが前提である．ワイヤレスのキーボードとマアクセスできるノート PC 等が必要になる．ここウスは，ELECOM の TK-FDM075 MBK を使用しでは，インターネットに接続している Windows10

た．ディスプレイは BenQ の PD2700Q で，解像度のノート PC を使った．microSD カードは FAT32は 1824×984 ピクセルである．OS は microSD カでフォーマットしておく必要がある．32GB を超えードに入れて使用する．なお，最近のテレビにはる microSD は，Windows10 では FAT32 でフォーマHDMI 端子の付いたものが普及しており，テレビットできないので注意が必要である．にも接続して利用している．

筆者は 64GB の microSD カードを使い，FAT322.2 Arduino との違いでフォーマットされていなかったため OS のイン

図 1 のテーブルの白い紙の上に，Raspberry Piストールで躓いた．別途 Windows7 のノート PC にを置いた．一見，Arduino と似ている[2]．Arduino

Fat32Formatter を入れ，32GB のパーティションをは，統合開発環境をノート PC 等にインストール作成し，Windows10 で FAT32 のフォーマットを行し，そこで完成したプログラムを USB ケーブルでうことによって問題を解決した．

Arduino に転送し，動作させる仕組みである．した3.2 インストーラ(NOOBS)のダウンロードがって，Arduino 単体でプログラムを開発すること

web ブラウザを使って，Raspberry Pi の web サイはできない．Arduino 自体の消費電力は少なく，

トから NOOBS と言うインストーラをダウンロー

LED を点灯する程度であれば，ノート PC 等からドする．Raspberry Pi の web サイトの様子を図 3

USB ケーブルで電源を供給可能である．に示す．web ブラウザは Firefox を利用した．上部

Raspberry Pi には USB ポートが 4 つ，HDMI が 1の「Downloads」をクリックする．Downloads がつ，有線 LAN の RJ-45 が 1 つ，さらに WiFi も内表示されたら「NOOBS」をクリックする．この蔵されている．消費電力が大きいため，専用の AC様子を図 4 に示す．NOOBS が表示されたらアダプターを使う．Raspberry Pi の本体部を図 2「Download ZIP」をクリックする．この様子を図に示す．左端は SD カードのアダプターと microSD5 に示す．原稿執筆時点でダウンロードしたインカードである．左から 2 番目の microSD カードにストーラは NOOBS_v3_2_0.zip であった．

Rasbian が入り，これ 1 枚で完結する．Raspberry Pi
は，まず OS のインストールから始まる．

図 3 Raspberry Pi の web サイト図 2 Raspberry Pi

3OS のインストール
OS のインストールに関する情報は，インターネット上に色々公開されている．筆者が躓いた部分を補足しながら述べる．
3.1 microSD カードの準備
OS は，microSD カードを使ってインストールす156

図 4 NOOBS の選択

っていたため，赤色の LED が点灯するものの，緑色の LED が点滅しない現象に悩まされた．
スイッチサイエンス社から発売されている
Raspberry Pi 3 B+ スターターキットを別途入手し調べた結果，microSD に原因があることが判明した[3]．キットの様子を図 7 に示す．筆者にとって，大きな落とし穴であった．

図 5 Download ZIP の選択
ダウンロードが完了したら，ノート PC のエクスプローラでマウスを使って右クリックし，「すべて展開する」を選び解凍する．展開が完了すると22 個のファイルおよびフォルダが出て来た．コマ
ンドプロンプトで dir コマンドを使って表示した様子を図 6 に示す．これらを，FAT32 でフォーマットした microSD へコピーする．以上でインストールの準備が完了する．

図 7 Raspberry Pi 3 B+ スターターキット
https://www.switch-science.com/catalog/3880/より引用

3.4 OS のインストール
microSD の問題が解決すると OS のインストー
ル自体は特に難しいものは無く，表示される内容を確認しながら順調に進めることができた．途中，日本語の表示を行うために，Japanese の設定を行った．さらに WiFi との接続で，大学内の SSID を入力する必要があった．
3.5 日本語の入力
日本語の表示は行えるが，入力ができない．
fcitx-mozc（ファイティクス – モズク）をインストールした．これを有効にするためには，インス

図 6 インストーラを展開した結果トール後，reboot する必要がある．
3.6 USB メモリ

3.3 インストーラの起動
Raspberry Pi に microSD を差し込み，USB のキーボード，マウスを接続し，HDMI ケーブルでディスプレイと接続する．AC アダプターを接続すると，Raspberry Pi の赤色の LED が点灯し，その右隣にある緑色の LED が点滅しながら OS のインストールが始まる．この時，赤色の LED が点灯し，緑色の LED が点滅しない場合は，microSD の内容に不具合があることが考えられる．筆者は，exFATでフォーマットした 64GB の microSD カードを使

157

USB メモリは Raspberry Pi に差し込むと，自動的に認識される．Linux では mount を行う必要があるが，自動的にマウントされ便利である．本論文を記述するにあたって，Raspberry Pi のスクリーンショットを収集し，USB メモリで取り出した．
スクリーンショットは，Print Screen のキーを押すと，/home/pi に PNG 形式で保存される．この様子を，図 8 に示す．
左側のウインドウが Raspberry Pi，右側のウインドウが USB メモリである．

図 8 USB メモリによるファイルのやり取り

図 9 Office365 の起動
4.3 情報倫理ビデオの再生

4 コンピュータリテラシー

情報倫理デジタルビデオ小品集７の情報セキュ

筆者が担当しているコンピュータリテラシーのリティの中の「1:パスワード，なぜ大事？どう守授業内容のいくつかを Raspberry Pi で試した結果る？」の物語編を再生した．この様子を図 10 にを以下に述べる．

示す．動画は少し間引かれて表示された．再生の4.1 授業内容

ウインドウを，少し，小さくするとスムーズな動コンピュータリテラシーの授業内容は表 1 に示画になった．音声は，途切れることはなかった．

す．これらの内容は Windows10 のノート PC で利用することを想定している．左端の No の列は，授業内容を区別する番号である．複数の学科を担当しており，No1 から No8 までは，担当する全学科共通に進行する．No9～No19 までの内容は，学科の希望に応じて選択して進行する．
表 1 内容No内容
1 ネットワークの設定，アプリケーションのインストール等
2 インターネット入門 1，Outlook Web App，ビデオ小品集
3 情報端末の基本操作，授業フォルダ，ビデオ小品集
4 コンピュータシステム原理教育用シミュレータ，ビデオ小品集
5 文書作成ソフトの基本操作 1，ビデオ小品
6 文書作成ソフトの基本操作 2，ビデオ小品集
7 表計算ソフトの基本操作 1，ビデオ小品集
8 表計算ソフトの基本操作 2，表計算の課題等 課題，MV 測定
9 表計算ソフトの基本操作 3
10 文書作成ソフトの基本操作 3，課題
11 プレゼンテーションソフトの基本操作 1，PowerPoint，課題
12 3D モデリング POV-Ray 課題
13 プレゼンテーションソフトの基本操作 2
14 web ページ作成，Microsoft Expression Web 415 数式処理，Mathematica
16 プログラミング入門体験，Processing
17 コンピュータリテラシーの補足
18 プレゼンテーションコンテスト
19 web ページコンテスト

図 10 情報倫理デジタルビデオ小品集７の再生
4.4 Mathematica
本学は，Wolfram Research 社とサイトライセンス契約を締結し，学生が所有するノート PC にMathematica をインストールして利用している．しかし，インストールは手順が複雑なこと，5GB を超えるファイルをダウンロードするなど，初学者にとって敷居が高い．Raspbian は Mathematica V12のサブセットが標準でインストールされている．

4.2 Office365 Outlook Web App
学生諸君の電子メールは，表 1 の No2 の授業内容になり，Offfice365 の Outlook Web App を使う．
Offfice365 を起動した様子を図 9 に示す．Rasbianの web ブラウザは Chrome が利用できる．Chromeの起動が完了するまでには，少し待たされるが，web ブラウザを介して利用するため，問題はなさそうである．

158

図 11 Mathematica の実行例 1

図 12 Mathematica の実行例 2

図 14 Submarine Cable Map の表示例 2

何の苦労もなく利用できることに驚いた．実行例を図 11 と図 12 に示す．アニメーションの表示

4.7 Office
Microsoft Office に対応したアプリケーションは，は，情報倫理デジタルビデオ小品集７と同様に，LibreOffice が利用できる．文書処理，表計算，プ間引かれる．さらに表示されたグラフィックスをレゼンテーションの様子を， 図 15 から図 17 にマウスでドラッグすると，視点をリアルタイムで示す．Microsoft Office と大きく異なる点は，ツー変えられるが，実用的でない遅さとなった．これルバーの表示と配置が異なることである．また，以外に問題点は見当たらなかった．

表示は英語表現になっており，利用者を悩ませる

4.5 計算機シミュレータ

ことが危惧される．図 15 は，Windows10 のノーコンピュータシステム原理教育用シミュレータ

ト PC で WORD2016 を使って作成した本論文の執は Java アプレットで作られており，筆者が授業で筆中の原稿を表示したものである．レイアウトが良く活用している．メールサーバと情報端末の間微妙に異なり，ページの割り付けが変わるなど，での情報のやり取りが，アニメーションで表示さ細かい点で違いがあることが分かった．web ブラ

れ，初学者の理解を援助する．残念ながら Raspbian

ウザで利用できる Office365 などを使うことが，現搭載の Chrome では実行できないことが分かった．

実的な選択肢であることが分かった．図 16 は，4.6 海底ケーブルモンテカルロ法で，円周率を求める例である．レ

Submarine Cable Map は，海底ケーブルの敷設状イアウトが微妙に異なることを除き，動作した．

況を示す便利な web サイトである．コンピュータ
リテラシーの授業では，WWW(World Wide Web)の様子を示す上で重宝している．世界中がクモの巣で張り巡らされている様子が表現できる．
地図をマウスでドラッグすると移動することができる．図 13 は，日本付近を拡大して表示した結果である．地図上の任意のケーブルをクリック
すると，そのケーブルがどのように敷設されているのかが示される．右端には，ケーブルに関する補足説明が表示される．
この様子を図 14 に示す．

図 15 文書処理

図 13 Submarine Cable Map の表示例 1

図 16 表計算

159

をインクルードするプログラムは，-lm オプションを付けて cc prog0505.c –lm のようにコンパイルする必要があった．その他，意図的に誤りのあるプログラム，未完成のプログラムを除き，全てコンパイルできた．この様子を図 19 に示す．
表 2 C 言語の章立て章

図 17 プレゼンテーション

タイトル

頁数 プログラム数

1

学習環境の準備822

日常生活にある値

16143

不思議な数

15

94

問題を解く

226

例であるが，タイトルが 2 行になるなど，微妙

5デコレーション

2316にレイアウトが変化することが分かった．
4.8 UNIPA
本学のポータルサイトは UNIPA を利用しており，Raspbian 搭載の Chrome で起動できた．この様子を図 18 に示す．

6

便利なツールや部品の作成

31

167

暗号

3124

8

文字の出現頻度

17

13

9

日本の人口

20

1010 数当てゲーム

201311 暗算クイズ

17912 組込み型プログラミングの体験

15

6

図 17 は，パワーポイントのスライドを開いた

図 19 コンパイルの様子

図 18 UNIPA の様子

5 コンピュータプログラミングⅠ

5.2 Processing 言語

筆者が担当しているコンピュータプログラミン
グⅠの授業内容のいくつかを Raspberry Pi で試した結果について以下に述べる．この授業は，C 言語を学ぶ学科と Processing 言語を学ぶ学科がある．
5.1 C 言語
教科書は，昨年度からプリント本を試作し，「ためしながら学ぶ C 言語」の名称で出版した．今年
度は一部の章を大きく改定し，「ためしながら学ぶC 言語 第 2 版」を完成した．
章立てを表 2 に示す．
このプリント本の内容は，計 138 本のプログラムが用意されている．Raspbian には C コンパイラがインストールされており，これらを対象にコンパイルチェックを行った．
コマンドは cc prog0101.c である．スクリプトを準備してすべてのプログラムをチェックした．三角関数を含むプログラムがエラーになり，math.h160

教科書は，オライリーの「Processing をはじめよう 第 2 版」を使っている[4]．1 年生後期に「コンピュータプログラミングⅠ」で，1 章～9 章，11章の配列(オブジェクトを除く)までを学び，残りの章を，「コンピュータプログラミングⅡ」で学習する．この書籍の「はじめに」には，「『Processingをはじめよう』は教科書ではありません」との記載がある．簡潔な例題と説明が，初学者にとって学びやすい構成になっているが，説明不足な点もある．補足資料を適宜準備し，練習問題も準備することで対応した．教科書は 13 章まで掲載されているが，情報環境学部での経験から，コレクションクラス(ArrayList，HashMap)，インタフェース，継承を理解することが重要と考え，14 章から 17章を独自に執筆した．授業では，第 11 章まで学んだ後に，14 章から 17 章を先に学び，その後，12章と 13 章に戻る流れを組んだ．

表 3

Processing が起動した様子を図 22 に示す．起動

Processing 言語の章立て

はじめに
1 章 ようこそ Processing へ
2 章 コードを書いてみよう
3 章 描く
4 章 変数5 章 反応6 章 移動，回転，伸縮
7 章 メディア
8 章 動き
9 章 関数
10 章 オブジェクト

後，目玉がマウスの方を向くプログラムを試した．

11 章 配列
12 章 データ
13 章 拡張14 章 インタフェース(※)
15 章 ArrayList オブジェクト(※)
16 章 HashMap オブジェクト(※)
17 章 継承(※)
付録 A コーディングの心得
付録 B デバッガ
Processing クイックリファレンス

教科書の章立ては表 3 に示す．なお，筆者にて執筆した章は，※で示した．
Processing は Raspbian には入っていないので，
図 20 に示す web サイトからダウンロードする．
上部の「Download」をクリックし，図 21 に示す「Linux ARM」をクリックし，ダウンロードを行う．ファイルは，ダウンロードフォルダの中に保存される．ダウンロード完了後，/home/pi へファイルを移動した．tar コマンドで展開した後，ディレ ク ト リ を 移 動 し ， Processing を 起 動 し た ．
Processing の起動は，少し待たされた．主な操作を以下に示す．

図 22 Processing の実行結果
Processing のコントリビューションマネージャ
で Sound のライブラリを追加し，教科書 13 章のExample 13-1 を試した．絵の動きに合わせて，効果音が出ることを確認した．この様子を図 23 に示す．Processing は，実用的であることが明らかになった．なお Example 13-2 は，マイクの音に反応するプログラムであるが，Raspberry Pi にはマイクが付いていないので，別途，USB で接続できるマイクを準備する必要がある．

tar xvzf processing-3.0.1-linux-armv6hf.tgz
cd processing-3.0.1-linux-armv6hf./processing

図 23 Processing の実行結果

6 発光ダイオード(LED)の点滅
情報環境学部の学生が，最初に学ぶコンピュー

図 20 Processing の web サイト

タプログラミング A の授業で Java を学習し，授業を終えた後，エクステンションプログラムで 3 日間の集中講義を行ったことがある．タイトルは「コンピュータプログラミング A を教わった後のハードウェア入門」で，当時は Arduino を使った．典型 例 で あ る 発 光 ダ イ オ ー ド (LED) の 点 滅 を ，Raspberry Pi で試した．通称，L チカと呼ばれているプログラムである．この内容は，「ためしながら学ぶ C 言語 第 2 版」に掲載されている Arduino のプログラムを Raspberry Pi 用に書き換えた．
Raspberry Pi では wiringPi.h をインクルードする

図 21 Processing のダウンロード

161

ところが，ポイントである．Arduino では，setup関数と loop 関数を定義し，これらにプログラムを記述する仕組みになっている．setup 関数では，変数などの初期化を行い，loop 関数でハードウェアに実行させたい処理を記述する．Raspberry Pi には，このような仕組みは無く，プログラマの責任で記述することになる．
以下に，LED の点滅をためすプログラムを示す．
#include <stdio.h>#include <wiringPi.h>
int main(void){
int i;}

図 25 LED の点灯の様子

7 まとめと今後の課題

if (wiringPiSetupGpio() == -1) {printf("error !¥n");return -1;}
printf("ok !¥n");pinMode(10, OUTPUT);
for (i = 0; i < 10; i++) {digitalWrite(10, 1);delay(100);
digitalWrite(10, 0);delay(100);}
return 0;

Raspberry Pi は，教育用に開発されたシングルボードコンピュータである．本学の共通教育「情報」
で扱っている内容をいくつか試した結果，授業内容の大半をクリヤできることが明らかになった．
自宅と大学に Raspberry Pi の環境があれば，受講者は小さな microSD カードを持ち歩くだけで，情報教育の環境を入手できることになる．クラウドのシンクライアントが主流になりつつあるコンピ
ュータ教室は，Raspberry Pi に置き換わる可能性もwiringPiSetupGpio()関数で，Raspberry Pi の状態否定できない．その他，情報教育に関する実験なを判定し，良ければ，pinMode(10, OUTPUT);で 10

どの環境は microSD に準備しておき，受講者の人番のポートを出力に設定する．digitalWrite(10, 1);数分準備することにより，microSD を差し替える

関数の第 1 引数でポートを指定し，第 2 引数でだけで色々な実験テーマに対応できる．まだ，1(HIGH) を 指 定 し ， LED が 点 灯 す る ． そ の 後

Raspberry Pi を体験されていない方々に，本論文がdelay(100);で 100ms の遅延を入れ，digitalWrite(10,切っ掛けになり，一度体験されることを望むとと0);関数の第 1 引数でポートを指定し，第 2 引数でもに，情報教育への活用の実践報告を期待したい．

0(LOW)を指定し，発光ダイオードが消灯する．そ便利なことばかりに聞こえるが，注意しないとの後 100ms の遅延を入れる．これらを for 文で 10いけないこともある．それはセキュリティについ回繰り返すことにより，LED が 10 回点滅する．てである．
「Raspberry Pi から侵入 ～NASA の事例

コンパイルと実行の様子を図 24 に，Raspberry Piから学ぶ IoT 時代のセキュリティ～」が事例としとブレッドボードに接続した LED の発光の様子て取り上げられている．活用用途に応じたセキュを図 25 に示す．なお，回路図は省略した．

リティ対策を，今後考えておかなければならない．

参考文献
[1]
[2]
[3]
[4]

図 24 LED の点滅プログラムのコンパイルと実行

162

Raspberry Pi の公式サイト
https://www.raspberrypi.org/ 2019 年 9 月 20 日閲覧
Arduino の公式サイトhttps://www.arduino.cc/ 2019 年 9 月 20 日閲覧
Raspberry Pi 3 B+ スターターキット
https://www.pc-koubou.jp/products/detail.php?product_id=662505 2019 年 9 月 20 日閲覧
Casey Reas，Ben Fry 著，船田 巧 訳，Processing をはじめよう 第 2 版
https://www.oreilly.co.jp/books/9784873117737/ 2019 年 9 月20 日閲覧