第1章 はじめに

このたびはArmadillo-IoT ゲートウェイG2をご利用いただき、ありがとうございます。

Armadillo-IoT ゲートウェイG2(以下、Armadillo-IoT)は、各種センサとネットワークとの接続を中継するIoT向けゲートウェイの開発プラットフォームです。ハードウェアやソフトウェアをカスタマイズして、オリジナルのゲートウェイを素早く、簡単に開発することができます。

Armadillo-IoTは、センサ接続用インターフェースとして、RS232C/422/485、接点入出力など一般的なセンサ接続に広く使われるインターフェースの他、EnOceanやWi-SUNなど新しい省電力無線通信規格にも対応しています。これらの機能は専用の「アドオンモジュール」を付け替えることで、用途に応じて柔軟に構成できます。アドオンモジュールのインターフェース仕様は公開されているので、必要に応じてオリジナルのアドオンモジュールを開発することもできます。また、WAN(Wide Area Network)用インターフェースとして、LAN、無線LAN(IEEE 802.11b/g/n)の他、モバイル通信(3G)も利用可能です。

Armadillo-IoTは標準OSとしてLinuxがプリインストールされているため、オープンソースソフトウェアを含む多くのソフトウェア資産を活用し、自由にオリジナルのアプリケーションを開発することができます。開発言語としては、C/C++言語、Rubyなどをサポートしています。さらにMQTTクライアントなど、クラウドサービスと親和性の高いソフトウェアスタックが用意され、ソフトウェア面でも開発の自由度と開発しやすさの両立を図っています。

以降、本書では他のArmadilloブランド製品にも共通する記述については、製品名をArmadilloと表記します。

1.1. 本書で扱うこと扱わないこと

1.1.1. 扱うこと

本書では、Armadillo-IoTの使い方、製品仕様(ソフトウェアおよびハードウェア)、オリジナルの製品を開発するために必要となる情報、その他注意事項について記載しています。Linuxあるいは組み込み機器に不慣れな方でも読み進められるよう、コマンドの実行例なども記載しています。

また、Armadillo-IoTの機能をサポートする専用アプリケーションについても、その使い方を中心に説明しています。

Armadillo-IoTは一つの機器だけで完結するものではなく、接続するセンサや、クラウドシステムなどとの連携が不可欠です。そのため、参照すべきドキュメントも多岐に渡ります。本書では、アットマークテクノが運営する Armadillo サイトを始め、開発に有用な情報を得る方法についても、随時説明しています。

1.1.2. 扱わないこと

本書では、一般的なLinux のプログラミング、デバッグ方法やツールの扱い方、各種モジュールの詳細仕様など、一般的な情報や、他に詳しい情報があるものは扱いません。また、(Armadillo-IoTを使用した)最終製品あるいはサービスに、固有な情報や知識も含まれていません。

1.2. 本書で必要となる知識と想定する読者

本書は、読者としてArmadillo-IoTを使ってオリジナルのゲートウェイ機器を開発するエンジニアを想定して書かれています。また、「Armadillo-IoTを使うと、どのようなことが実現可能なのか 」を知りたいと考えている設計者・企画者も対象としています。Armadillo-IoTは組込みプラットフォームとして実績のあるArmadilloをベースとしているため、標準で有効になっている機能以外にも様々な機能を実現することができます。

ソフトウェアエンジニア

端末からのコマンドの実行方法など、基本的なLinuxの扱い方を知っているエンジニアを対象読者として想定しています。プログラミング言語としてC/C++を扱えることは必ずしも必要ではありませんが、基礎的な知識がある方が理解しやすい部分もあります。

ハードウェアエンジニア

電子工学の基礎知識を有したエンジニアを対象読者として想定しています。回路図や部品表を読み、理解できる必要があります。

1.3. ユーザー限定コンテンツ

Armadillo サイトで購入製品登録を行うと、製品をご購入いただいたユーザーに限定して公開している限定コンテンツにアクセスできるようになります。主な限定コンテンツには、下記のものがあります。

  • リカバリ用ユーザーランドイメージ(工場出荷時と同等のもの)

  • アドオンモジュール回路図

  • 各種信頼性試験データ・納入仕様書等製造関連情報

限定コンテンツを取得するには、23章ユーザー登録を参照してください。

1.4. 本書および関連ファイルのバージョンについて

本書を含めた関連マニュアル、ソースファイルやイメージファイルなどの関連ファイルは最新版を使用することをおすすめいたします。本書を読み始める前に、Armadilloサイトで最新版の情報をご確認ください。

1.5. 本書の構成

本書には、Armadillo-IoTをベースに、オリジナルの製品を開発するために必要となる情報を記載しています。また、取扱いに注意が必要な事柄についても説明しています。

◆ はじめにお読みください。

1章はじめに2章注意事項

◆ Armadillo-IoTゲートウェイの仕様を紹介します。

3章製品概要

◆ 工場出荷状態のソフトウェアの使い方や、動作を確認する方法を紹介します。

4章Armadilloの電源を入れる前に5章起動と終了6章動作確認方法7章コンフィグ領域 − 設定ファイルの保存領域

◆ 工場出荷状態のソフトウェア仕様について紹介します。

8章Linuxカーネル仕様9章ユーザーランド仕様10章ブートローダー仕様

◆ システム開発に必要な情報を紹介します。

11章ビルド手順12章フラッシュメモリの書き換え方法13章開発の基本的な流れ

◆ アドオンモジュールの開発や、ハードウェアをカスタマイズする場合に必要な情報を紹介します。

15章ハードウェア仕様16章電気的仕様17章インターフェース仕様18章形状図19章アドオンモジュール20章オプション品21章設計情報

◆ ソフトウェアのカスタマイズ方法を紹介します。

22章Howto

◆ ご購入ユーザーに限定して公開している情報の紹介やユーザー登録について紹介します。

23章ユーザー登録

1.6. 表記について

1.6.1. フォント

本書では以下のような意味でフォントを使いわけています。

表1.1 使用しているフォント

フォント例説明
本文中のフォント本文
[PC ~]$ lsプロンプトとユーザ入力文字列
text編集する文字列や出力される文字列。またはコメント

1.6.2. コマンド入力例

本書に記載されているコマンドの入力例は、表示されているプロンプトによって、それぞれに対応した実行環境を想定して書かれています。「/」の部分はカレントディレクトリによって異なります。各ユーザのホームディレクトリは「~」で表わします。

表1.2 表示プロンプトと実行環境の関係

プロンプトコマンドの実行環境
[PC /]#作業用PC上のrootユーザで実行
[PC /]$作業用PC上の一般ユーザで実行
[armadillo /]#Armadillo上のrootユーザで実行
[armadillo /]$Armadillo上の一般ユーザで実行
hermit>Armadillo上の保守モードで実行

コマンド中で、変更の可能性のあるものや、環境により異なるものに関しては以下のように表記します。適時読み替えて入力してください。

表1.3 コマンド入力例での省略表記

表記説明
[version]ファイルのバージョン番号

1.6.3. アイコン

本書では以下のようにアイコンを使用しています。

[警告]

注意事項を記載します。

[ティップ]

役に立つ情報を記載します。

1.7. 謝辞

Armadilloで使用しているソフトウェアの多くは Free Software / Open Source Softwareで構成されています。Free Software / Open Source Softwareは世界中の多くの開発者の成果によってなりたっています。この場を借りて感謝の意を表します。