Raspiソフトウエアセットアップ

作業項目
  • Raspi
    1.RaspiOSのインストール
    2.WindowsからsshにてRaspiへログイン
      有線LANとWiFiのIPを固定化
       bookworm版 bullseye版
    3.セットアップを継続

Raspberry piのセットアップ

Windows環境にてRaspiOSのインストール
 ● /bootfs内へ空sshファイルを作成しpipのインストールから始める。
 (raspiはpipがデフォルトでインストールされていない) ※なお、bookworm版からpip環境がデフォルトで許可されていない。
  RaspiOSを空のSDカード(64GB)へ書き込むためImagerのインストール(Windows版)を行う。
 Windows版のimagerを Just a moment... からダウンロードする。
 Download for Windowsを選択し、imager_*.*.*.exeをインストールする。(例はimager_1.8.4.EXE、bookworm版の場合)
 ここで、WindowsはRaspiと同じネットワークハブ内にありWiFiアクセスポイントも稼働中であるものとする。
 最新版OS(bookworm)ではDHCP環境がNetworkManager管理下になっており、WiFi設定等を自動的行わせるため。
 このネットワーク環境で作業すると下記4.WiFiのSSID及びパスワードを自動認識し有線LANのIPも自動的に割り振られる。
 システム設定:Windows:設定の項で作成したホルダ「Python_sys」配下へファイルを移動する。
 ・「Python_sys」内のimager_1.8.4.EXEをクリック
 ・ WindowsのGUIにより( SDカードへRaspiOSを書き込む )RaspiOSのインストールを行う。
 1.Raspberry: Piデバイス nofiltering クリック NO FILTERING
 2.OS: OSを選択 Raspberry Pi OS(other) > Raspberry Pi OS Lite(32-bit)を選択 RASPBERRY PI OS LITE(32-BIT)...※CUI版
 3.ストレージ: ストレージを選択 Multi Flash Reader - 62.2 GBと表示された部分をクリック MULTI FLASH READER
   選択状態 [NO FILTERING  RASPBERRY PI OS LITE(32-BIT)  MULTI FLASH READER]<--この並びで 次へ <--クリック
   ここで必ず、設定を編集する<--クリック
   ホスト名:、パスワード:、WiFiのSSIDやロケールやその他を設定するため
 4.ホスト名: raspberrypi01 .local ユーザ名とパスワードを設定する ユーザ名:pi パスワード:***
   Wi-Fiを設定する SSID *** パスワード:*** WiFiを使う国:GB<--JPに変更 (パスワード:*** パスワードを見るで表示される)
   ※ここでパスワードは固定化IPで使用するのでメモ帳などへコピペしておく
   ロケール設定をする タイムゾーン:Asia/Tokyo キーボードレイアウト:us <--jpに変更
   保存<--クリック はい<--クリック 警告 はい<--クリック(SDカードへ書き込みが始まる)
   プレグレッシグバーが表示され、進行状態が表示される 書き込み中...60%  確認中...50%
   途中でデスクのフォーマットをしますかが表示されるがこれはXで閉じる
   書き込みが正常に終了しました
   SDカードをSDカードリーダーから取り出すことができます。
   続ける<--クリック 右上のXで終了(閉じる)する。
   USB Card Reader取り出し<--クリック --OKが表示されたらUSBケーブルを一端取り外す。
   USBケーブルを取り外して再接続し、/bootfs(D:)内へ空のsshファイルを作成する(初期boot時のsshをイネーブルするため)
   SDカードをCard Readerから取り出し、Raspi Zを立ち上げる。
 5.エラーが出て書き込みがうまくいかない時、以下を確認する。
  ・SDカードの接触不良の場合は挿し直すと解決する場合がある。
  ・USBケーブルの交換や別のSDカードスロットや、SDカードリーダーにすると解決する場合がある。
WindowsからsshにてRaspiへログインし、圧縮ファイルを転送後はTeraTermでログインし直す。
  Raspi:(ホスト名:raspberrypi01 ユーザ名:pi パスワード:***)
  ・※注意!! RaspiOSを書き込んだ後の1回目のboot時はLEDが緑の点滅を繰り返し、wlan0設定の所で止まっている。
   キーボードやVGAが接続されていないためここは強制的にUSB電源を取り外す。2回目以降はちゃんと立ち上がる。(原因不明)
  ・Raspiは user名:pi、host名:raspberrypi01、password:***とする。
 ● 「ここへ入力して検索」へ半角で dosと入力すると黒いウインドウ枠のコマンドプロンプトが現れる。
  ・ここでは、Raspiの/home/pi配下へprogramsというデレクトリを作成する。
  ♦ この作業はRaspi側へ通信記録を残す非常に大事な作業であり、必ずssh接続を最低1回は行なっておく必要がある。
   記録例: tcp Local Address:Port 192.168.51.139:22という履歴が残りこの:22が本作業に該当する。
C:\Users\usr_name> ssh pi@raspberrypi01
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
pi@raspberrypi01's password:***<---ここでRaspiのパスワードを聞かれるので入力
pi@raspberrypi01:~ $ mkdir -p /home/pi/programs && cd $_<-----①programsデレクトリ作成と移動
・すでにprogramsデレクトリがあればprogramsが表示される。
pi@raspberrypi01:~/programs $ cd /
pi@raspberrypi01:~ $ sudo chmod 767 /home/pi/programs<---書き込み権と実行権を設定
 ● Raspiのpiユーザ配下へprogramsデレクトリが作成されたのでダウンロードした実行環境を格納する。
  ・先ほど、デスクトップ上に作成済みホルダ「Python_sys」配下へダウンロードした*.tar.gzを格納
  ・再度、新規コマンドプロンプトを起動
  ・scpコマンドで*.tar.gzファイルをprograms配下へ移動(user_name、pi@raspberrypi01は自分の環境へ適時、合わせる)
C:\Users\user_name> scp C:\Users\user_name\Desktop\Python_sys\actdev.tar.gz pi@raspberrypi01:/home/pi/programs/actdev.tar.gz
 ● 有線LANとWiFiのIPを固定化( bookworm版, bullseye版 )し、以後TeraTermで作業を行う。
以下、ssh接続のTeraTermでセットアップ作業を行う。 (TeraTerm不明時、TeraTermをインストールする で検索をかける)
  ・Raspiへvirtualenv環境を作成しPythonモジュール類をインストールする。
  ・Windows編で作成した、Tere Termのアイコン *.*.*.* をクリック
pi@raspberrypi01:~ $ sudo apt update
Key is stored in legacy trusted.gpg keyring (/etc/apt/trusted.gpg), see the DEPRECATION section in apt-key(8) 
for details.<--無害ではあるがWarningが発生した場合
pi@raspberrypi01:~ $ sudo cp /etc/apt/trusted.gpg /etc/apt/trusted.gpg.d<--Warning停止
pi@raspberrypi01:~ $ sudo apt -y update
pi@raspberrypi01:~ $ sudo apt -y upgrade
pi@raspberrypi01:~ $ sudo apt -y install vim
pi@raspberrypi01:~ $ python3 --version
Python 3.11.2
pi@raspberrypi01:~ $ uname -a
Linux raspberrypi 6.1.0-rpi7-rpi-v6 #1 Raspbian 1:6.1.63-1+rpt1 (2023-11-24) armv6l GNU/Linux
pi@raspberrypi01:~ $ cat /etc/os-release
PRETTY_NAME="Raspbian GNU/Linux 12 (bookworm)"
NAME="Raspbian GNU/Linux"
VERSION_ID="12"
VERSION="12 (bookworm)"
VERSION_CODENAME=bookworm
ID=raspbian
ID_LIKE=debian
HOME_URL="http://www.raspbian.org/"
SUPPORT_URL="http://www.raspbian.org/RaspbianForums"
BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs"
 ● Raspiの画面がフリッカしている場合があるのでその対策を行う。
pi@raspberrypi01:~ $ sudo vi /boot/config.txt
iを入力
--INSERT --
#dtoverlay=vc4-kms-v3d<--#を入れてコメント化
ESC :wq Enter<-- viエデイタ 書き込み終了
pi@raspberrypi01:~ $ sudo reboot
 ● virtualenvをインストールした後、pip本体のインストールとアップグレードを行う。
pi@raspberrypi01:~ $ sudo apt install virtualenv python3-virtualenv -y
Setting up javascript-common (11+nmu1) ...
Setting up python3-filelock (3.9.0-1) ...
Setting up python3-distlib (0.3.6-1) ...
Setting up python3-platformdirs (2.6.0-1) ...
Setting up libexpat1-dev:armhf (2.5.0-1) ...
Setting up zlib1g-dev:armhf (1:1.2.13.dfsg-1) ...
Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ...
Setting up python3-wheel-whl (0.38.4-2) ...
Setting up libjs-underscore (1.13.4~dfsg+~1.11.4-3) ...
Setting up python3-virtualenv (20.17.1+ds-1) ...
Setting up libpython3.11-dev:armhf (3.11.2-6) ...
Setting up virtualenv (20.17.1+ds-1) ...
Setting up libjs-sphinxdoc (5.3.0-4) ...
Setting up libpython3-dev:armhf (3.11.2-1) ...
Setting up python3.11-dev (3.11.2-6) ...
Setting up python3-dev (3.11.2-1) ...
Processing triggers for man-db (2.11.2-2) ...
pi@raspberrypi01:~ $ sudo apt install -y git
pi@raspberrypi01:~ $ sudo apt install i2c-tools
pi@raspberrypi01:~ $ sudo apt install byobu
pi@raspberrypi01:~ $ sudo apt install -y ufw
● 温湿度計ではntpを必要としているのでchronyをインストールする。
pi@raspberrypi01:~ $ sudo apt install chrony
pi@raspberrypi01:~ $ sudo vi /etc/chrony/chrony.conf
i Enter
--INSERT --
refclock SHM 0 offset 0.5 delay 0.2 refid GPS<-最終行に追加しておく(GPSによる時刻同期)
Esc : w q Enter<--順番に入力し書き込んで終了する
pi@raspberrypi01:~ $ sudo systemctl enable chrony
Executing: /lib/systemd/systemd-sysv-install enable chrony
pi@raspberrypi01:~ $ sudo systemctl start chrony
pi@raspberrypi11:~ $ timedatectl status
   Time zone: Asia/Tokyo (JST, +0900)<--JSTならOK
   Time zone: Europe/London (GMT, +0000)<--もしJSTでないならJSTに変更
pi@raspberrypi11:~ $ timedatectl set-timezone Asia/Tokyo
● すでにWindowsのscpコマンドでactdev.tar.gzファイルを/home/pi/programs/actdev.tar.gzに移動しているので、
pi@raspberrypi01:~ $ cd programs
pi@raspberrypi01:~/programs $ sudo tar -zxvf actdev.tar.gz
pi@raspberrypi01:~/programs $ ls -al
drwxrw-rwx 3 pi   pi      4096 Jan 22 15:25 .
drwx------ 4 pi   pi      4096 Jan 22 15:23 ..
drwxr-xr-x 4 root root    4096 Jan 17 11:15 actdev<--このデレクトリ内へソフトウエアのセットアップを行う。
-rw-r--r-- 1 pi   pi   9915634 Jan 19 18:28 actdev.tar.gz
pi@raspberrypi08:~/programs $ cd /home/pi/programs/actdev
・仮想環境(virtualenv)を作成し、pip等をインストールする。
pi@raspberrypi01:~/programs/actdev $ sudo chmod 767 dev_venv<--書き込み権と実行権を設定
pi@raspberrypi01:~/programs/actdev $ virtualenv -p /usr/bin/python3 dev_venv
pi@raspberrypi01:~/programs/actdev $ source dev_venv/bin/activate
(dev_venv) pi@raspberrypi01:~/programs/actdev $ pip list
Package    Version
---------- -------
pip        23.0.1<--最新版にupgrade
setuptools 66.1.1<--最新版にupgrade
wheel      0.38.4
(dev_venv) pi@raspberrypi01:~/programs/actdev $ pip -V
pip 23.0.1 from /home/pi/programs/actdev/dev_venv/lib/python3.11/site-packages/pip (python 3.11)
(dev_venv) pi@raspberrypi01:~/programs/actdev $ python -m pip install --upgrade pip setuptools<-pip,setuptoolsのupgrade
Successfully installed pip-23.3.2
Successfully installed setuptools-69.0.3
(dev_venv) pi@raspberrypi01:~/programs/actdev $ pip install numpy==1.24.2   (pip3)<---?
 ● Raspiへログインし直しセットアップ作業を継続する。
pip install python-dateutil<--日付処理をより簡単に行えるライブラリ
pip install bme680
pip install cryptography
pip install pigpio
pip install PyYAML
pip install smbus2
pip install smbus
■■■■■■■