第6章 各種機能を使用する

本章では、Debian で Armadillo-EVA 1500の機能を使用する方法について記載します。本章に記載のある手順を実行するためには、事前に5章起動と終了を参照し、起動およびログインが完了している必要があります。

6.1. ネットワーク

有線LANを使用する方法について記載します。

工場出荷状態では有線LANが無効になっています。ifupコマンドを使用して有線LANを有効化する手順を、図6.1「ifupコマンドによる有線LANの有効化」に示します。

[armadillo ~]# ifup eth0  1
Internet Systems Consortium DHCP Client 4.1.1-P1
Copyright 2004-2010 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/

net eth0: attached phy 0 to driver Generic PHY
Listening on LPF/eth0/00:11:0c:xx:xx:xx
Sending on   LPF/eth0/00:11:0c:xx:xx:xx
Sending on   Socket/fallback
DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 3
PHY: 0:00 - Link is Up - 100/Full
DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 7
DHCPOFFER from 172.16.0.1
DHCPREQUEST on eth0 to 255.255.255.255 port 67
DHCPACK from 172.16.0.1
bound to 172.16.2.237 -- renewal in 33138 seconds.
[armadillo ~]# ifconfig eth0  2
eth0      Link encap:Ethernet  HWaddr 00:11:0c:xx:xx:xx
          inet addr:172.16.2.237  Bcast:172.16.255.255  Mask:255.255.0.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:876 errors:0 dropped:0 overruns:0 frame:0
          TX packets:109 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:316114 (308.7 KiB)  TX bytes:13236 (12.9 KiB)
          Interrupt:142 DMA chan:ff
    

1

有線LANインターフェースを有効化します。工場出荷状態ではDHCPを利用してネットワーク設定が行われるようになっています。

2

有線LANインターフェースの状態を表示します。

図6.1 ifupコマンドによる有線LANの有効化


ifupコマンドを使用して有効化された有線LANを再度無効化するには、ifdownコマンドを使用します。手順を図6.2「ifdownコマンドによる有線LANの無効化」に示します。

[armadillo ~]# ifdown eth0  1
Internet Systems Consortium DHCP Client 4.1.1-P1
Copyright 2004-2010 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/

Listening on LPF/eth0/00:11:0c:xx:xx:xx
Sending on   LPF/eth0/00:11:0c:xx:xx:xx
Sending on   Socket/fallback
DHCPRELEASE on eth0 to 172.16.0.1 port 67
[armadillo ~]# ifconfig eth0  2
eth0      Link encap:Ethernet  HWaddr 00:11:0c:xx:xx:xx
          BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:963 errors:0 dropped:0 overruns:0 frame:0
          TX packets:111 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:332666 (324.8 KiB)  TX bytes:13638 (13.3 KiB)
          Interrupt:142 DMA chan:ff
    

1

有線LANインターフェースを無効化します。

2

有線LANの状態を表示します。

図6.2 ifdownコマンドによる有線LANの無効化


[ティップ]

ifupおよびifdownコマンドは、/etc/network/interfacesに記述された動作を行います。工場出荷状態では、DHCPサーバーからIPアドレスを取得するよう設定されています。interfacesを変更することで、静的IPアドレスの設定や、起動時に自動的に有効化することができます。詳しくはinterfacesのマニュアルページを参照してください。

[armadillo ~]# man 5 interfaces

6.2. 時刻設定

時刻を設定する方法について記載します。時刻には、Linuxカーネルが管理するシステムクロックと、リアルタイムクロックが管理するハードウェアクロックの2種類があります。ハードウェアクロックに時刻を設定すると、電源を切断しても一定時間時刻を保持することができます。

ハードウェアクロックに時刻を設定するためには、まずシステムクロックを設定します。その後に、ハードウェアクロックをシステムクロックと一致させる手順となります。

システムクロックは、dateコマンドを用いて設定します。dateコマンドの引数には、設定する時刻を[MMDDhhmmCCYY.ss]というフォーマットで指定します。時刻フォーマットの各フィールドの意味を次に示します。

表6.1 時刻フォーマットのフィールド

フィールド意味
MM
DD日(月内通算)
hh
mm
CC年の最初の2桁(省略可)
YY年の最後の2桁(省略可)
ss秒(省略可)

2014年1月23日4時56分00秒に設定する例を次に示します。

[armadillo ~]# date 1
Sat Jan  1 09:00:00 JST 2000
[armadillo ~]# date 012304562014.00 2
Thu Jan 23 04:56:00 JST 2014
[armadillo ~]# date 3
Thu Jan 23 04:56:00 JST 2014

1

現在のシステムクロックを表示します。

2

システムクロックを設定します。

3

システムクロックが正しく設定されていることを確認します。

図6.3 システムクロックを設定


システムクロックを設定後、ハードウェアクロックをhwclockコマンドを用いて設定します。

[armadillo ~]# hwclock 1
Sat Jan  1 00:00:00 2000  0.000000 seconds
[armadillo ~]# hwclock --utc --systohc 2
[armadillo ~]# hwclock --utc 3
Thu Jan 23 04:56:15 2014  0.000000 seconds

1

現在のハードウェアクロックを表示します。

2

ハードウェアクロックをシステムクロックと一致させます。ハードウェアクロックは協定世界時(UTC)で設定されます。

3

ハードウェアクロックがUTCで正しく設定されていることを確認します。

図6.4 ハードウェアクロックを設定


電源が切断されても長時間時刻を保持させたい場合は、RTC 外部バックアップインターフェース(CON31)に外付けバッテリー(CR2032等)を接続することができます。

6.3. パッケージ管理

パッケージ管理システム APT(Advanced Packaging Tool)を使用して、パッケージを管理する方法について記載します。工場出荷状態のDebianには動作に必要な最低限のパッケージしかインストールされていませんが、APTを使用することで、簡単にパッケージを追加することができます。

工場出荷状態では、APTはインターネット上のDebianサイト(HTTPサーバー)から利用可能なパッケージのインデックスを取得します[7]。そのため、APTを使用するためにはネットワークを有効化し、インターネットに接続できる状態にしておく必要があります。

ネットワークを有効化する方法については、「ネットワーク」を参照してください。

[ティップ]

システムクロックが大幅にずれた状態で、APTを利用すると警告メッセージが出力される場合があります。事前に「時刻設定」を参照してシステムクロックを合わせてください。

6.4. GStreamer

GStreamer のインストールと使用方法について記載します。

GStreamer はオープンソースのマルチメディアのフレームワークです。動画や音声などを使用するマルチメディアアプリケーションの基礎となる機能を提供します。

GStreamer には、動作確認用のテストツールとしてgst-launch-0.10コマンドが用意されています。gst-launch-0.10を使用すると、プログラムを作成することなくGStreamer の機能を使用することができます。

次に示す機能の使用には、gst-launch-0.10を利用します。

6.4.1. GStreamerのインストール

GStreamer のインストールには APTを使用します。APTの使用方法については、「パッケージ管理」を参照してください。

APTを使用して GStreamer をインストールするには、次のようにコマンドを実行します。

[armadillo ~]# apt-get install gstreamer0.10-tools gstreamer0.10-plugins-base gstreamer0.10-plugins-good gstreamer0.10-alsa

図6.5 GStreamerのインストール


6.4.2. GStreamerの使用

本書では、GStreamer をgst-launch-0.10コマンドを使用して利用します。

GStreamerでは、特定の機能を持ったエレメントをリンクすることによって、目的とする機能を実現します。gst-launch-0.10では、エクスクラメーションマーク「!」によってエレメントをリンクします。

エレメントは、マルチメディアデータを入力または出力することのできるパッドを持ちます。エレメントは、エレメントが持つパッドによって3種類に分類されます。

表6.2 エレメントの種類

エレメント説明
ソースエレメント出力用のパッドのみを持ちます。
フィルタエレメント入力用と出力用のパッドをそれぞれ1つ以上持ちます。
シンクエレメント入力用のパッドのみを持ちます。

各エレメントをそれぞれ1つずつ持ったgst-launch-0.10の使用例を次に示します。

[armadillo ~]# gst-launch-0.10 videotestsrc ! pngenc ! filesink location=sample.png

図6.6 テスト画像をファイルに保存


videotestsrcは、テスト画像を生成するソースエレメントです。pngencは、入力画像をPNG形式にエンコードするフィルタエレメントです。filesinkは、ファイルにデータを出力するシンクエレメントです。この3つのエレメントをリンクすることで、テスト画像をPNG形式でファイルに出力します。

GStreamer のより詳細な情報については、GStreamer公式サイト(http://gstreamer.freedesktop.org/)を参照してください。

6.5. Xサーバー

Xサーバーのインストールと起動方法について記載します。

次に示す機能の使用には、Xサーバーを利用します。

6.5.1. Xサーバーのインストール

Xサーバーのインストールには APTを使用します。APTの使用方法については、「パッケージ管理」を参照してください。

APTを使用して Xサーバーをインストールするには、次のようにコマンドを実行します。

[armadillo ~]# apt-get install xserver-xorg

図6.7 Xサーバーのインストール


6.5.2. Xサーバーの起動

Xサーバーを起動するには、次のようにコマンドを実行します。

[armadillo ~]# X -retro &

図6.8 Xサーバーの起動


Xサーバーが起動するとディスプレイに次のように起動画面が表示されます。

Xサーバー起動画面

図6.9 Xサーバー起動画面


[ティップ]

Xサーバーの起動オプション "-retro" を指定する目的は、起動画面によってXサーバーの正常起動を確認しやすくするためです。不要であれば指定する必要はありません。

[ティップ]

ディスプレイに表示されたXサーバー起動画面のちらつきが気になる場合は、次のようにコマンドを実行してください。

[armadillo ~]# X -wr &

Xサーバーの起動オプション "-retro" を指定した場合は網目模様の背景が表示されますが、"-wr"を指定した場合は単色白色の背景が表示されます。

6.6. ストレージ

ストレージを使用する方法について記載します。Armadillo-EVA 1500では、内蔵ストレージ(eMMC)の他にSDカードやUSBメモリ、SATA接続の SSD などの外部ストレージを使用することができます。外部ストレージを使用することで、容易に作業用PCなどとデータ転送を行うことができます。

ストレージとして使用可能なデバイスを次に示します。

表6.3 ストレージデバイス

デバイス種類ディスクデバイス先頭パーティション備考
eMMC/dev/mmcblk0/dev/mmcblk0p1内蔵ストレージ。容量8GB。
USBフラッシュメモリ/dev/sd*[a]/dev/sd*1外部ストレージ。USB 3.0 ホストインターフェース(CON10)またはUSB 2.0 ホストインターフェース(CON8)に接続。
SD/SDHC/SDXCカード/dev/mmcblk*[b]/dev/mmcblk*p1外部ストレージ。SD インターフェース(CON6)またはSD インターフェース(CON4)に接続。
SSD/HDD/dev/sd*[a]/dev/sd*1外部ストレージ。SATA インターフェース(CON11)に接続。

[a] ストレージが認識された順に sda sdb sdc ... となります。

[b] ストレージが認識された順に mmcblk0 mmcblk1 となります。


[警告]

工場出荷状態の 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)で選択できるようになっています。

6.6.1. ストレージの使用方法

ここでは、SDHCカードを例にストレージの使用方法を説明します。以降の説明では、共通の操作が可能な場合に、SD/SDHC/SDXCカードをSDカードと表記します。

[ティップ]

SDXCカードを使用する場合は、事前に「ストレージのパーティション変更とフォーマット」を参照してフォーマットを行う必要があります。これは、LinuxカーネルがexFATファイルシステムを扱うことができないためです。通常、購入したばかりのSDXCカードはexFATファイルシステムでフォーマットされています。

Linuxでは、アクセス可能なファイルやディレクトリは、一つの木構造にまとめられています。あるストレージデバイスのファイルシステムを、この木構造に追加することを、マウントするといいます。マウントを行うコマンドは、mountです。

mountコマンドの典型的なフォーマットは、次のとおりです。

mount -t fstype device dir

図6.10 mountコマンド書式


-t オプションに続くdeviceには、ファイルシステムタイプを指定します[8]。FAT32ファイルシステムの場合はvfat[9]、EXT3ファイルシステムの場合はext3を指定します。

deviceには、ストレージデバイスのデバイスファイル名を指定します。SDカードのパーティション1の場合は/dev/mmcblk1p1、パーティション2の場合は/dev/mmcblk1p2となります。

dirには、ストレージデバイスのファイルシステムをマウントするディレクトリを指定します。

SDスロットにSDHCカードを挿入した状態で図6.11「ストレージのマウント」に示すコマンドを実行すると、/mntディレクトリにSDHCカードのファイルシステムをマウントします。SDカード内のファイルは、/mntディレクトリ以下に見えるようになります。

[armadillo ~]# mount -t vfat /dev/mmcblk1p1 /mnt

図6.11 ストレージのマウント


[注記]

FAT32ファイルシステムをマウントした場合、次の警告メッセージが表示される場合があります。

FAT-fs (mmcblk0p1): utf8 is not a recommended IO charset for
FAT filesystems, filesystem will be case sensitive!

これは無視して構いません。 UTF-8 ロケールでは結局はファイル名の表示を正しく処理できないためです。

ストレージを安全に取り外すには、アンマウントする必要があります。アンマウントを行うコマンドは、umountです。オプションとして、アンマウントしたいデバイスがマウントされているディレクトリを指定します。

[armadillo ~]# umount /mnt

図6.12 ストレージのアンマウント


6.6.2. ストレージのパーティション変更とフォーマット

通常、購入したばかりのSDHCカードやUSBメモリは、一つのパーティションを持ち、FAT32ファイルシステムでフォーマットされています。

パーティション構成を変更したい場合、fdiskコマンドを使用します。fdiskコマンドの使用例として、一つのパーティションで構成されているSDカードのパーティションを、2つに分割する例を図6.13「fdiskコマンドによるパーティション変更」に示します。一度、既存のパーティションを削除してから、新たにプライマリパーティションを二つ作成しています。先頭のパーティションには100MByte、二つめのパーティションに残りの容量を割り当てています。先頭のパーティションは/dev/mmcblk1p1、次は/dev/mmcblk1p2となります。fdiskコマンドの詳細な使い方は、manページ等を参照してください。

[armadillo ~]# fdisk /dev/mmcblk1

The number of cylinders for this disk is set to 62528.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
   (e.g., DOS FDISK, OS/2 FDISK)

Command (m for help): d
Selected partition 1

Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-62528, default 1):
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-62528, default 62528): +100M

Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
p
Partition number (1-4): 2
First cylinder (3054-62528, default 3054):
Using default value 3054
Last cylinder or +size or +sizeM or +sizeK (3054-62528, default 62528):
Using default value 62528

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
 mmcblk1: p1 p2
 mmcblk1: p1 p2
Syncing disks.

図6.13 fdiskコマンドによるパーティション変更


FAT32ファイルシステムでストレージデバイスをフォーマットするには、mkfs.vfatコマンドを使用します。また、EXT2やEXT3ファイルシステムでフォーマットするには、mke2fsコマンドを使用します。SDカードのパーティション1をEXT3ファイルシステムでフォーマットするコマンド例を、次に示します。

[armadillo ~]# mke2fs -j /dev/mmcblk1p1

図6.14 EXT3ファイルシステムの構築


6.7. ビデオ

ディスプレイへの画像出力およびカメラからの画像入力を行う方法について記載します。

Linuxでは、画像出力インターフェースをフレームバッファデバイスとして、画像入力インターフェースをV4L2(Video for Linux Two)デバイスとして利用できます。標準状態で利用可能なそれぞれのデバイスを次に示します。

フレームバッファデバイス - /dev/fb0

デジタル HD 出力インターフェース(CON17)
解像度: 1920 x 1080[10]
カラーフォーマット: ARGB8888 (32bit)

V4L2デバイス - /dev/video0

コンポジットビデオ入力インターフェース(CON26)
解像度: 720 x 480
カラーフォーマット: YUYV (16bit)

6.7.1. ディスプレイに画像を表示する

ディスプレイに画像を表示させる方法について記載します。画像の表示には、GStreamerを利用します。インストールされていない場合は、「GStreamerのインストール」を参照してインストールしてください。

また、GStreamerからフレームバッファへの直接描画はできないため、Xサーバーを利用します。事前に「Xサーバー」を参照してXサーバーを起動してください。

任意のJPEG画像をディスプレイに表示する手順を次に示します。

[armadillo ~]# DISPLAY=:0 gst-launch-0.10 filesrc location=sample.jpg ! jpegdec ! freeze ! ffmpegcolorspace ! autovideosink

図6.15 JPEG画像の表示


[ティップ]

画面出力インターフェースはデータの入力が一定時間無かった場合、信号を出力しない blank状態になります。blank 状態を解除するには下記のコマンドを実行してください。

[armadillo ~]# echo 0 > /sys/class/graphics/fb0/blank
[ティップ]

JPEGファイルのサンプルには、gnome-backgroundsパッケージに含まれるファイルを利用することができます。JPEGファイルをディスプレイの解像度に合わせて表示するコマンド例を次に示します。

[armadillo ~]# apt-get install gnome-backgrounds imagemagick
[armadillo ~]# cp /usr/share/backgrounds/gnome/BlueMarbleWest.jpg .
[armadillo ~]# convert -geometry 1920x1080! BlueMarbleWest.jpg sample.jpg
[armadillo ~]# X -retro &
[armadillo ~]# DISPLAY=:0 gst-launch-0.10 filesrc location=sample.jpg ! jpegdec ! freeze ! ffmpegcolorspace ! autovideosink

図6.16 gnome-backgroundsパッケージの画像ファイルを利用


6.7.2. カメラ画像をディスプレイに表示する

カメラから取得した画像をディスプレイに表示させる方法について記載します。画像の表示には、GStreamerを利用します。インストールされていない場合は、「GStreamerのインストール」を参照してインストールしてください。

また、GStreamerからフレームバッファへの直接描画はできないため、Xサーバーを利用します。事前に「Xサーバー」を参照してXサーバーを起動してください。

カメラから取得した画像をディスプレイに表示させる手順を次に示します。

[armadillo ~]# DISPLAY=:0 gst-launch-0.10 v4l2src ! "video/x-raw-yuv,width=720,height=480" ! ffmpegcolorspace ! autovideosink

図6.17 カメラ画像の表示


「Xサーバー」を実行すると、ディスプレイに次のように画面が表示されます。

カメラ画像の表示画面

図6.18 カメラ画像の表示画面


6.7.3. ディスプレイのビデオモードを設定する

ディスプレイの解像度やカラーフォーマットなどを設定する方法について記載します。

ディスプレイの解像度を 640 x 480 に、走査方式をプログレッシブに設定するには図6.19「解像度の変更」のようにコマンドを実行します。fbsetコマンドの詳細な使い方は、man ページ等を参照してください。

[armadillo ~]# fbset -xres 640 -yres 480 -laced 0

図6.19 解像度の変更


[警告]

ディスプレイがサポートしていない解像度や、ドットクロックが 100MHz を超える解像度に設定することはできません。

ディスプレイのカラーフォーマットを ARGB1555 に設定するには次のようにコマンドを実行します。

[armadillo ~]# fbset -depth 16 -rgba 5,5,5,1

図6.20 カラーフォーマットの変更


Armadillo-EVA 1500がサポートしているカラーフォーマットは次の通りです。

カラーフォーマット色深度
RGB56516
ARGB155516
XRGB888832
ARGB888832

6.8. オーディオ

サウンドの再生および録音を行う方法について記載します。

Linuxでオーディオ機能を実現するには、ALSA[11]とOSS[12]の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

6.8.1. サウンドを再生する

ここでは、テストサウンドを再生する方法を示します。テストサウンドには、Gstreamerの audiotestsrc を利用します。

サウンドを再生するには、事前に再生パスのルーティング設定を行う必要があります。次のようにコマンドを実行します。

[armadillo ~]# amixer cset name='SSI3 Control' 1

図6.21 再生パスのルーティング設定


次のようにコマンドを実行すると、ALSAデバイスに対応するオーディオ出力から正弦波(440Hz)の音が再生されます。

[armadillo ~]# gst-launch-0.10 audiotestsrc ! \
                          "audio/x-raw-int,channels=2,rate=48000,width=16" ! \ 1
                          alsasink device=hw:0 2

1

rateパラメータには、サンプリング周波数を指定します。

2

deviceパラメータには、ALSAデバイスを指定します。

図6.22 テストサウンドの再生


6.8.2. サウンドを録音する

マイク/ライン入力インターフェース(CON21)に接続されたマイクから入力された音声を録音する方法を示します。 ここでは、WAV (RIFF waveform Audio Format)ファイル形式で録音する例を示します。

サウンドを録音するには、事前に録音パスのルーティング設定を行う必要があります。次のようにコマンドを実行します。

[armadillo ~]# amixer cset name='SSI4 Control' 1
[armadillo ~]# amixer cset name='PGA AIN3L Switch' 1
[armadillo ~]# amixer cset name='PGA AIN3R Switch' 1

図6.23 録音パスのルーティング設定


[armadillo ~]# gst-launch-0.10 alsasrc device=hw:0 ! \ 1
                          wavenc ! \ 2
                          filesink location=sample.wav 3

1

deviceパラメータには、ALSAデバイスを指定します。

2

ソフトウェアエンコーダに「wavenc」を指定します。他のエンコーダを指定することも可能です。

3

locationパラメータには、保存するファイル名を指定します。

図6.24 サウンドの録音


録音したファイルを再生するには、次のようにコマンドを実行します。 ここでは、ヘッドホン出力インターフェース(CON18) hw:0に出力するように指定しています。

[armadillo ~]# gst-launch-0.10 filesrc location=sample.wav ! \
                          wavparse ! \
                          alsasink device=hw:0

図6.25 録音したファイルを再生


6.9. シリアル

シリアルインターフェースを使用する方法について記載します。工場出荷状態のArmadillo-EVA 1500で使用可能なシリアルインターフェースは次の通りです。

表6.4 工場出荷状態のシリアル設定

インターフェースデバイスファイル(ATDE5)デバイスファイル(Armadillo-EVA 1500)
USB シリアルインターフェース(CON14)/dev/ttyUSB0/dev/ttySC3
シリアルインターフェース(CON16)/dev/ttyS0/dev/ttySC2

[警告]

表6.4「工場出荷状態のシリアル設定」に示すデバイスファイルは、「接続方法」に従って接続された場合のものです。異なる接続をしている場合は適宜読み替えてください。

6.9.1. シリアルコンソールとして使用する

シリアルの動作を確認するには、シリアルコンソールを起動させます。ATDEのシリアル通信ソフトウェア(minicom)を用いることで、シリアル経由でArmadilloにログインすることができます。

[注記]

Armadillo-EVA 1500の工場出荷イメージでは、USB シリアルインターフェース(CON14)が標準でシリアルコンソールとして使用できるようになっています。

シリアルインターフェース(CON16)をシリアルコンソールとして使用する手順を次に示します。

手順6.1 シリアルコンソールとして使用

  1. ATDEでminicomを起動します。シリアルデバイスには/dev/ttyS0を指定します。

    [ATDE ~]$ minicom -o -w -D /dev/ttyS0
  2. Armadilloでgettyを起動します。シリアルデバイスには ttySC2[13]を指定します。

    [armadillo ~]# getty -L 115200 ttySC2 &

ATDEのminicomにログインプロンプトが表示されます。ユーザー「guest」でログインすることができます。

[ティップ]

次に示すように/etc/securettyに端末(シリアルデバイス)を登録すると、特権ユーザー「root」でログインすることが可能になります。

[armadillo ~]# echo ttySC2 >> /etc/securetty

6.10. 温度センサー

プロセッサ(R8A77430HA01BG)の、温度を取得する方法について記載します。利用しているデバイスドライバは Thermal クラスとして実装されているため、Thermal クラスディレクトリ以下のファイルによって温度を取得することができます。

次のようにプロセッサの温度を取得することができます。

[armadillo ~]# cat /sys/class/thermal/thermal_zone0/temp
55000  1

1

温度はミリ°Cの単位で表示されます。この例では55°Cを示しています。

図6.26 温度の取得


温度センサーのより詳細な仕様については、「温度センサー」を参照してください。

6.11. LED

LEDを点灯および消灯する方法について記載します。

Armadillo-EVA 1500のLEDは、GPIOが接続されているためソフトウェアで制御することができます。 利用しているデバイスドライバはLEDクラスとして実装されているため、 LEDクラスディレクトリ以下のファイルによってLEDの制御を行うことができます。 LEDクラスディレクトリと各LEDの対応を次に示します。

表6.5 LED - Armadillo-EVA 1500

LEDクラスディレクトリ説明デフォルトトリガ
/sys/class/leds/LED4/LED4none
/sys/class/leds/LED5/LED5none
/sys/class/leds/LED6/LED6none
/sys/class/leds/LED7/LED7none

以降の説明では、任意のLEDを示すLEDクラスディレクトリを"/sys/class/leds/[LED]"のように表記します。

6.11.1. LEDを点灯/消灯する

LEDクラスディレクトリ以下のbrightnessファイルへ値を書き込むことによって、LEDの点灯/消灯を行うことができます。brightnessに書き込む有効な値は0〜255です。

brightnessに0以外の値を書き込むとLEDが点灯します。

[armadillo ~]# echo 1 > /sys/class/leds/[LED]/brightness

図6.27 LEDを点灯させる


[ティップ]

Armadillo-EVA 1500のLEDには輝度制御の機能が無いため、0 (消灯)、1〜255 (点灯)の2つの状態のみ指定することができます。

brightnessに0を書き込むとLEDが消灯します。

[armadillo ~]# echo 0 > /sys/class/leds/[LED]/brightness

図6.28 LEDを消灯させる


brightnessを読み出すとLEDの状態が取得できます。

[armadillo ~]# cat /sys/class/leds/[LED]/brightness
0

図6.29 LEDの状態を表示する


6.11.2. トリガを使用する

LEDクラスディレクトリ以下のtriggerファイルへ値を書き込むことによってLEDの点灯/消灯にトリガを設定することができます。triggerに書き込む有効な値を次に示します。

表6.6 triggerの種類

設定説明
noneトリガを設定しません。
mmc0eMMCのアクセスランプにします。
mmc1SDカード(CON6)のアクセスランプにします。
mmc2SDカード(CON4)のアクセスランプにします。
timer任意のデューティー比で繰り返し点灯/消灯を行います。この設定にすることにより、LEDクラスディレクトリ以下にdelay_on, delay_offファイルが出現し、それぞれ点灯時間, 消灯時間をミリ秒単位で指定します。
heartbeat[a]心拍のように点灯/消灯を行います。工場出荷イメージでは設定することができません。
default-on[a]主にカーネルから使用します。起動時にLEDが点灯します。工場出荷イメージでは設定することができません。

[a] カーネルコンフィギュレーションで該当トリガを有効にすると設定可能になります。


次に示すコマンドを実行すると、LEDが2秒点灯、1秒消灯を繰り返します。

[armadillo ~]# echo timer > /sys/class/leds/[LED]/trigger
[armadillo ~]# echo 2000 > /sys/class/leds/[LED]/delay_on
[armadillo ~]# echo 1000 > /sys/class/leds/[LED]/delay_off

図6.30 LEDのトリガにtimerを指定する


triggerを読み出すとLEDのトリガが取得できます。"[ ]"が付いているものが現在のトリガです。

[armadillo ~]# cat /sys/class/leds/[LED]/trigger
[none] mmc0 mmc1 mmc2 timer

図6.31 LEDのトリガを表示する


6.12. ユーザースイッチ

ユーザースイッチのイベントを取得する方法について記載します。Armadillo-EVA 1500のユーザースイッチはインプットデバイスとして実装されています。ユーザースイッチとして使用可能なスイッチと、インプットデバイスファイルの対応を次に示します。

表6.7 インプットデバイスファイルとイベントコード

ユーザースイッチインプットデバイスファイルイベントコード
SW3/dev/input/event24
SW45
SW56
SW67


[警告]

イベントデバイスファイルの番号は、検出された順番に割り振られます。そのため、USB キーボードなど他のインプットデバイスが起動時に検出されると、デバイスファイルのインデックスが変わる可能性があります。

6.12.1. イベントを確認する

ユーザースイッチのイベントを取得するには、次のようにコマンドを実行します。evtestを停止するには、Ctrl+c を押下してください。

[armadillo ~]# evtest /dev/input/event2
Input driver version is 1.0.1
Input device ID: bus 0x19 vendor 0x1 product 0x1 version 0x100
Input device name: "gpio-keys"
Supported events:
  Event type 0 (EV_SYN)
  Event type 1 (EV_KEY)
    Event code 4 (KEY_3)
    Event code 5 (KEY_4)
    Event code 6 (KEY_5)
    Event code 7 (KEY_6)
Properties:
Testing ... (interrupt to exit)
Event: time 946835461.742809, type 1 (EV_KEY), code 4 (KEY_3), value 1 1
Event: time 946835461.742830, -------------- SYN_REPORT ------------
Event: time 946835461.892802, type 1 (EV_KEY), code 4 (KEY_3), value 0 2
Event: time 946835461.892818, -------------- SYN_REPORT ------------
                 :
[armadillo ~]#

1

SW3のボタンプッシュイベントが検出された場合の表示。

2

SW3のボタンリリースイベントが検出された場合の表示。

図6.32 ユーザースイッチ: イベントの確認




[7] /etc/apt/sources.listで設定しています。記述ルールなどについては、sources.list のマニュアルページを参照してください。

[8] ファイルシステムタイプの指定は省略可能です。省略した場合、mountコマンドはファイルシステムタイプを推測します。この推測は必ずしも適切なものとは限りませんので、事前にファイルシステムタイプが分かっている場合は明示的に指定してください。

[9] 通常、購入したばかりのSDHCカードはFAT32ファイルシステムでフォーマットされています。

[10] 接続するHDMI対応ディスプレイによって異なる場合があります。

[11] Advanced Linux Sound Architecture http://alsa.sourceforge.net

[12] Open Sound System http://developer.opensound.com/

[13] /dev/を指定する必要はありません。