Raspberry piのtips

Raspberry piはクレジットカードサイズのシングルボードコンピューターで、電子工作・IoTで機械制御、簡単なPCとしての運用等様々なことに使える。 ここではRaspberry piについての基本知識、Tips等をまとめた。




ハードウェアについて


Raspberry piにはいくつか種類があり、現在主に売られているのは以下の通り

最も高性能なのはpi400だが、消費電力・小型・コスパという観点で見るとzeroが優秀。 CPUをそんなに使わない/用途が決まっており、一つのことをやらせたいならばzeroが良さそう(zeroをポータブルオーディオプレーヤーにしている人もいた)。 特に用途が決まっておらず、色々試したい or zeroだと処理が追いつかない等の問題があれば4Bが良さそう。 Raspberry pi 400はキーボード一体型で、4Bより性能の良い個人用PC用として販売されているらしく、初めてのLinuxの練習にはいいかもしれない。

PoEについて


PoEとはPower over Ethernetの略で、電源をひかなくてもLANケーブル越しに電源を供給できる。 Raspberry piの4BについてはPoE+ HATが公式で出しており、Raspberry piに乗せるだけで、PoE受電(PD)ができる。 zeroについても他の会社が出しているHATを接続すればPoE受電が可能。 ただし、給電側にPoE給電(PSE)が可能なネットワークスイッチ(例: こんなのとか)またはインジェクターが必要。 PoEにするメリットはRaspberry piを複数台使う場合電源線、アダプタがいらないので配線がスッキリする。 デメリットとしてはPoE+ HATの排熱が大きい、消費電力がUSB-C給電より大きい (私の環境の場合)。

OSのインストール


少し前は、Raspberry pi用のOS Raspbianを.isoで取得して..のように面倒だったが、今はRaspberry Pi Imagerが公式から出ており、だいぶ楽になった。 OSのインストールにはmicro SDが必要で、64 GBとか用意すると良いらしい。 Raspberry Pi Imagerにはボタンが4つあり、OSの選択、書き込みSDの選択、書き込み、設定がそれぞれある。

OSの選択(Raspbian)

Raspbianは大きく分けて64bit, 32bit版がある。Raspberry pi zeroでは32bitしか対応していない (Raspberry pi zero 2はok)。 さらに以下の選択ができる。

Lite以外はデスクトップがあり、普通のPCのように使え扱いやすい。 ただ容量、処理を食うのでそれを嫌う人、デスクトップを使わない人はLiteをいれてターミナルのみで使う人もいる(自分)。

書き込む前の設定について

SDをPCにさすと右下に目立たない設定ボタンが出てくる。ここでdefaultのユーザーの変更 (defaultはpi)、パスワードの設定ができる。 defaultのpiはセキュリティが甘いらしいので、変更しておいたほうが良さそう。 さらにsshでの接続設定もできる。公開鍵があればここに入れておけば、この秘密鍵を持っているPCとSSH接続ができるようになる。 host名も指定できるので、SSHでIPがわからなくてもHOST名でつなげることもできる。

書き込んだ後

書き込んだmicroSDをRaspberry piに挿して電源につなぐだけで、OSが起動できる。 立ち上がった後は、他PCからSSHでつなぐか、デスクトップなら端末を開いて最初の設定をしていく。

初期設定


raspberry piのインストール直後は脆弱性が少しあるため、念のため設定をしていく。

sshの設定

一般的なLinuxにも言えることだが、ssh通信をする際に「rootログインを許可しない」、 「passwaord認証を許可しない」、「公開鍵認証を許可」のような設定にしておくと、 公開鍵を持っていないPCからの通信を遮断できる。
ただしraspberry piにつなげるディスプレイを用意せずにこの設定を行うと、公開鍵を作っていないPCからの操作は当然ながらできなくなるので注意。
sshの公開鍵の設定はこちらを参照。
sshの設定は/etc/ssh/sshd_configで行う。

(中略)
PermitRootLogin no
(中略)
PasswordAuthorization no
(中略)
PubkeyAuthorization yes

firewallの設定

これを参考に必要なportのみ開ける。前項と同様SSHを不許可のままだと、外部から操作できなくなるので注意。

毎回passwordを聞くようにする

OSのインストールにてpiではなく別のユーザーを作成した場合、sudo <コマンド>を打ったときに、passwordを聞かれずに実行できるようになっている。 このままだとせっかくユーザーを作った意味がないので、/etc/sudoers.d/010_pi-nopasswd<ユーザー名> ALL=(ALL) NOPASSWD: ALLの先頭に#をつけて、コメントアウト。 このとき、ファイルのPermissionが440になっているので、sudo chmod 640 /etc/sudoers.d/010_pi-nopasswdをしてから編集する。 編集後は必ずもとのPermissionにもどすこと!