「Armadillo(アルマジロ)」は、ARMコアプロセッサ搭載・Linux対応の組み込みプラットフォームのブランドです。
Armadilloブランド製品には以下の特長があります。
ARMプロセッサ搭載・省電力設計
ARMコアプロセッサを搭載しています。1~数ワット程度で動作する省電力設計で、
発熱が少なくファンを必要としません。
小型・手のひらサイズ
CPUボードは名刺サイズ程度の手のひらサイズが主流です。
名刺の1/3程度の小さなCPUモジュールや無線LANモジュール等、超小型のモジュールもラインアップしています。
標準OSとしてLinuxをプリインストール
標準OSにLinuxを採用しており、豊富なソフトウェア資産と実績のある安定性を提供します。
ソースコードをオープンソースとして公開しています。
開発環境
Armadilloの開発環境として、「Atmark Techno Development Environment (ATDE)」を無償で提供しています。
ATDEは、VMwareなど仮想マシン向けのデータイメージです。
このイメージには、Linuxデスクトップ環境をベースにGNUクロス開発ツールやその他の必要なツールが事前にインストールされています。
ATDEを使うことで、開発用PCの用意やツールのインストールなどといった開発環境を整える手間を軽減することができます。
Armadillo-600シリーズは、フィールド向けの機器・端末のプラットフォームとして豊富な採用実績を持つ
小型・省電力でLinux採用の組み込みCPUボード「Armadillo-400シリーズ」の思想を継承しつつ、
処理能力と搭載メモリをともに大幅にグレードアップさせた、次世代のLinux組み込みプラットフォームです。
高性能ながら省電力性能を向上、さらに耐環境性を追求するなど、量産時の使いやすさを重視した堅実な設計が特長です。
i.MX6ULL搭載/Armadillo-440と形状互換で性能向上
Armadillo-640は、従来のArmadillo-440のコネクタ配置を踏襲したシングルボード型モデルです。
CPUコアクロックは528MHzにアップ、メモリはArmadillo-440の約4倍の512MB(DDR3-800)、
オンボードストレージは約4GB(eMMC)を搭載し、microSDカードスロットも備えています。
従来のArmadillo-400シリーズに比べてハードウェア性能が大幅に向上し、アプリケーション開発の自由度が高くなりました。
Armadillo-440向けと同じ形状のオプションケース(樹脂製・金属製)もラインアップしているので、
Armadillo-440から乗り換えるときも筐体を新規設計する必要がありません。
省電力モード搭載・バッテリー駆動の機器にも最適
省電力モードを搭載し、「アプリケーションからArmadillo-640本体の電源をOFFにする」
「RTC(リアルタイムクロック)のアラームで決まった時間に本体の電源をONにする」
といった細かな電源制御が可能です。
必要な時だけ本体を起動するといった運用が可能なので、バッテリーで稼動させるような機器にも適しています。
使用温度範囲-20℃~+70℃対応
Armadillo-640は使用温度範囲-20℃~+70℃をカバーしています。
シングルボード型ながら拡張性にも十分に配慮
Armadillo-640は、シングルボード型ながら多くの拡張インターフェースを搭載しており、
USB、LCD、シリアル、GPIO、I2C、I2S、SPIなどの拡張に対応します。
量産向けに、リード部品コネクタを搭載したモデルの他、リード部品非搭載のモデルも提供する予定です。
Armadillo Base OS搭載
「Armadillo Base OS」を搭載しています。
ユーザー自身がボードの機能を自由に設計・開発して書き込むことで、
多様な製品を作ることができます。
セキュアエレメント搭載
NXP Semiconductors 製のセキュアエレメント「SE050」を標準搭載しています。
これを使用することで、ハードウェアRoot of Trustによる高いセキュリティを実現できます。
2.1.3. Armadillo Base OSとは
Armadillo Base OSは、アットマークテクノが提供する専用ディストリビューションです。
Linux5.10をベースに、コンテナ管理機能、ソフトウェアアップデート機能、ネットワークマネージャーなどに対応。
機能を限定したコンパクトなOSで、安全性の高い運用を実現します。
OSのコンパクト化
OS基盤の機能を最小限にしたことで、セキュリティリスクを低減しています。
アットマークテクノが継続的にアップデートを提供するため、
高セキュリティなIoT機器として長期間に渡り運用することができます。
コンテナによるアプリケーション運用
アプリケーションを「コンテナ」単位でOSから分離して管理できるため、コンテナごとのアップデートが可能です。
サンドボックス化されることにより、悪意あるソフトウェアからの攻撃に対する機器全体の保護に有効性を発揮します。
2.1.4. Armadillo Base OSのメンテナンスポリシーとアップデートの推奨
Armadillo Base OSは Armadilo Base OS搭載製品のサポート期限にしたがって、アットマークテクノがセキュリティアップデートの提供、既存機能のバグ修正、今はない便利な機能の追加を継続的に行い、ユーザービリティの向上に努めます。緊急時を除き月末に "製品アップデート" としてこれらをリリースをし、Armadilloサイトから通知、変更内容の公開を行います。ユーザー登録を行うことで通知をメールで受け取ることもできます。
ArmadilloをIoT機器としてネットワークに接続し長期に運用を行う場合、継続的に最新バージョンを使用することを強く推奨いたします。
最新バージョンを使用しない場合の注意点については「ソフトウェア使用に関しての注意事項」の「ソフトウェアのアップデートについて」を参照してください。
Armadillo Base OSは、原則、abos-ctrlコマンド等の各種機能や、sysfsノード、コンテナ制御をするためのpodmanコマンド等のAPI後方互換を維持します。また、Armadillo Base OSとコンテナ間でサンドボックス化されていることもあり、互いのlibc等のライブラリや、各種パッケージなどの組み合わせによって互換性の問題は発生しません。
このため、Armadillo Base OSをアップデートしても、これまで利用していたアプリケーションコンテナは原則的にそのまま起動・動作させることができます。
しかし、Armadillo Base OS内のLinux-Kernelやalpineパッケージ変更によって、細かな動作タイミングが変更になる場合があるため、タイミングに大きく依存するようなアプリケーションをコンテナ内部に組み込んでいた場合に、動作に影響を与える可能性があります。
まずは、テスト環境でArmadillo Base OS更新を行い、アプリケーションコンテナと組み合わせた評価を行った後、市場で動作しているArmadilloに対してアップデートを行うことを推奨します。
製品開発を開始するにあたり、Armadillo Base OS に関してより詳細な情報が必要な場合は、
「開発前に知っておくべき Armadillo Base OS の機能・特徴」 を参照してください。
Armadillo Twin は、アットマークテクノが提供する Armadillo Base OS 搭載のデバイスをリモートから運用管理することができるクラウドサービスです。
様々なタスクをリモートから実行できるようになり、 OS アップデートもサービス画面からの操作で行えるため、稼働中のデバイスは常に最新の状態を維持することができます。また、バグ修正やセキュリティ対策などのメンテナンスのほか、機能追加や設定変更、アプリケーションのアップデートなども行えるため、デバイスの設置現場に出向くことなく、計画的で効率的なDevOpsを実現することができます。
本書では、開発・量産・運用の各フェーズにおける Armadillo Twin の利用について記載しています。
ソフトウェアアップデート (OTA)
遠隔からデバイスのソフトウェアアップデートをすることで、長期的にセキュリティ性の高いシステムを保つと共に、新たな機能を提供することも可能です。本サービスで管理するデバイスに搭載されている Armadillo Base OS は、不正なソフトウェアへのアップデートを行わせない署名検証機能や、アップデートが失敗した際に自動で元の状態に戻るロールバック機能を備えています。そのため、安心してソフトウェアアップデートを利用することができます。
遠隔稼働監視
登録されたデバイスの死活監視をはじめ、CPU の使用率や温度、メモリの使用量、モバイル回線の電波状況、ストレージの空き容量や寿命を監視することができます。各値にはアラートの設定を行うことができ、異常を検知した場合はアラートメールを管理者に送信します。メールを受けた管理者は本サービスの遠隔操作機能を利用し、即座に対応を行うことができるため、システムの安定運用を行うことができます。
そのほか、本サービスに登録したデバイスは、自由にラベル名を付けたりグループを作成して管理することができるため、どのデバイスをどの場所に設置したか画面上で把握することが容易になります。また、デバイス本体に搭載されているセキュアエレメントを利用した個体認証により、不正なデバイスの登録を防ぎます。
遠隔操作
画面上で入力した任意のコマンドをデバイス上で実行することができます。本サービスは遠隔操作で一般的に使われる SSH(Secure Shell) のように固定グローバル IP アドレスの設定は不要です。そのため、通信回線の契約料金を安くできるだけではなく、インターネット上からのサイバー攻撃のリスクを抑制する効果も期待できます。
任意のコマンドは単一のデバイスだけではなく、グループ単位、また複数のデバイスを選択して一括して実行したり、時刻を指定するスケジュール実行にも対応しています。
Armadillo Twin は、下記の機能を提供します。
| |
---|
Armadillo-640 は シリアルナンバー:009C01490001 以降の個体で Armadillo Twin を利用することができます。 |
Armadillo-640の製品ラインアップは次のとおりです。
表2.1 Armadillo-640ラインアップ
名称 | 型番 |
---|
Armadillo-640ベーシックモデル開発セット | A6400-D00Z |
Armadillo-640量産ボード | A6400-U00Z |
Armadillo-640量産ボード(リード部品未実装・部品付) | A6400-B00Z |
Armadillo-640量産ボード(リード部品未実装) | A6400-N00Z |
2.2.1. Armadillo-640ベーシックモデル開発セット
Armadillo-640ベーシックモデル開発セット(型番: A6400-D00Z)は、Armadillo-640を使った開発がすぐに開始できるように、開発に必要なものを一式含んだセットです。
-
Armadillo-640
-
Armadillo-600シリーズオプションケース(樹脂製)
-
USB(Aオス-miniB)ケーブル
-
USBシリアル変換アダプタ []
-
ACアダプタ(5V/2.0A, EIAJ#2準拠)
-
ジャンパソケット
-
ねじ
-
ゴム足
-
スペーサ
2.2.2. Armadillo-640量産ボード
Armadillo-640量産ボードは、Armadillo-640ベーシックモデル開発セットのセット内容を必要最小限に絞った量産向けのラインアップです。
リード部品実装(A6400-U00Z)、リード部品未実装、部品付(型番: A6400-B00Z)、リード部品未実装(型番: A6400-N00Z)の3種類あります。
Armadillo-640のeMMCのパーティション構成を
表2.6「eMMCメモリマップ」に示します。
表2.6 eMMCメモリマップ
パーティション | サイズ | ラベル | 説明 |
---|
1 | 300MiB | rootfs_0 | A/B アップデートのA面パーティション(Linuxカーネルイメージ, Device Tree Blob, Alpine Linux rootfsを含む) |
2 | 300MiB | rootfs_1 | A/B アップデートのB面パーティション(Linuxカーネルイメージ, Device Tree Blob, Alpine Linux rootfsを含む) |
3 | 50MiB | logs | ログ書き込み用パーティション |
4 | 200MiB | firm | ファームウェア用パーティション |
5 | 2.7GiB | app | アプリケーション用パーティション |
Armadillo-640のeMMCのブートパーティションの構成を表2.7「eMMC ブートパーティション構成」に示します。
表2.7 eMMC ブートパーティション構成
ディスクデバイス | サイズ | 説明 |
---|
/dev/mmcblk0boot0
| 31.5 MiB | A/B アップデートのA面 |
/dev/mmcblk0boot1
| 31.5 MiB | A/B アップデートのB面 |
Armadillo-640のeMMCのGPP(General Purpose Partition)の構成を表2.8「eMMC GPP構成」に示します。
表2.8 eMMC GPP構成
ディスクデバイス | サイズ | 説明 |
---|
/dev/mmcblk0gp0
| 8 MiB | ライセンス情報等の為の予約領域 |
/dev/mmcblk0gp1
| 8 MiB | 動作ログ領域 |
/dev/mmcblk0gp2
| 8 MiB | 動作ログ予備領域[] |
/dev/mmcblk0gp3
| 8 MiB | ユーザー領域 |
Armadillo Base OS に含まれるソフトウェアのライセンスは、 Armadillo にログイン後に特定のコマンドを実行することで参照できます。
手順について、詳細は以下の Howto を参照してください。