Armadilloで開発する

アプリケーション開発(ソフトウェア開発)

アットマークテクノは、アプリケーション開発の自由度・パブリッククラウドとの連携方法の異なる各製品を提供しています。
利用目的に合わせて、選択してください。

dev_armadillo

Armadillo:Linuxで自由に開発

Armadilloブランドを冠したボード製品、IoTゲートウェイ製品はすべて、Linuxプリインストールです。Armadilloをプラットフォームとして最終的にエンドユーザ向けのどのような機能を実現するのかについては、購入者が開発しArmadillo上で実行させるアプリケーションに委ねられます。Linuxベースの小さなコンピュータなので、アプライアンスサーバーのような使い方をすることも可能です。

Armadilloのアプリケーションを開発するには、Linuxの基本的な知識が必須です。Armadilloで動作するLinuxカーネル、USBやシリアルをはじめArmadilloに搭載された各インターフェースのデバイスドライバなどの基本となるソフトウェアはオープンソースとして公開されているので、豊富なLinuxの開発資産を利用しつつ、実装したい機能を自由に設計し開発することができます。

Armadillo-X1、Armadillo-640など昨今メインシリーズとして展開している製品群はいずれもDebian GNU/Linux ベースなので、 基本的にはPC用のLinuxと同じように開発することができます[※1]。Debianが提供する豊富なパッケージ群の中からRubyやPythonなどを追加して利用することも可能です。ただし、メモリ容量の制限や突然の電源断への対応など組み込み機器に特有の注意事項もありますので、基本的な組み込みソフトウェア開発の知識は持っていたほうがよいでしょう。

[※1] Armadillo-400シリーズ、800シリーズなどは、DebianをベースにArmadillo向けに省メモリ化した、アットマークテクノ 独自のディストリビューションを採用しています。アプリケーションの開発時は、PC上で開発・コンパイルしてArmadillo本体 に書き込む「クロス開発」のスタイルになりますのでご注意ください。

ソースコード

Armadillo製品の基本ソフトウェアとソースコードは、Armadilloサイトで無償公開しています。
各コンテンツの概要やダウンロード方法については、「Armadilloサイトの使い方」ページをご覧ください。

開発環境(ATDE)

Armadillo専用の統合開発環境「ATDE(Atmark Techno Development Emviromnet)」を無償提供しています。ATDEは、Armadilloの開発環境を提供するVMwareなど仮想マシン向けのデータイメージです。詳細は以下をご覧ください。

ATDEについて

dev_degu

Degu:専用のIoTセンサーをすぐにつなげる

Armadilloブランド製品をベースとして開発されたDeguゲートウェイは、IoTセンサー「Degu(デグー)」をクラウドに接続するための専用ゲートウェイです。ネットワーク設定を行い、Deguセンサーとペアリングすれば、IoTゲートウェイとしてすぐに利用することができます。

Deguとは

Deguとは、IoTセンサー技術を開発・提供するオープンソースプロジェクトです。
オープンソースプロジェクトの技術を元に実現された開発キットは、Seeed社のGroveシステムに対応しており、200種類超のSeeed社製センサーモジュールの中から必要な機能を選択してDIY感覚で組み立て、IoTセンサーを実現することができます。IoTセンサーの挙動はPython系言語でプログラムでき、センシングデータをJSON形式でAWSに送ります。
アットマークテクノが提供する「Deguゲートウェイ」は、Deguセンサーのデータをクラウドに連携する役割を担います。

Deguの詳細情報を見る(open-degu.com)

dev_cactusphere

Cactusphere:つなげるだけ・Microsoft Azureと連携

Cactusphere(カクタスフィア)は、既設の設備・機器につなぐだけで、モノの情報を簡単・セキュアにMicrosoft Azureにアップロードする "IoTアダプタ" です。接点入力/出力、デジタル入力、アナログ入力など、各インターフェース対応のモデルがあり、それぞれのインターフェースで各機器・設備と接続してモノの情報を収集します。各機器の情報をMicrosoft Azureにアップロードすることに特化したアダプタで、簡単な設定だけで既存システムをIoT化することができます。

Cactusphereの詳細情報を見る

ハードウェア開発

Armadilloを使用する場合には、最終的に実用化したい装置・機器の形状を想定し、用途に合致するものを選択いただくことをおすすめします。
Armadillo製品には、ケース付きで、IoTゲートウェイなどアプライアンス機器としての実用化しやすさを重視した「ボックス型」の製品と、装置・機器の中に組み込んで1部品として使われることを想定した「ボード型」の大きく2つの形状が用意されています。

そのままIoTゲートウェイに「ボックス型」

「できる限りアプリケーション開発だけで済ませたい」という場合は、ボックス型のIoTゲートウェイやIoTアダプタをおすすめします。
ボックス型の製品は、ケースに組み込まれた形がデフォルトです。 通信機能やインターフェースの実装などはオプションとして提供されているモジュールや拡張ボードを使っていただく想定で、ハードウェアの追加開発は必要ありません。必要なパーツを指定して量産品をセミオーダーできるサービス(BTOサービス)なども実施しており、アプリケーションを書き込むことでアプライアンス製品として実用化することが可能です。

ボックス型
dev_iot-gateway

装置・機器に組み込む「ボード型」

機器や装置に組み込むCPUボードをお探しの場合は、ボード型の製品をおすすめします。
ボード型の製品には、使用頻度の高いインターフェースコネクタ(主にUSB、LAN、シリアルなど)を実装済みの「シングルボード型」と、設計の難しいCPU周辺だけをモジュール化した「モジュール型」の製品があります。
シングルボード型の製品は、ユーザーができるだけ拡張開発の手間をかけずに設計を進められるよう、RTC機能や通信機能などを実装するオプションモジュールなどが提供されています[※1]。モジュール型の製品は、ユーザーご自身で拡張ボードを開発いただく想定で、できるだけ拡張時の設計自由度を損なわないように小型化する工夫を行っています。

[※1] 製品シリーズによりラインアップの詳細が異なります。詳しくは各製品シリーズのページをご覧ください。

シングルボード型
dev_board
モジュール型
dev_module

IoTゲートウェイ型(Deguゲートウェイを除く)およびボード型のいずれも、Armプロセッサ搭載・Linuxプリインストールでベースとなる部分が揃った「組み込みプラットフォーム」として提供されています。煩雑になりがちなCPU回りの開発が不要で、かつどのシリーズもUSBやシリアルなどよく使われるインターフェースをあらかじめ搭載し、拡張ボード・オプションモジュールや専用ケースなども取り揃えているので、ハードウェアの追加開発の手間を極力省略することができます。

Armadilloの開発をする際、ボード型、特にモジュール形状の製品を使うときには、拡張ボードを開発するための回路設計などの知識は必須です(モジュール形状の製品では、拡張ボード開発の参考となる回路図(開発セットに同梱されているインターフェース評価ボードなどの回路図)を購入者向けに無償提供しています。)
IoTゲートウェイ型の製品で開発する場合には、回路設計などは行わずに製品化することも不可能ではありません(もちろんハードウェア知識は持っているに越したことはありません)。

dev_platform

Get Started

製品モデルを選ぶ

利用する製品シリーズが決まったら、購入するモデルを選定しましょう。
Armadilloブランド製品は、原則としてどのシリーズにも開発用のセットと量産品が用意されています。[※1]

[※1] 評価専用の製品の場合は、量産向けモデルが提供されていない場合があります。量産方法については個別にお問い合わせください。

開発セット~開発スタートアップに便利

はじめて開発する場合には、まずは開発セットをお買い求めいただくことをおすすめします。開発用ケーブルやACアダプタなど一式を同梱し、開発のスタートアップに便利です。
開発セットに同梱されているArmadillo本体は、原則として量産品と同等のものです。

量産品(量産ボード)~量産製造に

量産品/量産ボードは、ボードやIoTゲートウェイ本体のみなどシンプルな構成の量産向け製品です。ボリュームディスカウント制を採用しており、特に数百台~数千台の中小規模案件にコストメリットがあります。

開発をはじめる

開発セットを購入したら、各製品に同梱された「はじめにおよびください」、 および各製品シリーズの「Get Started」の記事を参考に、手順に沿ってお使いください。

Get Started

Armadilloサイトには、ドキュメント・ソースコードや各種の技術情報を随時掲載しています。
各情報の掲載先については、以下のページが参考になります。

Armadilloサイトの使い方