数千円で一式を揃えられる、安くて小さなマイコンボードRaspberry Pi Zero (WH)を使って、ITエンジニアがIoTを学んだり、家族でゲームを作って楽しんだり、電子工作へ挑んだりとITを身近なものとして堪能することができます。
本ページでは、OSがLinux系ですのでMark System Technoが長年培った大規模システム向けシェルプログラミングやインフラ設計・運用の考え方も紹介します。
目次
Raspberry Pi Zero(WH)の仕様
Raspberry Pi Wikipediaを参考に主要な仕様を抜粋して記載します。
SoC | Broadcom BCM2835 |
CPU | ARM1176JZF-S シングルコア 1GHz 32Bit RISC ARM |
Mem | LPDDR2 SDRAM 512 MB |
HDD | なし ※別途MicroSDカードを購入、代用 |
GPU | Broadcom Video Core IV 250 MHz OpenGL ES 2.0 24 GFLOPS MPEG-2, VC-1, 1080p30 H.264/MPEG-4 AVC High Profile ハードウェアデコーダ・エンコーダ |
USB | Micro USB Type B×2 (USB2.0×1 , 電源供給のみ×1) |
有線LAN | なし |
無線LAN | Broadcom BCM43143 IEEE 802.11 b/g/n 2.4 GHz |
Bluetooth | Bluetooth 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上でフォーマットをしておくと良いでしょう。
ただし、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ドライバをインストールします。
Windows10へMicroSDカードを挿入します。
準備としてMicroSDカード上のRaspberry Pi OS起動ファイルを編集します。
起動ファイルを編集することにより、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)」を選択、適当な場所にダウンロードしてください。
ダウンロード時に「安全にダウンロードできません」などの警告が出ても、継続してください。
ダウンロードしたファイルを一般的な解凍ソフトウェア(+Lhaca、Lhaplus)などを用い、解凍します。
解凍したファイルをエクスプローラを用い参照します。フォルダの「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経由でログインしましょう
音楽を聴こう
自作のサンプルmp3ファイルを鳴らしてみます。