Raspberry Pi Zero Labo

数千円で一式を揃えられる、安くて小さなマイコンボードRaspberry Pi Zero (WH)を使って、ITエンジニアがIoTを学んだり、家族でゲームを作って楽しんだり、電子工作へ挑んだりとITを身近なものとして堪能することができます。
本ページでは、OSがLinux系ですのでMark System Technoが長年培った大規模システム向けシェルプログラミングやインフラ設計・運用の考え方も紹介します。

Raspberry Pi Zero(WH)の仕様

Raspberry Pi Wikipediaを参考に主要な仕様を抜粋して記載します。

SoCBroadcom BCM2835
CPUARM1176JZF-S シングルコア 1GHz 32Bit RISC ARM 
MemLPDDR2 SDRAM 512 MB
HDDなし ※別途MicroSDカードを購入、代用
GPUBroadcom Video Core IV 250 MHz
OpenGL ES 2.0 24 GFLOPS
MPEG-2, VC-1, 1080p30 H.264/MPEG-4 AVC High Profile
ハードウェアデコーダ・エンコーダ
USBMicro USB Type B×2 (USB2.0×1 , 電源供給のみ×1)
有線LANなし
無線LANBroadcom BCM43143
IEEE 802.11 b/g/n 2.4 GHz
BluetoothBluetooth 4.1
Bluetooth Low Energy
サイズ65 mm(W) × 30 mm(D) × 9 mm(H)
電源電圧5 V 1.2 A

Raspberry Pi OSのインストール

Raspberry Piは、MicroSDカードへ記憶させた基本ソフトウエア(OS)を使用して動作します。したがって、購入したMicroSDカードへOSを書き込む必要があります。ここではWindows10を用い説明します。
以下の順で作業を実施していきます。

  • MicroSDカードへOSをインストール(書き込み)するために、必要な資材を調査します。
  • 自分が所持しているPCへMicroSDカードを認識させます。
  • OSイメージをダウンロード、そのイメージをMicroSDカードへ書き込みます。

パソコンの接続ポートを調べましょう

調べる目的は、MicroSDカードをPCへ認識させる。
これだけです。

PCがSDカード用のスロット、MicroSDカードが直接挿入できるタイプであれば良いのですが、スロットが無ければ、SDカードへリード、ライトを行うスロット付きUSBを事前に購入しておく必要があります。

Raspberry Pi Zero (WH)のUSB規格は2.0となります。PCのUSB規格が3.0であっても下位互換しますので、心配ありません。

USBポートがないPCは、特に見にすることが出来ませんが、その場合は、USBポートを準備しましょう。

事前に準備しておくもの

以下に参考を挙げておきます。SDカードが直接挿入できるPCであればこれだけです。
MicroSDカードの容量は、16GBあたりがお勧めです。その理由は、フルインストール直後の使用容量が6.9GB程度ですし、数百円で買えます。ビデオカメラの動画保存やファイルサーバとした用途を計画しているのであれば、それ以上のサイズを購入しておくことも良いと思います。
容量が不足してもファイルシステムの拡張可能です。詳細は別途記載します。

SDカードスロットがPCに付属していなければ、別途、以下のようなSDカードのリーダ、ライタ用USBも購入しておきます。(中古屋さんで100円でした。)

【参考】インストール直後のディスク使用状況

Raspberry PI Zero(WH) へOSをフルインストールした直後のファイルシステムを記載しておきます。
「/dev/root」がディスク全体を表しています。行の意味は、ディスク全体が「15GB」、使用している容量は「6.9GB」となります。

$ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/root        15G  6.9G  6.8G  51% /
devtmpfs        184M     0  184M   0% /dev
tmpfs           216M     0  216M   0% /dev/shm
tmpfs           216M  3.2M  213M   2% /run
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           216M     0  216M   0% /sys/fs/cgroup
/dev/mmcblk0p1  253M   54M  199M  22% /boot
tmpfs            44M  4.0K   44M   1% /run/user/1000

MicroSDカードの認識確認と初期化について

MicroSDカードをPCへ挿入した後、通常どおりエクスプローラでドライブが認識されていれば、問題ありません。
期待通りに認識されない場合は、他の機器(Andoroidなどのスマートフォン)へ挿入して物理的な故障の可能性を取り除いたり、接続機器の故障や相性を疑い問題解決してください。
”BitLocker To Go” 機能による弊害も最近よくあります。

後述するインストール方法では、MicroSDカードへOSイメージをそのまま書き込むことになります。その段階でファイルシステム自体も復元されてしまいますので、新規購入したMicroSDカードであれば、初期化する必要はありません。
他で使っていたり、余っていたものを流用する場合は、「SD Card Formatter」などを使って、PC上でフォーマットをしておくと良いでしょう。

SD Card Formatter

ただし、Windowsの ”BitLocker To Go” 機能で暗号化されたMicroSDカードはフォーマットすることができません。暗号化したWindows上でMicroSDカードの暗号を解除した後、フォーマットする必要があります。

Raspberry Pi OSのダウンロードと書き込み

以下の「Raspberry Pi」サイトからインストーラをWindows10 PCへダウンロードします。
Raspberry Pi OS
サイト上の「Download for Windows」ボタンを押下します。

ダウンロードが完了したら、そのファイルを実行します。

  • 「RASPBERRY PI OS FULL(32-BIT)」を選択します。
  • インストール先SDカードを選択します。
  • 「WRITE」ボタンを押下します。

「Write Successful」画面がホップアップされれば、インストールは完了です。

SDカードを抜き、表示されているインストーラ画面をクローズします。

抜いたSDカードを再度挿入し、以下のファイル群が参照できていれば、本作業は完了となります。
MicroSDカード上には、Windows10では認識できないRaspberry Pi用のファイルシステム(ext4)が出来ています。したがって、警告は無視、フォーマットもしません。

一部(boot領域パーテーション)はWindowsでも認識可能なファイルシステム(FAT32)が出来ていますので、以下のように参照できます。

以上でインストール作業は完了です。
現状はOSがインストール出来ただけであり、OSへアクセスすることができません。
次項の「Windows10とUSBケーブルだけで初期セットアップ(OTG)」へ進みましょう。

広告

Windows10とUSBケーブルだけで初期セットアップ(OTG)

折角、格安マイコンボードRaspberry Pi Zero (WH)を買ったのに(既にHDMIモニターなど周辺機器を持っていれば別ですが)、セットアップのため、必要なHDMIモニターやキーボード、マウスなどの周辺機器を買い揃えるのは考えものです。

以下の仕様を利用することにより、Windows10とUSBケーブル(充電専用ケーブルではない)だけを使い、格安の上に格安で、Raspberry Pi Zero (WH)へアクセスおよび操作する手段であるOTG(USB On-The-Go)環境を整えていきます。

  • Raspberry Pi Zero (WH)にはデータ通信可能なUSBポートが1つある。
  • Raspberry Pi Zero (WH)は無線LANができる。
  • Raspberry Pi OSはリモート接続(ssh)ができる。
  • Windows10 PCにもUSBポートがある。
  • Windows10 PCは標準コマンドラインでリモート接続(ssh)が利用できる。

上記の仕様から、以下の順番でセットアップすることにより、Raspberry Pi Zero (WH)を無線LANを用い自宅または職場のLANへ参加させます。
LANへ参加後はリモート接続を用いRaspberry Pi Zero (WH)を遠隔操作していきます。

手順は以下の流れになります。

Step 1. OTG(USB On-The-Go) Setup

準備としてWindows10へOTGドライバをインストールします。

Step 2. OTG、ssh 有効化設定

Windows10へMicroSDカードを挿入します。
準備としてMicroSDカード上のRaspberry Pi OS起動ファイルを編集します。
起動ファイルを編集することにより、OTG、sshを有効化します。

Step 3. OTG、ssh 接続

MicroSDカードをWindows10からRaspberry Pi Zero (WH)へ付け替えます。
USBケーブルを用い、Windows10とRaspberry Pi Zero (WH)を接続します。
ssh接続を試み、接続の正常性を確認します。

Step 1. OTG(USB On-The-Go) Setup

Windows10は、Mac OS やLinux系OSと違い、デフォルトだとUSBによるOTG(USB On-The-Go)が無効化されています。そのため、コンピュータとコンピュータをつなげ、TCP/IP通信ができない状態です。
本手順では、Windows10へドライバーを追加・インストールすることにより、OTGを有効化させ、Raspberry PiとUSBケーブルを用いた通信をする準備をします。

以下のサイト「Microsoft Update カタログ」へブラウザでアクセスします。
検索「USB RNDIS Gadget」を実行します。

表示されたページから複数あるドライバから以下の表のものを選択します。

ドライバ名Acer Incorporated. – Other hardware – USB Ethernet/RNDIS Gadget
対応製品Windows 7,Windows 8,Windows 8.1 and later drivers

※「… and later drivers」はWindows10も含みます。

「ダウンロード」ボタンを押下します。

ダウンロード画面でリンクの部分をポイント、右クリックでホップアップ画面の「名前を付けてリンク先を保存(K)」を選択、適当な場所にダウンロードしてください。
ダウンロード時に「安全にダウンロードできません」などの警告が出ても、継続してください。

ダウンロードしたファイルを一般的な解凍ソフトウェア(+LhacaLhaplus)などを用い、解凍します。

解凍したファイルをエクスプローラを用い参照します。フォルダの「RNDIS.inf」を選択、右クリックでインストールを実行します。

これで、Windows10側の準備は完了です。
一回実施すれば、再度、実施する必要はありません。

Step 2. OTG、ssh 有効化設定

Raspberry Pi Zero (WH)も初期インストールの状態では、Gadgetモード(g_ether)が無効化されていて、Windows10のOTG用のGadgetモードと通信することができません。ここでは、Windows10へMicroSDカードを認識させ、Windows10の「メモ帳」を使用して、起動ファイルを編集、設定してきます。

MicroSDカードをWindows10へ認識させます。
以下のようなフォーマットはしないようにお願いします。

エクスプローラを用い、認識したドライブを開きます。
※デフォルト設定だと、自動でエクスプローラが開きます。
開いたドライブから「config.txt」をダブルクリックしてメモ帳で開きます。

開いたメモ帳の最終行へ以下の行を追加、保存・終了します。

dtoverlay=dwc2

次に同じように「cmdline.txt」をメモ帳で開きます。

一行で書かれたコマンド中の「rootwait」の後ろに「スペース」で区切りながら以下の文字列を追加します。

modules-load=dwc2,g_ether

USB OTGドライバー「 dwc2」、ethernet用Gadgetモジュール「g_ether」をRaspbreey Pi OS起動時に読み込ませます。

ssh通信を有効化するためにMicroSDカードへ空ファイルの「ssh」を作成します。
※拡張子は付けませんので、注意してください。

エクスプローラの表示モードで「ファイル拡張子の表示」が無効化されている場合は、以下のように表示するようにします。

エクスプローラの余白をポイント、右クリックにより「新規作成」、「テキスト ドキュメント」を選択します。

ファイル名を「ssh」と入力してください。

上記のように「ssh」ファイルが出来れば、Raspberry Pi側の前準備は終了です。以下のようにMicroSDカードを取り外してください。

Step 3. OTG、ssh 接続

MicroSDカードをRaspberry Pi Zero (W)へ挿入します。

USBケーブル(USB A – Micro USB Type B)をRaspberry Pi Zero (W)へ接続します。ここでは、画像のように基盤へ「USB」と記載されているポートへ挿します。
※「PWR」と記載されているポートは電源供給のみのポートですので、OTGはできません。

次にもう片方のUSBをWindows10側へ接続します。
Raspberry Piへ電源供給され、ボードのLEDが点灯、点滅していきます。

接続後、しばらくすると、Windows10でUSBを認識した音が出れば、ほぼ成功です。

Windows10で認識された状況を確認していきます。
このような地味な作業を実施することで、作業や仕組みの理解度を深めることができます。

まずは、デバイスマネージャを開き、「ネットワークアダプタ」に「USB Ether/RNDS Gadget」が表示されていれば、事前準備によりインストールしたドライバが正常に機能したことを確認できます。

USBポートがGadgetモードでTCP/IP通信用イーサネットの機能をエミュレートしたことを意味します。

実際に、無線LANと同じようにネットワークカードとして有効になっていることを確認していきます。

[スタート]→[設定(歯車マーク)]→[ネットワークとインターネット]の順に選択していきます。
下記の画面の[イーサネット]→[オプションを変更する]を選択します。

以下のように、Gadgetドライバでイーサネットアダプタが作成されていれば、何かしらのIPアドレスが振られ、機能できることを示しています。OTG(USB On-The-Go)の確認が完了しました。

Windows10上でターミナルエミュレーター「Tera Term」をダウンロード、インストールします。
「Tera Term」使って、ssh接続をおこないます。
以下のように入力してください。
※ここで、「raspberrypi.local」の名前解決が…という方は、初心者ではないので、ご自分で調べてください。

初めて接続するときは、暗号化通信の「セキュリティ警告」が出ますが、「続行」ボタンを押下してください。

初期状態で用意されているユーザー、パスワードを用いログインします。

ユーザー名pi
パスワードraspberry

上記のようにログインができれば、接続確認は終了です。
後は、コマンドやOS、ネットワークアーキテクトを学んでいけば、立派なLinuxユーザーの仲間入りです。

Raspberry Pi Zero(WH)の環境を整えましょう

Raspberry Pi OSを最新化しましょう

Raspberry Pi OSを最新化するコマンドとその解説を記載します。
OSやアプリケーションを最新化する目的も記載しておきます。
画像選択でリンクへ移動します。

パスワードを変更しましょう

インストール直後のユーザ名「pi」、パスワードは「raspberry」です。
慣習に従って、パスワードを変更しましょう。
画像選択でリンクへ移動します。

ロケールを日本語へ変更しましょう

ロケールとは、ユーザーが利用する言語、地域など、ユーザーインターフェイスで表示したい主に自然言語(英語、日本語、ドイツ語など)を設定するパラメーターです。Rasberry Pi OSをインストールした直後は英語となっていますので、日本語へ変更しましょう。
画像選択でリンクへ移動します。

時刻を日本時間へ変更しましょう

無線LANを設定しましょう

IPアドレスを固定化して無線LAN経由でログインしましょう