Raspberry Pi Zero WHをセットアップする

スポンサーリンク
Raspberry Pi Zero

これまで、色々なマイコンデバイスを使って電子工作を行ってきました。

ところで、電子工作用のマイコンデバイスといえば、真っ先に思い浮かぶのは「Raspberry Pi」ですが、私はこれまでRaspberry Piを使ったことがありません。
そんな訳で、一度くらいはRaspberry Piを触ってみようと思い、セットアップを体験してみることにしました。

試したのは、安価でさまざまな電子工作に活用できると思われる「Raspberry Pi Zero WH」です。


なお、セットアップにあたっては、以前購入していた以下の書籍を参考にしました(2017年6月の発行です。本を買ってから試すまで、なんと2年以上もほったらかしにしていたことになります)。


必要な部材

今回準備した部材は以下のとおりです。
Raspberry Pi Zero WHの他に、新たに購入したのは、「mini-HDMI – HDMI変換アダプタ」だけで、その他は、既に家にあったものを流用しました。
「mini-HDMI – HDMI変換アダプタ」はなかなか見つからず、ようやく日本橋の「デジット」で購入しました。500円程度でした。

  • Raspberry Pi Zero WH
  • mini-HDMI – HDMI変換アダプタ(mini-HDMIオス, HDMIメス)
  • HDMIケーブル
  • ディスプレイモニタ
  • microUSB – USB変換アダプタ(micro-Bオス, Type-Aメス)
  • USBハブ
  • USBキーボード
  • USBマウス
  • microUSBケーブル(micro-B, Type-A)
  • ACアダプタ(USB接続)
  • microSDカード(8GB)

起動用microSDカードの準備

基本的には、参考書籍に記載されている手順に沿って実施しました。なお、本準備作業はWindows PCで行いました。

  • Raspberry Pi公式サイトから、NOOBSファイルをダウンロードします(時間がかかります)。なお当初は、現時点の最新版をダウンロードしたのですが、後のOSインストールのフェーズで、「Raspbian Full」と「LibreELEC_RPi2」の2種類しか選択できず、「Raspbian Full」では8GBのmicroSDカードでは容量不足となってしまいました。そのため、今回は、大変古いバージョンになってしまいますが、参考書籍に載っている「2017-04-10」をダウンロードしました。
  • SD AssociationのWebページから「SD Card Formatter」をダウンロードします。
  • ダウンロードファイルを展開し、exeファイルをダブルクリック、指示に従ってインストールします。
  • インストールが完了したら、SD Card Formatterを起動します。
  • microSDカードをPCに挿入します。
  • 「フォーマットオプション」を「上書きフォーマット」にして、フォーマットを行います(時間がかかります)。
  • NOOBSファイルのダウンロード、microSDカードのフォーマットが共に完了したら、ダウンロードしたNOOBSファイルを展開し、中の全データをmicroSDカードにコピーします。

初期設定

それではいよいよ、Raspberry Piを起動し、初期設定を行っていきます。

  • 準備した部材を使って、Raspberry Piにディスプレイモニタ、USBキーボード、USBマウスを接続します。
  • microSDカードスロットに、OSを書き込んだmicroSDカードを挿入します。
  • ACアダプターで、Raspberry Piを電源に接続すると、起動が開始します。
  • 「Language」で「日本語」を選択します。
  • インストールするOSとして「Raspbian with PIXEL」を選択して、「インストール」をクリックします(時間がかかります)。
  • インストールが完了したら、「Top」>「Preferences」>「Raspberry Pi Configuration」をクリックします。
  • 「System」>「Change Password」をクリックして、パスワードを変更します(初期パスワードは「raspberry」です)。
  • 「Localisation」>「Set Locale」をクリックして、「Language」を「ja(Japanese)」、「Country」を「JP(Japan)」、「Character Det」を「UTF-8」に設定します。
  • 「Localisation」>「Set Timezone」をクリックして、「Area」を「Asia」、「Location」を「Tokyo」に設定します。
  • 「Localisation」>「Set Keyboard」をクリックして、「Country」を「Japan」、「Variant」を「Japanese」に設定します。
  • 「Localisation」>「Set WiFi Country」をクリックして、「Country」を「JP Japan」に設定します。
  • 画面右上の「ネットワーク」アイコンをクリックし、使用しているWi-Fiネットワークを選択、パスワードを入力します。接続が完了すると、アイコンの絵柄が変わります。

OSの更新

  • 「Top」>「アクセサリ」>「LXTerminal」をクリックします。
  • $ sudo apt update
  • $ sudo apt upgrade(時間がかかります)
  • $ sudo apt install fonts-ipafont fonts-ipaexfont fonts-takao

ネットワーク設定

  • $ sudo chmod 666 /etc/dhcpcd.conf(次のフェーズで、固定IPへの変更権限がないというメッセージが出たので、この処理を行いました)
  • 画面右上の「ネットワーク」アイコンを右クリックし、「Wireless & Wired Network Settings」を選択します。
  • 「Configure」で「wlan0」を選択します。
  • 「Automatically configure empty options」のチェックを外します。
  • 「IPアドレス」に、DHCPで現在取得されているアドレス(「ネットワーク」アイコンにカーソルを持っていくと表示されます。このアドレスを固定IPアドレスとして採用します)を入力します。
  • 「Router」に、Wi-Fiルータのマニュアルに記載されている、ルータのIPアドレスを入力します。
  • 「DNS Servers」に、「$ cat /etc/resolv.conf」で表示される値を入力します。
  • 「適用」をクリックします。

リモート操作

リモート操作は、Macintoshから行うこととして、準備を行います。

  • 「Top」>「設定」>「Raspberry Piの設定」をクリックします。
  • 「インターフェース」>「SSH」を「有効」に設定します。
  • Macで「ターミナル」を起動します。
  • $ slogin pi@192.168.11.45
  • Raspberry Piに対して、既にいちど本設定を実施済みの状態で、再度同じ設定をやり直す場合(OSの再インストールなど)は、Macが以前の設定を覚えているため「WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!」というメッセージが表示されます。この場合は「$ ssh-keygen -R 192.168.11.45」と入力し、設定をクリアしてから、処理を継続します。
  • 警告メッセージが表示されるので「yes」と入力します。
  • Raspberry Piのpiユーザに設定されているパスワードを入力します。この状態で、MacからRaspberry Piをリモート操作できます。
  • $ exit(リモートアクセスを終了します)
  • 「インターフェース」>「VNC」を「有効」に設定します。
  • Macで、RealVNCのサイトから「VNC Viewer」をダウンロードします。
  • ダウンロードされたdmgファイルをダブルクリックし、表示される「VNC Viewer」アイコンを「アプリケーション」フォルダにドラッグ&ドロップします。
  • 「VNC Viewer」を起動します。
  • 画面上部のIPアドレス入力欄に、Raspberry Piのアドレスを入力し、「Enter」キーを押します。
  • 確認メッセージで「Continue」クリック、ユーザ名とパスワードを入力します。この状態で、MacからRaspberry Piをリモート操作できます。

日本語入力設定

  • $ sudo apt install ibus-mozc
  • 画面右上に「JP」というアイコンが現れるので、「日本語 – Mozc」を選択すると、アイコンが「あ」に変わり、日本語が入力できるようになります。

Webサーバ設定

以下の設定を行うと、今回セットアップしたRaspberry Piを、Webサーバとして活用できるようになります。
なお、その際には、「/var/www/html/」が公開フォルダになります。

  • $ sudo apt install nginx
  • $ sudo /etc/init.d/nginx start
  • 他の端末のWebブラウザで「http://Raspberry Piの固定IPアドレス/」にアクセスすると、Raspberry Piに格納されたWebページが表示されます。
  • $ sudo apt install php5-fpm
  • (2019/12/25追記)$ sudo apt install php5-gd(以前作っていた、画像を扱うPHPプログラムが、本Raspberry Pi上で動作しなかったため、この処理を追加しました。)
  • /etc/nginx/sites-available/default」ファイルを開き、項目「index」に「index.php」を追加します。また、45行目〜52行目(location … { … } )のコメントアウト「#」を取り除きます(ただし、49行目の「fastcgi_pass」の行のみ、「#」をつけたままにします)。
  • /etc/php5/fpm/php.ini」ファイルを開き、772行目の「;cgi.fix_pathinfo=1」を、「cgi.fix_pathinfo=0」に変更します。
  • $ sudo /etc/init.d/php5-fpm restart
  • $ sudo /etc/init.d/nginx restart
  • /var/www/htmp/」下にテスト用PHPファイル(test.php)を作成し、他の端末のWebブラウザで「http://Raspberry Piの固定IPアドレス/test.php」にアクセスすることで、正常動作を確認します。
  • $ sudo apt install mysql-server php5-mysql
  • MySQLの管理者パスワードを決めて、入力します(2回)。
  • $ mysql -u root -p
  • パスワードを入力します。
  • ログインできることで、正常動作を確認します。「$ quit」でMySQLからログアウトします。

各ステップで結構な待ち時間があり、セットアップには非常に時間がかかってしまいました。
ただ、こんなに簡単に、Raspberry PiがWebサーバとして使えるとなると、色々なことに活用できそうです。
当初は、セットアップを体験してみるだけのつもりでしたが、もう少し、Raspberry Piを勉強してみようと思います。

 

なお、私がRaspberry Piの使い方を習得するのにあたっては、以下の書籍を参考にさせていただきました(私が参考にしたのは「第4版」ですが、既に「第6版」が出版されています)。


Raspberry Piの入門書には、電子工作について詳しく書かれているものが多いのですが、本書は、Raspberry Piをパソコンやサーバーなどとして活用する方法についても詳しく書かれており、そのような用途でRaspberry Piを使いたい方にはおすすめです。