【Raspberry Pi Zero whの初期セットアップ(Lite版)①】

Raspberry PiのOS初期インストール画面

自宅で簡単にIoTデバイスを自作できるRaspberry Pi。

アイデア次第で色々化けるので、最近練習してます。

今回は、一番小型サイズとして評判の良いRaspberry Pi Zero WHを購入しました!

早速、セットアップを始めていこうと思います。

Raspberry Pi Zero whの初期セットアップ(Lite版)①

今回購入したもの

Raspberry Pi Zero WH
⇒ラズベリーパイの中でも最小サイズのモデル。
USBポートが予め付いており、有線のキーボードやLANケーブルをすぐに使えます。
これ以外だとRaspberri Pi modelB(Ver4)と呼ばれるモデルも初心者にオススメです。

今回はZero WH向けの説明として丁寧に解説していきますので、modelB購入でもどちらでも構いません٩(๑❛ᴗ❛๑)

SanDisk Extreme microSD 128GB UHS-I U3 V30 書込最大90MB/s Full HD & 4K SDSQXA1-128G-EPK 
⇒容量は128GBじゃなくでも大丈夫です。ぶっちゃけこんなに要りません。用途によりますが、画像認識や機械学習をしなければ16GBあれば事足ります

ELECROW 3.5インチ モバイルモニター(タッチ機能付き)
⇒モニターがあると便利(+テンションが上がる)なのでお気に入りのやつを買っています。
modelBでも使えるので1台あるとオススメです!デバッグしやすくなります。(大事)

HDMI変換コネクタ4種類セット
⇒90度L型のmini HDMI/micro HDMI変換コネクタ。4個セットと非常にコスパ高いです。

logicool Wireless Keyboard K380BK
⇒職場で出会ったお気に入りのキーボードです。3台同時ペアリングが可能で、
デザインがオシャレかつコンパクト。それでいてキーストロークが押しやすく、非常に使いやすい。。レビューを見ればわかりますが、私以外のエンジニアの間でもかなりの人気具合です。

RPI zero公式ケース+2 15 cmカメラFFCフレキシブルケーブル付き
⇒基盤は剥き出しのままやるのは良くないので、ケース(カバーシェル)を買いましょう。
こちらの商品は、Raspberry pi Zeroシリーズでも標準のカメラセンサーを使えるようにしてくれる変換ケーブルが付いていてこのお値段なので、とてもお得。

Raspberry Pi

私はモニタを購入していますが、今回のセットアップ方法ではディスプレイとキーボードの別途購入はなくても可能です。
microUSBケーブルとmicroSDカード、そしてRaspberry Pi Zero WH本体の3点さえあれば初期設定出来ちゃいます。(PC、無線ルーターは必須)

では早速手順を紹介していきましょう。

インストーラのダウンロード

こちらの公式ページより、ご自分のOSにあったバージョンのRaspberry Pi Imagerをダウンロードします。

このアプリケーションは、各種Raspbian OS(ラズパイのシステムファイルのこと)を簡単に書き込んでくれるイメージングツールです。

microSDカードにOSを書き込む

続いて、Raspberry Piに刺すmicroSDカードに、実際にOSを書き込んでいきます。

まずは、miroSDカードのフォーマット形式を右クリック、プロパティより確認して
「FAT32」出なかった場合、こちらの記事を元にクイックフォーマットを行ってください。

フォーマットが終わると、PCにmicroSDを刺し、
Raspberry Pi Imagerを起動してRaspberry Pi OS Lite (32-bit)を選択し、挿入したカード(JやHなど、ドライブ文字が割り振られています)に書き込んでいきます。

時間がかかるので少し待ちます。

はい、終わるとOSの書き込みは完了です。案外サクッといけちゃいますね。

続いて、SSHの有効化を行っていきます。
microSDをPCに刺しなおすと(壊れることがあるので、必ず右クリック⇒「取り出し」より安全に接続を解除してから抜いてください)、bootドライブとなって再認識されると思います。

基本的にキーボードもモニタもない状態のPCをセットアップする為、この後は
SSH(Secure Shell)という認証プロトコルをつかって今お手持ちのPCから遠隔操作していきます。
Te
まずはUSB OTG(On-To-Goの略)でのEthernetの設定を行っていきましょう。
これをすることで、Raspberry Pi WHの給電とインターネットの有線接続をPCと繋いでケーブル1本で行えるようになります。いやぁ、便利ですね。

bootドライブの中にある2つのファイルを編集していきます。
config.txtファイルの最下段に、メモ帳をつかって

dtoverlay=dwc2

と記述します。続いて、cmdline.txtに今度は
改行せず、最後尾に半角で空白一行空けた後

modules-load=dwc2,g_ether

と記述します。

最後に、同じくbootドライブ直下にsshというからファイルを作成します。
新規作成>テキストファイルより、.txtなど拡張子も要らないのでファイル名から消して作成してください。

以上で、一旦Raspberry Pi側のLAN接続のセットアップは終了です。お疲れ様でした。



続いて、今度は入力インターフェースとなるPC側でのセットアップを行っていきます。

まずはセットアップの終わったmicroSDをRaspberry Pi(以下ラズパイ)に刺し、
給電用ではなくUSB用と書いてある内側のmicroUSB端子からPCに繋ぎます。

本体はこのままおいておきましょう。

では次に、USB接続したRaspberry PiをEthernetとして認識させられるよう(分かりやすく言うとインターネット接続を提供できるよう)こちらよりドライバーをインストールします。

Acer Incorporated. - Other hardware - USB Ethernet/RNDIS Gadget Windows 7,Windows 8,Windows 8.1 and later drivers

という項目の右側の「ダウンロード」よりCABファイルを入手し、
解凍した中にある「RNDIS.inf」を右クリックして「インストール」を選択してください。
これをしないと、接続しただけではCOMポートとして認識されてしまい有線接続が出来ません

それから、SSHクライアントと呼ばれる、遠隔操作するためのフリーソフトをインストールします。
ここでは、業界ではメジャーな「Tera term」と呼ばれるソフトを使っていきます。
上記リンクよりダウンロード、解答して実行してくだしあ。

最新版であれば、zipでもexe形式でもどちらでも構いません。

特にセットアップ時にカスタマイズする項目はないので、そのままInstallしちゃってください。
Installが終わったら、早速立ち上げてみましょう。

ホスト名:raspberrypi.local
Service:SSH
TCP Port#:22
になっていることを確認し、OKをクリックします。
(少し不透明なのは私がカスタマイズしているのでお気になさらず)

ラズパイを繋いで直ぐだと、まだ起動中だったりして正常に接続できません。
本体の点滅が終了して、緑ランプが点灯していることを確認してください。



するとlog inする為にSSH認証を求められるので、ユーザー名とパスワードを入力していきます。

「あれ?ユーザー名って何??まだ設定してないんだけど??」

そう思った方がいたら正解です。
実は、Raspberry Piは工場出荷時に初期ユーザーとパスワードが共通して割り振られています。
これはセキュリティ的には大変脆弱性があるので記事の後のほうで対策を解説しますが、今は一旦このままでいきましょう。

初期ユーザー:pi
Password:raspberry

になります。簡単ですね。ジャクソン・マイケル的な。

OKを推してこのような画面が出たら成功です。


はい、これでお持ちのPCからRaspberry Piのなかに入る事出来ました!

実際にモニタを繋げば、同じ画面が表示されているはずです。
これでパソコンを介して様々な操作が出来るようになりました!

次回からは、いよいよRaspberry Pi内の設定項目を弄っていきましょう!
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

現在有線にて行っていますが、無線接続を行いたい方はこちら(↓を記事にしてハイパーリンクさせる)

ちなみに私の環境だと、USB OTGで有線でraspberrypi.localに繋ぐより、
無線で固定IPで接続したほうがサクサクTera termできました。(ラップトップの性能依拠かな??

それとケーブルレスになって圧倒的に楽なので、余力ある人は設定することをオススメします!

【2021年版】Raspberry Pi Zero WHで無線LAN接続を行う


IPアドレスを固定していきます。

以下のコマンドで設定ファイルを開きます。

sudo nano /etc/dhcpcd.conf

ファイルを開いたら末尾に、下記を追加します。

interface wlan0
static ip_address=192.168.0.xxx/24 #xxxは固定したいIP
static routers=192.168.0.1
static domain_name_servers=192.168.0.1

(余談)有線のIPを固定したいときは以下

interface eth0 
static ip_address=192.168.0.xxx/24 
static routers=192.168.0.1 
static domain_name_servers=192.168.0.1

どの数値でIPを固定したらいいか分からない方は、
ifconfig コマンドにて今使用されているIPアドレスをご使用ください。

また、static routers static domain_name_serversの2つについては、ルーター側の設定になってきますのでPCから確認しておきましょう。ここも人によって異なったりします。

コマンドプロンプトを起動し、ipconfigより
無線、有線、それぞれ使用している場合のDefault Gatewayの値がそれです。
私の場合、両方繋いでいるので以下のようになります。

<pre>

入力したらCtrl+sでnanoエディタを閉じ、sudo reboot で再起動させましょう。

再起動後、ifconfigで見直した際に、指定したIPアドレスが表示されていたら成功です。

(小ネタ)
rebootでなく
sudo ifdown wlan0
sudo ifup wlan0
でもいけるみたい。未検証

~うまくいかなかった場合~
bootドライブ直下に以下の内容でwpa_supplicant.confというファイルを作成してくだしあ。
ssidpskには、ルーターのSSID名とパスワードを入力してください。

<code> <br>ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev <br>update_config=1 <br>network={ <br>   ssid="xxxx" <br>   proto=WPA2 <br>   key_mgmt=WPA-PSK <br>   psk="xxxxxxxxx" <br>   scan_ssid=1<br>   }<br></code><p></p>
Code language: HTML, XML (xml)

私の場合、これだけだとうまくいかずにdhcpcd.confの設定後正常動作した為、
必要なファイルなのか未検証
です。どなたかお優しい方コメント欄から教えてくださると
助かります<m(__)m>



■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

ワイヤレスのキーボードやディスプレイを使いたいという方は、
こちらの記事で解説してあります。

【3分でできちゃう】Raspberry Pi Zero WHにBluetoothデバイスを接続する方法!

1.ペアリングデバイスの検索

ペアリングしたいデバイスをボタン長押しするなどして、ペアリングモードにします。
次に、下記コマンドにてペアリング可能なデバイス一覧を取得していきます。

$ bluetoothctl [bluetooth]# scan on
Code language: PHP (php)



~No default controller availableと表示される場合~
実はデフォルトでは 、bluetooth グループしか
Bluetooth のインターフェースに接続できないようになっています。

初期のpiユーザーなどでセットアップを進めている場合、このグループに属していない為スキャニングができません。

ということで、以下のコマンドにてpiユーザーくんもbluetooth グループに入れてあげましょう。

$ sudo usermod -a -G bluetooth pi $ sudo reboot

再度 scan on すればデバイスが見つかるハズ。

2.繋ぎたいデバイスのBluetoothアドレスを特定

沢山出て来たら、目当ての品を探します。
xx:xx:xx:xx:xx:xxという書かれ方をしている文字列が、各Bluetooth機器のMACアドレスになります。

私の場合、K380という型番のキーボードなので分かりやすかったですが
中々探しているデバイスが見つからないという方は、Bluetoothctlに入る前にhcitool scanにてMACアドレスを取得して下しあ。

3.ペアリングする

pair MACアドレス にてペアリングを要求します。
先頭1文字入力してタブ補完すると便利です。小技なので覚えておきましょう!

キーボードなどであればPasskeyを求められるので、該当機器のほうから入力しましょう。

一文字ずつ認証されていっているのがオシャレ!

Enterを押下して、Pairing successful と表示されたらあとは
connect MACアドレス と打てば成功です!

ConnectをしないとPaired状態で使えないままなので注意!

最後に、trust MACアドレス にて信頼できるデバイスとして追加しておくと、
次回以降この手間が省けるので便利です。

それでは皆さん良いRaspberry Piライフをお過ごしください٩(๑❛ᴗ❛๑)

初期ユーザーとパスワードを変更する

Raspberry Piは、工場出荷状態の時から
初期ユーザーはpi、pwはraspberryと相場が決まっています。

その為、これを変えぬまま本格運用にもっていくと大変なことが起きます。
2019年に、NASAが使用していたRaspberry Piの脆弱性がサイバー攻撃を受けていたとして当時話題になりました。

このように、少し情報知識の長けた悪意あるユーザーからすると、格好の的になってしまうのです。堅牢度を高めるためには、こういった基礎的な設定が重要になってきます。

逆に言うとRaspberryPiに入っているRspbianのもととなるLinuxOSはOSS(オープンソースソフトウェア)と呼ばれるオペレーティングシステムであり、
WindowsやMac以上に開発者の為に開かれたシステムです。

その為、自由度が高い分設定も容易に変更でき、より技術的知識に長けた人からすると好きなようにカスタマイズが出来てしまいます。

かといって、「初心者がそんなの手を出したら危ないんじゃない・・」などと過度に恐れる必要はなく、しっかりとした対策を行って学んでいけば危険性はありません。
(というか、サービスとして実運用せずに趣味、お勉強の範囲でやるようであればほぼほぼ狙われることもなく、さほど問題ありません。

むしろセキュリティ的な観点からもプログラミングをしていくことで、
同時にITリテラシーも高めていきましょう!

sudo adduser 好きなユーザー名


でユーザーを作ります。
すると、パスワードの入力を求められるので確認も含め2回、入力します。

なお、パスワードはこの時見えないことに注意してください。

パスワードの入慮kぐあ終わると、氏名や部屋番号(!?)、電話番号などを聞かれますが全てスキップでOKです。Enterで飛ばすことが出来るので、
最後に「これで正しいですか?」と訊かれるのでyでエンターキーを押下しましょう。

おめでとうございます。これで新ユーザーが作成できました。

作成したユーザーに権限を付与する

続いて、初期piユーザーから乗り移る為の設定をしていきます。

まずはどういった権限をそもそも持っているのか、
groups pi とコマンドを打って確認してみましょう。

pi,adm,dialout,cdrom,sudo,audio,video,plugdev,games,users,input,netdev,spi,i2c,gpio newpiuser

のような感じで出力されると思います。sudoを見て気付くように、これら一つ一つが権限を持った「グループ」の名称です。

初期の動作から支障のないように、これらの権限を全て新規ユーザーに移します。
以下のコマンドを入力してください。

sudo usermod -G pi,adm,dialout,cdrom,sudo,audio,video,plugdev,games,users,input,netdev,spi,i2c,gpio 新規ユーザー名

Enterを押しても何も出ませんが、groups 新規ユーザー名 と入れなおすことで、
権限が追加されていることが確認できると思います。

ホームディレクトリのコピー

続いて、「pi」ユーザーのホームディレクトリ内ファイルを新規ユーザーのホームディレクトリへコピーしていきます。

sudo cp -r /home/pi/* /home/新規ユーザー名

またEnterを押しても何も出ませんが、ユーザーのディレクトリにcdで移動し、ls -a コマンドで見てみるとファイルが増えているのが確認できます。

自動ログインの設定変更


自動log inの設定に入ります。

/etc/lightdm/lightdm.conf にて編集という記事がありますが、私が使用しているLiteのOSバージョンでは同ファイルはないので、/etc/systemd/system/ 内の autologin@.service を編集していきます。

sudo nano /etc/systemd/system/autologin@.service にて
[Service]のExecStart~から始まる行を探します。

現在、初期ユーザーであるpiが指定されているので、ここを自分で作成したユーザー名に変更しましょう。

今回はoyabinとしてみました.。
systemctl daemon-reloadでsystemdの設定ファイルをリロードします。

systemctlコマンドもよく使うので、覚えておくと良いでしょう。

Passwordを求められるので、入力すると認証が完了します。

一旦ここで、設定を適用させるためにsudo reboot にて再起動して、
新規ユーザーにて再log inをしておきましょう。

piユーザーの無効化

これでrootパスを設定し、新規ユーザーを作り元々の権限とファイルを付与させました。
最後に、初期ユーザーpiログインを無効化させます。

~なぜ削除しないの??~
Linuxでは、コマンドで容易にユーザーを削除することが出来ます。
だからこそ注意が必要で、今回それをしないのはpiユーザーを元に作られているファイルが多く、削除して細かな設定ファイルが使えなくなるリスクを避ける為です。
先ほどの自動log inのファイルのように、piユーザーが予め初期値としてセットされているコードに対し、ユーザーをなくしてしまうと知りもしない場所で予期せぬエラーが起こる可能性があります。不正使用の防止という観点ではユーザーのログインそのものを防げばよいので、今回は無効化にします。

sudo usermod --expiredate 1 pi

警告は出ますが今回はこれでOKです。
パスワードの入力が求められるので、新ユーザーのログインパスワードを再入力します。

念の為、初期ユーザーからsudo(管理者権限)もなくしておきましょう。

sudo gpasswd -d pi sudo

このまま入力画面に戻るので、再度コマンドを実行して「ユーザーpiはsudoメンバーではありません」と表示されればOKです。

以上で、初期ユーザーpiの無効化は完了です。お疲れ様でした!

次は、外部パッケージを色々installしたり、プログラムを実行する為のGitとPythonのインストールです。

タイトルとURLをコピーしました