この節では、アプリケーション開発のために、はじめに開発環境のセットアップを行います。
本節を完了すると、Armadillo を用いた製品の開発に即座に取り組むことができる状態になります。
開発環境のセットアップは、作業用 PC と Armadillo の両方に対して行います。
本節では初めに作業用 PC についてのセットアップを行い、その後に Armadillo についてのセットアップを行います。
そのため、新たに Armadillo を用意した場合や、Armadillo のセットアップをやり直したい方は本節の途中から行うことができます。
後半では Armadillo による開発方法の勝手を大まかに把握したい方を想定して、
Python アプリケーションによる LED 点滅の動作確認を行う項を用意しています。
不要な方はこの項をスキップしてください。
作業用 PC をセットアップします。
アットマークテクノでは、製品のソフトウェア開発や動作確認を簡単に行うために、Oracle VirtualBox 仮想マシンのデータイメージを提供しています。
このデータイメージを ATDE(Atmark Techno Development Environment) と呼びます。
ATDE の起動には仮想化ソフトウェアである VirtualBox を使用します。
![[ティップ]](images/tip.png) | |
---|
Oracle VirtualBoxには以下の特徴があります。 -
基本パッケージが GPLv3(GNU General Public License Version 3) で提供されている
-
VMware形式の仮想ディスク(.vmdk)ファイルに対応している
|
7.1.1.1. VirtualBox のインストール
ATDE を使用するために、作業用 PC に VirtualBox をインストールします。
VirtualBox の Web ページ(https://www.virtualbox.org/) を参照してインストールしてください。
また、ホスト OS が Linux の場合、デフォルトでは VirtualBox で USB デバイスを使用することができません。
ホスト OS(Linux)で以下のコマンドを実行後、ホスト OS を再起動してください。
[PC ~]$ sudo usermod -a -G vboxusers $USER
ホスト OS が Windows の場合はこの操作は必要ありません。
ATDE のアーカイブ(.ova
ファイル)を Armadillo サイト(https://armadillo.atmark-techno.com/resources/software/atde/atde-v9)から
ダウンロードします。
![[注記]](images/note.png) | |
---|
アットマークテクノ製品の種類ごとに対応している ATDE のバージョンが異なります。
本製品に対応している ATDE のバージョンは以下のとおりです。 -
VirtualBox
-
ATDE9 v20240925 以降
|
ATDE9 は Debian GNU/Linux 11 (コードネーム bullseye) をベースに、Armadillo-900 開発セット のソフトウェア開発を行うために必要なクロス開発ツールや、Armadillo-900 開発セット の動作確認を行うために必要なツールが事前にインストールされています。
![[警告]](images/warning.png) | |
---|
作業用 PC の動作環境(ハードウェア、VirtualBox、ATDE の対応アーキテクチャなど)により、 ATDE が正常に動作しない可能性があります。
VirtualBox の Web ページ(https://www.virtualbox.org/) から、
使用している VirtualBox のドキュメントなどを参照して動作環境を確認してください。 |
-
VirtualBox を起動し、[ファイル]-[仮想アプライアンスのインポート]を選択します。
-
[ソース]の項目で、ダウンロードした ATDE のアーカイブ(
.ova
ファイル)を選択します。
-
[設定]の項目で、[ハードドライブをVDIとしてインポート]のチェックを外します。
-
[完了]をクリックします。インポートの処理が完了するまで数分程要します。
-
インポートの処理が完了したら、ホスト OS の環境に合わせた設定に更新するため
仮想マシンを選択して[設定]をクリックした後に[OK]をクリックします。
![[ティップ]](images/tip.png) | |
---|
ATDE に割り当てるメモリおよびプロセッサ数を増やすことで、 ATDE をより快適に使用することができます。
仮想マシンのハードウェア設定の変更方法については、
VirtualBox の Web ページ(https://www.virtualbox.org/) から、
VirtualBox のドキュメントなどを参照してください。 |
-
仮想マシンを選択して[起動]をクリックしてください。
-
ATDE のログイン画面が表示されます。
ATDE にログイン可能なユーザーを、表7.1「ユーザー名とパスワード」に示します []。
表7.1 ユーザー名とパスワード
ユーザー名 | パスワード | 権限 |
---|
atmark
| atmark
| 一般ユーザー |
root
| root
| 特権ユーザー |
7.1.1.5. コマンドライン端末(GNOME端末)の起動
Armadillo を利用した開発では、 CUI (Character-based User Interface)環境を提供するコマンドライン端末を通じて、 Armadillo や ATDE に対して操作を行う場面が多々あります。
コマンドライン端末にはいくつかの種類がありますが、ここではGNOMEデスクトップ環境に標準インストールされているGNOME端末を起動します。
GNOME端末を起動するには、図7.1「GNOME端末の起動」のようにデスクトップ左上のアプリケーションの「ユーティリティ」カテゴリから「端末」を選択してください。
図7.2「GNOME端末のウィンドウ」のようにウィンドウが開きます。
コマンドライン端末から次の操作を行い、ソフトウェアを最新版へアップデートしてください。
VirtualBoxは、ゲストOS (ATDE)による取り外し可能デバイス(USBデバイスやDVDなど)の使用をサポートしています。
デバイスによっては、ホストOS (VirtualBoxを起動しているOS)と ATDE で同時に使用することができません。
そのようなデバイスを ATDE で使用するためには、ATDE にデバイスを接続する 図7.4「ATDE にデバイスを接続する」 の操作が必要になります。
7.1.1.8. VirtualBox Guest Additions の再インストール
ATDE は VirtualBox 仮想マシン用ソフトである VirtualBox Guest Additions があらかじめインストールされた状態で配布されています。
Guest Additions のバージョンは VirtualBox 自体のバージョンと連動しているため、
お使いの VirtualBox のバージョンと ATDE にインストール済みの Guest Additions のバージョンが異なる場合があります。
VirtualBox と Guest Additions のバージョンが異なることによって問題が起こる可能性は低いですが、
これに起因すると思われる不具合(ATDEの画面・共有フォルダー・クリップボード等の不調)が発生した場合は、
以下の手順を参考に Guest Additions を再インストールしてください。
(実行前に ATDE のスナップショットを作成しておくことを推奨します)
-
ATDE を起動後、上部バーの[ツール]-[Guest Additions CD イメージの挿入]を選択してください。
-
お使いの VirtualBox と同じバージョンの
VBox_GAs_[VERSION]
が「ファイル」上に表示されます。
-
VBox_GAs_[VERSION]
をマウントするために、「ファイル」から VBox_GAs_[VERSION]
を押下してください。
インストールする前に、以下のコマンドで既にインストール済みの Guest Additions をアンインストールします。
sudo /opt/VBoxGuestAdditions-[VERSION]/uninstall.sh
以下のコマンドでお使いの VirtualBox のバージョンに合った Guest Additions がインストールされます。
cd /media/cdrom0
sudo sh ./autorun.sh
ホスト OS と ATDE 間でファイルを受け渡す手段として、共有フォルダーがあると大変便利です。
ここでは、ホスト OS と ATDE 間の共有フォルダを作成する手順を紹介しますが、
不要な方はこの手順をスキップしてください。
追加した共有フォルダーは、図7.8「「ファイル」に表示される共有フォルダー」のように「ファイル」からアクセスするか、
または /media/sf_share(共有フォルダー名)
からアクセスできます。
( share
というフォルダー名で作成すると、ATDE上では sf_share
として表示されます。)
作業用 PC のセットアップです。
Armadillo-900 開発セット の開発には、 VS Code を使用します。
ATDE のバージョン v20230123 以上には、 VS Code がインストール済みのため新規にインストールする必要はありませんが、
使用する前には図7.3「ソフトウェアをアップデートする」にしたがって最新版へのアップデートを行ってください。
以下の手順は全てATDE上で実施します。
VS Code を起動するために code
コマンドを実行するか、「アプリケーション」の中から「Visual Studio Code」を探して起動してください。
![[ティップ]](images/tip.png) | |
---|
VS Code を起動すると、日本語化エクステンションのインストールを提案してくることがあります。
その時に表示されるダイアログに従ってインストールを行うと VS Code を日本語化できます。 |
7.1.2.2. VS Code に開発用エクステンションをインストールする
VS Code 上でアプリケーションを開発するために、
ABOSDE (Armadillo Base OS Development Environment) というエクステンションをインストールします。
エクステンションはマーケットプレイスからインストールすることができます。
VS Code を起動し、左サイドバーのエクステンションを選択して、検索フォームに「abos」と入力してください。
表示された「Armadillo Base OS Development Environment」の 「Install」ボタンを押すとインストールは完了します。
7.1.3. Armadillo に初期設定をインストールする
次に、 Armadillo に初期設定( initial_setup.swu
)をインストールします。
initial_setup.swu
はログインパスワードやユーザー固有の証明書などの
初期設定を Armadillo にインストールするためのファイルです。
initial_setup.swu
でインストールされるユーザー固有の証明書がない場合、
ユーザーが開発したアプリケーションをインストール、またはアップデートすることができません。
このため開発前に、初期化された Armadillo に initial_setup.swu
をインストールする必要があります。
初期化された Armadillo に対してユーザーが開発したアプリケーションのインストール・アップデートを行うために必須の手順になりますので、
必ず行ってください。
ここでは、 initial_setup.swu
を VS Code で作成し、 ABOS Web で Armadillo にインストールします。
7.1.3.1. initial_setup.swu
の作成
図7.11「initial_setup.swu
を作成する」 に示すように、VS Code の左ペインの [COMMON PROJECT COMMAND] から [Generate Initial Setup Swu] を実行してください。
初回実行時には各種設定の入力を求められます。
入力する設定の内容を 図7.12「initial_setup.swu 初回生成時の各種設定」 に示します。
なお、この後の
Python アプリケーション
による動作確認では ABOS Web を使用した手順を記載しています。
この後の手順通りに動作確認を行いたい場合は、ABOS Web のパスワードを設定してください。
|
COMMON_NAME には証明鍵の「common name」として会社や製品が分かるような任意の名称を入力してください。
|
|
証明鍵を保護するパスフレーズを2回入力します。
|
|
SWUイメージ自体を暗号化する場合に「y」を入力します。
詳細は 「SWUpdate と暗号化について」 を参考にしてください。
|
|
アットマークテクノのアップデートをインストールしない場合は「n」を入力します。
|
|
rootのパスワードを2回入力します。
使用するパスワードは以下のルールに従ってください。
-
辞書に載っている言葉を使用しない
-
単調な文字列を使用しない
-
8文字以上のパスワード長にする
|
|
atmarkユーザーのパスワードを2回入力します。
何も入力しない場合はユーザーをロックします。
使用できるパスワードの制限はrootと同様です。
|
|
自動アップデートを無効のままで進みます。ここで「y」を入れると、定期的に
アットマークテクノのサーバーからアップデートの有無を確認し、自動的にインストールします。
|
|
abos-webを使用する場合はパスワードを設定してください。
ここで設定したパスワードは abos-web から変更できます。
使用できるパスワードの制限はrootと同様です。
詳細は 「ABOS Web のパスワード変更」 を参考にしてください。
|
|
作成したファイルを確認します。「swupdate.aes-key」は暗号化の場合にのみ作成されます。
|
ファイルは ~/mkswu/initial_setup.swu
に保存されます。
7.1.3.2. initial_setup.swu
を Armadillo にインストール
上の手順で作成した SWU イメージ(initial_setup.swu
)を Armadillo へインストールします。
インストール方法は様々ありますが(「SWU イメージのインストール」)、ここでは ABOS Web を使用した手動インストールを行います。
ABOS には ABOS Web という機能が含まれています。
この機能を活用することで、 Web ブラウザからネットワークの設定や、 SWU イメージのインストールなどを簡単に行うことができます。
(ただし、Armadillo と作業用 PC が同一 LAN 内に存在している必要があります)
以下の手順に沿って、 ABOS Web へアクセスし、initial_setup.swu
のインストールを行ってください。
まず、 図7.13「ABOSにアクセスするための接続」 のとおりに Armadillo に配線を行い、電源を入れてください。
-
-
Armadillo-900 開発セット
-
-
ACアダプタ(12V/2.0A)
-
-
作業用 PC
-
-
LAN HUB
-
-
Ethernetケーブル
-
-
起動デバイス設定スイッチ
1分ほど待機して、ABOSDE でローカルネットワーク上の Armadillo をスキャンします。
図7.14「ABOSDE で ローカルネットワーク上の Armadillo をスキャンする」 の赤枠で囲われているボタンをクリックしてください。
Armadillo が正常に起動していた場合、図7.15「ABOSDE に表示されている Armadillo を更新する」 の一覧に起動した Armadillo が armadillo.local という名称で表示されます。
表示されない場合は1分ほど待機してから図7.15「ABOSDE に表示されている Armadillo を更新する」の赤枠で囲われているマークをクリックしてスキャンを再度試みてください。
ただし、ATDE のネットワークをブリッジ接続以外に設定している場合は Armadillo がリストに表示されない場合があります。表示するためにはATDE のネットワークをブリッジ接続に設定してください。
また、ABOS Web が動作する Armadillo が同じ LAN 上に複数あると、ABOS Web に接続する URL のホスト名部分(armadillo.local)が、2台目では armadillo-2.local、3台目では armadillo-3.local のように、違うものが自動的に割り当てられます。
目的の Armadillo がどのホスト名なのか不明な場合には、Armadillo のラベルに記載されているMACアドレスと一致するもの( 図7.16「ABOSDE を使用して ABOS Web を開く」 の赤枠に表示されます )を探してください。
続いて、図7.16「ABOSDE を使用して ABOS Web を開く」 の赤枠で囲われているマークをクリックして、
ABOS Web を Web ブラウザで開きます。
ABOS Web が正常に起動していれば、Web ブラウザに パスワード登録画面( 図7.17「パスワード登録画面」 )が表示されます。
initial_setup.swu
を作成する手順で設定したパスワードを入力して、ABOS Web のログイン用パスワードを設定します。
パスワード登録画面で、"パスワード" フィールドと "パスワード(確認)" フィールドに、登録したいパスワードを入力してから、"登録" ボタンをクリックしてください。
パスワード登録完了画面が表示されたら、パスワード登録の完了です。
パスワード登録完了画面にある "ログインページ" というリンクをクリックすると、ログイン画面が表示されますので、先ほど登録したパスワードを入力して "ログイン" ボタンをクリックしてください。
ログインに成功すると、ABOS Web の設定画面( 図7.20「トップページ」 )に表示が変わり、設定操作を行うことができます。
これで、ABOS Web へのアクセスが完了しました。
7.1.3.4. ABOS Web から initial_setup.swu
をインストール
ABOS Web のトップページから"SWU インストール"をクリックして、 図7.21「SWU インストール」 の画面に遷移します。
"参照…"から ~/mkswu/initial_setup.swu
を選択し、"インストール"をクリックしてください。
数分ほど待機すると 図7.22「SWU インストールに成功した画面」 のように"インストールが成功しました。"と表示され、Armadillo が再起動します。
(ABOS Web も再起動されるので、再起動完了後にページを更新するとログイン画面に戻ります)
これで Armadillo に初期設定をインストールする手順が完了です。
インストール完了後に ~/mkswu ディレクトリ以下にある mkswu.conf
と、鍵ファイルの swupdate.*
をなくさないようにしてください。
![[ティップ]](images/tip.png) | ABOS Web にブラウザから直接アクセスする |
---|
ABOSDE を使わずに、 直接 Web ブラウザのアドレスバーに ABOS Web のURLを入力することでも ABOS Web にアクセスできます。
ATDE で Web ブラウザを起動した後、Web ブラウザのアドレスバーに次の URL を入力してください: https://armadillo.local:58080 複数台の Armadillo が接続されている場合には、armadillo.local の部分が armadillo-2.local や armadillo-3.local となっている可能性があります。
これらは ABOSDE のリストに表示されているホスト名と同名ですので、目的の Armadillo と一致するホスト名を入力してください。 また、Web ブラウザから直接アクセスする方法では、ホスト名ではなくIPアドレスを指定することもできます。
例えば、Armadillo の(ネットワークコネクタの)IPアドレスが 192.0.2.80 である場合は、次の URL を入力してください: https://192.0.2.80:5808 IPアドレスを固定している場合はIPアドレスを指定する方法が便利になる場面もあります。
また、IPアドレスを指定する方法は ATDE のネットワークを NAT に設定している場合でも有効です。 |
![[ティップ]](images/tip.png) | ABOS Web からログアウトする |
---|
ログアウトを行う場合は、サイドメニューから "ログアウト" を選択してください。
ログアウトすると、ログイン画面が再び表示されますので、ABOS Web をすぐに使わないのであれば、Web ブラウザを閉じてください。 |
7.1.4. Python アプリケーションで動作確認する
本項では LEDを点滅させる Python のサンプルアプリケーションを使用して、
Armadillo による開発方法の勝手を大まかに把握したい方を想定した簡単な動作確認を行います。
なお、開発環境のセットアップに直接関わる手順ではないので、この動作確認が不要な方は本項をスキップしてください。
Armadillo でのアプリケーションの開発には ABOSDE を使用します。
VS Code の左ペインの [A9E] から [Python New Project] を実行(右に表示されている三角形ボタン)し、表示されるディレクトリ選択画面からプロジェクトを保存する
ディレクトリを選択してください。
保存先を選択すると、プロジェクト名を入力するダイアログが表示されるので、任意のプロジェクト名を入力してエンターキーを押してください。
この操作により、選択した保存先に、入力したプロジェクト名と同名のディレクトリが作成されます。
また、ここでは次のように設定しています。
-
保存先 : ホームディレクトリ
-
プロジェクト名 :
my_project
プロジェクトを作成したら、VS Code で my_project
のディレクトリを開いてください。
プロジェクトを作成する度に、初期設定を行う必要があります。
初期設定では主に Armadillo と SSH で接続するための秘密鍵と公開鍵の生成を行います。
以下の手順を実施してください。
VS Code の左ペインの [my_project] から [Setup environment] を実行します。
選択すると、 VS Code の下部に以下のようなターミナルが表示されます。
このターミナル上で以下のように入力してください。
|
パスフレーズを設定します。設定しない場合は何も入力せず Enter を押します。
|
|
1 でパスフレーズを設定した場合は、確認のため再度入力してください。
|
|
ここで何か任意のキーを押すとターミナルが閉じます。
|
パスフレーズを設定した場合は、アプリケーションを Armadillo へ転送する時にパス
フレーズの入力を求められることがあります。
![[ティップ]](images/tip.png) | |
---|
ssh の鍵は $HOME/.ssh/id_ed25519_vscode (と id_ed25519_vscode.pub ) に保存されていますので、
プロジェクトをバックアップする時は $HOME/.ssh も保存してください。 |
7.1.4.3. アプリケーション実行用コンテナイメージの作成
Armadillo 上でアプリケーションを実行するためのコンテナイメージを作成します。
ここで作成したコンテナイメージは SWU イメージを使用して Armadillo へインストールします。
コンテナイメージの作成および SWU イメージの作成も VS Code で行います。
VS Code の左ペインの [my_project] から [Generate development swu] を実行します。
コンテナイメージの作成にはしばらく時間がかかります。
VS Code のターミナルに以下のように表示されるとコンテナイメージの作成は完了です。
作成した SWU イメージは my_project
ディレクトリ下に development.swu
という
ファイル名で保存されています。
7.1.4.4. アプリケーション実行用コンテナイメージのインストール
上で作成した development.swu
を Armadillo へインストールします。
initial_setup.swu
をインストールしたときと同様に ABOS Web からインストールさせることも可能ですが、
ここでは ABOSDE を使用してインストールする手順をご紹介します。
図7.30「ABOSDE で Armadillo に SWU をインストール」 のように、目的の Armadillo の隣にある赤枠で囲まれているボタンをクリックしてください。
パスワードの入力を要求されますので、ABOS Web のパスワードを入力してください。
その後、 ~/my_project/development.swu
を選択してインストールを開始します。
インストールが成功すると、VS Code のターミナルに Successfully installed SWU
と表示されます。
インストール後に自動で Armadillo が再起動し、1分ほど待機するとLED が点滅します。
7.1.4.5. ssh
接続に使用する IP アドレスの設定
以下の手順にしたがい、
ABOS Web が動作している Armadillo の一覧を確認し、
ssh 接続に使用する Armadillo の IP アドレスを指定してください。
なお、この手順は Armadillo の IP アドレス が変更される度に行う必要があります。
図7.14「ABOSDE で ローカルネットワーク上の Armadillo をスキャンする」 の赤枠で囲われているボタン、
または 図7.15「ABOSDE に表示されている Armadillo を更新する」 の赤枠で囲われているマークをクリックして、
ローカルネットワーク上で ABOS Web が実行されている Armadillo をスキャンしてください。
その後、目的の Armadillo について、図7.31「ABOSDE を使用して ssh 接続に使用する IP アドレスを設定する」 の赤枠で囲われているマークをクリックしてください。
これにより、指定した Armadillo の IP アドレスを ssh 接続に使用する IP アドレスに設定することができます。
また、プロジェクトディレクトリ内の config/ssh_config
ファイルに指定した Armadillo の IP アドレスが記載されます。
ATDE のネットワークを NAT に設定している場合や、ABOS Web を起動していない場合等、
ABOSDE のリストに Armadillo が表示されない場合は、
プロジェクトディレクトリに入っている config/ssh_config
ファイルを編集して
IP アドレスを書き換えてください。
|
Armadillo の IP アドレスに置き換えてください。
|
![[ティップ]](images/tip.png) | |
---|
Armadillo を初期化した場合や、プロジェクトを実行する Armadillo を変えた場合は,
プロジェクトの config/ssh_known_hosts に保存されている公開鍵で Armadillo を認識できなくなります。
その場合はファイルを削除するか、「Setup environment」タスクを再実行してください。 |
VS Code の左ペインの [my_project] から [App run on Armadillo] を実行すると、
アプリケーションが Armadillo へ転送されて起動します。
VS Code のターミナルに以下のメッセージが表示されることがあります。
これが表示された場合は yes
と入力して下さい。
アプリケーションを終了するには VS Code の左ペインの [my_project] から [App stop on Armadillo] を実行してください。
動作確認として使用した Python アプリケーションを削除します。
ABOSDE から Armadillo のコンテナイメージを全て削除する SWU イメージを作成します。
この方法はコンテナイメージを全て削除する方法ですので、開発中に複数のコンテナイメージを使用している場合などはそれらも削除されることに注意してください。
VS Code の左ペインの [COMMON PROJECT COMMAND] から [Generate Container Clear Swu] を実行すると、SWU イメージが作成されます。
SWU イメージは ~/mkswu/container_clear.swu
に保存されます。
この SWU イメージを Armadillo へインストールします。
図7.30「ABOSDE で Armadillo に SWU をインストール」 のように、目的の Armadillo の隣にある赤枠で囲まれているボタンをクリックしてください。
パスワードの入力を要求されますので、ABOS Web のパスワードを入力してください。
その後、 ~/mkswu/container_clear.swu
を選択してインストールを開始します。
インストール後に自動で Armadillo が再起動し、LED が点滅しなくなります。
以上で開発環境のセットアップと動作確認の手順は終了です。