/

Raspberry Piへインストールする際の注意事項

TWELITE STAGE APP を Raspberry Pi へインストールする際の注意事項
RasPi  

TWELITE STAGE APPは、一部を除く Raspberry Pi で動作します。

  • マウスとタッチスクリーンに対応します。
  • ビルドツールチェインが付属しており、コンパイルもできます。
  • 実行形式には、X11版のほかにフレームバッファ版(nox)があるほか、半透明エフェクトなどを省略した軽量版があります。

環境

以下の環境で開発・動作確認しています。

ハードウェア

  • Raspberry Pi 3 Model B
  • LCD Screen: Raspberry Pi Touch Display (7")

ソフトウェア

  • Raspberry PI OS (32bit) Lite (Version:August 2020)

既知の問題・制限事項

  • 1回目の起動で /dev/serial0 の動作に失敗することがあります。
  • Raspberry Pi 4B では /dev/serial0 の動作は未検証です。
  • Raspberry Pi 4B ではタッチスクリーンの動作は未検証です。
  • TWELITE STAGE への入力文字列が/dev/tty1上で動作してるシェルやgettyへ入力文字列がそのまま渡されます。/dev/tty1から起動することを推奨します。
  • 他のインストールや動作のプログラム(X11など)に影響を受けることがあります。

アーカイブの展開

ダウンロードしたアーカイブファイルは、パス名に空白や日本語などが含まれないフォルダに展開します。

以下ではRaspberry Piのホームフォルダに展開しています。


cd /home/pi
unzip MWSTAGE2020_XX_YYYY.zip

フォルダ構成

../MWSTAGE
     TWELITE_Stage.run    TWELITE_Stage アプリ
     BIN/                 ファームウェアBINファイル
     MWSDK/               MWSDK ライブラリなど
     TWELITE_Stage/       TWELITE_Stage アプリ関連ファイル

デバイスドライバ

TWELITE STAGE から MONOSTICK や TWELITE R を認識するためには、ftdi_sioモジュールのアンロードや、USBデバイスに対する読み書き権限の付与が必要です。

この設定を自動化するための udev の設定スクリプトを用意しています。/etc/udev/rules.d に定義をコピーして、設定をリロードしています。設定後は USB デバイスを抜き差ししてから TWELITE_Stage.run を実行してください。起動直後の画面で USB デバイスが表示されたなら、設定が反映されています。


cd ./MWSTAGE/TWELITE_Stage/INSTALL/ubuntu/
sudo ./set_udev_sudo.sh

定義ファイル(読みやすいように改行しています)

ACTION=="add",
   ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001",
   MODE="0666",
   RUN+="/bin/sh -c 'rmmod ftdi_sio && rmmod usbserial'"
ACTION=="add",
   ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6015",
   MODE="0666",
   RUN+="/bin/sh -c 'rmmod ftdi_sio && rmmod usbserial'"

シリアルポートの取り扱い

上述の環境では、raspi-config よりシリアルポートの設定をすることで /dev/serial0 が利用できます。


sudo raspi-config

メニューより

  "3 Interface Options    Configure connections to peripherals"
  →"P6 Serial Port Enable/disable shell messages on the serial connection"

以下のようにログインシェルとしては利用しない、ハードウェアを有効化するを選択します。

  "Would you like a login shell to be accessible over serial?" -> 
  "Would you like the serial port hardware to be enabled?" → 

配線例

 [TWELITE]               [Raspberry Pi]
  GND  ------------------ Gound (#6,#9,#14,#20,#25,#30,#34,#39のいずれか)
  TXD(DIO6,DIP#10) ------ GPIO15/UART0 RXD (#10)
  PRG(SPIMISO,DIP#7) ---- GPIO23 (#16)
  RXD(DIO7,DIP#3) ------- GPIO14/UART0 TXD (#8)
  RST(RESETN,DIP#21) ---- GPIO22 (#15)
  VCC  ------------------ 3V3 (#1,#17のいずれか)
  SET(DIO12,DIP#15) ----- GPIO12 (#32)
  • TWELITE, Raspberry Pi それぞれのマニュアルを参照してください。
  • DIP# は TWELITE DIP のピン番号です。
  • 上記の配線は TWELITEが安定稼働することを保証するものではありません。

TWELITE STAGE APPの起動

  • フレームバッファ版(nox)はX11のデスクトップ上では動作しません。X11を終了しておきます。
  • TWELITE_Stage.runを実行します。スクリーン画面上のTWELITE STAGE APPが表示されます。

留意事項

  • マウスとタッチパネルに対応します。
  • TWELITE STAGE APP中で、入力した文字はコンソール画面にも表示される場合があります。

その他

/dev/dri エラー

TWELITE_Stage.run の起動時に以下のエラーが出る場合がありますが、無視して構いません。

  "The path /dev/dri/ cannot be opened or is not available"

メモリ不足

CPU数が4以上の場合、ビルド時はCPU数を一つ引いた値の並列コンパイルを実行します(4コアなら3並列)。 場合によってはメモリ不足が発生するかもしれません。その場合は並列数を変更してください。

Raspberry Pi 4

以下の設定が必要です。OpenGL関連のドライバが有効にする必要があります。

  • raspi-config の Advanced Settings → A2 GL Driver → G2 GL (Fake KMS) を選択します
  • libgles-dev パッケージを導入しておきます
  • タッチスクリーンの動作は未検証です