🦀

Raspberry Piで作るアクアリウム管理システム①Raspberry Piの初期設定

2024/06/03に公開

はじめに

我が家では水槽にて各種水棲生物および水草を飼育、栽培しており、環境維持のため日々水温や二酸化炭素、二酸化窒素、亜硝酸塩等の計測を行っています。
名前のないハゼ
|д゚)

長いこと手作業で行っていたためあまり意識していなかったのですが、元来のめんどくさがりな性格もあり、自動化に挑戦してみようと思い至りました。
日々の計測を自動化することができれば、自分の負担を減らせるだけでなく

  1. データをより正確に記録、管理することができる
  2. 以前から興味のあったRasberry Piが使えそう
  3. なんか楽しそう

上述の理由から自己学習も兼ねて作ってみることにしました。
備忘およびアウトプット習慣の一環として、今回は実装の過程で学んだ基礎知識をまとめてみたいと思います。
実装段階ごとに以下のように分割して記事にする予定です。

第一回:Raspberry Piの初期設定    
第二回:Raspberry Piに水温計を接続して水温を取得する
第三回:水温取得メソッドをつくる
第四回:取得した水温をLINEにて通知する


Rasberry Pi(通称:ラズパイ)とは

RasberryPi(以後ラズパイと呼称)とは、イギリスのRasberry Pi財団によって開発されているシングルボードコンピュータ商品群の名称です。
いわゆる基盤丸出しの小型コンピュータなのですが、ラズパイの最大の特徴はGPIOピンというピンコネクタにあります。
GPIOピンはラズパイの基板上に実装されている、信号の入出力用のピンなのですが、これを使うことで外部機器との接続および外部機器で取得した情報の受け取り、表示等が可能になります。

GPIOピン全体

GPIOピンの役割

出典: Rasberry Pi公式ドキュメント

画像の通り、各ピンに機能が割り当てられており、信号の入出力をプログラムによって制御することができます。
このように、センサー等の外部機器を用いたIoTを簡単に実現することができるのが、ラズパイの最大の特徴です。


ラズパイ起動に必要なもの

ラズパイの起動および運用のために必要なものは以下の通りです。

  • 本体(必須!

    筆者が今回使用したものは以下。
    メモリ容量が違うのみで本体性能に差はないので、用途によって選びましょう。
    4GBモデルでも基本運用には問題ないと思います。

    商品リンク:ラズベリーパイ 4 コンピューターモデルB 8GB Raspberry Pi 4 ラズパイ 4 TELEC認定取得済み (Raspberry Pi 4 8GB)
  • microSDカード(必須!

    ラズパイにはHDD、SSDといったストレージは搭載されていないため、microSDにOSおよびストレージの役割を担わせます。起動のため、作業用PCからOSを書き込んでおく必要があります。容量は64GB以上がおすすめ。

    商品リンク:Samsung microSDカード 128GB EVO Plus microSDXC UHS-I U3
  • 作業用PC(デスクトップ版OSを使用する場合なくても大丈夫、だけどほぼ必須)

    microSDカードへのOS書き込みやSSH接続での本体操作、開発等に使用します。
    後で軽く触れるデスクトップ版OSを利用し、ラズパイ側で開発等を行う場合は、OS書き込み用の端末があればなくても大丈夫です。
    今回はWindows機を作業用PCとして使用する例を記載します。

  • 本体ケースおよびファン、ヒートシンク(なくても大丈夫)

    動かすために必須ではないため、とにかくやってみたい人は不要。
    ただ、ラズパイは基盤むき出し、CPUクーラー等もないため素運用だと結構熱くなります。長期運用を考えるなら寿命のためにもファン付きケース等の導入が吉。
    本体とセットで売っている商品もあり。

  • type-CケーブルおよびmicroHDMIケーブル(type-cは必須)

    電源用。ちなみにラズパイのtype-Cアダプタは映像出力には使用できないため、映像出力したいならばmicroHDMIの使用が必須。
    今回microHDMIは使用しませんが、何かとあると便利なので用意しておくことを推奨します。

  • マウス(なくても大丈夫)

今回はSSH接続で各種操作を進めるため、手順に倣うなら不要です。デスクトップ版OSを導入してパソコンとしてラズパイを運用するならあったほうが便利でしょう。

  • キーボード(CLI操作する場合は必須)

    OSにGUIのないものを使用するので、コマンドライン操作が必須。
    無線のみ対応キーボードは使用できないため、有線もしくは無線レシーバーつきのキーボードを用意しましょう。

セットアップ

ラズパイ起動までの大まかな手順は以下の通りです。

  1. Raspberry Pi Imagerのインストール
  2. Raspberry Pi Imagerを使用してmicroSDカードにOSをインストール
  3. Raspberry Pi本体の起動とセッティング

まずは、起動に必要なOSインストールを行います。
今回のOSはUbuntu Server 22.04.4 LTSをチョイスしました。

1.Raspberry Pi Imagerのインストール

OSインストールにはRaspberry Pi ImagerというRaspberry Pi公式のSDカード作成ツールを使用します。
Raspberry Pi Imager(公式サイト)
RaspberryPiImagerインストーラー
Installを押すとセットアップが開始されます。
RaspberryPiImagerインストール完了
今回はそのまま立ち上げたいので、Run Raspberry Pi Imagerにチェックを入れてFinishを押します。
RaspberryPiImager初期画面
このようなウィンドウが立ち上がればインストールステップは完了です。

2.Raspberry Pi Imagerを使用してmicroSDカードにOSをインストール

RaspberryPiImager設定画面
1.でインストールしたImagerを使用してOSをmicroSDカードにインストールします。
microSDカードを作業用PCにセットし、各項目を設定します。設定項目は3つです。
RaspberryPiImager機種選択
①:使用するラズパイの機種を選択します。今回の私の場合Raspberry Pi4です。
RaspberryPiImagerOS選択
②:インストールしたいOSを選択します。選択肢が超豊富です。今回の私の場合
Other general-purpose OS→Ubuntu→Ubuntu Server 22.04.4 LTS(64-bit)を選択します。
RaspberryPiImagerインストール先選択
③:OSをインストールするmicroSDカードを選択します。PC上で認識されていないと選択肢として表示されませんので、ご注意ください。
各項目選択したことを確認し、次へを選択します。
RaspberryPiImagerポップアップ
OSにUbuntu Serverを選択した場合、カスタマイズしますか?というポップアップが表示されます。
RaspberryPiImagerユーザ等の設定
RaspberryPiImagerSSH設定
設定を編集するを選択すると、ホスト名やWifi、SSHの設定を事前に行うことが出来ます。
(OSによっては本項目が表示されない場合もあるため、ラズパイ起動後に手動で設定する必要があります。)
今回は
①ホスト名
②ユーザー名とパスワード
③Wi-Fi
④SSH有効化
の4項目にチェックを入れ、それぞれ設定して先へ進みます。

SSH有効化に関しては、ここで公開鍵の設定まで行いますので、少し解説をします。
公開鍵設定を行うことで、ペアとなる暗号鍵の所有者以外の接続を防ぎ、パスワード認証よりも安全に運用することができます。[1][2]
手順①:鍵の作成
PowerShellにてssh-keygen -t ed25519を実行する。

実行後、デフォルトであればC:\Users\ユーザー名\.ssh以下に公開鍵と秘密鍵がそれぞれ生成されます。

手順②:公開鍵をauthorized_keyに設定
手順①で作成した公開鍵をユーザーのためのauthorized_keysに貼り付けます。(拡張子が.pubのもの)

これにて、公開鍵認証の設定は完了です。

RaspberryPiImagerフォーマット警告
設定を保存し、先ほどのポップアップにてはいを選択すると警告ダイアログが表示されるので、こちらもはいを選択します。
RaspberryPiImager書き込み中画面
すると、満を持してOSの書き込みが開始されます。
結構時間かかるので気長に待ちましょう。
RaspberryPiImager書き込み完了
上記の画面が表示されれば書き込み完了です。続けるボタンをクリックしSDカードの取り出しを行ってください。

3.Raspberry Pi本体の起動とセッティング

OSの書き込みが完了したら、microSDをラズパイにセットします。
その後、microHDMI等適宜必要な外部機器を接続し、最後にusb-cを接続します。

ラズパイの起動が完了したら、先ほど設定した公開鍵を使ってSSH接続でラズパイに接続します。
SSH接続には

ssh <ユーザ名>@<設定したラズパイのホスト名>

上記のコマンドを実行します。
例えば、以下のようなラズパイ設定の場合

ラズパイのIPアドレス:192.168.0.XX
ラズパイのホスト名;raspi.local
ユーザ名:hoge

実行コマンドはhoge@raspi.localとなります。

うまくいくとパスワードが求められますので、OSインストール時に設定したパスワードでログインします。
SSH接続(PowerShell)
成功すると上記のような表示になります。
これで作業用PCからラズパイにアクセスすることができました。
SSH接続失敗
ちなみに、公開鍵認証方式のみでのログイン設定をしたラズパイに対してhoge@192.168.0.XXコマンドでのSSH接続を試みると、パスワードを求められることなく弾かれます。

長くなりましたが、これにてRaspberry Piの初期セットアップは完了です。
ここから楽しい楽しいラズパイ開発のスタートです!

次回は、ラズパイに外部機器(水温センサー)を取り付け、動作及び水温の取得を行えるようにする過程をまとめたいと思います。
ここまで読んでいただきありがとうございました。


参考にさせて頂いたサイト様

https://www.sejuku.net/blog/48510
https://sozorablog.com/raspberrypi_initial_setting/#やり直し
https://www.raspberrypi.com/documentation/computers/os.html#introduction
https://zenn.dev/kusaremkn/articles/205b62ecc78256


脚注
  1. SSH接続について知りたい方はこちら ↩︎

  2. SSH接続について知りたい方はこちら2 ↩︎

  3. ssh.configについて ↩︎

  4. ufwの設定について ↩︎

  5. 静的IPアドレスについて ↩︎

RSI技術ブログ

Discussion