| | 本章では、ハードウェアの動作確認に使用するコマンドやその実行手順について説明します。 ハードウェアの動作確認以外が目的のコマンドや手順については
10章Howto
を参照してください。 ここでは、ネットワークの設定方法について説明します。 表7.1 ネットワークとネットワークデバイス ネットワーク | 搭載モデル | ネットワークデバイス | 出荷時の設定 |
---|
Ethernet | 全モデル | eth0
| DHCP | LTE | Cat.1 | usb0
| SIM / 料金プランに依存します | Cat.M1 | ppp0
| 無線LAN | Cat.1[], WLAN | wlan0
| クライアントモード |
Armadillo-IoT ゲートウェイ A6E では、通常の Linux システムと同様、ネットワークインターフェースの設定は NetworkManager を使用します。
NetworkManager はすべてのネットワーク設定をコネクションとして管理します。コネクションには「どのようにネットワークへ接続するか」、
「どのようにネットワークを作成するか」を記述し、 /etc/NetworkManager/system-connections/ に保存します。
また、1つのデバイスに対して複数のコネクションを保存することは可能ですが、1つのデバイスに対して有効化にできるコネクションは1つだけです。 NetworkManager は、従来の /etc/network/interfaces を使った設定方法もサポートしていますが、本書では nmcli を用いた方法を中心に紹介します。 nmcli は NetworkManager を操作するためのコマンドラインツールです。
図7.1「nmcli のコマンド書式」に nmcli の書式を示します。このことから、 nmcli は「オブジェクト (OBJECT) というものが存在し、
それぞれのオブジェクトに対してコマンド (COMMAND) を実行する。」という書式でコマンドを入力することがわかります。
また、オブジェクトそれぞれに help が用意されていることもここから読み取れます。
ここでは nmcli の、基本的な使い方を説明します。 登録されているコネクションの一覧表示するには、図7.2「コネクションの一覧表示」に示すコマンドを実行します。
[] 表示された NAME については、以降 [ID] として利用することができます。 コネクションを作成するには、図7.5「コネクションの作成」に示すコマンドを実行します。 [ID] にはコネクションの名前(任意)、[type] には ethernet、wifi といった接続タイプ、
[interfacename] にはインターフェース名(デバイス)を入力します。
これにより /etc/NetworkManager/system-connections/ に[ID]の名前でコネクション
ファイルが作成されます。このファイルを vi などで編集し、コネクションを修正する
ことも可能です。 Armadillo-IoT ゲートウェイ A6E を再起動したときにコネクションファイルが消えてしまわないように、
persist_file コマンドで永続化する必要があります。
persist_file コマンドに関する詳細は 「overlayfs と persist_file について」 を参照してください。 | |
---|
別の Armadillo-IoT ゲートウェイ A6E からコネクションファイルをコピーした場合は、コネクションファイルの
パーミッションを 600 に設定してください。
600 に設定後、 nmcli c reload コマンドでコネクションファイルを再読込します。 [armadillo ~]# chmod 600 /etc/NetworkManager/system-connections/<コネクションファイル名>
[armadillo ~]# persist_file /etc/NetworkManager/system-connections/<コネクションファイル名>
[armadillo ~]# nmcli c reload swu イメージを使用してコネクションファイルのアップデートを行う場合は、
swu イメージに含めるコネクションファイルのパーミッションを 600 に設定してから、
swu イメージを作成してください。
アップデート実行時には swu イメージ作成時のパーミッションが維持されるため、
上記のコマンド実行手順は不要です。
swu イメージに関しては 「Armadilloのソフトウェアをアップデートする」 を参考にしてください。 |
コネクションを削除するには、図7.7「コネクションの削除」に示すコマンドを実行します。 これにより /etc/NetworkManager/system-connections/ のコネクションファイルも同時に削除されます。
コネクションの作成と同様に persist_file コマンドで永続化する必要があります。 DHCP に設定する例を、図7.10「DNS サーバーの指定」に示します。 | |
---|
-ipv4.addresses のように、プロパティ名の先頭に "-" を付けることで設
定したプロパティを削除することができます。反対に "+" を付けることで
プロパティを追加することができます。
|
有効化されているコネクションを修正した場合、かならず修正したコネクションを再度有効化してください。 デバイスを接続するには、図7.14「デバイスの接続」に示すコマンドを実行します。 | |
---|
デバイスを接続するには、接続しようとしているデバイスの有効なコネクションが必要です。
"Error: neither a valid connection nor device given" というメッセージが表示された場合には、
nmcli connection などで有効なコネクションが存在するかを確認してください。 |
有線 LAN で正常に通信が可能かを確認します。設定を変更した場合、必ず変更したインターフェースを再度有効化してください。 同じネットワーク内にある通信機器と PING 通信を行います。以下の例では、通信機器が「192.0.2.20」という IP アドレスを持っていると想定しています。 | |
---|
有線 LAN 以外のインターフェースが有効化されている場合、ルーティングの設定などにより、ネットワーク通信に有線 LAN が使用されない場合があります。
確実に有線 LAN の接続確認をするために、有線 LAN 以外のインターフェースを無効化してください。 |
7.1.5. LTE (Cat.1/Cat.M1 モデル)本章では、Armadillo-IoT ゲートウェイ A6E に搭載されている LTEモジュールの使用方法について説明します。 | |
---|
Armadillo-IoT ゲートウェイ A6E Cat.1 モデルに搭載しております Thales 製 LTE 通信モジュール ELS31-J は、ドコモの相互接続性試験を完了しています。 |
| |
---|
Armadillo-IoT ゲートウェイ A6E Cat.M1 モデルに搭載しております Thales 製 LTE 通信モジュール EMS31-J は、ドコモ/KDDI/ソフトバンクそれぞれの相互接続性試験を完了しています。 |
7.1.5.1. LTE データ通信設定を行う前にLTEデータ通信を利用するには、通信事業者との契約が必要です。契約時に通信事業者から貸与されたnanoSIM(UIMカード)とAPN情報を準備します。 | |
---|
Armadillo-IoT ゲートウェイ A6E Cat.1 及び Cat.M1 モデルでの動作検証済み nanoSIM (料金プラン)に関しては、 Armadillo サイトの「Armadillo-IoTゲートウェイ 動作確認済みSIM一覧」を確認ください。 Armadillo-IoTゲートウェイ 動作確認済みSIM一覧 |
| |
---|
Armadillo-IoT ゲートウェイ A6E の電源が切断されていることを確認してから nanoSIM(UIMカード)を取り付けてください。 |
| |
---|
本製品は、nanoSIMスロットを搭載しています。 標準/microSIMサイズのSIMカードをnanoSIMサイズにカットしたもの、サイズの異なるものを使用すると、nanoSIMスロットが故障する原因となります。
これらを使用し本製品が故障した場合は、保証期間内であっても保証適用外となります。 |
nanoSIM(UIMカード)の切り欠きを挿入方向に向け、刻印面を上にして挿入してください。挿入位置などは、図4.12「Armadillo-IoT ゲートウェイ A6Eの接続例」 を参照してください。 APNの設定を行うには、表7.3「APN 設定情報」に示す情報が必要です。モデル毎の文字長を超える設定はできませんので、SIM の料金プランを選択する際にはご注意ください。特に Cat.1 モデル (ELS31-J) の最大パスワード文字数が短いのでご注意ください。 表7.3 APN 設定情報 項目 | Cat.1 モデル (ELS31-J) | Cat.M1 モデル (EMS31-J) |
---|
APN | 最大 99 文字 | 最大 99 文字 | ユーザー名 | 最大 30 文字 | 最大 64 文字 | パスワード | 最大 20 文字 | 最大 64 文字 | 認証方式 | PAP または CHAP | PDP Type | IP のみをサポート |
7.1.5.2. Cat.1 モデルの LTE ネットワーク構成について (Cat.1 モデル)Cat.1 モデル搭載の LTE モデム ELS31-J は、USB インターフェースで Armadillo のプロセッサと接続しています。USB インターフェースは USB CDC ACM、USB CDC Ethernet として動作します。 この USB CDC Ethernet によって LTE モジュールと Armadillo Base OS の間で LAN を構成します。 それぞれの IP アドレスの割り当てを、図7.17「Cat.1 モデル (ELS31-J) LTE ネットワーク構成」 に示します。Armadillo Base OS 側の IP アドレスを 24 ビットマスクのアドレス空間で示しているのは、 LTE モジュール内部で動作している DHCP サーバーがIPアドレスを提供するためです。 7.1.5.4. LTE モデム EMS31-J 省電力などの設定 (Cat.M1 モデル)Cat.M1 モデル搭載の LTE モデム EMS31-J 起動時に設定する内容を、/etc/atmark/ems31-boot.conf ファイルに記載します。 /etc/atmark/ems31-boot.conf に設定できる内容を表7.4「ems31-boot.conf の設定内容」に示します。 ems31-boot.conf のフォーマットは以下の通りです。 -
パラメータは、「パラメータ名=値」のフォーマットで記載してください。
-
fix_profile の値のみダブルクォテーションで囲む必要があります。
-
行頭に # が存在する場合、その行を無視します。
-
パラメーターが存在しない場合、その項目に関して何も設定をしません。
表7.4 ems31-boot.conf の設定内容 パラメーター名 | 初期値 | 設定可能値 | 説明 |
---|
fix_profile | "auto" | "docomojp","sbmjp","kddijp" | 接続プロファイルの指定
"auto" で接続できないときに、設定を変更すると接続できることがあります。 | suspend | disable | enable または disable | サスペンドの有効無効 | psm | 3m,1m | disable または tau,act-time | Power Save Mode の設定 | edrx | 20.48,5.12 | disable または pcl,ptw | eDRX の設定 |
PSM (Power Save Mode) の設定値を表7.5「psm の tau と act-time に設定可能な値」に示します。disable にしない場合、tau (Periodic TAU cycle (T3412)) は act_time (Active time (T3324)) より大きい値にする必要があります。 表7.5 psm の tau と act-time に設定可能な値 パラメーター名 | 設定可能値 |
---|
tau (s=秒,m=分,h=時間) | 2s,4s,6s…62s,90s,120s,150s…930s,1m,2m,3m…31m,40m,50m,60m…310m, 1h,2h,3h…31h,40h,50h,60h…310h | act-time (s=秒,m=分,h=時間) | 2s,4s,6s…62s,1m,2m,3m…31m,36m,42m,48m…186m |
eDRX (extended Discontinuous Reception) の設定値を表7.6「edrx の pcl と ptw に設定可能な値」に示します。disable にしない場合、pcl (Paging Cycle Length) は ptw (Paging Time Window eDRX) より大きい値にする必要があります。 表7.6 edrx の pcl と ptw に設定可能な値 パラメーター名 | 設定可能値 |
---|
pcl (秒) | 5.12, 10.24, 20.48, 40.96, 61.44, 81.92, 102.4, 122.88, 143.36, 163.84, 327.68, 655.36, 1310.72, 2621.44 | ptw (秒) | 1.28, 2.56, 5.12, 6.40, 7.68, 8.96, 10.24, 11.52, 12.80, 14.08, 15.36, 16.64, 17.92, 19.20, 20.48 |
表7.7「APN情報設定例」の内容に設定する例を図7.22「LTEのコネクションの作成」に示します。 表7.7 APN情報設定例 項目 | 設定 |
---|
APN | [apn] | ユーザー名 | [user] | パスワード | [password] | ネットワークデバイス | [wwan] |
ネットワークデバイス [wwan] は、表7.8「通信モジュールのネットワークデバイス」 を参照ください。 表7.8 通信モジュールのネットワークデバイス 通信モジュール | ネットワークデバイス |
---|
Thales 製 ELS31-J (Cat.1 モデル) | ttyCommModem | Thales 製 EMS31-J (Cat.M1 モデル) |
コネクション設定を永続化するには、以下のコマンドを入力してください。設定を永続化すると、Armadillo 起動時に自動的にデータ接続を行うようになります。 同一インタフェースへの設定が複数存在する場合、 gsm-[wwan]-1.nmconnection など後ろに数値が付与されますので、図7.22「LTEのコネクションの作成」 入力時のメッセージで生成されたファイル名を確認した上で永続化を実施ください。 7.1.5.6. MCC/MNC を指定した LTE のコネクションを作成する (Cat.M1 モデルのみ)マルチキャリア SIM などを使用する際、MCC (Mobile Country Code) と MNC (Mobile Network Code) を指定してコネクションを作成すると LTE ネットワークに接続できることがあります。指定する場合は 図7.24「MCC/MNC を指定した LTE コネクションの作成」 に示すコマンドを実行してください。 [mccmnc] には 44010 などの数字を入力してください。実際に設定する値に関しては、ご契約の通信事業者へお問い合わせください。 Cat.1 モデルに搭載の LTE モデム ELS31-J はドコモ網のみに接続可能ですので、この設定は不要です。 ご利用になるサービスとの通信を検証する、ICMP に対応しているアドレス (8.8.8.8など) と PING 通信を行うなどの方法で LTE の接続を確認してください。 [network device] には、表7.1「ネットワークとネットワークデバイス」を参照し、ご使用の製品モデルで使用しているLTEのネットワークデバイスを指定してください。 LTEコネクションを切断するには、図7.28「LTEコネクションを切断する」に示すコマンドを実行します。
LTEコネクションを切断する前に、LTE 再接続サービスを停止しないと再接続処理が実行される為、事前に停止します。 |
LTE 再接続サービスを停止します。
| |
LTE コネクションを切断します。
|
LTE 再接続サービスは、LTE のデータ接続の状態を定期的に監視し、切断を検出した場合に再接続を行うサービスです。 Cat.1 モデルは初期状態でこのサービスが有効になっております。 | |
---|
Cat.M1 モデルでは、LTE モデムの省電力動作のため、初期状態では LTE 再接続サービスを無効にしております。有効にする手順は、図7.35「LTE 再接続サービスを有効にする」を参照ください。LTE 再接続サービスを有効にした場合、定期的に ping 導通確認を実施するため、スリープ状態の LTE モデムが都度起床する、サスペンド状態の LTE モデムですと ping 導通が確認できないなど、制約が発生しますので、その辺りを考慮された上でのご利用をお願いします。 |
SIM カードが挿入されており、NetworkManager に有効な LTE コネクションの設定がされているとき、初期設定では 120 秒に一度コネクションの状態を監視します。オプションで SIM カードの認識ができないときに Armadillo の再起動を実施することも可能です。 コネクションが無効になっている場合、切断状態と判定しコネクションを有効にします。 コネクションが有効になっている場合、特定の宛先に PING を実行します。PING がエラーになったとき切断状態と判定し、コネクションの無効化・有効化を行うことで再接続を実施します。 コネクションの無効化・有効化による再接続を実施しても PING がエラーになる場合、電波のオン・オフまたは LTE モジュールの電源をオン・オフを実施して再接続を実施します。どちらを実施するかは設定ファイルの WWAN_FORCE_RESTART_COUNT に依存します。 WWAN_FORCE_RESTART_COUNT が初期値の 10 である場合、1 から 9 回目は電波のオン・オフを実施し、10 回目はLTE モジュールの電源オン・オフを実施します。それ以降も NG が続く場合、同じく 10 回に一度 LTE モジュールの電源オン・オフを実施します。 工場出荷状態で本サービスは有効化されており、システム起動時にサービスが自動的に開始されます。PING を実行する宛先は、初期設定ではで "8.8.8.8" です。ご利用の環境に合わせて表7.9「再接続サービス設定ファイルパス」に示す設定ファイルを適宜変更してください。 表7.9 再接続サービス設定ファイルパス モデル名 | 設定ファイルパス |
---|
Cat.1 モデル | /etc/atmark/connection-recover/gsm-ttyACM0_connection-recover.conf | Cat.M1 モデル | /etc/atmark/connection-recover/gsm-ttyMux0_connection-recover.conf |
設定ファイルの概要を表7.10「再接続サービス設定パラメーター」に示します。必要に応じて設定値を変更してください。 表7.10 再接続サービス設定パラメーター パラメーター名 | 初期値 | 意味 | 変更 |
---|
PRODUCT_NAME | - | 製品名 | 不可 | CHECK_INTERVAL_SEC | 120 | 監視周期(秒) | 可 | PING_DEST_IP | 8.8.8.8 | コネクション状態確認時 PING 送付先 | 可 | DEVICE | - | ネットワークデバイス名 | 不可 | TYPE | - | ネットワークタイプ | 不可 | NETWORK_IF | - | ネットワーク I/F 名 | 不可 | FORCE_REBOOT | FALSE | TRUE に設定すると PING 導通チェック NG 時 Armadillo を再起動します。 | 可 | REBOOT_IF_SIM_NOT_FOUND | FALSE | TRUE に設定すると SIM を検出できない時に Armadillo を再起動します。 | 可 | WWAN_FORCE_RESTART_COUNT | 10 | PING 導通確認を設定した回数連続で失敗した場合モデムの再起動を実行します。設定した回数に満たない場合 、電波のオフ・オン実施のみで LTE 再接続を試みます。 | 可 |
設定ファイル変更後、変更内容を永続化するには図7.29「LTE 再接続サービスの設定値を永続化する (Cat.1 モデル)」または図7.30「LTE 再接続サービスの設定値を永続化する (Cat.M1 モデル)」に示すコマンドを実行してください。 LTE再接続サービスの状態を確認するには、図7.31「LTE 再接続サービスの状態を確認する」に示すコマンドを実行してください。 LTE再接続サービスを停止するには、図7.32「LTE 再接続サービスを停止する」に示すコマンドを実行してください。 LTE再接続サービスを開始するには、図7.33「LTE 再接続サービスを開始する」に示すコマンドを実行してください。 独自に接続状態を確認するサービスを実装されるなどの理由で標準のLTE再接続サービスが不要な場合、図7.34「LTE 再接続サービスを無効にする」に示す手順で再接続サービスを永続的に無効にできます。 |
再接続サービスを停止します。
| |
再接続サービスを無効にします。
| |
サービスの設定ファイルを削除を永続化します。
|
LTE再接続サービスを無効化した後、再度有効にする場合、図7.35「LTE 再接続サービスを有効にする」に示す手順を実行してください。 |
再接続サービスを有効にします。
| |
再接続サービスを開始します。
| |
サービスの設定ファイルを永続化します。
|
7.1.5.12. ModemManager - mmcli についてここでは ModemMamager と mmcli について説明します。 Armadillo-IoT ゲートウェイ A6E にはネットワークを管理する NetworkManager とは別に、モデムを管理する ModemManager がインストールされています。
ModemManager はモバイルブロードバンドデバイス(LTEモジュールなど)の操作および、接続状況の管理などを行います。 ModemManager のコマンドラインツールである mmcli を使用することで、LTE通信の電波強度やSIMカードの情報(電話番号やIMEIなど)を取得することが可能です。mmcli の詳しい使いかたについては man mmcli を参照してください。 ModemManager はモデムデバイスに応じたプラグインを選択して動作します。Cat.M1 モデルでは、cinterion-ems31 という名称のプラグインで動作しています。 7.1.5.14. mmcli - モデムの情報を取得するモデムの情報を取得するには、図7.37「モデムの情報を取得する」に示すコマンドを実行します。 | |
---|
モデムの情報を取得するには、SIM カードが取り付けられている必要があります。正しく SIM カードが取り付けられていることを確認してください。 |
本章では、Armadillo-IoT ゲートウェイ A6E に搭載されている無線LANモジュールの使用方法について説明します。 例として、WPA2-PSK(AES)のアクセスポイントに接続します。WPA2-PSK(AES)以外のアクセスポイントへの接続方法などについては、man nm-settings を参考にしてください。
また、以降の説明では、アクセスポイントのESSIDを[essid]、パスフレーズを[passphrase]と表記します。 7.1.6.1. 無線LANアクセスポイントに接続する無線LANアクセスポイントに接続するためには、次のようにコマンドを実行してコネクションを作成します。 作成されたコネクションの ID は nmcli connection コマンドで確認できます。 | |
---|
NetworkManagerの仕様により、無線LANの接続にはランダムなMACアドレスが使用されます。搭載されている無線LANモジュール固有のMACアドレスを使用したい場合は、以下の例のようにNetworkManagerの設定を変更し、再起動を行ってください。 [armadillo ~]# echo "[device-mac-randomization]" > /etc/NetworkManager/conf.d/no-random-mac.conf
[armadillo ~]# echo "wifi.scan-rand-mac-address=no" >> /etc/NetworkManager/conf.d/no-random-mac.conf
[armadillo ~]# echo "[connection-mac-randomization]" >> /etc/NetworkManager/conf.d/no-random-mac.conf
[armadillo ~]# echo "wifi.cloned-mac-address=permanent" >> /etc/NetworkManager/conf.d/no-random-mac.conf
[armadillo ~]# persist_file /etc/NetworkManager/conf.d/no-random-mac.conf |
無線LANで正常に通信が可能か確認します。 同じネットワーク内にある通信機器とPING通信を行います。以下の例では、通信機器が「192.0.2.20」というIPアドレスを持っていると想定しています。 | |
---|
無線LAN以外のコネクションが有効化されている場合、ネットワーク通信に無線LANが使用されない場合があります。
確実に無線LANの接続確認をする場合は、事前に無線LAN以外のコネクションを無効化してください。 |
本章では、Armadillo-IoT ゲートウェイ A6E に搭載されているBTモジュールの使用方法について説明します。 例として、bluetoothctl コマンドを使用して周辺の bluetooth 機器のアドバタイジング・パケットを受信します。
bluetoothctl コマンドを使用するには、 bluez パッケージが必要です。 インストール後、bluetooth.service を有効化します。 bluetoothctl コマンドを使用し、 アドバタイジング・パケットをスキャンします。
スキャンを停止するには、scan off を実行します。 bluetoothctl を終了するには、exit を実行します。 Armadillo-IoT ゲートウェイ A6E でストレージとして使用可能なデバイスを次に示します。 表7.11 ストレージデバイス デバイス種類 | ディスクデバイス | 先頭パーティション | インターフェース |
---|
オンボード eMMC | /dev/mmcblk0
| /dev/mmcblk0p1
| オンボード | オンボード eMMC (GPP) | /dev/mmcblk0gp2
| なし | オンボード | オンボード eMMC (GPP) | /dev/mmcblk0gp3
| なし | オンボード | SD/SDHC/SDXCカード [] | /dev/mmcblk1
| /dev/mmcblk1p1
| microSDスロット(CON1) | USBメモリ | /dev/sd* []
| /dev/sd*1
| USB ホストインターフェース (CON9) |
| GPP(General Purpose Partition)について |
---|
GPP は、eMMC の通常の記憶領域を割譲して eMMC 内部に作られた記憶領域です。 eMMC の通常の記憶領域とはアドレス空間が異なるため、/dev/mmcblk0 および /dev/mmcblk0p* に対してどのような書き込みを行っても /dev/mmcblk0gp* のデータが書き換わることはありません。 Armadillo-IoT ゲートウェイ A6E では、8 MiB の GPP を4つ作成しています。各領域の用途を表7.12「eMMCのGPPの用途」に示します。 表7.12 eMMCのGPPの用途 ディスクデバイス | 用途 |
---|
/dev/mmcblk0gp0
| ライセンス情報等の為の予約領域 | /dev/mmcblk0gp1
| 動作ログ領域 | /dev/mmcblk0gp2
| 動作ログ予備領域[] | /dev/mmcblk0gp3
| ユーザー領域 |
|
ここでは、SDHCカードを接続した場合を例にストレージの使用方法を説明します。以降の説明では、共通の操作が可能な場合に、SD/SDHC/SDXCカードをSDカードと表記します。 | |
---|
SDXC/microSDXCカードを使用する場合は、事前に「ストレージのパーティション変更とフォーマット」を参照してフォーマットを行う必要があります。これは、LinuxカーネルがexFATファイルシステムを扱うことができないためです。通常、購入したばかりのSDXC/microSDXCカードはexFATファイルシステムでフォーマットされています。 |
Linuxでは、アクセス可能なファイルやディレクトリは、一つの木構造にまとめられています。あるストレージデバイスのファイルシステムを、この木構造に追加することを、マウントするといいます。マウントを行うコマンドは、 mount です。 mount コマンドの典型的なフォーマットは、次の通りです。
-t オプションに続く fstype には、ファイルシステムタイプを指定します。ファイルシステムタイプの指定は省略可能です。省略した場合、mount コマンドはファイルシステムタイプを推測します。この推測は必ずしも適切なものとは限りませんので、事前にファイルシステムタイプが分かっている場合は明示的に指定してください。FAT32ファイルシステムの場合は vfat 、EXT3ファイルシステムの場合はext3を指定します。
| |
---|
通常、購入したばかりのSDHCカードはFAT32 または exFATファイルシステムでフォーマットされています。 |
device には、ストレージデバイスのデバイスファイル名を指定します。microSDカードのパーティション1の場合は /dev/mmcblk1p1 、パーティション2の場合は /dev/mmcblk1p2 となります。
dir には、ストレージデバイスのファイルシステムをマウントするディレクトリを指定します。
microSDスロット (CON1) にSDHCカードを挿入し、以下に示すコマンドを実行すると、 /media ディレクトリにSDHCカードのファイルシステムをマウントすることができます。microSDカード内のファイルは、/media ディレクトリ以下に見えるようになります。 ストレージを安全に取り外すには、アンマウントという作業が必要です。アンマウントを行うコマンドは、 umount です。オプションとして、アンマウントしたいデバイスがマウントされているディレクトリを指定します。 7.2.2. ストレージのパーティション変更とフォーマット通常、購入したばかりのSDHCカードやUSBメモリは、一つのパーティションを持ち、FAT32ファイルシステムでフォーマットされています。 パーティション構成を変更したい場合、 fdisk コマンドを使用します。 fdisk コマンドの使用例として、一つのパーティションで構成されている microSDカードのパーティションを、2つに分割する例を図7.51「fdiskコマンドによるパーティション変更」に示します。一度、既存のパーティションを削除してから、新たにプライマリパーティションを二つ作成しています。先頭のパーティションには100MByte、二つめのパーティションに残りの容量を割り当てています。先頭のパーティションは /dev/mmcblk1p1 、二つめは /dev/mmcblk1p2 となります。 fdisk コマンドの詳細な使い方は、manページ等を参照してください。 FAT32ファイルシステムでストレージデバイスをフォーマットするには、 mkfs.vfat コマンドを使用します。また、EXT2やEXT3、 EXT4ファイルシステムでフォーマットするには、mkfs.ext2 や mkfs.ext3 、 mkfs.ext4 コマンドを使用します。microSDカードのパーティション1をEXT4ファイルシステムでフォーマットするコマンド例を、次に示します Armadillo-IoT ゲートウェイ A6E の LED は GPIO で接続されているため、ソフトウェアで制御することができます。 利用しているデバイスドライバはLEDクラスとして実装されているため、LEDクラスディレクトリ以下のファイルによってLEDの制御を行うことができます。LEDクラスディレクトリと各LEDの対応を次に示します。 表7.13 LEDクラスディレクトリとLEDの対応 LEDクラスディレクトリ | インターフェース | デフォルトトリガ |
---|
/sys/class/leds/app/
| アプリケーションLED | default-on
| /sys/class/leds/yellow/
| ユーザーLED黄 | none
|
以降の説明では、任意のLEDを示すLEDクラスディレクトリを /sys/class/leds/[LED]/ のように表記します。 [LED] の部分を適宜読みかえてください。 LEDクラスディレクトリ以下の brightness ファイルへ値を書き込むことによって、LEDの点灯/消灯を行うことができます。 brightness に書き込む有効な値は 0~255です。 brightness に 0 以外の値を書き込むとLEDが点灯します。
| |
---|
Armadillo-IoT ゲートウェイ A6E のLEDには輝度制御の機能がないため、0(消灯)、1~255(点灯)の2つの状態のみ指定することができます。 |
brightness に0を書き込むとLEDが消灯します。
brightness を読み出すとLEDの状態が取得できます。
Linux では、LED をある特定のタイミングで光らせることができます。これを「トリガ」と呼びます。LEDクラスディレクトリ以下の trigger ファイルへ値を書き込むことによってLEDの点灯/消灯にトリガを設定することができます。 trigger でサポートされている値は以下の通りです。 表7.14 LEDトリガの種類 設定 | 説明 |
---|
none
| トリガを設定しません | mmc0
| eMMCのアクセスランプにします | mmc1
| microSDスロットのアクセスランプにします | timer
| 任意のタイミングで点灯/消灯を行います。この設定にすることにより、LEDクラスディレクトリ以下にdelay_on, delay_offファイルが出現し、それぞれ点灯時間, 消灯時間をミリ秒単位で指定します | heartbeat
| 心拍のように点灯/消灯を行います | default-on
| 主にLinuxカーネルから使用します。LEDが点灯します |
trigger ファイルを読み出すとサポートしているトリガと、現在有効のトリガが表示されます。 [] が付いているものが現在のトリガです。
以下のコマンドを実行すると、LEDが2秒点灯、1秒消灯を繰り返します。 Armadillo-IoT ゲートウェイ A6E のユーザースイッチのデバイスドライバは、インプットデバイスとして実装されています。インプットデバイスのデバイスファイルからボタンプッシュ/リリースイベントを取得することができます。 ユーザースイッチのインプットデバイスファイルと、各スイッチに対応したイベントコードを次に示します。 表7.15 インプットデバイスファイルとイベントコード ユーザースイッチ | インプットデバイスファイル | イベントコード |
---|
SW1 | /dev/input/by-path/platform-gpio-keys-event
| 148 (KEY_PROG1) |
| |
---|
インプットデバイスは検出された順番にインデックスが割り振られます。USBデバイスなどを接続してインプットデバイスを追加している場合は、デバイスファイルのインデックスが異なる可能性があります。 |
ユーザースイッチのボタンプッシュ/リリースイベントを確認するために、ここでは evtest コマンドを利用します。 evtest を停止するには、Ctrl-c を入力してください。 |
SW1のボタン プッシュ イベントを検出したときの表示
| |
SW1のボタン リリース イベントを検出したときの表示
|
Armadillo-IoT ゲートウェイ A6E の温度センサーは、i.MX6ULL の TEMPMON(Temperature Monitor)を利用しています。 起動直後の設定では、i.MX6ULL の測定温度が 100℃以上になった場合、Linuxカーネルが /sbin/poweroff コマンドを実行し、システムを停止します。 /sys/class/thermal/thermal_zone0/temp ファイルの値を読み出すことによって、i.MX6ULL の測定温度を取得することができます。 |
温度はミリ°C の単位で表示されます。この例では 50.000°C を示しています。
|
RS485 は、入出力インターフェース(CON6)の以下ピンを使用します。インターフェースの位置については「インターフェースレイアウト」、仕様については「RS485」 をご確認ください。 また、終端抵抗 120Ω の ON/OFFをスイッチで切り替えることができます。詳しくは「SW3(RS485 終端抵抗設定スイッチ)」 をご確認ください。 表7.16 RS485 に対応する CON6 ピン番号 ピン番号 | ピン名 |
---|
10 | DATA+ | 11 | DATA- | 12 | GND |
シリアルインターフェースのデバイスファイルは、/dev/ttymxc4 を使用します。 入出力インターフェース(CON6)のピン4, ピン5を接点入力として使用できます。インターフェースの位置については「インターフェースレイアウト」、仕様については「接点入力」 をご確認ください。 ソフトウェアからはGPIO として制御可能であり、対応するGPIO 番号を次に示します。 表7.17 接点入力に対応する CON6 ピン番号 ピン番号 | ピン名 | GPIOチップ | GPIO番号 |
---|
4 | DI1 | gpiochip5 | 0 | 5 | DI2 | gpiochip5 | 1 |
gpioget コマンドを用いて入力レベルの確認ができます。"0"は LOW レベル、"1"は HIGH レベルを表わします。
| |
---|
接点入力に何も接続していない(開放状態)場合、取得できる入力レベルは "1" (HIGH レベル)となります。 |
| |
---|
接点入力機能は、デフォルトの状態ではゲートウェイコンテナが使用しています。そのため、入力レベルを確認するには「コンテナの終了」の手順でゲートウェイコンテナを終了させる必要があります。 |
入出力インターフェース(CON6)のピン6/ピン7、ピン8/ピン9を接点出力として使用できます。インターフェースの位置については「インターフェースレイアウト」、仕様については「接点出力」 をご確認ください。 ソフトウェアからはGPIO として制御可能であり、対応するGPIO 番号を次に示します。 表7.18 接点出力に対応する CON6 ピン番号 ピン番号 | ピン名 | GPIOチップ | GPIO番号 |
---|
6 | DO1A | gpiochip5 | 2 | 7 | DO1B | gpiochip5 | 2 | 8 | DO2A | gpiochip5 | 3 | 9 | DO2B | gpiochip5 | 3 |
gpioset コマンドを用いて、出力レベルを設定することができます。出力レベルには "0" または "1" を設定します。"0"は LOW レベル、"1"は HIGH レベルを表わします。
7.8.2. 接点入力、接点出力をループバックして確認するピン1とピン3、ピン2とピン6、ピン4とピン7をそれぞれ接続することで、DI1、DO1をループバックして確認することが可能です。 本章では、Armadillo-IoT ゲートウェイ A6E のリアルタイムクロック(RTC) の使用方法について説明します。 Linuxの時刻には、Linuxカーネルが管理するシステムクロックと、RTCが管理するハードウェアクロックの2種類があります。RTCに時刻を設定するためには、まずシステムクロックを設定します。その後に、ハードウェアクロックをシステムクロックと一致させる手順となります。 システムクロックは、dateコマンドを用いて設定します。dateコマンドの引数には、設定する時刻を [MMDDhhmmCCYY.ss] というフォーマットで指定します。時刻フォーマットの各フィールドの意味を次に示します。 表7.19 時刻フォーマットのフィールド フィールド | 意味 |
---|
MM | 月 | DD | 日(月内通算) | hh | 時 | mm | 分 | CC | 年の最初の2桁(省略可) | YY | 年の最後の2桁(省略可) | ss | 秒(省略可) |
2022年3月2日12時34分56秒に設定する例を次に示します。 システムクロックを設定後、ハードウェアクロックを hwclock コマンドを用いて設定します。 |
現在のハードウェアクロックを表示します。
| |
ハードウェアクロックを協定世界時(UTC)で設定します。
| |
ハードウェアクロックが UTC で正しく設定されていることを確認します。
|
| |
---|
インターネットに接続できている場合は、chronyd により自動的に日時設定が行われます。そのため、手動で日時設定を行う必要はありません。 |
| |
| | | |
| |