本章では、Debian で Armadillo-EVA 1500の機能を使用する方法について記載します。本章に記載のある手順を実行するためには、事前に5章起動と終了を参照し、起動およびログインが完了している必要があります。
有線LANを使用する方法について記載します。
工場出荷状態では有線LANが無効になっています。ifupコマンドを使用して有線LANを有効化する手順を、図6.1「ifupコマンドによる有線LANの有効化」に示します。
ifupコマンドを使用して有効化された有線LANを再度無効化するには、ifdownコマンドを使用します。手順を図6.2「ifdownコマンドによる有線LANの無効化」に示します。
| |
---|
ifupおよびifdownコマンドは、/etc/network/interfaces に記述された動作を行います。工場出荷状態では、DHCPサーバーからIPアドレスを取得するよう設定されています。interfacesを変更することで、静的IPアドレスの設定や、起動時に自動的に有効化することができます。詳しくはinterfacesのマニュアルページを参照してください。
|
時刻を設定する方法について記載します。時刻には、Linuxカーネルが管理するシステムクロックと、リアルタイムクロックが管理するハードウェアクロックの2種類があります。ハードウェアクロックに時刻を設定すると、電源を切断しても一定時間時刻を保持することができます。
ハードウェアクロックに時刻を設定するためには、まずシステムクロックを設定します。その後に、ハードウェアクロックをシステムクロックと一致させる手順となります。
システムクロックは、dateコマンドを用いて設定します。dateコマンドの引数には、設定する時刻を[MMDDhhmmCCYY.ss]というフォーマットで指定します。時刻フォーマットの各フィールドの意味を次に示します。
表6.1 時刻フォーマットのフィールド
フィールド | 意味 |
---|
MM | 月 |
DD | 日(月内通算) |
hh | 時 |
mm | 分 |
CC | 年の最初の2桁(省略可) |
YY | 年の最後の2桁(省略可) |
ss | 秒(省略可) |
2014年1月23日4時56分00秒に設定する例を次に示します。
システムクロックを設定後、ハードウェアクロックをhwclockコマンドを用いて設定します。
電源が切断されても長時間時刻を保持させたい場合は、RTC 外部バックアップインターフェース(CON31)に外付けバッテリー(CR2032等)を接続することができます。
パッケージ管理システム APT(Advanced Packaging Tool)を使用して、パッケージを管理する方法について記載します。工場出荷状態のDebianには動作に必要な最低限のパッケージしかインストールされていませんが、APTを使用することで、簡単にパッケージを追加することができます。
工場出荷状態では、APTはインターネット上のDebianサイト(HTTPサーバー)から利用可能なパッケージのインデックスを取得します[]。そのため、APTを使用するためにはネットワークを有効化し、インターネットに接続できる状態にしておく必要があります。
ネットワークを有効化する方法については、「ネットワーク」を参照してください。
| |
---|
システムクロックが大幅にずれた状態で、APTを利用すると警告メッセージが出力される場合があります。事前に「時刻設定」を参照してシステムクロックを合わせてください。
|
GStreamer のインストールと使用方法について記載します。
GStreamer はオープンソースのマルチメディアのフレームワークです。動画や音声などを使用するマルチメディアアプリケーションの基礎となる機能を提供します。
GStreamer には、動作確認用のテストツールとしてgst-launch-0.10コマンドが用意されています。gst-launch-0.10を使用すると、プログラムを作成することなくGStreamer の機能を使用することができます。
次に示す機能の使用には、gst-launch-0.10を利用します。
GStreamer のインストールには APTを使用します。APTの使用方法については、「パッケージ管理」を参照してください。
APTを使用して GStreamer をインストールするには、次のようにコマンドを実行します。
本書では、GStreamer をgst-launch-0.10コマンドを使用して利用します。
GStreamerでは、特定の機能を持ったエレメントをリンクすることによって、目的とする機能を実現します。gst-launch-0.10では、エクスクラメーションマーク「!」によってエレメントをリンクします。
エレメントは、マルチメディアデータを入力または出力することのできるパッドを持ちます。エレメントは、エレメントが持つパッドによって3種類に分類されます。
表6.2 エレメントの種類
エレメント | 説明 |
---|
ソースエレメント | 出力用のパッドのみを持ちます。 |
フィルタエレメント | 入力用と出力用のパッドをそれぞれ1つ以上持ちます。 |
シンクエレメント | 入力用のパッドのみを持ちます。 |
各エレメントをそれぞれ1つずつ持ったgst-launch-0.10の使用例を次に示します。
videotestsrcは、テスト画像を生成するソースエレメントです。pngencは、入力画像をPNG形式にエンコードするフィルタエレメントです。filesinkは、ファイルにデータを出力するシンクエレメントです。この3つのエレメントをリンクすることで、テスト画像をPNG形式でファイルに出力します。
GStreamer のより詳細な情報については、GStreamer公式サイト(http://gstreamer.freedesktop.org/)を参照してください。
Xサーバーのインストールと起動方法について記載します。
次に示す機能の使用には、Xサーバーを利用します。
Xサーバーのインストールには APTを使用します。APTの使用方法については、「パッケージ管理」を参照してください。
APTを使用して Xサーバーをインストールするには、次のようにコマンドを実行します。
Xサーバーを起動するには、次のようにコマンドを実行します。
Xサーバーが起動するとディスプレイに次のように起動画面が表示されます。
| |
---|
Xサーバーの起動オプション "-retro" を指定する目的は、起動画面によってXサーバーの正常起動を確認しやすくするためです。不要であれば指定する必要はありません。 |
| |
---|
ディスプレイに表示されたXサーバー起動画面のちらつきが気になる場合は、次のようにコマンドを実行してください。 Xサーバーの起動オプション "-retro" を指定した場合は網目模様の背景が表示されますが、"-wr"を指定した場合は単色白色の背景が表示されます。 |
ストレージを使用する方法について記載します。Armadillo-EVA 1500では、内蔵ストレージ(eMMC)の他にSDカードやUSBメモリ、SATA接続の SSD などの外部ストレージを使用することができます。外部ストレージを使用することで、容易に作業用PCなどとデータ転送を行うことができます。
ストレージとして使用可能なデバイスを次に示します。
表6.3 ストレージデバイス
デバイス種類 | ディスクデバイス | 先頭パーティション | 備考 |
---|
eMMC | /dev/mmcblk0 | /dev/mmcblk0p1 | 内蔵ストレージ。容量8GB。 |
USBフラッシュメモリ | /dev/sd* [] | /dev/sd*1 | 外部ストレージ。USB 3.0 ホストインターフェース(CON10)またはUSB 2.0 ホストインターフェース(CON8)に接続。 |
SD/SDHC/SDXCカード | /dev/mmcblk* [] | /dev/mmcblk*p1 | 外部ストレージ。SD インターフェース(CON6)またはSD インターフェース(CON4)に接続。 |
SSD/HDD | /dev/sd* [] | /dev/sd*1 | 外部ストレージ。SATA インターフェース(CON11)に接続。 |
| |
---|
工場出荷状態の eMMC はいくつかのパーティションに分割されており、それぞれのパーティションに OS やルートファイルシステムなどのソフトウェアが格納されています。eMMC をストレージとして使用する場合は、使用しているソフトウェアが格納されたパーティションへの書き込みを行わないようご注意ください。
|
| |
---|
SD インターフェース(CON4)とWLAN インターフェース(CON5)は排他になっており、どちらか一方しか使用することができません。どちらのインターフェースを使用するかは、機能選択スイッチのSD/WLAN 設定(SW2.5)で選択できるようになっています。
|
| |
---|
USB 2.0 ホストインターフェース(CON8)とUSB 2.0 デバイスインターフェース(CON9)は排他になっており、どちらか一方しか使用することができません。どちらのインターフェースを使用するかは、機能選択スイッチのUSB 2.0 設定(SW2.4)で選択できるようになっています。
|
| |
---|
SATA インターフェース(CON11)とminiPCIe インターフェース(CON12)は排他になっており、どちらか一方しか使用することができません。どちらのインターフェースを使用するかは、機能選択スイッチのUSB 3.0、SATA/miniPCIe 設定(SW1.2、 SW1.3)で選択できるようになっています。
|
ここでは、SDHCカードを例にストレージの使用方法を説明します。以降の説明では、共通の操作が可能な場合に、SD/SDHC/SDXCカードをSDカードと表記します。
| |
---|
SDXCカードを使用する場合は、事前に「ストレージのパーティション変更とフォーマット」を参照してフォーマットを行う必要があります。これは、LinuxカーネルがexFATファイルシステムを扱うことができないためです。通常、購入したばかりのSDXCカードはexFATファイルシステムでフォーマットされています。
|
Linuxでは、アクセス可能なファイルやディレクトリは、一つの木構造にまとめられています。あるストレージデバイスのファイルシステムを、この木構造に追加することを、マウントするといいます。マウントを行うコマンドは、mountです。
mountコマンドの典型的なフォーマットは、次のとおりです。
-t
オプションに続くdevice
には、ファイルシステムタイプを指定します[]。FAT32ファイルシステムの場合はvfat
[]、EXT3ファイルシステムの場合はext3
を指定します。
device
には、ストレージデバイスのデバイスファイル名を指定します。SDカードのパーティション1の場合は/dev/mmcblk1p1
、パーティション2の場合は/dev/mmcblk1p2
となります。
dir
には、ストレージデバイスのファイルシステムをマウントするディレクトリを指定します。
SDスロットにSDHCカードを挿入した状態で図6.11「ストレージのマウント」に示すコマンドを実行すると、/mntディレクトリにSDHCカードのファイルシステムをマウントします。SDカード内のファイルは、/mntディレクトリ以下に見えるようになります。
| |
---|
FAT32ファイルシステムをマウントした場合、次の警告メッセージが表示される場合があります。
これは無視して構いません。 UTF-8 ロケールでは結局はファイル名の表示を正しく処理できないためです。
|
ストレージを安全に取り外すには、アンマウントする必要があります。アンマウントを行うコマンドは、umountです。オプションとして、アンマウントしたいデバイスがマウントされているディレクトリを指定します。
6.6.2. ストレージのパーティション変更とフォーマット
通常、購入したばかりのSDHCカードやUSBメモリは、一つのパーティションを持ち、FAT32ファイルシステムでフォーマットされています。
パーティション構成を変更したい場合、fdiskコマンドを使用します。fdiskコマンドの使用例として、一つのパーティションで構成されているSDカードのパーティションを、2つに分割する例を図6.13「fdiskコマンドによるパーティション変更」に示します。一度、既存のパーティションを削除してから、新たにプライマリパーティションを二つ作成しています。先頭のパーティションには100MByte、二つめのパーティションに残りの容量を割り当てています。先頭のパーティションは/dev/mmcblk1p1、次は/dev/mmcblk1p2となります。fdiskコマンドの詳細な使い方は、manページ等を参照してください。
FAT32ファイルシステムでストレージデバイスをフォーマットするには、mkfs.vfatコマンドを使用します。また、EXT2やEXT3ファイルシステムでフォーマットするには、mke2fsコマンドを使用します。SDカードのパーティション1をEXT3ファイルシステムでフォーマットするコマンド例を、次に示します。
ディスプレイへの画像出力およびカメラからの画像入力を行う方法について記載します。
Linuxでは、画像出力インターフェースをフレームバッファデバイスとして、画像入力インターフェースをV4L2(Video for Linux Two)デバイスとして利用できます。標準状態で利用可能なそれぞれのデバイスを次に示します。
- フレームバッファデバイス - /dev/fb0
デジタル HD 出力インターフェース(CON17) |
解像度: 1920 x 1080[] |
カラーフォーマット: ARGB8888 (32bit) |
- V4L2デバイス - /dev/video0
コンポジットビデオ入力インターフェース(CON26) |
解像度: 720 x 480 |
カラーフォーマット: YUYV (16bit) |
ディスプレイに画像を表示させる方法について記載します。画像の表示には、GStreamerを利用します。インストールされていない場合は、「GStreamerのインストール」を参照してインストールしてください。
また、GStreamerからフレームバッファへの直接描画はできないため、Xサーバーを利用します。事前に「Xサーバー」を参照してXサーバーを起動してください。
任意のJPEG画像をディスプレイに表示する手順を次に示します。
| |
---|
画面出力インターフェースはデータの入力が一定時間無かった場合、信号を出力しない blank状態になります。blank 状態を解除するには下記のコマンドを実行してください。
[armadillo ~]# echo 0 > /sys/class/graphics/fb0/blank
|
| |
---|
JPEGファイルのサンプルには、gnome-backgroundsパッケージに含まれるファイルを利用することができます。JPEGファイルをディスプレイの解像度に合わせて表示するコマンド例を次に示します。
|
カメラから取得した画像をディスプレイに表示させる方法について記載します。画像の表示には、GStreamerを利用します。インストールされていない場合は、「GStreamerのインストール」を参照してインストールしてください。
また、GStreamerからフレームバッファへの直接描画はできないため、Xサーバーを利用します。事前に「Xサーバー」を参照してXサーバーを起動してください。
カメラから取得した画像をディスプレイに表示させる手順を次に示します。
「Xサーバー」を実行すると、ディスプレイに次のように画面が表示されます。
6.7.3. ディスプレイのビデオモードを設定する
ディスプレイの解像度やカラーフォーマットなどを設定する方法について記載します。
ディスプレイの解像度を 640 x 480 に、走査方式をプログレッシブに設定するには図6.19「解像度の変更」のようにコマンドを実行します。fbsetコマンドの詳細な使い方は、man ページ等を参照してください。
| |
---|
ディスプレイがサポートしていない解像度や、ドットクロックが 100MHz を超える解像度に設定することはできません。
|
ディスプレイのカラーフォーマットを ARGB1555 に設定するには次のようにコマンドを実行します。
Armadillo-EVA 1500がサポートしているカラーフォーマットは次の通りです。
サウンドの再生および録音を行う方法について記載します。
Linuxでオーディオ機能を実現するには、ALSA[]とOSS[]の2つの方法があります。デフォルト設定では、ALSA によるオーディオ機能を提供しています。
利用可能なALSA デバイスを次に示します。
- ALSAデバイス - hw:0
マイク/ライン入力インターフェース(CON21) |
ヘッドホン出力インターフェース(CON18) |
サンプリング周波数: 96K, 48k, 32k, 16k, 8k Hz |
チャンネル数: 1 or 2 |
フォーマット: Signed/Unsigned 16/18/20/24 bit, Little-endian |
ここでは、テストサウンドを再生する方法を示します。テストサウンドには、Gstreamerの audiotestsrc を利用します。
サウンドを再生するには、事前に再生パスのルーティング設定を行う必要があります。次のようにコマンドを実行します。
次のようにコマンドを実行すると、ALSAデバイスに対応するオーディオ出力から正弦波(440Hz)の音が再生されます。
マイク/ライン入力インターフェース(CON21)に接続されたマイクから入力された音声を録音する方法を示します。
ここでは、WAV (RIFF waveform Audio Format)ファイル形式で録音する例を示します。
サウンドを録音するには、事前に録音パスのルーティング設定を行う必要があります。次のようにコマンドを実行します。
録音したファイルを再生するには、次のようにコマンドを実行します。
ここでは、ヘッドホン出力インターフェース(CON18) hw:0に出力するように指定しています。
シリアルインターフェースを使用する方法について記載します。工場出荷状態のArmadillo-EVA 1500で使用可能なシリアルインターフェースは次の通りです。
表6.4 工場出荷状態のシリアル設定
インターフェース | デバイスファイル(ATDE5) | デバイスファイル(Armadillo-EVA 1500) |
---|
USB シリアルインターフェース(CON14) | /dev/ttyUSB0 | /dev/ttySC3 |
シリアルインターフェース(CON16) | /dev/ttyS0 | /dev/ttySC2 |
シリアルの動作を確認するには、シリアルコンソールを起動させます。ATDEのシリアル通信ソフトウェア(minicom)を用いることで、シリアル経由でArmadilloにログインすることができます。
| |
---|
Armadillo-EVA 1500の工場出荷イメージでは、USB シリアルインターフェース(CON14)が標準でシリアルコンソールとして使用できるようになっています。
|
シリアルインターフェース(CON16)をシリアルコンソールとして使用する手順を次に示します。
手順6.1 シリアルコンソールとして使用
ATDEでminicomを起動します。シリアルデバイスには/dev/ttyS0
を指定します。
Armadilloでgettyを起動します。シリアルデバイスには ttySC2
[]を指定します。
ATDEのminicomにログインプロンプトが表示されます。ユーザー「guest」でログインすることができます。
| |
---|
次に示すように/etc/securetty に端末(シリアルデバイス)を登録すると、特権ユーザー「root」でログインすることが可能になります。
|
プロセッサ(R8A77430HA01BG)の、温度を取得する方法について記載します。利用しているデバイスドライバは Thermal クラスとして実装されているため、Thermal クラスディレクトリ以下のファイルによって温度を取得することができます。
次のようにプロセッサの温度を取得することができます。
温度センサーのより詳細な仕様については、「温度センサー」を参照してください。
LEDを点灯および消灯する方法について記載します。
Armadillo-EVA 1500のLEDは、GPIOが接続されているためソフトウェアで制御することができます。
利用しているデバイスドライバはLEDクラスとして実装されているため、
LEDクラスディレクトリ以下のファイルによってLEDの制御を行うことができます。
LEDクラスディレクトリと各LEDの対応を次に示します。
表6.5 LED - Armadillo-EVA 1500
LEDクラスディレクトリ | 説明 | デフォルトトリガ |
---|
/sys/class/leds/LED4/ | LED4 | none |
/sys/class/leds/LED5/ | LED5 | none |
/sys/class/leds/LED6/ | LED6 | none |
/sys/class/leds/LED7/ | LED7 | none |
以降の説明では、任意のLEDを示すLEDクラスディレクトリを"/sys/class/leds/[LED]
"のように表記します。
LEDクラスディレクトリ以下のbrightnessファイルへ値を書き込むことによって、LEDの点灯/消灯を行うことができます。brightnessに書き込む有効な値は0〜255です。
brightnessに0以外の値を書き込むとLEDが点灯します。
| |
---|
Armadillo-EVA 1500のLEDには輝度制御の機能が無いため、0 (消灯)、1〜255 (点灯)の2つの状態のみ指定することができます。
|
brightnessに0を書き込むとLEDが消灯します。
brightnessを読み出すとLEDの状態が取得できます。
LEDクラスディレクトリ以下のtriggerファイルへ値を書き込むことによってLEDの点灯/消灯にトリガを設定することができます。triggerに書き込む有効な値を次に示します。
表6.6 triggerの種類
設定 | 説明 |
---|
none | トリガを設定しません。 |
mmc0 | eMMCのアクセスランプにします。 |
mmc1 | SDカード(CON6)のアクセスランプにします。 |
mmc2 | SDカード(CON4)のアクセスランプにします。 |
timer | 任意のデューティー比で繰り返し点灯/消灯を行います。この設定にすることにより、LEDクラスディレクトリ以下にdelay_on, delay_offファイルが出現し、それぞれ点灯時間, 消灯時間をミリ秒単位で指定します。 |
heartbeat[] | 心拍のように点灯/消灯を行います。工場出荷イメージでは設定することができません。 |
default-on[] | 主にカーネルから使用します。起動時にLEDが点灯します。工場出荷イメージでは設定することができません。 |
次に示すコマンドを実行すると、LEDが2秒点灯、1秒消灯を繰り返します。
triggerを読み出すとLEDのトリガが取得できます。"[ ]"が付いているものが現在のトリガです。
ユーザースイッチのイベントを取得する方法について記載します。Armadillo-EVA 1500のユーザースイッチはインプットデバイスとして実装されています。ユーザースイッチとして使用可能なスイッチと、インプットデバイスファイルの対応を次に示します。
表6.7 インプットデバイスファイルとイベントコード
ユーザースイッチ | インプットデバイスファイル | イベントコード |
---|
SW3 | /dev/input/event2 | 4 |
SW4 | 5 |
SW5 | 6 |
SW6 | 7 |
| |
---|
イベントデバイスファイルの番号は、検出された順番に割り振られます。そのため、USB キーボードなど他のインプットデバイスが起動時に検出されると、デバイスファイルのインデックスが変わる可能性があります。
|
ユーザースイッチのイベントを取得するには、次のようにコマンドを実行します。evtestを停止するには、Ctrl+c を押下してください。