Raspberry Pi Zero WHを購入
秋月電子通商 で色々買いました。
他の部品も買ったのでここでRaspberry Piも購入しています。
今回買ったのは一番安いRaspberry Pi Zeroです。 Raspberry Pi Zeroには素の状態の無印のものと Wi-Fi/Bluetoothが着いたW、 さらにGPIOピンヘッダが付いたWHがあります。
直接基盤にハンダ付けしたい場合はWを買いますが、 普通はWHを買っておいた方が便利です。
というわけでRaspberry Pi Zero WHを買いました。 今回買ったのはケース付き2680円(税込み)でこちら:
Raspberry Pi Zero WH (ラズベリーパイゼロ ダブルエイチ) ケース付き: マイコン関連 秋月電子通商-電子部品・ネット通販
ケースは別売り650円で売ってるのでWH単体(2160円)と別々に買うよりお得。 まあ、実際他のもの色々付けていくのでケースを使うかどうかはわかりませんがあっても困らないので。
これとACアダプター(税込み700円)を購入。
スイッチングACアダプター(USB ACアダプター) MicroBオス 5V3A: 電源一般 秋月電子通商-電子部品・ネット通販
Raspberry Pi Zeroは電力をそれほど使わないので、 スマホなどの充電用のmicro USBの充電器で十分みたいですし、 USBアダプタも持ってるのでわざわざ必要ないかもしれなかったのですが 今後別なのも買うかもしれないしとりあえず。
SDカードが店舗に見当たらなかったのでビックカメラに行ってmicroSDカードも購入。
8GBでも十分っぽいのですが、8GBが売ってなかったので16GBを。
とか色々買うのであればRaspberry Piだけ買いたいならAmazonとかで スターターセットを買ったほうが安くて楽です。
今回は秋月電子の店舗に行って色々衝動買い的な感じもあるので色々買ってしまいました。
これ以外に、microSDをPCから直接いじるために カードリーダーとかがあると便利。
ウチのDellのノートPCにはSDカードリーダーが付いていて、 下みたいなmicroSDのSDカードへのアダプタが家にあったので今回はそれを使ってmicroSDに書き込んだりしています。
OSインストール
今回はRaspberry Pi公式のOSがRaspbianをヘッドレスインストール(Raspberry Piからのモニタ出力など無しでのインストール)します。
この方法だとmicroSDへ書き込める環境とWi-Fiの環境さえあればRaspberry Piがセットアップできます。
OSについてはUbuntu系のものとかもよく使われてる様ですが、 今回はDesktop環境は作らないので軽いRaspbianを使います。
OSイメージのダウンロード
まずはOSのイメージのダウンロード。
ここに3つほど種類がありますが、Desktopも要らないので一番軽いRaspbian Buster Liteを使います。 Liteは400MB程ですが公式ページからダウンロードすると結構時間かかります(~数十分?)
なので日本のミラーから落とします。
http://ftp.jaist.ac.jp/
とか。
この
http://ftp.jaist.ac.jp/pub/raspberrypi/raspbian_lite/images/
というアドレスの下に日付ディレクトリがあるので一番新しいところから
http://ftp.jaist.ac.jp/pub/raspberrypi/raspbian_lite/images/raspbian_lite-2019-07-12/2019-07-10-raspbian-buster-lite.zip
を取得。ここからだと数分くらいで取れました。
OSイメージの書き込み
イメージの書き込みツールも色々ありますが、今回はWindowsで Raspberry P公式のInstalling operating system images - Raspberry Pi Documentationでも紹介されているbalenaEtcher を使いました。 (macOS番もあります。)
ダウンロードしてインストールして立ち上げ、
先程ダウンロードしたOSイメージを選択。
Flash(書き込み)します。
書き込み後ドライブEを使うにはフォーマットする必要があります。 というダイアログが出てきました。
今回書き込んだSDはドライブDとして認識されていましたが、 Etcherの書き込みで、boot領域をドライブDとして、 その他OS部分をドライブEとしてフォーマットしてしてからインストールを行った様です。
これでまたフォーマットしてしまうとOS部分が消えてしまうのでキャンセルします。
Wi-Fi/SSH設定
さて、これで完了するとSDカードがアンマウントされるので一度取り外してもう一度 差し込みます。
そうするとまたドライブEをフォーマットするかどうか聞かれますがキャンセル。
ドライブDのboot領域は普通に開けるはずなのでそちらを開きます。
そのなかに、まずはsshという空のファイルを作ります。
右クリックから新規作成でテキストドキュメント、として、ファイル名をsshにします。
このとき、上のタブの表示を開いてファイル名拡張子に必ずチェックを入れておきます。 そしてファイル名には.txtとか入らないようにします。
sshファイルは中身は空でOK。 このファイルがあることによりSSHの接続を受け付けるようになります。 (Raspberry Pi初回起動後このファイルは消えてsshの出来る設定になるようにシステムファイルが書き換えられます。)
次に、wpa_supplicant.confというファイルを作ります。
この中身は
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
country=JP
update_config=1
network={
ssid="<ssid>"
psk="<passphrase>"
}
といった内容にします。 <ssid>、<passphrase>には使ってるWi-FiのSSID/Passphraseを入れます。
追記: 2019/10/27
複数のWi Fiを設定したい場合には
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
country=JP
update_config=1
network={
ssid="<ssid>"
psk="<passphrase>"
priority=2
}
network={
ssid="<ssid2>"
psk="<passphrase2>"
priority=1
}
の様にnetwork
設定を別途加えてあげればOK。
このとき、priority
というパラメーターを設定してあげると
数字が大きい方を優先的に使う様にしてくれます。
追記ここまで
このファイルは起動後 /etc/wpa_supplicant/wpa_supplicant.confにコピーされてネットワークの接続に使われます。
Passphraseが平文になって保存されるのでそれが嫌な場合はaハッシュ化されたキーを保存する、という方法もあります。 そのままファイルを取られたらそこまで意味はありませんが。
起動して接続
起動
ここまで出来たらmicroSDをPCから外してRaspberry Piの方に挿します。
挿したら電源供給用のmicro USBを挿して起動します。 (2つ口がありますが外側の方。挿すと直接起動するようになってます。)
micro USBをさすとすぐ近くにある緑色のランプがチカチカするはずです。 しばらくするとチカチカが終わり点灯状態になります。 これで起動したはずです。
Wi-Fiのルーターなどが確認できるなら、そこから接続している端末を見て、 Raspberry Piの接続を確認します。 もし接続していなかったら上記の wpa_supplicant.confの設定が間違っている可能性が高いです。
接続
そしたらsshを使ってRaspberry Piに接続します。
MacのターミナルなりWindowsのWSLとかPuttyから
- host名: raspberrypi.local
- user名: pi
- password: raspberry
で接続します。
(-_-) $ ssh [email protected]
[email protected]'s password:
Linux raspberrypi 4.19.57+ #1244 Thu Jul 4 18:42:50 BST 2019 armv6l
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Wed Aug 14 19:22:51 2019 from fe80::8a7:dd96:a485:9139%wlan0
SSH is enabled and the default password for the 'pi' user has not been changed.
This is a security risk - please login as the 'pi' user and type 'passwd' to set a new password.
pi@raspberrypi:~ $
Raspberry Piと同じWi-Fi環境に居ればこれでアクセス出来るはずです。
中身を見てみる
pi@raspberrypi:~ $ df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/root 14695788 1183612 12882476 9% /
devtmpfs 217220 0 217220 0% /dev
tmpfs 221548 0 221548 0% /dev/shm
tmpfs 221548 5884 215664 3% /run
tmpfs 5120 4 5116 1% /run/lock
tmpfs 221548 0 221548 0% /sys/fs/cgroup
/dev/mmcblk0p1 258096 39970 218126 16% /boot
tmpfs 44308 0 44308 0% /run/user/1000
pi@raspberrypi:~ $ cat /proc/cpuinfo
processor : 0
model name : ARMv6-compatible processor rev 7 (v6l)
BogoMIPS : 697.95
Features : half thumb fastmult vfp edsp java tls
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x0
CPU part : 0xb76
CPU revision : 7
Hardware : BCM2835
Revision : 9000c1
Serial : 000000004145538c
pi@raspberrypi:~ $ cat /proc/meminfo
MemTotal: 443100 kB
MemFree: 195012 kB
MemAvailable: 350760 kB
Buffers: 15080 kB
Cached: 184520 kB
SwapCached: 0 kB
Active: 56840 kB
Inactive: 156008 kB
Active(anon): 13456 kB
Inactive(anon): 5676 kB
Active(file): 43384 kB
Inactive(file): 150332 kB
Unevictable: 16 kB
Mlocked: 16 kB
SwapTotal: 102396 kB
SwapFree: 102396 kB
Dirty: 0 kB
Writeback: 0 kB
AnonPages: 13276 kB
Mapped: 20620 kB
Shmem: 5888 kB
Slab: 24420 kB
SReclaimable: 14096 kB
SUnreclaim: 10324 kB
KernelStack: 640 kB
PageTables: 936 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
WritebackTmp: 0 kB
CommitLimit: 323944 kB
Committed_AS: 121472 kB
VmallocTotal: 573440 kB
VmallocUsed: 0 kB
VmallocChunk: 0 kB
Percpu: 128 kB
CmaTotal: 8192 kB
CmaFree: 6164 kB
初期設定
ここまで来たらあとは好きなようにすればよいだけですが、 最初に色々アップデートなどをしておいた方が良いです。
-
apt管理のものをアップデート
pi@raspberrypi:~ $ sudo apt update pi@raspberrypi:~ $ sudo apt dist-upgrade
-
Farmware関連のアップデート(rebootが必要a)
pi@raspberrypi:~ $ sudo rpi-update
-
アップデートを有効にするため一度リブート
pi@raspberrypi:~ $ sudo reboot
-
ホスト名変更(必要であれば)
複数台Raspberry Piを使いたい場合には必須。
/etc/hostnameおよび/etc/hostsにあるraspberrypi部分を変更。
-
パスワードの変更
pi@raspberrypi:~ $ passwd
-
ユーザー名変更(必要であれば)
単に追加でも良い場合もある。 必要に応じて。
- ロケールの設定
日本語にしたい場合は:
pi@raspberrypi:~ $ sudo raspi-config nonint do_change_locale ja_JP.UTF-8
日本語表示がわずらわしければ
pi@raspberrypi:~ $ sudo raspi-config nonint do_change_locale en_US.UTF-8
で英語に。
- タイムゾーンの設定
東京に(デフォルトはアムステルダムでした)。
pi@raspberrypi:~ $ sudo raspi-config nonint do_change_timezone Asia/Tokyo
-
その他
pi@raspberrypi:~ $ sudo raspi-config
とするとインタラクティブに設定が変更できるウィザードが立ち上がります。
接続さえ出来てしまえばLinuxなのでご自由に。
ディスプレイ出力について
ディスプレイ出力などなくてもWi-Fiでのssh接続で簡単にセットアップすることが出来ましたが、 ディスプレイ、キーボードの設備があるならば NOOBS for Raspberry Pi を使うと簡単にインストールできるようです。
NOOBSを使ったヘッドレスインストールも出来ないことはないようですが、 NOOBS自体はそれを公式にはサポートしてないし、 あまり意味がない、とあります。
Installing NOOBS for first time without screen or key board - Raspberry Pi Forums
まとめ
人がセットアップしたのを触ったことはありましたが自分で買って使ってみるのは初めてでした。
直接ディスプレイなどを使わないヘッドレスインストールでいきなり試してみましたが、 思ったよりすんなりと動きました。 これなら簡単だな、と。
あとはこれを使っていろいろとやっていきたいな、と。