0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

SDTest on Raspberry Pi 4

Posted at

この記事では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
0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?