ネットワークここでは、ネットワークの設定方法やネットワークを利用するアプリケーションについて説明します。デフォルト状態のネットワーク設定ネットワーク設定は、/etc/config/interfacesに記述されています。デフォルト状態では、次のように設定されています。デフォルト状態の/etc/config/interfacesusb0はUSBガジェットで利用することを想定した設定です。されていないインターフェースや一度無効化したインターフェースを再度有効化するには、以下のコマンドを使います。有効化されているインターフェースを無効化するには、以下のコマンドを使います。設定を変更する前には、かならず無効化してください。他のインターフェース名に変更することで、指定したインターフェースの操作をすることが可能です。ネットワーク設定の変更方法Armadilloのネットワーク設定の変更方法について説明します。ネットワーク接続に関する不明な点については、ネットワークの管理者へ相談してください。Armadillo上の「/etc/config」以下にあるファイルを編集し、コンフィグ領域に保存することにより起動時のネットワーク設定を変更することができます。設定ファイルの保存領域を参照してください。設定を変更する場合は、かならずネットワークを無効化してから行ってください。変更してからネットワークを無効化しても、「新しい設定」を無効化することになります。「古い設定」が無効化されるわけではありません。固定IPアドレスに設定する表6.2「固定IPアドレス設定例」に示す内容に設定変更するには、viエディタで/etc/config/interfacesを、図6.4「固定IPアドレス設定」のように編集します。DHCPに設定するDHCPに設定するには、viエディタで/etc/config/interfacesを、次のように編集します。DNSサーバーを指定するDNSサーバーを指定する場合は、viエディタで/etc/config/resolv.confを編集します。DNSサーバーの設定DHCPを利用している場合には、DHCPサーバーがDNSサーバーを通知する場合があります。この場合、/etc/config/resolv.confは自動的に更新されます。接続を確認するここでは、変更したIP設定で正常に通信が可能か確認します。設定を変更した後は、かならず変更したインターフェースを再度有効化してください。同じネットワーク内にある通信機器とPING通信を行います。下記の例では、通信機器が「192.168.10.20」というIP番号を持っていると想定しています。ファイアーウォールArmadilloでは、簡易ファイアーウォールが動作しています。設定されている内容を参照するには、図6.8「iptables」のようにコマンド実行してください。ネットワークアプリケーション工場出荷イメージで利用することができるネットワークアプリケーションについて説明します。ATDEとArmadilloのネットワーク設定がデフォルト状態であることを想定して記述しています。ネットワーク設定を変更している場合は適宜読み換えてください。TELNETATDEなどのPCからネットワーク経由でログインし、リモート操作することができます。ログイン可能なユーザを次に示します。(なし)TELNETを使用してATDEからArmadilloにリモートログインする場合の例を、次に示します。~]$telnetの引数にArmadilloのIPアドレスを指定します。"guest"と入力するとログインすることができます。パスワードの入力は不要です。特権ユーザーとなる場合には"su"コマンドを実行します。特権ユーザーのデフォルトパスワードは"root"です。FTPATDEなどのPCからネットワーク経由でファイル転送することができます。次に示すユーザでログインすることができます。(なし)ftpを使用してATDEからArmadilloにファイルを転送する場合の例を、次に示します。~]$ftpの引数にArmadilloのIPアドレスを指定します。ftpユーザにパスワードが設定されていないためEnterキーを入力します。ファイル転送することができるpubディレクトリに移動します。ファイルをアップロードします。ダウンロードする場合は"get"コマンドを使用します。ftpを終了する場合は"quit"と入力します。ftpでファイル転送ATDEからArmadilloにファイルをアップロードすると、/home/ftp/pub/ディレクトリ以下にファイルが作成されています。ダウンロードする場合も、同じディレクトリにファイルを配置してください。HTTPサーバーArmadilloでは、HTTPサーバーが動作しています。http://armadillo840-0.local/)にアクセスすると、Armadilloのトップページ(index.html)が表示されます。FullHDサイズの画像を表示することができます。この章では、HDMIモニターへの画像表示方法について説明します。HDMIモニターを検知し、Qtアプリケーションを表示するようになっています。そのため、HDMIモニターを接続してから電源を入れるだけで、ビデオ出力が動作しているか確認することができます。Viewerというデモアプリケーションです。指定したキーワードに対応する写真を「Flickr」という写真共有サイトで検索し、写真を集めてきます。スタックされた写真をクリックすると、指定したキーワードの写真が画面に広がります。インターネットに繋がっていないと画像を取得できないため、図6.13「デフォルトアプリケーション」のように表示されません。ネットワークの設定は、「ネットワーク」を確認してください。Armadillo-840では、モニターによって自動的にビデオモードを変更する機能が搭載されています。出力画像は、Armadilloとモニターがサポートできる最大サイズに設定されます。px)に指定されます。Armadilloを起動した後に、FullHDに対応していないモニターを接続すると、デフォルトアプリケーションが誤動作します。Armadilloの電源を入れてください。モニターよっては、ビデオモードの自動設定が完了した後であっても画像が表示されない場合があります。これは、モニターが持つ表示可能なビデオモードをArmadillo-840が再現できない場合があるためです。画像が表示されない場合は、次のように該当箇所を変更してください。特定ビデオモードに対する排他処理機能を利用して、表示されないビデオモードを排除することができます。設定が反映されるようにコンフィグ領域を保存します。HDMIモニター経由で、オーディオの再生を行うことができます。この章では、オーディオの再生方法について説明します。Linuxでサウンド機能を実現するには、ALSA[8]とOSS[9]の2つの方法があります。よるオーディオ機能を提供しています。ALSAデバイスが対応するサンプリング周波数とフォーマットを表6.5「ALSAデバイスが対応するサンプリング周波数とフォーマット」に示します。サウンドを再生するALSAを使用したサウンドの再生にはGStreamerを使用します。サウンドの再生HDMI経由で再生するオーディオは、Armadilloでのボリュームのコントロールができません。HDMIモニター側のボリュームコントロールで音量を調整してください。ストレージArmadillo-840でストレージとして使用可能なデバイスを次に示します。ストレージの使用方法ここでは、SDHCカードを例にストレージの使用方法を説明します。以降の説明では、共通の操作が可能な場合に、SD/SDHC/SDXCカードをSDカードと表記します。SDXCカードを使用する場合は、事前に「ストレージのパーティション変更とフォーマット」を参照してフォーマットを行う必要があります。これは、LinuxカーネルがexFATファイルシステムを扱うことができないためです。通常、購入したばかりのSDXCカードはexFATファイルシステムでフォーマットされています。Linuxでは、アクセス可能なファイルやディレクトリは、一つの木構造にまとめられています。あるストレージデバイスのファイルシステムを、この木構造に追加することを、マウントするといいます。マウントを行うコマンドは、mountです。mountコマンドの典型的なフォーマットは、次の通りです。オプションに続くdeviceには、ファイルシステムタイプを指定します[10]。FAT32ファイルシステムの場合はvfat[11]、EXT3ファイルシステムの場合はext3を指定します。deviceには、ストレージデバイスのデバイスファイル名を指定します。SDカードのパーティション1の場合は/dev/mmcblk0p1、パーティション2の場合は/dev/mmcblk0p2となります。dirには、ストレージデバイスのファイルシステムをマウントするディレクトリを指定します。SDスロットにSDHCカードを挿入した状態で図6.16「ストレージのマウント」に示すコマンドを実行すると、/mntディレクトリにSDHCカードのファイルシステムをマウントします。SDカード内のファイルは、/mntディレクトリ以下に見えるようになります。ストレージのマウントFAT32ファイルシステムをマウントした場合、次の警告メッセージが表示される場合があります。sensitive!これは無視して構いません。ロケールでは結局はファイル名の表示を正しく処理できないためです。ストレージを安全に取り外すには、アンマウントする必要があります。アンマウントを行うコマンドは、umountです。オプションとして、アンマウントしたいデバイスがマウントされているディレクトリを指定します。ストレージのパーティション変更とフォーマット通常、購入したばかりのSDHCカードやUSBメモリは、一つのパーティションを持ち、FAT32ファイルシステムでフォーマットされています。パーティション構成を変更したい場合、fdiskコマンドを使用します。fdiskコマンドの使用例として、一つのパーティションで構成されているSDカードのパーティションを、2つに分割する例を図6.18「fdiskコマンドによるパーティション変更」に示します。一度、既存のパーティションを削除してから、新たにプライマリパーティションを二つ作成しています。先頭のパーティションには100MByte、二つめのパーティションに残りの容量を割り当てています。先頭のパーティションは/dev/mmcblk0p1、二つめは/dev/mmcblk0p2となります。fdiskコマンドの詳細な使い方は、manページ等をご参照ください。fdiskコマンドによるパーティション変更FAT32ファイルシステムでストレージデバイスをフォーマットするには、mkfs.vfatコマンドを使用します。EXT2やEXT3ファイルシステムでフォーマットするには、mke2fsコマンドを使用します。SDカードのパーティション1をEXT3ファイルシステムでフォーマットするコマンド例を、次に示します。LEDArmadillo-840のLEDは、LEDクラスとして実装されています。LEDクラスディレクトリ以下のファイルによってLEDの制御を行うことができます。LEDクラスディレクトリとLEDの対応については、表6.7「LEDクラスディレクトリとLEDの対応」を参照してください。none以降の説明では、任意のLEDを示すLEDクラスディレクトリを"/sys/class/leds/[LED]"のように表記します。LEDを点灯/消灯するLEDクラスディレクトリ以下のbrightnessファイルへ値を書き込むことによって、LEDの点灯/消灯を行うことができます。brightnessに書き込む有効な値は0〜255です。brightnessに0以外の値を書き込むとLEDが点灯します。(点灯)の2つの状態のみ指定することができます。brightnessに0を書き込むとLEDが消灯します。LEDを消灯させるbrightnessを読み出すとLEDの状態が取得できます。トリガを使用するLEDクラスディレクトリ以下のtriggerファイルへ値を書き込むことによってLEDの点灯/消灯にトリガを設定することができます。triggerに書き込む有効な値を次に示します。トリガを設定しません。SDカードのアクセスランプにします。任意のタイミングで点灯/消灯を行います。消灯時間をミリ秒単位で指定します。心拍のように点灯/消灯を行います。工場出荷イメージでは設定することができません[a]。カーネルから使用します。起動時にLEDが点灯します。工場出荷イメージでは設定することができません[a]。カーネルコンフィギュレーションで該当トリガを有効にすると設定可能になります。以下のコマンドを実行すると、LEDが1秒点灯、500ミリ秒消灯を繰り返します。LEDのトリガにtimerを指定するtriggerを読み出すとLEDのトリガが取得できます。]"が付いているものが現在のトリガです。Clock)が実装されています。WK11)[12]を接続することができます。RTCに時刻を設定するLinuxの時刻には、Linuxカーネルが管理するシステムクロックと、RTCが管理するハードウェアクロックの2種類があります。RTCに時刻を設定するためには、まずシステムクロックを設定します。その後に、ハードウェアクロックをシステムクロックと一致させる手順となります。システムクロックは、dateコマンドを用いて設定します。dateコマンドの引数には、設定する時刻を[MMDDhhmmCCYY.ss]というフォーマットで指定します。時刻フォーマットの各フィールドの意味を次に示します。秒(省略可)2013年1月23日4時56分00秒に設定する例を次に示します。2013現在のシステムクロックを表示します。システムクロックを設定します。システムクロックが正しく設定されていることを確認します。システムクロックを設定システムクロックを設定後、ハードウェアクロックをhwclockコマンドを用いて設定します。seconds現在のハードウェアクロックを表示します。ハードウェアクロックを協定世界時(UTC)で設定します。ハードウェアクロックがUTCで正しく設定されていることを確認します。GPIOとして実装されています。GPIOクラスディレクトリ以下のファイルによってGPIOの制御を行うことができます。GPIOクラスディレクトリとGPIOの対応を次に示します。/sys/class/gpio/gpio24以降の説明では、任意のGPIOを示すGPIOクラスディレクトリを"/sys/class/gpio/[GPIO]"のように表記します。入出力方向を変更するGPIOディレクトリ以下のdirectionファイルへ値を書き込むことによって、入出力方向を変更することができます。directionに書き込む有効な値を次に示します。入出力方向をOUTPUTに設定します。入力レベルの取得/設定を行うことができます。入力レベルはHIGHレベルになります。入出力方向をOUTPUTに設定します。入力レベルの取得/設定を行うことができます。入力レベルはLOWレベルになります。outを設定した場合と同じです。入出力方向をINPUTに設定します。入力レベルの取得を行うことができますが設定はできません。入力レベルを取得するGPIOディレクトリ以下のvalueファイルから値を読み出すことによって、入力レベルを取得することができます。"0"はLOWレベル、"1"はHIGHレベルを表わします。OUTPUTのどちらでも行うことができます。入出力方向がOUTPUTの時に読み出される値は、GPIOピンの状態ではなく、自分がvalueファイルに書き込んだ値となります。出力レベルを設定するGPIOディレクトリ以下のvalueファイルへ値を書き込むことによって、出力レベルを設定することができます。"0"はLOWレベル、"0"以外はHIGHレベルを表わします。出力レベルの設定は入出力方向がOUTPUTでなければ行うことはできません。ファイルシステムタイプの指定は省略可能です。省略した場合、mountコマンドはファイルシステムタイプを推測します。この推測は必ずしも適切なものとは限りませんので、事前にファイルシステムタイプが分かっている場合は明示的に指定してください。通常、購入したばかりのSDHCカードはFAT32ファイルシステムでフォーマットされています。詳しくは、各Armadillo販売代理店にお問い合わせください。