最適な出力のために、Google Chrome(15以降)または Microsoft Edge(79以降)を推奨いたします。
2024-11-14 現在導入方法
TWELITE STAGE SDK のインストール方法
動作環境によっては、本アプリケーションの動作に各種設定が必要です。問題が生じた場合には、本資料の記述を参考にして環境を整備してください。
開発環境を構築するためには、ソフトウェア群のインストール、またこれらの利用許諾に同意する必要があります。また、セキュリティ設定等が必要になる場合があります。
- 配布時に十分注意しておりますが、お客さまの側でもウィルスやマルウェアが含まれていないことを確認いただくようお願いします。
- セキュリティの運用(外部アプリケーションのインストールの可否など)については、お客さまの環境の管理者にご確認ください。
「アプリケーションの配布と実行について」 も併せてご覧ください。以下の内容を含みます。
- 本来のファイルとダウンロードしたファイルの同一性の確認について
- macOS/Windowsにおけるコード署名の取り扱いについて
TWELITE STAGE SDK のインストール手順
① アーカイブを取得
各プラットフォーム (Windows / macOS / Linux) 用の TWELITE STAGE SDK を ダウンロード します。
macOSの場合はHomebrewを使用できます
brew install twelite-stage
インストール先は ~/MWSTAGE
です。
② アーカイブを展開
ダウンロードしたZipアーカイブを展開します。
展開先のファイルパスには、半角数字 0..9、半角アルファベットa..zA..Z、一部の記号 -_. 以外の空白や漢字・ひらがな等を含めないでください。
Windows の場合の例
- NG :
C:\work\作業\
- NG :
C:\Users\user1\work dir\
- OK :
C:\Work\Work1
③ ファイルを確認
展開先のフォルダを確認します。
通常 C:\Work
上に配置したアーカイブは C:\Work\MWSTAGE
に展開されますが、展開ソフトによってはフォルダ名が異なる可能性があります。 必要に応じて変更してください。
文中では展開したフォルダ (例 C:\Work\MWSTAGE
) を {MWSTAGE インストール}
のように表記する場合があります。
展開先のフォルダ {MWSTAGE インストール}
には、以下が含まれます。
- TWELITE STAGE APP
- Windows の場合:
TWELITE_Stage.exe
(通常版)、TWELITE_Stage_VSCode.exe
(VSCode対応版) - macOS の場合:
TWELITE_Stage.command
(通常版)、TWELITE_Stage_VSCode.command
(VSCode対応版) - Linux の場合:
TWELITE_Stage.run
(通常版)、TWELITE_Stage_VSCode.run
(VSCode対応版)
TWELITE_STAGE
- TWELITE STAGE APP の関連ファイルMWSDK
- ライブラリ、ソースコードなどTools
- ビルドするためのツールチェインなどBIN
- TWELITE STAGE APP の [BINから選択]メニューで参照されるTWELITE 向け.BINファイルlog
- TWELITE STAGE APP のログ機能やデータベースファイルの保存先flask_wsns_db
- Python, Flask, sqlite3 による簡易的なサーバ
詳細は「フォルダ構成」をご覧ください。
1 - フォルダ構成
TWELITE STAGE APP のフォルダ構成について
TWELITE STAGE APP は、TWELITE STAGE SDK のフロントエンドアプリケーションとして動作します。
ここでは、そのフォルダ構成について解説します。
MWSTAGE/ : TWELITE STAGE SDK インストール
TWELITE_Stage.??? : 実行形式 (Windwows .exe, macOS .command, Linux .run)
TWELITE_Stage.sav : 設定ファイル
TWELITE_Stage.ini : その他設定
TWELITE_Stage/ : TWELITE STAGE APP の関連ファイル
MWSDK/ : MWSDKのライブラリなど
BIN/ : [BINファイル選択]時の格納先
log/ : ログ・データベース格納先
Tools/ : gcc コンパイラなどのツール一式
flask_wsns_db/ : Python, Flask, sqlite3 による簡易的なサーバ
MWSDK
フォルダ
MWSDK/
Act_samples/ : mwx ライブラリによるサンプルコード
Wks_TweApps/ : TWELITE APPS のソースコード
Act_extras/ : mwx ライブラリによるより専門的なサンプル、他のライブラリを引用したもの
TWENET/ : TWENET ライブラリ (mwx ライブラリなど)
ChipLib/ : 半導体ライブラリ
MkFiles/ : Makefile の本体処理部分
docs/ : ライブラリマニュアルなど
LICENSE : MWSDKのライセンス記述
000manifest : MWSDKのバージョン情報
ReleaseNotes.md : 更新履歴(トップページ)
ReleaseNotes_en.md : 更新履歴(英語)
ReleaseNotes_jp.md : 更新履歴(日本語)
MWSDK フォルダには、TWELITE のソフトウェアを構築するためのライブラリや、サンプル、TWELITE APPS のソースコードが含まれます。
TWELITE_Stage.sav
TWELITE STAGE APPの設定情報を記録します。
ファイル名は TWELITE STAGE APP 実行形式名 + .sav
です。
TWELITE_Stage.ini
.ini
ファイルの詳細はこちら。
MWSDK=
MWSDK/
フォルダの替わりに別のフォルダを指定したいときに編集します。複数のライブラリバージョンを混在させる場合に便利です。上記の例では MWSDK2020_10
フォルダを利用します。LANG=
TWELITE STAGE APP の表示言語を英語にする場合は LANG=en
を指定します。
設定の異なる TWELITE STAGE APP を実行する
TWELITE_Stage.exe
(Windows の場合) を別のファイル名でコピーします。 例えば TWS1.exe
と変更した場合は、TRS1.sav
, TRS1.ini
という設定ファイルを参照します。
BIN
フォルダ
TWELITE STAGE APP の [BINから選択] メニューを選択したときには、このフォルダにある ファームウェアファイル (.BIN
) を利用します。
log
フォルダ
TWELITE STAGE APP でシリアルポートのログ機能を実行したときには、このフォルダにログファイルを格納します。
グラフ機能を用いた場合のデータベースファイルの格納先や、csvファイルの出力先もこのフォルダです。
gcc
, g++
など、クロスコンパイラの toolchain 等が含まれます。
プラットフォームに固有のユーティリティもこのフォルダに格納されます。詳しくは Tools/readme.txt
を参照してください。
flask_wsns_db
フォルダ
TWELITE STAGE APP のセンサーグラフビューアで作成したデータベースにアクセスするためのPythonのサンプルスクリプトです。
本サンプルでは表やグラフでデータをWebブラウザで閲覧することができます。
詳しくは flask_wsns_db/README.html
を参照してください。
ビルドプロジェクトフォルダ
本機能は標準的に提供する機能ではないものとして紹介します。記載の内容と異なった動作になる場合もあります。
フォルダの検索順
TWELITE STAGE APP は、以下の順でビルドプロジェクトフォルダ (Act_samples
など) を検索します。
- TWELITE STAGE APP が起動したときのフォルダ
- TWELITE STAGE APP の実行形式があるフォルダ
{MWSDKフォルダ}/..
{MWSDKフォルダ}
MWSDK は TWELITE STAGE APP の実行形式があるフォルダを起点に検索します。
Wks_Acts
Wks_Acts
フォルダを作成した場合には、Act_samples
フォルダの替わりに、このフォルダをメニューの[actビルド&書換]メニューから参照します。
Wks_Acts
は、自身で作成したプロジェクトを格納する用途を想定しています。
2 - プラットフォーム別の注意事項
インストールにおけるプラットフォーム別の注意事項
TWELITE STAGE APP を各プラットフォームにインストールする際の注意事項を記載しています。
2.1 - Windowsへインストールする際の注意事項
TWELITE STAGE APP を Windows へインストールする際の注意事項
Windows環境
以下の環境で開発・動作確認しています。
- Windows10 バージョン 1903
- VisualStudio 2019 (32bit ビルド)
シリアルポートの取り扱い
MONOSTICK や TWELITE R シリーズには、 FTDI社の USBシリアル変換IC(FT230/FT232 シリーズ)を搭載しています。これらを利用するために、デバイスドライバのインストールが必要となる場合があります。
PC がMONOSTICK や TWELITE R を認識しない場合には、 https://www.ftdichip.com より D2XX ドライバをインストールしてください。
Visual C++ ランタイムライブラリの追加インストール
場合によっては、Visual Studio 2019 の Visual C++ 頒布可能コード(ランタイムライブラリ)が必要です。
アプリケーションの起動時にエラーが出て起動しない場合は、本パッケージで再配布している TWELITE_Stage¥INSTALL¥VC_redist.x86.exe
を実行するか、マイクロソフト社のウェブサイトから入手してください。なお、再配布バイナリは 32bit です。
2.2 - macOSインストールする際の注意事項
TWELITE STAGE APP を macOS へインストールする際の注意事項
macOS環境
以下の環境で開発・動作確認しています。
- macOS 10.14 (Mojave, Intel)
- macOS 12 (Monterey, Apple Silicon)
依存するソフトウェアや警告ダイアログについて
下記の事象が発生した場合には、 TWELITE_Stage.command
の動作のために、実行の許可やインストールが必要です。
- ツールチェインにはコード署名がなされていますが、コード署名が正しく認証されない場合は、ビルドツールチェイン (
ba-elf-gcc
など) の実行形式一つずつについて、動作許可を求められる場合があります。 - ダウンロードアーカイブには署名しておりません。実行時には、インターネットからダウンロードされたアプリケーションとしてセキュリティ警告が出る場合があります。
TWELITE_Stage.command
をインストールしたパスからの実行許可を要求される場合があります。- ビルド実行時に make ユーティリティのインストールダイアログが出る場合があります。
make ユーティリティの追加インストール
場合によっては、make ユーティリティをインストールしなくてはなりません。
macOSバージョンの違いなどにより、別の手順で行う必要があるかもしれません。
コマンドライン (zsh) から make を実行したときに、エラーが出る場合には Command Line Tools をインストールします。
インストールが完了したら、make を入力して以下のメッセージの出力を確認します。
make
make: *** No targets specified and no makefile found. Stop.
シリアルポートの取り扱い
MONOSTICK や TWELITE R シリーズには、 FTDI社 (https://www.ftdichip.com) の USBシリアル変換IC(FT230/FT232 シリーズ)を搭載しています。これらを利用するために、デバイスドライバのインストールが必要となる場合があります。
TWELITE_Stage.command
を起動してもシリアルポートが表示されない場合は、FTDI社のドライバをアンロード(無効化)してください。
このユーティリティは MONOSTICK や TWELITE R を挿入した際にOS標準のデバイスドライバのロードを抑制するだけでなく、同じ USB の ID を持つそれ以外のデバイスについてもデバイスドライバのロードを抑制します。
https://www.ftdichip.com/Drivers/D2XX.htm より D2xxHelper をダウンロードできます。 なお、TWELITE STAGE SDKの TWELITE_Stage/INSTALL
フォルダにも同じものを収録しています。
参考:FTDI社デバイスドライバの手動アンロード
FTDI 関連のドライバをアンロードするには、以下のコマンドを実行します。
sudo kextunload -b com.apple.driver.AppleUSBFTDI
2.3 - Linuxへインストールする際の注意事項
TWELITE STAGE APP を Linux へインストールする際の注意事項
Linux
TWELITE R2 のUSBデバイスIDが従来の0403:6001から0403:6015に変わっています。udevの設定追加が必要です。
Linux環境はディストリビューションやバージョンによって、用意されているパッケージの種類が異なります。個別にパッケージ等のインストールや設定が必要になる場合があります。
エラーメッセージ等を手がかりに一般の情報を参照いただくようお願いいたします。
環境
以下の環境で開発・動作確認しています。
- Ubuntu 16.04, 18.04, 20.04
- NNLinux Beta8 64bit
- CentOS 7
シリアルポートの取り扱い
TWELITE STAGE から MONOSTICK や TWELITE-R を認識するには、ftdi_sioモジュールをアンロードし、USBデバイスに対して読み書き権限を与える必要があります。
USBデバイスのIDを以下に示します。
- ベンダーID
0x0403
- プロダクトID
0x6001
(MONOSTICK,TWELITE R) または 0x6015
(TWELITE R2)
なお、この設定を自動化するための udev
の設定スクリプト(Ubuntu, CentOS) を用意しています。
/etc/udev/rules.d
に定義をコピーして、設定をリロードします。 設定後は USB デバイスを抜き差ししてから TWELITE_Stage.run
を実行してください。起動直後の画面で USB デバイスが表示されたなら、設定が反映されています。
Ubuntu 16.04, 18.04, 20.04
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'"
Centos 7
cd ./MWSTAGE/TWELITE_Stage/INSTALL/centos/
sudo ./set_udev_sudo.sh
定義ファイル(読みやすいように改行しています)
ACTION=="add",
ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001",
MODE="0666",
RUN+="/bin/sh -c '/usr/sbin/rmmod ftdi_sio'"
ACTION=="add",
ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6015",
MODE="0666",
RUN+="/bin/sh -c '/usr/sbin/rmmod ftdi_sio'"
アプリケーションの登録
必要に応じて、お使いのデスクトップ環境に合った方法でアプリケーションを登録してください。
デスクトップ上のファイルアイコンから、TWELITE_Stage.run を実行できない場合があります。 これは、システムが TWELITE_Stage.run
を実行形式として認識できない場合があるためです。
Ubuntu 16.04, 18.04, 20.04
Ubuntu用の定義ファイル生成スクリプトを用意しています。
cd ./MWSTAGE/TWELITE_Stage/INSTALL/ubuntu/
./make_launch_icon.sh
このスクリプトは .desktop
ファイル(アプリ定義)を $HOME/.local/share/applications
に作成します。
スクリプト実行後に、アプリケーション一覧に TWELITE STAGE のアイコンが追加されます。
2.4 - Raspberry Piへインストールする際の注意事項
TWELITE STAGE APP を Raspberry Pi へインストールする際の注意事項
RasPiTWELITE STAGE APPは、一部を除く Raspberry Pi で動作します。
- マウスとタッチスクリーンに対応します。
- ビルドツールチェインが付属しており、コンパイルもできます。
- 実行形式には、X11版のほかにフレームバッファ版(
nox
)があるほか、半透明エフェクトなどを省略した軽量版があります。
お使いの Raspberry Pi の OS 種別、バージョン、インストール状況によっては動作しない場合や、再コンパイル等が必要になる場合があります。
環境
以下の環境で開発・動作確認しています。
ハードウェア
- 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デバイスに対する読み書き権限の付与が必要です。
USBデバイスのIDを以下に示します。
- ベンダーID
0x0403
- プロダクトID
0x6001
(MONOSTICK,TWELITE R) または 0x6015
(TWELITE R2)
この設定を自動化するための 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
が利用できます。
メニューより
"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
busterにおける注意事項
OpenGL関連のドライバを有効とする必要があります。
- raspi-config の Advanced Settings → A2 GL Driver → G2 GL (Fake KMS) を選択します
- libgles-dev パッケージを導入しておきます
2024年6月現在、Raspberry Pi OS (32bit, bookworm)では、Linuxカーネルの更新に伴いピンの制御を行えず、モジュールを認識・操作できない不具合が発生しております。
また、bookworm では libccm 等に関するエラーにより起動できない不具合も確認されていますが、次のコマンドを実行することで解消できる場合があります。
sudo apt update
sudo apt install --reinstall libraspberrypi0 libraspberrypi-dev libraspberrypi-doc libraspberrypi-bin
このとき、再起動すると lightdm の起動に失敗してしまう場合があります。
その際は raspberrypi-ui-mods
の導入をお試しください。
sudo apt update
sudo apt install raspberrypi-ui-mods
お手数ですが、当分は Raspberry Pi OS (32bit, bullseye) をご利用ください。
追記:Raspberry Pi OS (bookworm) に対応した TWELITE STAGE アプリのベータ版を作成しました。
【32bit版パッチの導入方法】
cd MWSTAGE
wget https://twelite.net/files/TWELITE_Stage_Wayland.run.zip
unzip TWELITE_Stage_Wayland.run.zip
./TWELITE_Stage_Wayland.run
【64bit版パッチの導入方法】
cd MWSTAGE
wget https://twelite.net/files/TWELITE_Stage_Wayland_64.run.zip
unzip TWELITE_Stage_Wayland_64.run.zip
mv Tools/ba-elf-ba2-r36379 Tools/ba-elf-ba2-r36379-bkup32
wget https://twelite.net/files/ba-elf-ba2-r36379_aarch64.tgz
tar -xzf ba-elf-ba2-r36379_aarch64.tgz
mv ba-elf-ba2-r36379 Tools/
./TWELITE_Stage_Wayland_64.run