量産の進め方の概略図を図5.1「Armadillo 量産時の概略図」に示します。
お客様の製品仕様や製造工程の要件によってはこの例とは違った工程順となる場合や、工程の追加・削除がある可能性があります。
量産モデルを発注後、お客様に納品されるまでにリードタイムが発生します。
開発セットや少量の量産モデル購入の場合、アットマークテクノや代理店在庫によって、短期間で納品できることもあります。
しかし、まとまった数量の量産モデルの場合、納品までにお時間をいただくことがあります。
新規に製品を量産・出荷する場合はリードタイムを考慮したスケジューリングをお願いします。
また、リピート製造をする場合でも、欠品を起こさないよう適切な在庫の確保をお願いいたします。
リードタイムは状況・タイミングによって異なりますので、都度、弊社営業、ご利用の販売代理店にお問い合わせください。
5.1.2. Armaidllo 納品後の製造・量産作業
お客様が Armadillo を納品後に次に示すようなキッティング作業、組み立て、検査を実施し出荷を行います。
ソフトウェア書き込み
-
Armadillo Base OS やアプリケーションコンテナイメージの書き込み
-
設定ファイルの書き込み
別部品の組み立て
-
SD カード/ SIM カード/ RTC バックアップ電池等の接続
-
拡張基板接続やセンサー・外部機器の接続
-
お客様専用筐体への組み込み
検査
-
Armadillo の受け入れ検査
-
組み立て後の通電電検・機能検査
-
目視検査
-
梱包作業
-
出荷作業
有償の BTO サービスを利用することで、これらの作業の一部をアットマークテクノへ委託・実施済みの状態で Armadillo を納品することも可能です。
費用はいただきますがお客様による工程立ち上げ、場所の確保、作業者の教育、品質管理等のトータルコストを考えると委託した方が安く済むケースが多いです。
また、 BTO サービスではお受けできないようなキッティング、検査、作業については、実施可能な業者をご紹介する等、個別の対応をすることで解決できる場合もございます。
詳しくは弊社担当の営業、またはご利用の販売代理店にご相談ください。
5.2. BTO サービスを使わない場合と使う場合の違い
5.2.1. BTO サービスを利用しない(標準ラインアップ品)
有償の量産サービスを利用しない場合、標準ラインアップ仕様での納品となります。
大きく分けて試作開発用途で使う「開発セット」と量産向けの「量産モデル」の2種類があります。
量産用途では「量産モデル」をご利用ください。
「量産モデル」には AC アダプタ等のオプション品が付属されておりませんので、内容物を確認の上、発注をお願いいたします。
高速通信が可能な「Cat.1モデル」、LTE-M通信モジュール搭載の「Cat.M1モデル」、モバイル通信モジュール非搭載の「WLANモデル」、モバイル通信モジュールとWLANどちらも非搭載で、最もシンプルな「LANモデル」をラインアップしています。
設計開発時には、開発に必要なものを一式含んだ「開発セット」、量産時には、必要最小限のセット内容に絞った「量産用」もしくは「量産ボード」をご購入ください。
「量産用」はケース有、「量産ボード」はケース無となります。
5.2.1.1. 標準ラインアップ品に書き込まれているソフトウェア
標準ラインアップ品に書き込まれるソフトウェアイメージ(Armadillo Base OS)は、アットマークテクノで公開している標準イメージとなります。
また、ソフトウェアバージョンは指定することができず、ランニングチェンジで随時最新版を適用していきます。
このため、納品後の Armadillo 個体では、開発段階で評価した Armadillo Base OS と異なるバージョンが書き込まれている可能性があります。
また、アプリケーションコンテナについては何も書き込まれていない状態となります。
納品後、お客様の量産工程でソフトウェアの書き込み作業が必要となります。詳しくは「量産時のイメージ書き込み手法」をご確認ください。
BTO サービスは、セミオーダー式メニューから選択して Armadillo の量産品を一括手配いただける有償サービスです。
標準ラインアップ品の仕様をベースとして、搭載するモジュールの種類やケース、 AC アダプタの有無、お客様支給品の SD カードや SIM カードの接続、お客様ご指定のソフトウェアイメージ書き込みなど、メニュー内から指定可能なキッティング項目を選択・指定することが可能です。
販売代理店またはアットマークテクノの窓口からお申し込みいただけます。
製品ごとに、対応できる作業とできない作業がございます。また、販売直後の製品の場合など BTO サービスに未対応である場合もあります。
詳しくは Armadilloサイトの BTO サービス をご確認ください。
量産時に必要な手順は最終製品によって異なりますが、開発したソフトウェアをArmadilloに書き込む手順は必ず実施することになります。
Armadillo Base OS 搭載製品において、量産時に任意のソフトウェアを書き込む際には、以下の2つの手法のどちらかを用いると実現できます。
-
インストールディスクを用いてソフトウェアを書き込む
-
SWUpdateを用いてソフトウェアを書き込む
ただし、SWUpdateは運用中のArmadilloのアップデート機能であり、量産時のイメージ書き込みは本来の用途でないため、基本的にはイメージ書き込みに特化しているインストールディスクを用いた方法を選択してください。
そのため、インストールディスクイメージの作成、書き込み方法について「開発したシステムをインストールディスクにする」に記します。
5.4. 開発したシステムをインストールディスクにする
ATDE と VSCode を使用して、開発したシステムのインストールディスクイメージを生成します。
「VSCode のセットアップ」 を参考に、 ATDE に VSCode 開発用エクステンションをインストールしてください。
VSCode を使用してインストールディスクを生成する場合は以下の手順になります。
-
ATDE のインストール
-
VSCode のセットアップ
-
VSCode を使用した初期設定用 SWU の生成
-
初期設定用 SWU を ABOS Web からインストール
-
VSCode を使用したインストールディスク作成用 SWU の生成
-
Armadillo に USBメモリを挿入
-
インストールディスク作成用 SWU を ABOS Web からインストール
-
USBメモリ上にインストールディスクイメージを生成
| |
---|
Armadillo-IoT ゲートウェイ A6E では、WLAN 搭載モデルはインストールディスク以外で microSD を使用できないため、一旦 USB メモリへインストールディスクイメージを書き出し、 ATDE にて microSD カードへコピーして動作確認する手順としております。 |
| |
---|
この機能を使用するには、以下に示すバージョンのソフトウェアが必要です。 -
ABOSDE 1.6.0 以上
-
mkswu 5.3 以上
-
abos-base 2.3 以上
|
アットマークテクノ製品のソフトウェア開発や動作確認を簡単に行うために、VMware仮想マシンのデータイメージを提供しています。
このVMware仮想マシンのデータイメージをATDE(Atmark Techno Development Environment)と呼びます。ATDEの起動には仮想化ソフトウェアであるVMwareを使用します。ATDEのデータは、tar.xz圧縮されています。環境に合わせたツールで展開してください。
| |
---|
仮想化ソフトウェアとして、VMwareの他にOracle VM VirtualBoxが有名です。
Oracle VM VirtualBoxには以下の特徴があります。 -
GPL v2(General Public License version 2)で提供されている []
-
VMware形式の仮想ディスク(.vmdk)ファイルに対応している
Oracle VM VirtualBoxからATDEを起動し、ソフトウェア開発環境として使用することができます。 |
ATDEは、バージョンにより対応するアットマークテクノ製品が異なります。本製品に対応しているATDEは、ATDE9 の v20230328 以降です。
ATDE9 は Debian GNU/Linux 11 (コードネーム bullseye) をベースに、Armadillo-IoT ゲートウェイ A6E のソフトウェア開発を行うために必要なクロス開発ツールや、Armadillo-IoT ゲートウェイ A6E の動作確認を行うために必要なツールが事前にインストールされています。
ATDEを使用するためには、作業用PCにVMwareがインストールされている必要があります。
VMware社 Webページ(http://www.vmware.com/)を参照し、利用目的に合うVMware製品をインストールしてください。
また、ATDEのアーカイブは tar.xz圧縮されていますので、環境に合せたツールで展開してください。
| |
---|
VMwareは、非商用利用限定で無償のものから、商用利用可能な有償のものまで複数の製品があります。
製品ごとに異なるライセンス、エンドユーザー使用許諾契約書(EULA)が存在するため、十分に確認した上で利用目的に合う製品をご利用ください。 |
| |
---|
VMwareやATDEが動作しないことを未然に防ぐため、使用するVMwareのドキュメントから以下の項目についてご確認ください。 -
ホストシステムのハードウェア要件
-
ホストシステムのソフトウェア要件
-
ゲストOSのプロセッサ要件
VMwareのドキュメントは、VMware社 Webページ(http://www.vmware.com/)から取得することができます。 |
ATDEのアーカイブを展開します。ATDEのアーカイブは、tar.xz形式の圧縮ファイルです。
実行環境に基づいて以下のどちらかの方法てアーカイブを展開してください。
-
WindowsでATDEのアーカイブ展開する
-
Linuxでtar.xz形式のファイルを展開する
5.4.1.4. WindowsでATDEのアーカイブ展開する
7-Zipのインストール
7-Zipをインストールします。7-Zipは、圧縮解凍ソフト 7-Zipのサイト(http://sevenzip.sourceforge.jp)からダウンロード取得可能です。
7-Zipの起動
7-Zipを起動します。
xz圧縮ファイルの選択
xz圧縮ファイルを展開して、tar形式のファイルを出力します。tar.xz形式のファイルを選択して、「展開」をクリックします。
xz圧縮ファイルの展開先の指定
「展開先」を指定して、「OK」をクリックします。
xz圧縮ファイルの展開
展開が始まります。
tarアーカイブファイルの選択
xz圧縮ファイルの展開が終了すると、tar形式のファイルが出力されます。
tarアーカイブファイルを出力したのと同様の手順で、tarアーカイブファイルからATDEのデータイメージを出力します。
tar形式のファイルを選択して「展開」をクリックし、「展開先」を指定して、「OK」をクリックします。
展開の完了確認
tarアーカイブファイルの展開が終了すると、ATDEアーカイブの展開は完了です。
「展開先」に指定したフォルダにATDEのデータイメージが出力されています。
5.4.1.5. Linuxでtar.xz形式のファイルを展開する
tar.xz圧縮ファイルの展開
tar
の xf
オプションを使用して tar.xz
圧縮ファイルを展開します。
[PC ~]$ tar xf atde9-amd64-[VERSION].tar.xz
展開の完了確認
tar.xz圧縮ファイルの展開が終了すると、ATDEアーカイブの展開は完了です。
atde9-amd64-[VERSION]
ディレクトリにATDEのデータイメージが出力されています。
[PC ~]$ ls atde9-amd64-[VERSION]/
atde9-amd64-s001.vmdk atde9-amd64-s008.vmdk
atde9-amd64-s002.vmdk atde9-amd64-s009.vmdk
atde9-amd64-s003.vmdk atde9-amd64.nvram
atde9-amd64-s004.vmdk atde9-amd64.vmdk
atde9-amd64-s005.vmdk atde9-amd64.vmsd
atde9-amd64-s006.vmdk atde9-amd64.vmx
atde9-amd64-s007.vmdk atde9-amd64.vmxf
ATDEのアーカイブを展開したディレクトリに存在する仮想マシン構成(.vmx
)ファイルをVMware上で開くと、ATDEを起動することができます。
ATDE9にログイン可能なユーザーを、表5.1「ユーザー名とパスワード」に示します []。
表5.1 ユーザー名とパスワード
ユーザー名 | パスワード | 権限 |
---|
atmark
| atmark
| 一般ユーザー |
root
| root
| 特権ユーザー |
| |
---|
ATDEを起動する環境によっては、GUIログイン画面が表示されずに以下のようなエラー画面が表示される場合があります。 この場合は、VMwareの設定で「3D グラフィックスのアクセラレーション」をONにした後、ATDEを起動すると
正常にGUIログイン画面が表示されます。設定箇所を以下に示します。 |
| |
---|
ATDEに割り当てるメモリおよびプロセッサ数を増やすことで、ATDEをより快適に使用することができます。
仮想マシンのハードウェア設定の変更方法については、VMware社 Webページ(http://www.vmware.com/)から、使用しているVMwareのドキュメントなどを参照してください。 |
ATDE に VSCode 及び、開発用エクステンションとクロスコンパイル用ライブラリをインストールしてください。
以下の手順は全てATDE上で実施します。
ATDE のバージョン v20230123 以上には、 VSCode がインストール済みのため新規にインストールする必要はありませんが、
使用する前には最新版へのアップデートを行ってください。
VSCode を起動するには code
コマンドを実行します。
| |
---|
VSCode を起動すると、日本語化エクステンションのインストールを提案してくることがあります。
その時に表示されるダイアログに従ってインストールを行うと VSCode を日本語化できます。 |
5.4.2.2. VSCode に開発用エクステンションをインストールする
VSCode 上でアプリケーションを開発するためのエクステンションをインストールします。
エクステンションはマーケットプレイスからインストールすることができます。
VSCode を起動し、左サイドバーのエクステンションを選択して、検索フォームに「abos」と入力してください。
表示された「Armadillo Base OS Development Environment」の 「Install」ボタンを押すとインストールは完了します。
5.4.3. VSCode を使用した初期設定用 SWU の生成
initial_setup.swu
はログインパスワードやユーザー固有の証明書などの
初期設定を Armadillo にインストールするためのファイルです。
initial_setup.swu
でインストールされるユーザー固有の証明書がない場合、
ユーザーが開発したアプリケーションをインストール、またはアップデートすることができません。
このため、開発開始時に initial_setup.swu
のインストールを行う必要があります。
VSCode の左ペインの [COMMON PROJECT COMMAND] から [Generate Initial Setup Swu] を実行します。
初回実行時には各種設定の入力を求められます。
入力する設定の内容を 図5.7「initial_setup.swu 初回生成時の各種設定」 に示します。
|
COMMON_NAME には証明鍵の「common name」として会社や製品が分かるような任意の名称を入力してください。
|
|
証明鍵を保護するパスフレーズを2回入力します。
|
|
swuイメージ自体を暗号化する場合に「y」を入力します。
|
|
アットマークテクノのアップデートをインストールしない場合は「n」を入力します。
「y」を選択した場合プリインストールコンテナである Node-RED コンテナが自動アップデートされます。
|
|
rootのパスワードを2回入力します。
|
|
atmarkユーザーのパスワードを2回入力します。何も入力しない場合はユーザーをロックします。
|
|
自動アップデートを無効のままで進みます。ここで「y」を入れると、定期的に
アットマークテクノのサーバーからアップデートの有無を確認し、自動的にインストールします。
|
|
abos-webを使用する場合はパスワードを設定してください。
|
|
作成したファイルを確認します。「swupdate.aes-key」は暗号化の場合にのみ作成されます。
|
ファイルは ~/mkswu/initial_setup.swu
に保存されています。
この SWU イメージを 「初期設定用 SWU を ABOS Web からインストール」 を参照して Armadillo へインストールしてください。
インストール後に ~/mkswu ディレクトリ以下にある mkswu.conf
と、鍵ファイルの swupdate.*
をなくさないようにしてください。
5.4.4. 初期設定用 SWU を ABOS Web からインストール
ABOS Web を使用して、PC 上の SWU イメージや HTTP サーバー上の SWU イメージを Armadillo にインストールすることができます。
生成した initial_setup.swu
をインストールします。
ABOS Web のトップページから、"SWU インストール"をクリックすると、図5.8「SWU インストール」の画面に遷移します。
この画面では、PC 上の SWU イメージファイルまたは、HTTP サーバー上の SWU イメージファイルの URL を指定して、Armadillo にインストールすることができます。
Armadillo のソフトウェアのアップデート用に最初に行う設定で作成する initial_setup.swu が、まだ Armadillo にインストールされていなければ、"mkswu --init で作成した initial_setup.swu をインストールしてください。" というメッセージを画面上部に表示します。
生成した initial_setup.swu
を選択します。
実行中のログが ABOS Web 上に表示されます。インストールに成功したら完了です。
5.4.5. VSCode を使用したインストールディスク作成用 SWU の生成
VSCode の左ペインの [COMMON PROJECT COMMAND] から [Generate Installer On USB Swu] を実行します。
次に、対象製品を選択します。
無事に生成された場合、コンソールに以下のログが出力されます。
|
パスワードの入力を求められますので、初期化用 swu を生成したときと同じパスワードを入力します
|
/home/atmark/mkswu
ディレクトリ内に make-installer.swu
が作成されます。
| |
---|
セキュリティーの観点から、インストールディスクによるインストール実行時に以下のファイルを再生成しております: -
/etc/machine-id (ランダムな個体識別番号)
-
/etc/abos_web/tls (ABOS-Web の https 鍵)
-
/etc/ssh/ssh_host_*key* (ssh サーバーの鍵。なければ生成しません)ABOS 3.19.1-at.3 以降
|
| |
---|
Node-RED ではポート番号 1880 を使用して、ネットワーク上からアクセスして開発します。
しかし、量産時にポートを開けておくと外部からアクセスできてしまう危険性があります。
そのため、make-installer.swu を使用してインストールディスクイメージを生成する場合は、このポートを閉じます。 |
5.4.5.1. Armadillo に USBメモリを挿入
Armadillo に電源を投入し、インストールディスクを保存するために USB メモリを挿入してください。
| |
---|
USB メモリは vfat もしくは ext4 形式でフォーマットし、空き容量が 10GB 以上のものを使用してください。
Armadillo-IoT ゲートウェイ A6E への USB メモリのマウントは不要です。 インストールディスクイメージは installer.img という名前で保存します。すでに同名のファイルが存在する場合は上書きされます。 |
5.4.6. USBメモリ上にインストールディスクイメージを生成
無事に生成が完了した場合、USBメモリ上に installer.img
が保存されています。
この installer.img
を microSD カードに書き込むことでインストールディスクを作成することができます。動作確認については「インストールディスクの動作確認を行う」をご参照ください。
これで、VSCode を使用してインストールディスクを生成する方法については終了です。
生成したインストールディスクの動作確認を実施するには、開発に使用した Armadillo 以外の個体が必要になります。
また、インストール先の Armadillo の eMMC 内のデータは上書きされて消えるため、必要なデータは予めバックアップを取っておいてください。
開発したシステムをインストールディスクにする手順を無事に終了している場合、USB メモリ中に installer.img
が存在します。
microSDカードに`installer.img` を書き込んで、インストールディスクを作成します。
開発終了後の Node-RED について、フローの修正などが必要な場合、修正したフローを製品に適用する必要があります。
その方法として SWUpdate を推奨します。SWUpdate を用いると必要なソフトウェアのみをアップデートすることが可能です。
以下に SWUpdate で使用する SWU の生成方法について記します。
-
更新用フローの取得
-
ATDE 上でアップデート用 SWU の生成
-
アップデート用 SWU のインストール
Node-RED からフローを取得します。
メニューから [書き出し] を選択します。
書き出し対象が [現在のタブ] の場合、クリップボードに含まれるノードの一覧が表示されます。
問題なければ右下にある[ダウンロード]ボタンを押してダウンロードします。
flows.json
がダウンロードされたことを確認してください。
5.6.2. ATDE 上でアップデート用 SWU を生成
ATDE を起動します。以下のディレクトリに SWU 生成に必要な desc ファイルが置かれたディレクトリをコピーします。コピーしたディレクトリにダウンロードしたフロー flows.json
を配置します。
以下のコマンドを実行して SWU を生成します。
|
SWU のバージョンの更新を行います。
|
|
証明書の鍵のパスワードを入力します。
|
成功すると現在のディレクトリに update_flows.swu
が生成されます。