Proactive Cybernetics

Raspberry PiでDiscordボットを作る(1) OSセットアップ

タグ :組み込みソフト 環境構築 2020年9月15日 by Proactive-cybernetics

今回はRaspberry PiにLinux系OSをセットアップし、同じWi-fiネットワークにつながったPCからリモートログインできるようにするまでの手順を示します。

用意するハードウェア

Raspberry Pi本体、Micro SDメモリカード(SDHC, 16GB以上推奨)と、Raspberry Pi用ケースを用意します。
今は教育用にRaspberry Piを使うのが大流行りのようで、Amazonで探すとRaspberry Pi用ケースやMicro SDカード付きのセットが大量に見つかります。
セットアップ時には外付けキーボードとPC用ディスプレイ(またはテレビ)も必要です。

Raspberry Pi OSをダウンロード

空のMicroSDメモリカードをPCに挿入し、SDカードフォーマッターでフォーマットします。フォーマットの実行と並行して、Raspberry Pi財団のサイトからRaspberry Pi OSとRaspberry Pi Imagerをダウンロードします。

Raspberry Pi OSのイメージ、どれがいい?

今回のサーバ用途では、最小構成(デスクトップ環境なし)でも十分です。

イメージのチェックサム確認(オプション)

大きなファイルをダウンロードしたとき、まれに回線のノイズなどによりファイルが壊れてしまう場合があります。
ファイルが壊れているかを確かめる方法に、以下に述べる「チェックサムの確認」があります。
Raspberry Pi OSのダウンロードページの「Download ZIP」ボタンの下に「SHA-256」と英数字の文字列があります。
これはイメージファイルが正常にダウンロードされたかを確かめるための「チェックサム」と呼ばれるデータです。
ダウンロードしたファイルをLinux上 (Windows WSLでも可) で、以下のコマンドを入力して数分待つと、ダウンロードしたファイルのチェックサムが表示されます。

 shasum -a 256 2020-08-20-raspios-buster-armhf-lite.zip

表示されたチェックサムがダウンロードページ内に記されたものと同じであれば、ダウンロード成功です。

Micro SDカードへの書き込み

ダウンロードしたRaspberry Pi Imagerをインストールします。Raspberry Pi Imagerを起動して[Choose OS]ボタンを押して[Operation System]の一番下にある[Use Custom]を選んで、別途ダウンロードしたイメージファイルを開きます。



[CHOOSE SD CARD]でPCに挿入したMicro SDカードを選び、[WRITE]で書き込みを行います。書き込み処理は場合にもよりますが数分から数十分ほどかかります。

Raspberry Pi本体の起動

書き込みが終わったらPCからmicro SDカードを取り出し、Raspberry Piにmicro SDカードを挿入します。
基板の裏側、LANコネクタの反対側にmicro SD用挿入口があります。

Raspberry Piの裏側、Ethernetコネクタの反対

Micro SDカードを挿入したらキーボードとディスプレイを接続し、本体のUSBタイプCコネクタに電源用USBケーブルを接続して起動します。
起動すると初回のセットアップ画面が出ますので国と言語、パスワードとWi-fiの設定をします。
各種ソフトウェアのアップデートを勧められますので、アップデートもやっておきましょう。

ネットワークログインの設定

ネットワークログインの設定は、前回の自作機と同様にマルチキャストDNS(avahi-daemon)とSSHの有効化によって行います。SSHはルートディレクトリ直下にsshディレクトリを置くことで有効化できます。

sudo apt install avahi-daemon
sudo mkdir /ssh

マルチキャストDNSのホスト名はデフォルトでraspberrypiになっていますが、他のRaspberry Piと被らないようホスト名を変えておきます。

sudo nano /etc/hostname

ここまで完了したら再起動して、PCのSSHクライアント (WSL環境またはMacのターミナルのSSH、またはTeraTermなど) からログインをしてみましょう。
SSHクライアントの設定は

ホスト名 : </etc/hostnameで設定した名前>.local
ユーザー名 : pi
ポート番号 :22

でログインできるはずです。

↑先頭に戻る