ラズパイ4のセットアップ
半導体不足のためほぼ手に入らない状態だったので
KSY でラズパイ4の教材セットのものを購入
すでにOSの書き込みはされているので
ディスプレイとキーボード、マウスなどを用意すれば
すぐに起動できる
今回は
bluetooth キーボードを使用したが
初期設定はマウスだけでもできる
パスワード入力などではキーボードが必要になる
今回は
Anker の bluetooth キーボードを使用したが
ペアリングや日本語入力で手間取った
ペアリングは
Fn + z キーの長押しで行い
日本語変換と英語の切り替えは
スペース + Control で行う
とりあえずインストールができたら端末を起動し
を実行
Interfacing Options を Select
I2 SSH
をクリックし
はい
をクリック
これでSSHが有効になるので
ここから後は ubuntu から操作できる
なお
1 2 3 | Warning: Permanently added '192.168.1.48' (ECDSA) to the list of known hosts.
Received disconnect from 192.168.1.48 port 22:2: Too many authentication failures
packet_write_wait: Connection to 192.168.1.48 port 22: Broken pipe
|
となったときには
1 | ssh -o IdentitiesOnly= yes pi@192.168.1.48
|
とすることで
接続できる
今回はUSBカメラを使用する
ロジクールLogicool C270n
次に公開鍵認証にするので
Ubuntu で ssh-keygenコマンドで作成
-t で暗号形式を rsa
-b で4096ビットに指定
なおデフォルトでは2048ビット
1 2 | cd . ssh
ssh -keygen -t rsa -b 4096
|
で作成
1 | Enter file in which to save the key ( /home/snowpool/ . ssh /id_rsa ):
|
となったらファイル名を入力
今回は raspi4
としておく
パスフレーズは省略するので
1 | Enter passphrase (empty for no passphrase):
|
と
1 | Enter same passphrase again:
|
は
Enter にすればパスフレーズなしとなる
次に公開鍵の登録
これは
ssh-copy-id コマンドを使う
なお接続するラズパイ4のIPは
Android ならFing で調べることが可能
1 | scp -o IdentitiesOnly= yes . ssh /raspi4 .pub pi@192.168.1.48: /home/pi/
|
で作成したファイルをコピー
次に
ラズパイにログイン
1 2 3 | cat raspi4.pub >> . ssh /authorized_keys
chmod 700 . ssh /
chmod 600 . ssh /authorized_keys
|
で
vim をインストール
1 | sudo vim /etc/ssh/sshd_config
|
で設定ファイルを開き
パスワード認証を禁止
1 2 3 4 | PermitEmptyPasswords no
PasswordAuthentication no
AuthorizedKeyFile . ssh /authorized_keys
|
を設定
で設定の確認
1 | sudo /etc/init .d /ssh restart
|
で
ssh の再起動
これで
でログインが可能になる
次に opencv のインストール
1 2 3 | sudo apt update -y
sudo apt upgrade -y
sudo apt autoremove -y
|
でリポジトリ更新とアップデート
そして不要なパッケージの削除
次に opencv に必要なライブラリをインストール
1 2 3 | sudo apt install -y libhdf5-103
sudo apt install -y libatlas-base-dev
sudo apt install -y libjasper-dev
|
しかし
1 | sudo apt install -y libqt4- test
|
を実行したところ
1 | E: パッケージ libqt4- test が見つかりません
|
となる
python : pip install OpenCVでRaspbianでこのエラーが発生するのはなぜですか?2021-12-27 06:48
によれば
Qt4はもうパッケージ化されていない
とのこと
このため
Linuxでdebパッケージをインストールする方法
を見ながら
1 2 | wget http: //ftp .de.debian.org /debian/pool/main/q/qt4-x11/libqt4-test_4 .8.7+dfsg-18+deb10u1_arm64.deb
sudo dpkg -i libqt4-test_4.8.7+dfsg-18+deb10u1_arm64.deb
|
としたが
パッケージアーキテクチャ (arm64) がシステム (armhf) と一致しません
処理中にエラーが発生しました:
となるため
1 2 | wget http: //ftp .us.debian.org /debian/pool/main/q/qt4-x11/libqt4-test_4 .8.7+dfsg-18+deb10u1_armhf.deb
sudo dpkg -i libqt4-test_4.8.7+dfsg-18+deb10u1_armhf.deb
|
としたが
1 2 3 4 5 6 7 8 9 | dpkg: 依存関係の問題により libqt4- test :armhf の設定ができません:
libqt4- test :armhf は以下に依存 (depends) します: libqtcore4 (= 4:4.8.7+dfsg-18+deb10u1) ...しかし:
パッケージ libqtcore4 はまだインストールされていません。
dpkg: パッケージ libqt4- test :armhf の処理中にエラーが発生しました (-- install ):
依存関係の問題 - 設定を見送ります
libc-bin (2.31-13+rpt2+rpi1+deb11u2) のトリガを処理しています ...
処理中にエラーが発生しました:
libqt4- test :armhf
|
となってしまう
きにせずそのまま
1 | sudo pip install opencv-python
|
としたら
インストールできた
1 | sudo python3 -m pip install pip --upgrade
|
で
pip もアップデートしておく
次に仮想環境を構築するツール
virtualenv
と
virtualenvwrapper
をインストール
1 | sudo pip3 install virtualenv
|
を実行すると
インストールは成功するが
1 | WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https: //pip .pypa.io /warnings/venv
|
となる
意味は
警告:「root」ユーザーとしてpipを実行すると、権限が破損し、システムパッケージマネージャーとの動作が競合する可能性があります。代わりに仮想環境を使用することをお勧めします
とのこと
1 | pip install virtualenvwrapper
|
でインストールすると
1 2 | WARNING: The script virtualenv-clone is installed in '/home/pi/.local/bin' which is not on PATH.
Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
|
とでてくる
これは
.bashrc へ設定追加が必要
virtualenvとvirtualenvwrapperを使う
を参考に
whichコマンドを使って、virtualenvwrapper.shの場所を探す
1 | which virtualenvwrapper.sh
|
結果は
1 | /home/pi/ . local /bin/virtualenvwrapper .sh
|
だったので
でファイルを開き
最終行に
1 2 3 4 | if [ -f /usr/local/bin/virtualenvwrapper .sh ]; then
export WORKON_HOME=$HOME/.virtualenvs
source /home/pi/ . local /bin/virtualenvwrapper .sh
fi
|
を追記
で有効化
しかし
mkvirtualenv コマンドが見つからないので
再度設定を変更
Raspberry Pi で virtualenv のインストール
を参考に
追記部分の
1 2 3 4 | if [ -f /usr/local/bin/virtualenvwrapper .sh ]; then
export WORKON_HOME=$HOME/.virtualenvs
source /home/pi/ . local /bin/virtualenvwrapper .sh
fi
|
を削除し
代わりに
1 2 3 | export WORKON_HOME=$HOME/.virtualenvs
export VIRTUALENVWRAPPER_PYTHON= /usr/bin/python3
source /home/pi/ . local /bin/virtualenvwrapper .sh
|
を追記
source のパスは
1 | which virtualenvwrapper.sh
|
のものを使用
これで
を実行すると
mkvirtualenv コマンドが使えるようになる
このコマンドの詳細については
コマンドリファレンス
を参考に