公開日:           更新日:       FDX68コントローラー使用環境の構築 – MichaelsBlog

FDX68コントローラー使用環境の構築

5INCHI_LCD-ELECROW_1
5インチLCDディスプレイ + ラズパイ + FDX68
5インチLCDディスプレイ + ラズパイ + FDX68 (横から)
EMULATOR_MODE-1
エミュレーターモード
CONTROLLER_MODE_1
コントローラーモード(ダンプ)
エミュレーターモード(リストア)
21 インチ液晶モニターに表示

はじめに

FDX68コントローラー(FDX68con)は、タッチパネルまたはマウスのみで、GIMONS氏によって開発されたFDX68を操作することが出来るラップ型のGUIアプリケーションとなります。

このFDX68conの使用環境のセットアップには、zα2氏にて制作されたインストーラー 及び FDX68 for phpを使用しています。

タッチパネルやマウスでの操作に加えて、zα2氏のFDX68 for phpを使用してスマートフォンなどのブラウザ経由でFDX68を操作すると、FDイメージの挿入状態・ディスクアクセス状態などFDX68conの表示にもリアルタイムで反映されます。
(2020/5/13時点では、FDX68conの[START]ボタン押下が必要です)
2020/5/26、FDX68conの[START]ボタン押下は不要となり、zα2氏のFDX68 for phpを使用したブラウザからの操作に追従できるようになりました。

【お願い】
FDX68conの公開にあたっては、GIMONS氏、zα2氏に許可を頂いていますが、FDX68conは、私ミカエルが「自身の作業効率UP」を目的として勝手に開発したものであるため、FDX68conのセットアップや使用する際に生じた問題などを、GIMONS氏、zα2氏に問い合わせないようにお願いします。

それでは、Raspberry Pi 3 Model B+に対して、タッチパネル付き7インチLCDの接続と、Qt5.12.7を導入して、FDX68コントローラーが動作する環境を構築します。

SDカード(16G以上)に、Raspbian Buster Liteがインストールされている(OSイメージを書き込み直後)状態を想定しての記述となります。

ここからは、コンパイル時間を入れると8時間以上掛かる場合もあります。そんなに時間を掛けられないという方には、下方の「最後に」の章を見て頂ければ、8時間以上の時間をショートカットする方法を記載しています。

第1章 FDX68コントローラー(FDX68con)の特徴

  • GUIで簡単操作
  • FDX68の持つ機能のほとんどを操作可能
    エミュレータモード
    コントローラーモード(ダンプ・リストア)
    ディスクコンバート
    FDXファイル新規作成など。
  • グラフィカル表示機能
    フロッピーディスクのダンプ・リストア時に正常、警告、エラーでトラックの状態を色分け表示、リトライ回数表示を行います。
  • パラメーターマーキング機能
    ダンプ・リストア時の各種パラメータの内容をマーキングして、簡単に呼出し可能です。
  • ドラッグアンドドロップ
    エミュレーターモード時は、ドラッグアンドドロップでディスクイメージを仮想ドライブにセット可能です。
  • フォルダマーキング機能
    よく使うフォルダをマーキングして、簡単に呼出し可能です。
    フォルダ間の移動、ディスクイメージの選択が容易になります。
  • カレントフォルダ機能
    カレントフォルダとして、「1.最終アクセスフォルダ、2.アプリケーションフォルダ、3.指定フォルダ」の何れかを設定できます。
  • FDX68conメンテナンス機能
    FDX68conの設定値について、バックアップ・リストア・初期化ができます。
  • 自動起動
    ラズベリーパイの電源ONで、FDX68conが自動で起動します。
  • シャットダウン機能
    シャットダウン方法を、「1.FDX68conのみ終了、2.ラズベリーパイをシャットダウン、3.ラズベリーパイを再起動」の何れかから選択できます。

第2章 必要なもの

FDX68conを使用するために必要なものを、以下にリストアップします。

次項からの手順で環境構築を進めていくため、ここに記載しているリンクから前もってダウンロードする必要はありません。

  • Raspberry Pi 3 Model B+
    Raspberry Pi 3 Model B/A+での動作実績があります。
    Raspberry Pi 4 Model Bは未確認です。
  • SDカード 16G以上
  • HDMIインターフェイスLCDディスプレイ(800×480以上)
    通常のHDMIモニタでも表示できると思います。(手持ち分は表示できました)
    USBタッチパネルがおすすめ。タッチパネルが無い場合は、マウスでも操作できます。

    1024×600のLCDディスプレイも実績があります。
    その他、
    解像度800×480以上であれば、5インチのLCDディスプレイでも使用可能です。

(注意)
ラズベリーパイのGPIOを使用するタッチパネル付きLCDディスプレイは使用できません。ご注意願います。

第3章 Raspberry Pi セットアップ

  1. タッチパネル付き7インチLCDの設定
    今回は、タッチパネル付きLCD「7inch HDMI Display-B」の設定を行うため、SDカードのbootパーティション(*1)にある「config.txt」に、下記のコードを追記します。
max_usb_current=1
hdmi_force_hotplug=1
config_hdmi_boost=7
hdmi_group=2
hdmi_mode=87
hdmi_drive=1
hdmi_cvt 800 480 60 6 0 0 0

下記URLに、このLCDの情報があります。
http://www.lcdwiki.com/7inch_HDMI_Display-B

  1. ssh(Secure Shell)の設定
    SDカードのbootパーティション(*1)に、「ssh」(拡張子なし)ファイルを新規作成します。
    同じネットワーク内の別のPCから、sshを使用してコマンドラインにアクセス出来るようになります。
  2. WiFiの設定
    SDカードのbootパーティション(*1)に、下記の内容を記載した「wpa_supplicant.conf」ファイルを新規作成します。

    SSIDとパスワードの部分は、環境に合わせて設定します。
country=JP
ctrl_interface=/var/run/wpa_supplicant
network={
    ssid="SSID"
    psk="パスワード"
    key_mgmt=WPA-PSK
    proto=WPA WPA2
    pairwise=CCMP TKIP
    group=CCMP TKIP WEP104 WEP40
}
  1. SDカードをラズパイにセットして起動
    ID:pi、パスワード:raspberryでログインします。
  1. ラズパイの更新を行います。
$ sudo apt -y update
$ sudo apt-mark hold raspberrypi-kernel
$ sudo apt -y full-upgrade
$ sudo apt-mark unhold raspberrypi-kernel

動作環境を固定化するため、Raspberry Pi OSのみ更新を無効にしています。

(*1)bootパーティション
SDカードをWindowsマシンなどで読み込むと、bootパーティションが見えます。

第4章 Qt 5.12.7 コンパイル & インストール

1.Download the Qt 5.12.7 source archive

$ wget http://download.qt.io/official_releases/qt/5.12/5.12.7/single/qt-everywhere-src-5.12.7.tar.xz

2.Check archive MD5 hash

$ md5sum qt-everywhere-src-5.12.7.tar.xz

上記コマンドで、下記の表示となることを確認します。

ce2c5661c028b9de6183245982d7c120  qt-everywhere-src-5.12.7.tar.xz

3.Un-tar the source archive

下記コマンドでソースコードを解凍します。コマンド入力後、反応がないように見えますが、時間が掛かっているだけで動作はしています。

$ tar xf qt-everywhere-src-5.12.7.tar.xz

4.gitをインストール

$ sudo apt-get install -y git

5.Setup Qt mkspecs configuration files

$ git clone https://github.com/oniongarlic/qt-raspberrypi-configuration.git
$ cd qt-raspberrypi-configuration && make install DESTDIR=../qt-everywhere-src-5.12.7

6.Install required build dependencies

$ sudo apt-get update

7.Install required development packages

$ sudo apt-get install build-essential libfontconfig1-dev libdbus-1-dev libfreetype6-dev libicu-dev libinput-dev libxkbcommon-dev libsqlite3-dev libssl-dev libpng-dev libjpeg-dev libglib2.0-dev libraspberrypi-dev

8.Create a shadow build directory outside of the Qt source tree

$ cd ~
$ mkdir build
$ cd build

9.Configure the Qt build environment

下記内容で、「configure_qt_build_environment.sh」ファイルを新規作成します。

PKG_CONFIG_LIBDIR=/usr/lib/arm-linux-gnueabihf/pkgconfig:/usr/share/pkgconfig \
../qt-everywhere-src-5.12.7/configure -platform linux-rpi3-g++ \
-v \
-opengl es2 -eglfs \
-no-gtk \
-opensource -confirm-license -release \
-reduce-exports \
-force-pkg-config \
-nomake examples -no-compile-examples \
-skip qtwayland \
-skip qtwebengine \
-skip qtscript \
-no-feature-geoservices_mapboxgl \
-qt-pcre \
-no-pch \
-ssl \
-evdev \
-system-freetype \
-fontconfig \
-glib \
-prefix /opt/Qt5.12 \
-qpa eglfs

新規作成したスクリプトファイルを実行ファイルに設定します。

$ sudo chmod 755 configure_qt_build_environment.sh

スクリプトを実行します。

$ sudo ./configure_qt_build_environment.sh

上記の実行結果として、最後に下記が出力されます。

Configure summary:

Build type: linux-rpi3-g++ (arm, CPU features: neon)
Compiler: gcc 8.3.0
Configuration: use_gold_linker enable_new_dtags largefile neon shared rpath release c++11 c++14 c++1z concurrent dbus reduce_exports stl
Build options:
Mode ................................... release
Optimize release build for size ........ no
Building shared libraries .............. yes
Using C standard ....................... C11
Using C++ standard ..................... C++1z
Using ccache ........................... no
Using gold linker ...................... yes
Using new DTAGS ........................ yes
Using precompiled headers .............. no
Using LTCG ............................. no
Target compiler supports:
NEON ................................. yes
Build parts ............................ libs tools
Qt modules and options:
Qt Concurrent .......................... yes
Qt D-Bus ............................... yes
Qt D-Bus directly linked to libdbus .... yes
Qt Gui ................................. yes
Qt Network ............................. yes
Qt Sql ................................. yes
Qt Testlib ............................. yes
Qt Widgets ............................. yes
Qt Xml ................................. yes
Support enabled for:
Using pkg-config ....................... yes
udev ................................... yes
Using system zlib ...................... yes
Qt Core:
DoubleConversion ....................... yes
Using system DoubleConversion ........ no
GLib ................................... yes
iconv .................................. no
ICU .................................... yes
Tracing backend ........................ 
Logging backends:
journald ............................. no
syslog ............................... no
slog2 ................................ no
Using system PCRE2 ..................... no
Qt Network:
getifaddrs() ........................... yes
IPv6 ifname ............................ yes
libproxy ............................... no
Linux AF_NETLINK ....................... yes
OpenSSL ................................ yes
Qt directly linked to OpenSSL ........ no
OpenSSL 1.1 ............................ yes
DTLS ................................... yes
SCTP ................................... no
Use system proxies ..................... yes
Qt Gui:
Accessibility .......................... yes
FreeType ............................... yes
Using system FreeType ................ yes
HarfBuzz ............................... yes
Using system HarfBuzz ................ no
Fontconfig ............................. yes
Image formats:
GIF .................................. yes
ICO .................................. yes
JPEG ................................. yes
Using system libjpeg ............... yes
PNG .................................. yes
Using system libpng ................ yes
EGL .................................... yes
OpenVG ................................. yes
OpenGL:
Desktop OpenGL ....................... no
OpenGL ES 2.0 ........................ yes
OpenGL ES 3.0 ........................ no
OpenGL ES 3.1 ........................ no
OpenGL ES 3.2 ........................ no
Vulkan ................................. no
Session Management ..................... yes
Features used by QPA backends:
evdev .................................. yes
libinput ............................... yes
INTEGRITY HID .......................... no
mtdev .................................. yes
tslib .................................. no
xkbcommon .............................. yes
X11 specific:
XLib ................................. no
XCB Xlib ............................. no
EGL on X11 ........................... no
QPA backends:
DirectFB ............................... no
EGLFS .................................. yes
EGLFS details:
EGLFS OpenWFD ........................ no
EGLFS i.Mx6 .......................... no
EGLFS i.Mx6 Wayland .................. no
EGLFS RCAR ........................... no
EGLFS EGLDevice ...................... no
EGLFS GBM ............................ no
EGLFS VSP2 ........................... no
EGLFS Mali ........................... no
EGLFS Raspberry Pi ................... yes
EGLFS X11 ............................ no
LinuxFB ................................ yes
VNC .................................... yes
Mir client ............................. no
Qt Sql:
SQL item models ........................ yes
Qt Widgets:
GTK+ ................................... no
Styles ................................. Fusion Windows
Qt PrintSupport:
CUPS ................................... no
Qt Sql Drivers:
DB2 (IBM) .............................. no
InterBase .............................. no
MySql .................................. no
OCI (Oracle) ........................... no
ODBC ................................... no
PostgreSQL ............................. no
SQLite2 ................................ no
SQLite ................................. yes
Using system provided SQLite ......... no
TDS (Sybase) ........................... no
Qt Testlib:
Tester for item models ................. yes
Qt SerialBus:
Socket CAN ............................. yes
Socket CAN FD .......................... yes
Further Image Formats:
JasPer ................................. no
MNG .................................... no
TIFF ................................... yes
Using system libtiff ................. no
WEBP ................................... yes
Using system libwebp ................. no
Qt QML:
QML network support .................... yes
QML debugging and profiling support .... yes
QML sequence object .................... yes
QML list model ......................... yes
QML XML http request ................... yes
QML Locale ............................. yes
QML delegate model ..................... yes
Qt Quick:
Direct3D 12 ............................ no
AnimatedImage item ..................... yes
Canvas item ............................ yes
Support for Qt Quick Designer .......... yes
Flipable item .......................... yes
GridView item .......................... yes
ListView item .......................... yes
TableView item ......................... yes
Path support ........................... yes
PathView item .......................... yes
Positioner items ....................... yes
Repeater item .......................... yes
ShaderEffect item ...................... yes
Sprite item ............................ yes
Qt Scxml:
ECMAScript data model for QtScxml ...... yes
Qt Gamepad:
SDL2 ................................... no
Qt 3D:
Assimp ................................. yes
System Assimp .......................... no
Output Qt3D Job traces ................. no
Output Qt3D GL traces .................. no
Use SSE2 instructions .................. no
Use AVX2 instructions .................. no
Aspects:
Render aspect ........................ yes
Input aspect ......................... yes
Logic aspect ......................... yes
Animation aspect ..................... yes
Extras aspect ........................ yes
Qt 3D Renderers:
OpenGL Renderer ........................ yes
Qt 3D GeometryLoaders:
Autodesk FBX ........................... no
Qt Bluetooth:
BlueZ .................................. no
BlueZ Low Energy ....................... no
Linux Crypto API ....................... no
WinRT Bluetooth API (desktop & UWP) .... no
Qt Sensors:
sensorfw ............................... no
Qt Quick Controls 2:
Styles ................................. Default Fusion Imagine Material Universal
Qt Quick Templates 2:
Hover support .......................... yes
Multi-touch support .................... yes
Qt Positioning:
Gypsy GPS Daemon ....................... no
WinRT Geolocation API .................. no
Qt Location:
Qt.labs.location experimental QML plugin . yes
Geoservice plugins:
OpenStreetMap ........................ yes
HERE ................................. yes
Esri ................................. yes
Mapbox ............................... yes
MapboxGL ............................. no
Itemsoverlay ......................... yes
QtXmlPatterns:
XML schema support ..................... yes
Qt Multimedia:
ALSA ................................... no
GStreamer 1.0 .......................... no
GStreamer 0.10 ......................... no
Video for Linux ........................ yes
OpenAL ................................. no
PulseAudio ............................. no
Resource Policy (libresourceqt5) ....... no
Windows Audio Services ................. no
DirectShow ............................. no
Windows Media Foundation ............... no
Qt Tools:
QDoc ................................... no

WARNING: QDoc will not be compiled, probably because libclang could not be located. This means that you cannot build the Qt documentation.

Either ensure that llvm-config is in your PATH environment variable, or set LLVM_INSTALL_DIR to the location of your llvm installation.
On Linux systems, you may be able to install libclang by installing the libclang-dev or libclang-devel package, depending on your distribution.
On macOS, you can use Homebrew's llvm package.
On Windows, you must set LLVM_INSTALL_DIR to the installation path.

Qt is now configured for building. Just run 'make'.
Once everything is built, you must run 'make install'.
Qt will be installed into '/opt/Qt5.12'.

Prior to reconfiguration, make sure you remove any leftovers from
the previous build.

出力内容の中に、以下の記述があることを確認します。
無ければ、手順9で作成したスクリプトに問題が無いか等の確認して下さい。

EGLFS .................................. yes
EGLFS details:
  EGLFS OpenWFD ........................ no
  EGLFS i.Mx6 .......................... no
  EGLFS i.Mx6 Wayland .................. no
  EGLFS RCAR ........................... no
  EGLFS EGLDevice ...................... no
  EGLFS GBM ............................ no
  EGLFS VSP2 ........................... no
  EGLFS Mali ........................... no
  EGLFS Raspberry Pi ................... yes
  EGLFS X11 ............................ no

10.Compile Qt

いよいよ、Qtのコンパイルを行いますが、2つを並列処理でコンパイル(-j2オプション)を指定しても8時間程掛かるようなので、コンパイル失敗は避けたいところ。
8時間、フル稼働でコンパイルを行うこともあり、CPUが高温になったり、メモリ不足でコンパイルが失敗することがあります。SDカードの容量も16GB以上でないと足りなかったりします。
WindowsからSSH経由でログインしている場合、コンパイル中にWindowsがスリープしてもコンパイルが失敗するので、出来れば、ラズパイにHDMIディスプレイとUSBキーボードを差して、Windows無しでのコンパイルがおすすめです。(SSH経由でのログイン状態が維持できているのであれば、SSH経由でのコンパイルでも問題ありません)

CPUの冷却は出来ているとして、念のため、ラズパイをリブートしてメモリの使用状況をクリーンにした上で、コンパイルを実行します。

ラズベリーパイをリブートします。

$ sudo reboot

リブートしたら、「build」フォルダに移動します。

$ cd ~
$ cd build

-j2を指定して、コンパイルを実行します。
-j3,-j4は、失敗する可能性があるため使用しません。

$ sudo make -j2

無事コンパイルが出来ました。(特にエラーが無く、下記の表示で終了してました)

                  ・
                  ・
                  ・
.obj/moc_qgeoroutereplyosm.o .obj/moc_qplacemanagerengineosm.o .obj/moc_qplacesearchreplyosm.o .obj/moc_qplacecategoriesreplyosm.o .obj/moc_qgeotiledmaposm.o .obj/moc_qgeofiletilecacheosm.o .obj/moc_qgeotileproviderosm.o  -L/opt/vc/lib /home/pi/build/qtlocation/lib/libQt5Location.so /home/pi/build/qtlocation/lib/libQt5PositioningQuick.so /home/pi/build/qtdeclarative/lib/libQt5Quick.so /home/pi/build/qtbase/lib/libQt5Gui.so /home/pi/build/qtlocation/lib/libQt5Positioning.so /home/pi/build/qtdeclarative/lib/libQt5Qml.so /home/pi/build/qtbase/lib/libQt5Network.so /home/pi/build/qtbase/lib/libQt5Concurrent.so /home/pi/build/qtbase/lib/libQt5Core.so -lbrcmGLESv2 -lbrcmEGL -lpthread
mv -f libqtgeoservices_osm.so ../../../../plugins/geoservices/libqtgeoservices_osm.so
make[5]: Leaving directory '/home/pi/build/qtlocation/src/plugins/geoservices/osm'
make[4]: Leaving directory '/home/pi/build/qtlocation/src/plugins/geoservices'
make[3]: Leaving directory '/home/pi/build/qtlocation/src/plugins'
make[2]: Leaving directory '/home/pi/build/qtlocation/src'
make[1]: Leaving directory '/home/pi/build/qtlocation'

11.Install the build

Qtのインストールを行います。

$ sudo make install

インストールも問題なく終了しました。

                  ・
                  ・
                  ・
/home/pi/build/qtbase/bin/qmake -install qinstall /home/pi/build/qttranslations/translations/qtxmlpatterns_en.qm /opt/Qt5.12/translations/qtxmlpatterns_en.qm
make[2]: Leaving directory '/home/pi/build/qttranslations/translations'
make[1]: Leaving directory '/home/pi/build/qttranslations'
cd qtdoc/ && ( test -e Makefile || /home/pi/build/qtbase/bin/qmake -o Makefile /home/pi/qt-everywhere-src-5.12.7/qtdoc/qtdoc.pro ) && make -f Makefile install
make[1]: Entering directory '/home/pi/build/qtdoc'
cd doc/ && ( test -e Makefile || /home/pi/build/qtbase/bin/qmake -o Makefile /home/pi/qt-everywhere-src-5.12.7/qtdoc/doc/doc.pro ) && make -f Makefile install
make[2]: Entering directory '/home/pi/build/qtdoc/doc'
make[2]: Nothing to be done for 'install'.
make[2]: Leaving directory '/home/pi/build/qtdoc/doc'
make[1]: Leaving directory '/home/pi/build/qtdoc'

12.Qtへのパスを設定

今回インストールした/opt/Qt5.12にアクセスできるようにするため、下記のようにシンボリックリンクを作成して、/opt/Qtにパスを通します。

$ sudo ln -s /opt/Qt5.12 /opt/Qt

「.bash_profile」にPATHを設定します。下記のようにファイル内の「$PATH」より前に「/opt/Qt/bin」を記述するようにします。
ファイルが無い場合は、下記の1行を記述した「.bash_profile」ファイルを新規作成します。

テキストエディタで、ホームフォルダの「.bash_profile」を開きます。
今回は、ファイルが無かったので新規作成となりました。

$ sudo nano ~/.bash_profile

下記のように、PATHの設定を記載して保存します。

export PATH=/opt/Qt/bin:$PATH

パスが通っているか確認します。

$ source ~/.bash_profile
$ qmake --version

下記のようにバージョンが表示されれば、パス設定設定も成功です。

$ qmake --version
QMake version 3.1
Using Qt version 5.12.7 in /opt/Qt5.12/lib

第5章 Raspberry Pi セットアップ
FDX68インストール
FDX68conインストール

  1. zα2氏にて公開されている、セットアップスクリプトを実行して、ラズパイのセットアップと、FDX68のインストール、FDX68をスマートフォンなどWEBブラウザから操作するFDX68 for phpのインストールを行います。

    ——————————————————————————————————————————–
    (注意:2023/10/29追記)
    公開されている2023/10/29時点のセットアップスクリプトでは、FDX68のソフトウェアのバージョン1.30がインストールされます。特に最新のFDX68V2基板を使用する場合は、手動で、FDX68のソフトウェアのバージョン2.00以降をインストールするようにして下さい。(2023/10/29時点の最新は2.00cです)(FDX68のバイナリーファイルを/usr/local/bin/下に置いてください)

    なお、FDX68conも同じセットアップスクリプトでインストールされますが、こちらは、ミカエルが指定したバージョンがインストールされる仕組みとなっており、基本的には最新バージョンを指定しています。
    ——————————————————————————————————————————–

    gitからセットアップスクリプトをダウンロード・実行します。

$ cd ~
$ wget https://raw.githubusercontent.com/ztto/fdx68-php/master/raspberrypi_setup.sh
$ chmod 755 raspberrypi_setup.sh
$ sudo ./raspberrypi_setup.sh
  1. スクリプトに従い、以下を選択します。
    【インストール対象の選択】
    「1:All Install」を選択します。

    【対象となるボードの選択】
    「2:FDX68」を選択します。

    【インストール対象を選択】
    「2:fdx68 + fdx68con」を選択します。
  2. インストールが終わった後、一旦ラズベリーパイを再起動します。
$ sudo reboot
  1. 再起動後、引き続き、FDX68 for phpのインストールを行います。
    gitから下記のセットアップスクリプトをダウンロード・実行します。
$ wget https://raw.githubusercontent.com/ztto/fdx68-php/master/fdx68php_setup.sh
$ chmod 755 fdx68php_setup.sh
$ sudo ./fdx68php_setup.sh
  1. インストールが終わった後、ラズベリーパイを再起動します。
$ sudo reboot

自動起動するための方法はいくつかありますが、root権限で実行出来て、お手軽という理由で、/etc/rc.localを編集して、Raspberry Piの電源ONで、自動的にFDX68conを実行する設定を行っています。

  1. FDX68conが起動すれば、インストール成功となります。

(2020/5/24記)第6章、第7章の手順は不要となりました。

最後に

これまでの手順で、Qt5.12.7をインストール出来るはずですが、電源供給、熱対策、メモリ残量の関係で、コンパイルエラーとなることがあります。他にも、長時間のコンパイル作業の中で、中断してしまう状況となり、コンパイルエラーから抜け出すことが出来なくなるケースもあります。(OSが少し古くて、他にもいろいろなものをインストールしていたイメージにQtをインストールしようとした時に、1度だけ発生したことがあります。)

そこで、本ページに記載した手順により、Qt 5.12.7のコンパイルとインストールを行ったSDカードイメージを用意しましたので、時間がない、何度やっても失敗するなどありましたら、下記の手順に従ってイメージをダウンロードして、16GB以上のSDカードに書き込んで使用して下さい。

RaspberryPi_Qt5.12.7_FDX68con_20200518.zip(約1.85GB)

イメージの内容には以下が含まれています。
・Raspbian Buster Lite(Version:February 2020,Release date:2020-02-13)
・Qt 5.12.7 LTS

このSDカードイメージには、Qt以外は含んでいませんので、手順1.~5.の後、手順6.も実施して下さい。

  1. 上記リンクよりダウンロードします。
  2. 解凍します。
  3. イメージファイルを、Win32DiskImager等のツールで、SDカードに書き込みます。
  4. 第3章「手順3.WiFiの設定」を行います。
  5. ラズパイにSDカードをセットして起動した後、下記を実行して、rootfsパーティションを拡張します。
$ sudo raspi-config nonint do_expand_rootfs
  1. ラズベリーパイを再起動します。
$ sudo reboot
  1. 再起動後、第5章のセットアップを実施します。

FDX68/FDX68conのアップデート方法

  1. Windowsマシンなどからターミナルソフトを使用して、SSHでラズパイに接続します。
  2. zα2氏にて公開されている、セットアップスクリプトを実行して、FDX68 および FDX68conのアップデートを行います。

    gitからセットアップスクリプトをダウンロード・実行します。
$ wget -O raspberrypi_setup.sh https://raw.githubusercontent.com/ztto/fdx68-php/master/raspberrypi_setup.sh
$ chmod 755 raspberrypi_setup.sh
$ sudo ./raspberrypi_setup.sh
  1. スクリプトに従い、以下を選択します。
    【インストール対象の選択】
    2:update FDX68 or RaSCSI」を選択します。

    【対象となるボードの選択】
    「2:FDX68」を選択します。

    【インストール対象を選択】
    「2:fdx68 + fdx68con」を選択します。
  2. アップデートが終わった後、一旦ラズベリーパイを再起動します。
$ sudo reboot
  1. FDX68conが起動した後、最新バージョンにアップデートされていることを確認して下さい。

ダウンロード

  1. FDX68conの配布ファイル

    FDX68con Version 1.06ダウンロード(TAR.GZ)

    変更履歴(TXT)

  2. FDX68conの簡易マニュアル
    主要な部分の説明のみを記載しています。今後、徐々に更新していきます。

    FDX68con QuickGuide Version 1.00ダウンロード(PDF)

ライセンス

FDX68コントローラー(以下FDX68conと呼ぶ)は、GNU Lesser General Public License(以下LGPLと呼ぶ)で提供されているQt 5.12.7 LTSを使用して開発されたソフトウェアとなります。
Qtで提供されるライブラリを改変したり、静的リンクは行っていないこともあり、FDX68conのライセンスは、MIT Licenseとします。

ライセンスの内容については、「FDX68コントローラ(FDX68con)」の配布ファイル内にあるREADME.mdに記載したURL、または、下記URLより確認できます。
https://ja.osdn.net/projects/opensource/wiki/licenses%2FMIT_license

著作権

FDX68conの著作権は、開発者ミカエルが有します。

免責

FDX68conは無保証となります。また、FDX68conの使用により生じたいかなる損害に対しても責任を持ちません。