Raspberry Piを利用して水耕栽培周りの温度、湿度、気圧、照度を取っていけるようにしたいと思います。そのための準備を始めます。
用意したもの
- Raspberry Pi Zero WH
- Raspberry Pi Zeroケース
- microSDカード
- RPZ-IR-Sensor (Raspberry Pi用 温度/湿度/気圧/明るさ/赤外線 ホームIoT拡張ボード)
私は全部まとめてスイッチサイエンスで購入しました。
Raspberry Pi OSの準備と初期設定
今回はRaspberry Pi OSの準備、Wi-Fi接続設定、SSH接続設定の辺りまで書こうかと思います。
前提
開発並びに運用時はSSH接続を使っていくつもりなので、CUIベースのRaspberry Pi OS Liteを利用していきます。
記事作成時に利用した各種バージョンは以下の通りです。
Software | Version |
---|---|
Raspberry Pi OS | 10 |
Raspberry Pi Imager | 1.4 |
Raspberry Pi OSの準備
OSが書き込まれたmicroSDカードをラズパイに差し込み電源を入れることでそのOSが起動します。ここではmicroSDカードにOSを書き込む手順を紹介していきます。
まずはSDカードを用意します。
Raspberry Piの公式OSであるRaspberry Pi OSを公式ページから持ってきます(2020年5月からRaspbianからRaspberry Pi OSに名前が変わったようです)。
「Install Raspberry Pi OS using Raspberry Pi Imager」にあるように公式ページの方でOSをmicroSDカードに書き込んでくれるWriterを用意しているのでそれを利用します。 Raspberry Pi Imagerをお使いのPCにダウンロード&インストールして起動します。 書き込み手順は( Watch our 40-second video)に記載の通り以下の通りとなります。
- microSDカードをPCに接続する
- OSを選択する。ここでは「Raspberry Pi OS(other)」-「Raspberry Pi OS Lite(32-bit)」を選びます。
- 書き込むSDカードを選択する。
- SDカードへ書き込む。
これでOSイメージの書き込みは完了です。
次にこのmicroSDカードをRaspberry Pi Zero WHに取り付けて電源を入れます。初回起動時はWi-Fi接続設定がまだされていないのでSSH接続できないのでキーボード、モニタへの接続も必要になるかと思います。
ログイン画面を求める画面まで来たら起動完了です(raspberrypi login:と出るはず)。 デフォルトのログインアカウントは以下の通りです。
- User : pi
- Password : raspberry
日本語キーボードの設定
raspi-configを使って設定します。次のコマンドを叩きます。
sudo raspi-config
日本語のキーボードを設定します。 「4 Localisation Options」を選択し、「I3 Change Keyboard Layout」を選択します。 選択肢で以下のものを選びます。
- Keyboard model: Generic 105-key PC (intl.)
- Keyboard layout: Other
- Country of origin for the keyboard: Japanese
- Keyboard layout: Japanese - Japanese (OADG 109A)
- Key to function as AltGr: The default for the keyboard layout
- Compose key: No compose key
これで日本語キーボードの配置になりました。
SSH接続設定
/bootに空のsshファイルを置く。
sudo touch /boot/ssh
sshファイルを置いた後にラズパイを再起動すると、起動中にSSHサービスが立ち上がります。
また、ユーザpiでログインすると以下のようなメッセージが表示されるかと思うので必要に応じてパスワードを変更します。
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.
Wi-Fi接続設定
Wi-Fiの接続設定を行っていきます。それには/etc/wpa_supplicant/wpa_supplicant.confの修正が必要になります。初期では以下のようになっています。
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
ここにラズパイが接続するWi-Fiの情報を設定します。パスワードをそのまま記載することもできますがそれだと少しセキュリティ上どうかと思うので暗号化して設定します。
以下のコマンドでWi-FiのSSIDとパスワードを設定します。[SSID]並びに[Password]の箇所を実際のものに置き換えたうえでコマンドを叩いてください。
sudo wpa_passphrase "[SSID]" "[Password]" | sudo tee-a /etc/wpa_supplicant/wpa_supplicant.conf
設定ファイルに実際に書き込まれたかを確認します。
less /etc/wpa_supplicant/wpa_supplicant.conf
上記のコマンドを叩くと下記のように表示されるかと思います。ssidが設定したSSID、pskは暗号化されたパスワードとなります。#pskは平文のパスワードでコメントアウトされているのでこの行はvi, leafpad, nanoなどのエディタを使って削除してください。
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
ssid="[SSID]"
#psk=[Password]
psk=[暗号化されたパスワード]
}
最後にラズパイを再起動します。そうするとWi-Fiに接続されます。 ラズパイを再起動:
sudo reboot
接続できない場合はSSID、パスワードの入力ミスが疑われるので/etc/wpa_supplicant/wpa_supplicant.confのnetwork={ }を削除したうえでもう一度Wi-Fi接続設定の手順をやり直してみてください。
私はWindows端末からPowerShellでSSHして使っています。ホスト名raspberrypiが使えるかと思うのでDHCPの環境の方でもそのまま使えます。
ssh raspberrypi -l pi
I2Cの有効化
I2C (Inter Integrated Circuit; アイ スクエア シー) はシリアル通信の方式の一つです。ラズパイではデフォルトでオフになっているのでこれを有効化します。
raspi-configを使って設定します。次のコマンドを叩きます。
sudo raspi-config
「5 Interfacing Options」を選択し、「P5 I2C Enable/Disable automatic loading of I2C kernel module」を選択し「I2Cを有効化しますか?」と聞かれるので<Yes>と答えます。
あとがき
水耕栽培のほうは紆余曲折ありながら順調です。良かった・・。その内容は後日記事にまとめます。