「ラズパイとAWS IoTを使った見守りシステム自作で学んだこと(2)見守りProjectの設計(名前の設定)」からの続きです。ラズパイの環境構築手順について書きます。
物理仕様
Raspberry Pi
- Model: Raspberry Pi 4 Model B Rev 1.2
- microSD card: 32GB
スイッチング電源
- 5V/3.1A
センサー
二種類の赤外線センサーを使い分けしています
- 広範囲で30cm以上の検知:NC型焦電型人感センサー(HC-SR501)
- ピンポイントで30cmくらいまでの検知:NO型拡散反射式障害センサー(E18-D80NK)
当然ながらピンポイントで反射を見るE18-D80NKのほうがレスポンスが早いです。
NCタイプとNOタイプで後ほど設定するパラメーターの0/1が反転するので注意です。実際に購入して、同じ型番でも回路が変わってNOとNCが逆転していることがありましたのでご参考まで。
USBカメラ
ナイトビジョンの要否で二種類のカメラを使い分けしています
配線
HC-SR501とE18-D80NKの両方とも3本のケーブルが出ています。それぞれ以下のGPIOポートに接続します。
- VCC:GPIOの5V(Pin No.2 4の何れか)
- GNP:GPIOのGND(Pin No.6 9 14 20 25 30 34 39の何れか)
- 信号線:GPIO21(Pin No.40)
ケーブルとソケットはペンチで圧着しました。断線しないように一部はんだ付けで補強もしました。
起動用microSDカード
現時点(2022.08.20)ではRaspberry Pi Imagerの利用を推奨します。
詳説は他のサイトに譲ります「Raspberry Pi OS インストール」等で検索すると沢山出てきます。
image作成
OSディストリビューションは
Raspberry Pi OS (other) > Raspberry Pi OS Lite (64-bit) recommended)
を選択します
参考1:公式サイト
参考2:Raspberry Pi OSのインストール – 公式Imager対応
hostname/username
mustではないですが、imagerの詳細な設定のホスト名は(2)で決めたモノの名前にします。
ユーザー名もpiではなく任意のユーザー名にすることを強く推奨します。
ssh設定
imagerの詳細な設定でSSHを有効にするにチェックを入れます。(ここで公開鍵設定することを推奨しますがmustではありません)
wifi設定
wifi設定する場合はimagerの詳細な設定でSSIDとpskを入力する必要があります。「ラズパイ wpa_supplicant.conf」等で検索すると解説にたどり着けます。wifi countryとlocaleも日本にします。
参考:Wi-Fiパスワードを暗号化して設定する方法
ラズパイ起動
準備が出来たmicroSDカードをラズパイのスロットに差し込み電源ONの後、数分後に設定したホスト名でSSH接続が可能になります。なぜか名前解決できない場合がありましたが、割り振られたipアドレスを確認してSSHログインした後に再起動したらホスト名でログインできました。
パッケージ導入
最初にPython3-dev、pip3とgitを導入します。(Desktop版OSを使う場合は不要)
sudo apt install -y python3-dev python3-pip git
python3 -m pip install --upgrade pip
アップデートをかけます。
sudo apt update
sudo apt -y upgrade
cronの自動起動に必要なメーラーエージェント、awscli、dockerを導入します。
sudo apt install -y postfix docker awscli
openCVの利用に必要なライブラリーを導入します。
sudo apt install libatlas-base-dev libjasper-dev -y
sudo apt install ffmpeg libcanberra-gtk3-module v4l-utils qv4l2 -y
mqtt通信用ライブラリーとaws-python-sdkを導入します。
pip3 install paho-mqtt boto3 --upgrade
awscliとsam cliを導入します。
sudo pip3 install awscli aws-sam-cli --upgrade
openCVとnumpyを導入します。
openCVは関連パッケージの依存解消を確認した上で導入時点の安定板を指定するのが良いでしょう。
pip3 install opencv-python==4.5.4.60
pip3 install numpy --upgrade
最後にコマンドからpythonで実行できるようにリンクをつくります。
cd /usr/bin
sudo rm python
sudo ln -s python3 python
cd
一番最初のdev、pip、git以外は束ねて(10)で.environmentとして実行します。
sudo apt update
sudo apt -y upgrade
sudo apt install -y postfix docker awscli
sudo apt install libatlas-base-dev libjasper-dev -y
sudo apt install ffmpeg libcanberra-gtk3-module v4l-utils qv4l2 -y
pip3 install paho-mqtt boto3 --upgrade
sudo pip3 install awscli aws-sam-cli --upgrade
pip3 install opencv-python==4.5.4.60
pip3 install numpy --upgrade
cd /usr/bin
sudo rm python
sudo ln -s python3 python
cd