この記事ではRaspberry Pi 4 Model Bにインストールした Raspbian Buster を使っています。
下準備
SD Memory Card Formatterをインストール
SD Memory Card Formatter - SD Association
balenaEtcherをインストール
balenaEtcher - Home
Raspbian Buster with desktopをダウンロード
https://www.raspberrypi.org/downloads/raspbian/
SD cardをフォーマットして、balenaEtcherで2020-02-05-raspbian-buster.zip
を書き込む。
SSHの有効化
※モニタに接続している場合はVNCを有効化してRealVNC Viewerで接続すれば、この作業は不要。
【Windows】モニタなしでラズパイ3をセットアップするだけ - Qiita
microSDカードのドライブを開いて、ドライブ直下に空の ssh
ファイルを作成
Raspberry Pi を起動
Raspberry Pi にmicroSDカードを挿入して、LANケーブルと電源ケーブルを接続
Tera TermでRaspberry Piに接続
Tera Term Open Source Project
ホスト: raspberrypi.local
ユーザー名: pi
パスフレーズ: raspberry
VNCの有効化
【Windows】モニタなしでラズパイ3をセットアップするだけ - Qiita
sudo raspi-config
Interfacing Options→VNC
解像度の設定
これをやっておかないと、VNC接続したときに、Raspberry Pi 4 のデスクトップが見えない。
Raspberry Pi 4 VNC Remote Connection Desktop Error - Raspberry Pi Stack Exchange
sudo raspi-config
Advanced Options→Resolution→DMT Mode 85 1280x720 60Hz 16:9
再起動
RealVNC ViewerでPCから接続
Download VNC Viewer | VNC® Connect
Update Software をして再起動
QTのインストール
パッケージのダウンロード
wget http://deb.debian.org/debian/pool/main/q/qtwebengine-opensource-src/qtwebengine5-dev_5.11.3+dfsg-2+deb10u1_armhf.deb
wget http://deb.debian.org/debian/pool/main/q/qtwebengine-opensource-src/libqt5webengine5_5.11.3+dfsg-2+deb10u1_armhf.deb
wget http://deb.debian.org/debian/pool/main/q/qtwebengine-opensource-src/libqt5webenginecore5_5.11.3+dfsg-2+deb10u1_armhf.deb
wget http://deb.debian.org/debian/pool/main/q/qtwebengine-opensource-src/libqt5webenginewidgets5_5.11.3+dfsg-2+deb10u1_armhf.deb
パッケージのインストール
sudo apt-get install qt5-default
sudo apt-get install qtmultimedia5-dev
sudo apt install ./libqt5webenginecore5_5.11.3+dfsg-2+deb10u1_armhf.deb
sudo apt install ./libqt5webengine5_5.11.3+dfsg-2+deb10u1_armhf.deb
sudo apt install ./libqt5webenginewidgets5_5.11.3+dfsg-2+deb10u1_armhf.deb
sudo apt install ./qtwebengine5-dev_5.11.3+dfsg-2+deb10u1_armhf.deb
PyQt5のインストール
パッケージのダウンロード
wget https://ftp.zcu.cz/debian/pool/main/p/pyqt5/python3-pyqt5.qtwebengine_5.11.3+dfsg-1+b3_armhf.deb
wget https://ftp.zcu.cz/debian/pool/main/p/pyqt5/python3-pyqt5.qtwebchannel_5.11.3+dfsg-1+b3_armhf.deb
wget https://ftp.zcu.cz/debian/pool/main/p/pyqt5/python3-pyqt5_5.11.3+dfsg-1+b3_armhf.deb
wget https://ftp.zcu.cz/debian/pool/main/p/pyqt5/python3-pyqt5.qtmultimedia_5.11.3+dfsg-1+b3_armhf.deb
パッケージのインストール
sudo apt install ./python3-pyqt5_5.11.3+dfsg-1+b3_armhf.deb
sudo apt install ./python3-pyqt5.qtwebchannel_5.11.3+dfsg-1+b3_armhf.deb
sudo apt install ./python3-pyqt5.qtwebengine_5.11.3+dfsg-1+b3_armhf.deb
sudo apt install ./python3-pyqt5.qtmultimedia_5.11.3+dfsg-1+b3_armhf.deb
SDTestの動作環境構築
必要なパッケージを事前インストール
sudo apt-get install cmake
sudo apt-get install libtiff5-dev libjasper-dev
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev
sudo apt-get install libxvidcore-dev libx264-dev
sudo apt-get install libcairo2-dev
sudo apt-get install libgdk-pixbuf2.0-dev libpango1.0-dev
sudo apt-get install libgtk2.0-dev libgtk-3-dev
sudo apt-get install libatlas-base-dev gfortran
sudo apt-get install libhdf5-dev libhdf5-103
sudo apt-get install libqtgui4 libqtwebkit4 libqt4-test
sudo apt-get install llvm
sudo apt-get install libusb-1.0-0-dev cython
sudo apt-get install libftdi-dev
checkinstallのインストール
mkdir src
cd ~/src
git clone https://github.com/giuliomoro/checkinstall
cd checkinstall
sudo make install
libuvcのインストール
cd ~/src
git clone https://github.com/pupil-labs/libuvc
cd libuvc
cmake .
make
sudo checkinstall
Enter a number to change any of them or press ENTER to continue: 3
Enter new version:
>> 0.0.7
sudo apt install ./libuvc_0.0.7-1_armhf.deb
sudo ldconfig
libjpeg-turboのインストール
cd ~/src
wget -O libjpeg-turbo.tar.gz https://sourceforge.net/projects/libjpeg-turbo/files/1.5.1/libjpeg-turbo-1.5.1.tar.gz/download
tar xvzf libjpeg-turbo.tar.gz
cd libjpeg-turbo-1.5.1
./configure --with-pic --prefix=/usr/local
sudo make install
sudo checkinstall
sudo ldconfig
pipのインストール
cd ~
wget https://bootstrap.pypa.io/get-pip.py
sudo python get-pip.py
sudo python3 get-pip.py
sudo rm -rf ~/.cache/pip
ターミナルを再起動
cythonのインストール
sudo pip install cython
udevルールの設定
echo 'SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", GROUP="plugdev", MODE="0664"' | sudo tee /etc/udev/rules.d/10-libuvc.rules > /dev/null
sudo udevadm trigger
virtualenvとvirtualenvwrapper のインストールと設定
sudo pip install virtualenv virtualenvwrapper
nano ~/.bashrc
シェルの起動ファイルの最後に次を追加
# virtualenv and virtualenvwrapper
export WORKON_HOME=$HOME/.virtualenvs
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
source /usr/local/bin/virtualenvwrapper.sh
Ctrl+x, y, Enter
起動ファイルを再読み込み
source ~/.bashrc
仮想環境の作成
mkvirtualenv --system-site-packages sdtest -p python3
SDTestのダウンロードとインストール
Pi Camera Module を使う場合
※ Raspberry Pi Configuration の Interfeces でカメラを有効に
cd ~
git clone -b feature/picamera https://github.com/akiphumi/SDTest.git
cd SDTest
workon sdtest
pip install -r requirements/base.txt -U
UVCカメラを使う場合
cd ~
git clone -b feature/rpi_control_camera https://github.com/akiphumi/SDTest.git
cd SDTest
workon sdtest
pip install -r requirements/base.txt -U
pip install -r requirements/linux.txt -U
VL805 ファームウェアをロールバック
Pi4 USB3 freezing locking up - Raspberry Pi Forums
sudo vl805 -w /lib/firmware/raspberrypi/bootloader/beta/vl805-00013701.bin
sudo reboot
ファームウェアの自動更新を無効に
Raspberry Pi 4 boot EEPROM - Raspberry Pi Documentation
sudo systemctl mask rpi-eeprom-update
プログラムの起動
cd SDTest
workon sdtest
python src/build.py run