| | 5.1. ABOS Web を用いたネットワーク設定方法この節では、ABOS Web を用いたネットワーク設定を行います。 コマンドラインによるネットワーク設定を行いたい場合は「コマンドラインを用いたネットワーク設定方法」をご参照ください。 Armadillo Base OS(以降、 ABOS) には、 Armadillo と作業用 PC が同一 LAN 内に存在していれば Web ブラウザからネットワークの設定や、 SWU イメージのインストールなどを行うことが可能となる、 ABOS Web という機能があります。
この機能は、バージョン v3.17.4-at.7 以降の ABOS に標準で組み込まれています。 現在、ネットワークに関して ABOS Web で設定できるのは以下のものです。 -
WWAN設定
-
WLAN設定
-
各接続設定(各ネットワークインターフェースの設定)
-
DHCPサーバー設定
-
NAT設定
-
VPN設定
LTE モジュールを搭載した Armadillo をお使いで、LTE モジュールによる WWAN 接続でインターネットにアクセスする場合に、Armadillo に LAN で接続した機器から Armadillo をルーターとして利用したい場合には、NAT設定機能が役に立つでしょう。
LTE モジュールによる WWAN 通信でクラウドサービスに接続し、WLAN や LAN で接続した機器から集めたデータをクラウドサービスに転送したり、それらの機器を、クラウドサービスから Armadillo 経由で遠隔制御するようなシステムを構成する場合にご利用ください。 以下では、 ABOS Web を利用した各種ネットワーク設定の方法について紹介します。 Armadillo と PC を有線 LAN で接続し、Armadillo の電源を入れて PC で Web ブラウザを起動した後、Web ブラウザのアドレスバーに次の URL を入力してください: https://armadillo.local:58080 ABOS Web は、初期状態では同一サブネットのネットワークのみアクセス可能です。
サブネット外からのアクセスを許可したい場合は、 /etc/atmark/abos_web/init.conf を作成し、ABOS Web のサービスを再起動してください。 以下の例ではコンテナとループバックからのアクセスのみを許可します: [armadillo ~]# vi /etc/atmark/abos_web/init.conf
command_args="--allowed-subnets '10.88.0.0/16 127.0.0.0/8 ::1/128'"
[armadillo ~]# persist_file -v /etc/atmark/abos_web/init.conf
'/mnt/etc/atmark/abos_web/init.conf' -> '/target/etc/atmark/abos_web/init.conf'
[armadillo ~]# rc-service abos-web restart ![[注記]](images/note.png) | |
---|
ABOS Web が動作する Armadillo が、同じ LAN 上に複数あると、ABOS Web に接続する URL のホスト名部分(armadillo.local)は、2台めでは armadillo-2.local、3台めでは armadillo-3.local のように、違うものが自動的に割り当てられます。
どのホスト名が、どの Armadillo のものなのかを判別するのが難しいので、複数台の Armadillo で同時に ABOS Web を動かすときは、LAN に固定 IP アドレスを設定して、IP アドレスで指定できるようにするのがよいでしょう。 |
「initial_setup.swu の作成」で ABOS Web のログイン用パスワードを設定していない場合、 ABOS Web 初回ログイン時に、 "初回ログイン"のパスワード登録画面が表示されますので、パスワードを設定してください。 "初回ログイン"のパスワード登録画面で、"パスワード" フィールドと "パスワード(確認)" フィールドに、登録したいパスワードを入力してから、"登録" ボタンをクリックしてください。
パスワード登録完了画面が表示されたら、パスワード登録の完了です。 パスワード登録完了画面にある "ログインページ" というリンクをクリックすると、ログイン画面が表示されますので、先ほど登録したパスワードを入力して "ログイン" ボタンをクリックしてください。 ABOS Web に対応した Armadillo が正常に起動していれば、Web ブラウザに ABOS Web のログイン画面が表示されます。 ログイン画面で ABOS Web のパスワードを入力して認証されれば、ABOS Web の設定画面に表示が変わり、設定操作を行うことができます。 登録した ABOS Web のログイン用パスワードは「設定管理」画面から変更することができます。
トップページから「設定管理」をクリックすると、移動した先にパスワード変更画面が表示されますので、
現在のパスワードと変更後のパスワードを入力して登録ボタンをクリックしてください。 ABOS Web で Armadillo の動作設定を行うには、ログイン後に表示されるトップページで、設定したい機能へのリンクをクリックしてください。
リンクをクリックすると、リンク先の設定画面が表示されますので、設定画面で、現在の設定内容の確認や設定変更を行ってください。
現在の設定内容を確認するには、"各接続設定"をクリックしてください。
各機能の設定ページへのリンクは、それぞれの設定ページでも、左端にサイドメニュー形式で表示されます。
以後、サイドメニュー形式で表示されたリンクをクリックすることを、「サイドメニューから xxx を選択する」と表記します。
ログイン後に表示されるトップページと、それぞれの設定ページには、左端のサイドメニューに加え、上端右側に、現在の接続状態が表示されます。
現在の接続状態は、WWAN、WLAN、LAN、のそれぞれについて表示されます。
WWAN と WLAN は、それらの通信モジュールが Armadillo に搭載されていなければ、表示されません。 ABOS Web で必要なセットアップを行なったら、サイドメニューから "ログアウト" を選択してログアウトしてください。
ログアウトすると、ログイン画面が再び表示されますので、ABOS Web をすぐに使わないのであれば、Web ブラウザを閉じてください。 LTE をはじめとする WWAN 通信モジュールを搭載した Armadillo の、WWAN 設定を行います。
この設定画面では、WWAN 接続設定の登録と、WWAN 接続の状態(現在のアドレス情報)の表示、登録済み WWAN 接続設定の編集と削除を行うことができます。
設定項目のうち、"MCC/MNC" は、通常は空欄にしてください。
MCC/MNC 以外の項目を正しく設定しても WWAN 通信が動作しない場合、特に SIM カードがマルチキャリア SIM の場合は、ご契約の通信事業者に MCC/MNM を問い合わせ、通信事業者から提示された MCC/MNC の値を設定してください。
それぞれの入力フィールドに設定値を入力して "接続して保存" ボタンをクリックすると、WWAN 接続の設定を登録して、WWAN 接続動作を実行します。
WWAN 通信設定が行われ、ネットワーク接続が確立した状態では、割当たっている IP アドレスなどを "現在のWWAN接続情報" に表示します。
図5.6「WWAN設定画面」に、WWAN 設定を行った状態を示します。 ![[ティップ]](images/tip.png) | |
---|
ABOS Web のバージョン 1.3.3 以降では「IPv6 設定」を選択することができます。
使用する SIM によっては IPv6 が有効だと接続できず、無効にすると接続できることがあります。
その場合は、この設定を「使用しない」に設定して接続してください。 |
無線 LAN モジュールを搭載した Armadillo の、WLAN(無線 LAN)設定を行います。
この設定画面では、WLAN クライアント(子機)としての設定または、WLAN アクセスポイントとしての設定を行うことができます。
クライアントとアクセスポイントのどちらか一方について、接続設定の登録と接続の状態の表示、登録済み設定の削除を行なえます。
クライアントとアクセスポイントのどちらに設定するかは、"動作モード選択"欄で指定します。 クライアント設定とアクセスポイント設定の、それぞれについて、以下に説明します。 5.1.8.1. WLAN 設定(クライアントとしての設定)"動作モード選択"欄で"クライアントとして使用する"を選択すると、クライアント設定画面が表示されます。
もしアクセスポイントに設定済みの場合は、アクセスポイントの設定を削除してください。
そうしないと、動作モードをクライアントに切り替えることができません。
設定項目のうち、ネットワーク名(SSID) は、リストから選択してください。
WLAN アクセスポイントを Armadillo が何も検出できない場合は、このリストが空になります。
セキュリティ方式も、リストから選択してください。
DHCP と 固定 は、DHCP を選択すると DHCP サーバーから IP アドレスを取得します。
固定 を選択すると、固定 IP アドレス設定用の入力フィールドを表示します。
それぞれの入力フィールドに設定値を入力して "接続して保存" ボタンをクリックすると、WLAN クライアント設定を登録して、WLAN 接続動作を実行します。
WLAN 接続設定が行われ、WLAN 接続が確立した状態では、割当たっている IP アドレスなどを "現在のWLAN接続情報" に表示します。 ABOS-WEB上では複数のネットワーク設定を保存することが可能です。
設定項目のうちにネットワーク情報を入力した後、 "保存" ボタンをクリックすると、入力した内容の登録のみを行い、接続は行いません。
登録した設定の一覧は WLAN ページの中央にあるリストに表示されます。
このリストでは WLAN 設定の接続/編集/削除を行うことができます。
保存した設定に接続先を変更したい場合はリストから選択して、"接続" ボタンをクリックしてください。
保存した設定を編集したい場合はリストから選択して、"設定を編集" ボタンをクリックしてください。
保存した設定を削除したい場合はリストから選択して、"設定を削除" ボタンをクリックしてください。 図5.7「WLAN クライアント設定画面」に、WLAN クライアント設定を行った状態を示します。 登録済み WLAN クライアント設定を削除して、WLAN アクセスポイントとの接続を切断するには、"設定を削除" ボタンをクリックしてください。 5.1.8.2. WLAN 設定(アクセスポイントとしての設定)"動作モード選択"欄で"アクセスポイントとして使用する"を選択すると、アクセスポイント設定画面が表示されます。
もしクライアントに設定済みの場合は、クライアントの設定を削除してください。
そうしないと、動作モードをアクセスポイントに切り替えることができません。
設定項目のうち、ブリッジアドレス は、WLAN アクセスポイントに割り当てる IP アドレスを入力してください。
サブネットマスク は、アクセスポイントのサブネットのものを入力してください。
使用周波数は、5GHz と 2.4GHz のうち使用するものを選択してください。
両方の周波数を同時に使用することはできません。
使用チャンネルは、リストから選択してください。
SSID と パスワード に入力した値は、アクセスポイントに設定した Armadillo に WLAN 子機を接続する際に使用します。 それぞれの入力フィールドに設定値を入力して "設定" ボタンをクリックすると、WLAN アクセスポイント設定を登録して、WLAN アクセスポイント動作を開始します。
WLAN アクセスポイント設定が行われ、アクセスポイント動作中の状態では、"現在のアクセスポイント情報" に設定内容を表示します。 図5.8「WLAN アクセスポイント設定画面」に、WLAN アクセスポイント設定を行った状態を示します。 ![[ティップ]](images/tip.png) | |
---|
アクセスポイントモードのセキュリティ方式は、WPA2 を使用します。 |
5.1.9. 各接続設定(各ネットワークインターフェースの設定)設定されたネットワーク接続の一覧を表示します。表示した接続のそれぞれについて、接続の有効化(「接続」)や無効化(「切断」)、および接続設定内容の編集や削除を行うことができます。
接続の操作を行う時は、操作したい接続をラジオボタンで選択してください。 ここで、「ネットワーク接続」は、Linux のネットワーク接続管理機能(NetworkManager)が管理するコネクションです。
ネットワーク接続に対する設定項目の詳細は、NetworkManager のリファレンス(https://developer-old.gnome.org/NetworkManager/stable/nmcli.html)をご覧ください。
接続設定内容を編集したい接続を選択して "設定を編集" ボタンをクリックすると、設定内容の編集画面を表示します。
LAN の接続以外、つまり、WWANと WLAN の接続に対する設定は、"WWAN設定" や "WLAN設定" の設定画面をお使いいただくのが簡単です。 それぞれの接続設定画面では、IPv4 と IPv6 のそれぞれについて、IP アドレスを自動割り当てするかまたは固定 IP アドレスにするかを選択して設定できます。
IP アドレスの割り当ては、デフォルトでは自動割り当てです。
Armadillo を接続した LAN や WLAN で、Armadillo を DHCP サーバーとして運用する場合は、それらのネットワーク接続を固定 IP アドレスに設定してください。 LAN 接続の接続名は、デフォルトでは "Wired connection 1" です。
LAN ポートを二つ搭載した Armadillo では、二つめの LAN ポートに対応する "Wired connection 2" も有効です。
Armadillo を LAN と WWAN との間で IPv4 ルーターとして運用する場合は、LAN 接続の設定で IPv4 アドレスを固定 IP アドレスに設定して下さい。
図5.10「LAN 接続設定で固定 IP アドレスに設定した画面」に、LAN 接続の設定編集画面で固定 IP アドレスに設定した状態を示します。 WWAN 接続の接続名は、デフォルトでは "gsm-ttyCommModem" です。 WLAN 接続の接続名は、デフォルトでは、クライアントモードが "abos_web_wlan"、アクセスポイントモードが "abos_web_br_ap" です。 ネットワークインターフェースごとに、接続したネットワーク上で Armadillo を DHCP サーバーとして動作させる設定を行うことができます。
接続済みの DHCP サーバー情報を、画面上部の"現在のDHCP情報"に表示します。
DHCPサーバーの設定を登録する場合は、"DHCP情報入力"欄に設定内容を入力して"設定"ボタンをクリックしてください。
図5.11「eth0 に対する DHCP サーバー設定」に、一つめの LAN ポート(eth0)に対する設定を行った状態を示します。 たとえば、LAN ポートが二つある Armadillo で、それぞれの LAN ポートを異なる LAN に接続して、それぞれの LAN 上で Armadillo を DHCP サーバーとして運用する場合は、eth0 と eth1 に対して DHCP サーバー設定を行ってください。
DHCP サーバー設定を削除するには、"現在のDHCP情報"の一覧で削除したい設定を選択して、"削除"ボタンをクリックしてください。 この設定画面では、ルーター機能での宛先インターフェース設定と、Armadillo を接続した LAN 上の機器用のポートフォワーディング設定を行うことができます。
Armadillo を LAN や WLAN と WWAN との間でルーターとして運用する場合は、NAT設定の宛先インターフェースを WWAN のインターフェースに設定してください。
そして、LAN や WLAN 上の機器を、WWAN 接続したインターネットにサーバーとして公開したい場合は、ポートフォワーディング設定を使ってください。 Armadillo の VPN 接続設定を行います。
この設定画面では、認証方式や VPN クライアントの設定ファイル、認証用の証明書と鍵の設定を行うことができます。
VPN 接続を設定していれば、現在の接続状態も表示します。
現在の接続状態表示欄にある "接続" ボタンと "切断" ボタンで、VPN 接続の接続と切断を行なえます。
VPN クライアントは、現在 OpenVPN をサポートしています。 図5.14「VPN 設定」に、VPN 接続設定を行った状態を示します。 認証方式は、"ユーザ名とパスワード" と "証明書" のどちらか一方を選択できます。
認証方式が "証明書" の場合、.ovpn ファイルに証明書や鍵が埋め込まれていれば、それらのファイルを指定する必要はありません。 ABOS Web は、VPN 接続を設定する際に abos_web_openvpn という名前のコンテナを自動的に作成し、このコンテナで VPN クライアントを実行します。
VPN 接続動作を実行する時には、進行状況を示すログを表示します。 登録済み VPN 設定を削除して、VPN 接続を切断するには、"設定を削除" ボタンをクリックしてください。 各設定画面で行った設定の現在状態を、設定ごとに区切って一覧表示します。 5.2. コマンドラインを用いたネットワーク設定方法基本的に、 Armadillo-900 開発セット のネットワーク設定は、「ABOS Web を用いたネットワーク設定方法」で紹介したとおり、 ABOS Web で行います。
しかし、 ABOS Webで対応できない複雑なネットワーク設定を行いたい場合などは、コマンドラインからネットワークの設定を行うことも可能です。 ここでは、コマンドラインによるネットワークの設定方法について説明します。 表5.1 ネットワークとネットワークデバイス ネットワーク | 搭載モデル | ネットワークデバイス | 出荷時の設定 |
---|
Ethernet | 全モデル | eth0
| DHCP | LTE | Cat.1 bis | ppp0
| 無し | 無線LAN | Cat.1 bis[], WLAN | mlan0
| クライアントモード |
Armadillo-900 開発セット の IP アドレスを確認するには、ip addr コマンドを使用します。 inet となっている箇所が IP アドレスです。
特定のインターフェースのみを表示したい場合は、以下のようにします。
Armadillo-900 開発セット では、通常の Linux システムと同様、ネットワークインターフェースの設定は NetworkManager を使用します。 NetworkManager はすべてのネットワーク設定をコネクションとして管理します。コネクションには「どのようにネットワークへ接続するか」、
「どのようにネットワークを作成するか」を記述し、 /etc/NetworkManager/system-connections/ に保存します。 また、1つのデバイスに対して複数のコネクションを保存することは可能ですが、1つのデバイスに対して有効化にできるコネクションは1つだけです。 NetworkManager は、従来の /etc/network/interfaces を使った設定方法もサポートしていますが、本書では nmcli を用いた方法を中心に紹介します。 nmcli は NetworkManager を操作するためのコマンドラインツールです。
図5.17「nmcli のコマンド書式」に nmcli の書式を示します。このことから、 nmcli は「オブジェクト (OBJECT) というものが存在し、
それぞれのオブジェクトに対してコマンド (COMMAND) を実行する。」という書式でコマンドを入力することがわかります。
また、オブジェクトそれぞれに help が用意されていることもここから読み取れます。
ここでは nmcli の、基本的な使い方を説明します。 登録されているコネクションの一覧表示するには、図5.18「コネクションの一覧表示」に示すコマンドを実行します。
[] 表示された NAME については、以降 [ID] として利用することができます。 コネクションを作成するには、図5.21「コネクションの作成」に示すコマンドを実行します。 [ID] にはコネクションの名前(任意)、[type] には ethernet、wifi といった接続タイプ、
[interfacename] にはインターフェース名(デバイス)を入力します。
これにより /etc/NetworkManager/system-connections/ に[ID]の名前でコネクション
ファイルが作成されます。このファイルを vi などで編集し、コネクションを修正する
ことも可能です。 Armadillo-900 開発セット を再起動したときにコネクションファイルが消えてしまわないように、
persist_file コマンドで永続化する必要があります。
persist_file コマンドに関する詳細は 「persist_file について」 を参照してください。 ![[注記]](images/note.png) | |
---|
別の Armadillo-900 開発セット からコネクションファイルをコピーした場合は、コネクションファイルの
パーミッションを 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 イメージに関しては 「SWU イメージのインストール」 を参考にしてください。 |
コネクションを削除するには、図5.23「コネクションの削除」に示すコマンドを実行します。 これにより /etc/NetworkManager/system-connections/ のコネクションファイルも同時に削除されます。
コネクションの作成と同様に persist_file コマンドで永続化する必要があります。 DHCP に設定する例を、図5.26「DHCP の設定」に示します。 ![[注記]](images/note.png) | |
---|
-ipv4.addresses のように、プロパティ名の先頭に "-" を付けることで設
定したプロパティを削除することができます。反対に "+" を付けることで
プロパティを追加することができます。
|
有効化されているコネクションを修正した場合、かならず修正したコネクションを再度有効化してください。 デバイスを接続するには、図5.30「デバイスの接続」に示すコマンドを実行します。 ![[注記]](images/note.png) | |
---|
デバイスを接続するには、接続しようとしているデバイスの有効なコネクションが必要です。
"Error: neither a valid connection nor device given" というメッセージが表示された場合には、
nmcli connection などで有効なコネクションが存在するかを確認してください。 |
有線 LAN で正常に通信が可能かを確認します。設定を変更した場合、必ず変更したインターフェースを再度有効化してください。 同じネットワーク内にある通信機器と PING 通信を行います。以下の例では、通信機器が「192.0.2.20」という IP アドレスを持っていると想定しています。 ![[注記]](images/note.png) | |
---|
有線 LAN 以外のインターフェースが有効化されている場合、ルーティングの設定などにより、ネットワーク通信に有線 LAN が使用されない場合があります。
確実に有線 LAN の接続確認をするために、有線 LAN 以外のインターフェースを無効化してください。 |
本章では、Armadillo-900 開発セット に搭載されている LTE モジュールの使用方法について説明します。 ![[ティップ]](images/tip.png) | |
---|
Armadillo-900 開発セット に搭載しております SIMCom 製 LTE 通信モジュール SIM7672G は、ドコモの相互接続性試験を完了しています。 |
5.2.6.1. LTE データ通信設定を行う前にLTEデータ通信を利用するには、通信事業者との契約が必要です。契約時に通信事業者から貸与されたnanoSIM(UIMカード)とAPN情報を準備します。 ![[警告]](images/warning.png) | |
---|
Armadillo-900 開発セット の電源が切断されていることを確認してから nanoSIM(UIMカード)を取り付けてください。 |
![[警告]](images/warning.png) | |
---|
本製品は、nanoSIMスロットを搭載しています。 標準/microSIMサイズのSIMカードをnanoSIMサイズにカットしたもの、サイズの異なるものを使用すると、nanoSIMスロットが故障する原因となります。
これらを使用し本製品が故障した場合は、保証期間内であっても保証適用外となります。 |
nanoSIM(UIMカード)の切り欠きを挿入方向に向け、刻印面を上にして挿入してください。挿入位置などは、図5.81「LTE用外付けアンテナ接続/nanoSIMカード挿入」 を参照してください。 APNの設定を行うには、表5.3「APN 設定情報」に示す情報が必要です。各設定値の文字長を超える設定はできませんので、SIM の料金プランを選択する際にはご注意ください。 表5.3 APN 設定情報 項目 | Armadillo-900 開発セット (SIM7672G 搭載) |
---|
APN | 最大 99 文字 | ユーザー名 | 最大 64 文字 | パスワード | 最大 64 文字 | 認証方式 | PAP または CHAP | PDP Type | IP のみをサポート |
LTE モジュール SIM7672G 起動時に設定する内容を、設定ファイル(/etc/atmark/sim7672-boot.conf)に記載します。 設定ファイルの記載例として、サンプルファイル(/etc/atmark/sim7672-boot.conf.example)がありますので、こちらをリネームまたはコピーしてご利用ください。 /etc/atmark/sim7672-boot.conf に設定できる内容を表5.4「sim7672-boot.conf の設定内容」に示します。 sim7672-boot.conf のフォーマットは以下の通りです。 -
パラメータは、「パラメータ名=値」のフォーマットで記載してください。
-
行頭に # が存在する場合、その行を無視します。
-
パラメーターが存在しない場合、その項目に関して何も設定をしません。
表5.4 sim7672-boot.conf の設定内容 パラメーター名 | 初期値 | 設定可能値 | 説明 |
---|
psm | disable | disable または tau,act-time | Power Save Mode の設定 | edrx | disable | disable または eDRX の値 | eDRX の設定 |
PSM (Power Save Mode) の設定値を表5.5「psm の tau と act-time に設定可能な値」に示します。disable にしない場合、tau (Periodic TAU cycle (T3412)) は act_time (Active time (T3324)) より大きい値にする必要があります。 表5.5 psm の tau と act-time に設定可能な値 パラメーター名 | 設定可能値 |
---|
tau (s=秒,m=分,h=時間) | 2s,4s,6s…62s,90s,120s,150s…930s,16m,17m,18m…31m,40m,50m,60m…310m,6h,7h,8h…31h,40h,50h,60h…310h,320h,640h,960h…9920h | act-time (s=秒,m=分,h=時間) | 2s,4s,6s…62s,1m,2m,3m…31m,36m,42m,48m…186m |
eDRX (extended Discontinuous Reception) の設定値を表5.6「edrx に設定可能な値」に示します。 PSM と eDRX はどちらかの設定が有効となります。両方共設定した場合は PSM が優先されます。 表5.6 edrx に設定可能な値 パラメーター名 | 設定可能値 |
---|
edrx (秒) | 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, 5242.88, 10485.76 |
表5.7「APN情報設定例」の内容に設定する例を図5.33「LTEのコネクションの作成」に示します。 表5.7 APN情報設定例 項目 | 設定 |
---|
APN | [apn] | ユーザー名 | [user] | パスワード | [password] | ネットワークデバイス | ttyCommModem |
コネクション設定を永続化するには、以下のコマンドを入力してください。設定を永続化すると、Armadillo 起動時に自動的にデータ接続を行うようになります。 同一インタフェースへの設定が複数存在する場合、 gsm-ttyCommModem-1.nmconnection など後ろに数値が付与されますので、図5.33「LTEのコネクションの作成」 入力時のメッセージで生成されたファイル名を確認した上で永続化を実施ください。 5.2.6.5. MCC/MNC を指定した LTE のコネクションを作成するマルチキャリア SIM などを使用する際、MCC (Mobile Country Code) と MNC (Mobile Network Code) を指定してコネクションを作成すると LTE ネットワークに接続できることがあります。指定する場合は 図5.36「MCC/MNC を指定した LTE コネクションの作成」 に示すコマンドを実行してください。 [mccmnc] には 44010 などの数字を入力してください。実際に設定する値に関しては、ご契約の通信事業者へお問い合わせください。 ご利用になるサービスとの通信を検証する、ICMP に対応しているアドレス (8.8.8.8など) と PING 通信を行うなどの方法で LTE の接続を確認してください。 [network device] には、表5.1「ネットワークとネットワークデバイス」を参照し、使用しているLTEのネットワークデバイスを指定してください。 LTEコネクションを切断するには、図5.40「LTEコネクションを切断する」に示すコマンドを実行します。
LTEコネクションを切断する前に、LTE 再接続サービスを停止しないと再接続処理が実行される為、事前に停止します。
|
LTE 再接続サービスを停止します。
|
|
LTE コネクションを切断します。
|
LTE 再接続サービスは、LTE のデータ接続の状態を定期的に監視し、切断を検出した場合に再接続を行うサービスです。 初期状態でこのサービスが有効になっております。 ![[警告]](images/warning.png) | |
---|
閉塞 LTE 網を使用する料金プランをご契約で本サービスをご利用になられる際の注意点。 コネクション状態確認時 PING 送付先の初期値は 8.8.8.8 ですが、この IP アドレスに対して ping 導通ができない場合、 ping 導通可能な IP アドレスを指定する必要があります。 |
SIM カードが挿入されており、NetworkManager に有効な LTE コネクションの設定がされているとき、初期設定では 120 秒に一度コネクションの状態を監視します。オプションで SIM カードの認識ができないときに Armadillo の再起動を実施することも可能です。 コネクションが無効になっている場合、切断状態と判定しコネクションを有効にします。 コネクションが有効になっている場合、特定の宛先に PING を実行します。PING がエラーになったとき切断状態と判定し、コネクションの無効化・有効化を行うことで再接続を実施します。 コネクションの無効化・有効化による再接続を実施しても PING がエラーになる場合、電波のオン・オフまたは LTE モジュールの電源をオン・オフを実施して LTE 再接続を試みます。どちらを実施するかは設定ファイルの WWAN_FORCE_RESTART_COUNT に依存します。 WWAN_FORCE_RESTART_COUNT が初期値の 10 である場合、1 から 9 回目は電波のオン・オフを実施し、10 回目はLTE モジュールの電源オン・オフを実施します。それ以降も NG が続く場合、同じく 10 回に一度 LTE モジュールの電源オン・オフを実施します。 LTE モジュールが検出できない状態が 2 回連続で発生した場合、LTE モジュールの再起動を実施します。 LTE 接続中状態が 3 回連続で発生した場合、LTE モジュールの再起動を実施します。 工場出荷状態で本サービスは有効化されており、システム起動時にサービスが自動的に開始されます。PING を実行する宛先は、初期設定では "8.8.8.8" です。 設定ファイルの記載例として、サンプルファイル(/etc/atmark/connection-recover.conf.example)がありますので、こちらをリネームまたはコピーしてご利用ください。 設定ファイルの概要を表5.8「再接続サービス設定パラメーター」に示します。必要に応じて設定値を変更してください。 設定ファイルが存在しない場合は初期値で動作します。 表5.8 再接続サービス設定パラメーター パラメーター名 | 初期値 | 意味 | 変更 |
---|
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 導通チェックが 4 回連続 NG だった場合、 Armadillo を再起動します。 | 可 | REBOOT_IF_SIM_NOT_FOUND | FALSE | TRUE に設定すると SIM を検出できない状態が 2 回連続で発生した場合、 Armadillo を再起動します。 | 可 | WWAN_FORCE_RESTART_COUNT | 10 | PING 導通確認を設定した回数連続で失敗した場合 LTE モジュールを再起動します。設定した回数に満たない場合 、電波のオフ・オン実施のみで LTE 再接続を試みます。 | 可 |
設定ファイル変更後、変更内容を永続化するには図5.41「LTE 再接続サービスの設定値を永続化する」に示すコマンドを実行してください。 LTE再接続サービスの状態を確認するには、図5.42「LTE 再接続サービスの状態を確認する」に示すコマンドを実行してください。 LTE再接続サービスを停止するには、図5.43「LTE 再接続サービスを停止する」に示すコマンドを実行してください。 LTE再接続サービスを開始するには、図5.44「LTE 再接続サービスを開始する」に示すコマンドを実行してください。 独自に接続状態を確認するサービスを実装されるなどの理由で標準のLTE再接続サービスが不要な場合、図5.45「LTE 再接続サービスを無効にする」に示す手順で再接続サービスを永続的に無効にできます。
|
再接続サービスを停止します。
|
|
再接続サービスを無効にします。
|
|
サービス設定ファイルの削除を永続化します。
|
LTE再接続サービスを無効化した後、再度有効にする場合、図5.46「LTE 再接続サービスを有効にする」に示す手順を実行してください。
|
再接続サービスを有効にします。
|
|
再接続サービスを開始します。
|
|
サービス設定ファイルを永続化します。
|
5.2.7.1. ModemManager - mmcli についてここでは ModemManager と mmcli について説明します。 Armadillo-900 開発セット にはネットワークを管理する NetworkManager とは別に、モデムを管理する ModemManager がインストールされています。
ModemManager はモバイルブロードバンドデバイス(LTEモジュールなど)の操作および、接続状況の管理などを行います。 ModemManager のコマンドラインツールである mmcli を使用することで、LTE通信の電波強度やSIMカードの情報(電話番号やIMEIなど)を取得することが可能です。mmcli の詳しい使いかたについては man mmcli を参照してください。 ModemManager はモデムデバイスに応じたプラグインを選択して動作します。 Armadillo-900 開発セット では simtech-sim7672 という名称のプラグインで動作しています。 5.2.7.2. mmcli - 認識されているモデムの一覧を取得する認識されているモデムの一覧を取得するには、図5.47「認識されているモデムの一覧を取得する」に示すコマンドを実行します。 Armadillo Base OS では、Armadillo Base OS が使用している LTE モジュール番号を取得するコマンド mm-modem-num を用意しております。 5.2.7.3. mmcli - モデムの情報を取得するモデムの情報を取得するには、図5.48「モデムの情報を取得する」に示すコマンドを実行します。 ![[ティップ]](images/tip.png) | |
---|
モデムの情報を取得するには、SIM カードが取り付けられている必要があります。正しく SIM カードが取り付けられていることを確認してください。 |
本章では、Armadillo-900 開発セット に搭載されている無線LANモジュールの使用方法について説明します。 例として、WPA2-PSK(AES)のアクセスポイントに接続します。WPA2-PSK(AES)以外のアクセスポイントへの接続方法などについては、man nm-settings を参考にしてください。
また、以降の説明では、アクセスポイントのESSIDを[essid]、パスフレーズを[passphrase]と表記します。 5.2.8.1. 無線LANアクセスポイントに接続する無線LANアクセスポイントに接続するためには、次のようにコマンドを実行してコネクションを作成します。 作成されたコネクションの ID は nmcli connection コマンドで確認できます。 ![[注記]](images/note.png) | |
---|
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アドレスを持っていると想定しています。 ![[ティップ]](images/tip.png) | |
---|
無線LAN以外のコネクションが有効化されている場合、ネットワーク通信に無線LANが使用されない場合があります。
確実に無線LANの接続確認をする場合は、事前に無線LAN以外のコネクションを無効化してください。 |
5.2.9. 無線 LAN アクセスポイント (AP) として設定する無線 LAN をアクセスポイント (以降 AP) として設定する方法を説明します。AP 設定は hostapd というソフトウェアと、 DNS/DHCP サーバである dnsmasq というソフトウェアを使用します。 hostapd と dnsmasq は Armadillo Base OS にデフォルトでインストール済みとなっているため、インストール作業は不要です。インストールされていない場合は、 Armadillo Base OS を最新バージョンに更新してください。 ![[警告]](images/warning.png) | |
---|
アクセスポイントモード (AP) と ステーションモード (STA) の同時利用はできません。 |
5.2.9.1. bridge インターフェースを追加するNetworkManager を使用し bridge インターフェース (br0) を追加します。同時に AP の IP アドレスも設定します。ここでは 192.0.2.1 を設定しています。
|
設定ファイルを永続化します。
|
また、NetworkManager のデフォルト状態では定期的に mlan0 のスキャンを行っています。スキャン中は AP の性能が低下するため mlan0 を NetworkManager の管理から外します。
|
nmcli で NetworkManager をリスタートせずに設定します。
|
hostapd の設定ファイルの雛形として用意してある /etc/hostapd/hostapd.conf.example をコピーして使用します。
|
5GHz であれば a を、2.4GHz であれば g を設定します。
|
|
使用するチャンネルを設定します。
|
|
子機から接続するための任意の SSID を設定します。この例では myap を設定しています。
|
|
子機から接続するための任意のパスフレーズを設定します。この例では myap_pass を設定しています。
|
|
設定ファイルを永続化します。
|
|
hostapd を起動します。
|
|
Armadillo 起動時に hostapd が自動的に起動されるようにします。
|
|
hostapd 自動起動の設定を永続化します。
|
dnsmasq の設定ファイルを以下の内容で作成し /etc/dnsmasq.d/ 下に配置します。ファイル名は任意ですが、拡張子は .conf としてください。ここでは dhcp.conf としています。
|
子機に割り当てる IP アドレスの範囲とリース期間を設定します。
|
|
設定ファイルを永続化します。
|
|
dnsmasq を再起動します。
|
hostapd と dnsmasq の起動完了後、子機から hostapd.conf で設定した SSID とパスフレーズで接続できます。 開放しているポートが存在すると攻撃者の標的になる可能性があります。
開発したサーバーが使用するポートに対して、アクセスできる IP アドレスを制限することでセキュリティ上のリスクを低減することができます。 ここでは、iptables コマンドを使用した、パケットフィルタリングによるアクセス制限方法を紹介します。 ![[注記]](images/note.png) | |
---|
デフォルトでは iptables サービスは無効になっています。サービスを有効にするためには以下のコマンドを実行してください。 [armadillo ~]# rc-update add iptables
[armadillo ~]# persist_file /etc/runlevels/default/iptables 
|
サービスを有効にします。
|
|
サービスの有効を永続化します。
|
|
図5.58「特定のポートに対する IP アドレスのフィルタリング」の例では、Armadillo の特定のポートに対して、特定の IP アドレスからのアクセスのみを受け入れるようにします。
この例では、<送信元 IP アドレス> は Armadillo にパケットを送信する IP アドレス、<ポート番号> はパケットを受け入れる Armadillo のポート番号、<プロトコル> は通信プロトコルのことを指します。
また、<ポート番号> はパケットを受け入れる Armadillo のポート番号のことを指します。
|
<ポート番号> に <送信元 IP アドレス> から送られてきたパケットを受け入れるように設定します。
|
|
<ポート番号> に <送信元 IP アドレス> 以外から送信されてきたパケットを拒否するように設定します。
|
|
想定通りに設定されているか確認します。
|
|
上記の設定を設定ファイル /etc/iptables/rules-save に保存します。
|
|
保存した設定ファイルを永続化します。
|
図5.58「特定のポートに対する IP アドレスのフィルタリング」はあくまで一例ですが、このように iptables コマンドを用いることで開発したサーバーにアクセスできる IP アドレスを制限することができます。 上記の設定を削除する場合は図5.59「特定のポートに対する IP アドレスのフィルタリングの設定を削除」に示すコマンドを実行してください。
|
削除する設定の番号(num)を確認します。
ここでは 1 番と 2 番の設定を削除します。
|
|
2 番の設定を削除します。
|
|
1 番の設定を削除します。
|
|
上記の設定を設定ファイル /etc/iptables/rules-save に保存します。
|
|
保存した設定ファイルを永続化します。
|
5.3. Armadillo Base OS のデフォルトで開放しているポートArmadillo Base OS では表5.9「Armadillo Base OS のデフォルトで開放しているポート」に示すポートをデフォルトで開放しています。 表5.9 Armadillo Base OS のデフォルトで開放しているポート ポート番号 | プロトコル | 使用目的 |
---|
58080 | TCP | ABOS Web | 5353 | UDP | avahi(mDNS) |
使用していないポートを開放することは攻撃の標的になります。
使用しないサービスを停止しポートを閉じてください。 ABOS Web のサービスを停止する方法は「ABOS Web を停止する」を、起動する方法は「ABOS Web を起動する」を参照してください。 図5.60「avahi-daemon を停止する」に avahi のサービスを停止する方法を示します。
|
OpenRC に avahi のサービスが登録されていることを確認します。
|
|
avahi のサービスが起動していることを確認します。
|
|
avahi のサービスを停止します。
|
|
サービスを管理している OpenRC から avahi のサービスの登録を解除します。
|
|
サービス設定ファイルの削除を永続化します。
|
図5.61「avahi-daemon を起動する」に avahi サービスを起動する方法を示します。
|
OpenRC に avahi のサービスが登録されていないことを確認します。
|
|
サービスを管理している OpenRC に avahi のサービスを登録します。
|
|
avahi のサービスを起動します。
|
|
サービス設定ファイルを永続化します。
|
各デバイスの接続方法と、使用方法について紹介します。
図5.62「Armadillo-900 開発セットのインターフェース」に Armadillo-900 開発セット のインターフェースを示します。 表5.10 Armadillo-900 開発セット インターフェース一覧 部品番号 | インターフェース名 | 型番 | メーカー |
---|
CON1 | SDインターフェース | 693071020811 | Wurth Elektronik | CON2 | USBインターフェース1 | SS-52100-001 | Bel Fuse | CON4 | USBインターフェース2 | SS-52100-001 | Bel Fuse | CON6 | LANインターフェース | S26-KA-0009 | U.D. ELECTRONIC | CON7 | CANインターフェース | CD6109P21G4 | Cvilux | CON9 | MIPI CSIインターフェース | 1-84952-5 | TE Connectivity | CON10 | MIPI DSIインターフェース | SFV22R-2STBE1HLF | Amphenol | CON11 | RTCバックアップインターフェース1 | DF13C-2P-1.25V(21) | Hirose Electric | CON12 | RTCバックアップインターフェース2 | BH-44C-5 | Adam Tech | CON13 | APD用コンソールインターフェース | CX90B-16P | Hirose Electric | CON14 | RTD用コンソールインターフェース | CX90B-16P | Hirose Electric | CON15 | JTAGインターフェース | 20021121-00010C1LF | Amphenol | CON16 | 拡張インターフェース | 61303421121 | Wurth Elektronik | CON17 | I2C(3.3V)インターフェース | 61300411121 | Wurth Elektronik | CON18 | nanoSIMインターフェース | SF72S006VBDR2500 | Japan Aviation Electronics Industry | CON19 | 電源入力インターフェース | PJ-102AH | Same Sky | CON25 | DACインターフェース | 61300411121 | Wurth Elektronik | ANT1 | WLAN/BT/THアンテナインターフェース | SA5JP-LP001CG-39 | CONNEKT PRECISION ELECTRONICS | ANT2 | LTEアンテナインターフェース | SA5JJ-LP001PG-25 | CONNEKT PRECISION ELECTRONICS | ANT3 | GNSSアンテナインターフェース | SA5JJ-LP001PG-25 | CONNEKT PRECISION ELECTRONICS | SYS | システムLED | SML-D12M1WT86 | ROHM | APP | アプリケーションLED | SML-D12M1WT86 | ROHM | WWAN | ワイヤレスWAN LED | SML-D12M1WT86 | ROHM | SW1 | ユーザースイッチ | PTS645SM43SMTR92LFS | C&K | SW3 | RTD用コンソールJTAG切替スイッチ | DS01-254-S-01BE | Same Sky | SW4 | ブートモード切替スイッチ | DS01-254-S-01BE | Same Sky | SW5 | ONOFF信号制御用スイッチ | PTS645SM43SMTR92LFS | C&K | SW6 | リセットスイッチ | PTS645SM43SMTR92LFS | C&K | SW7 | 電源スイッチ | SLW-1276864-4A-D | Same Sky |
付属のACアダプタをCON19 電源入力インターフェースに接続し、SW7 電源スイッチをONにして電源を入力します。 付属のACアダプタ以外を使用する場合は、図5.64「ACアダプタの極性マーク」と同じ極性マークのあるACアダプタが使用できます。
定格入力電圧範囲は、DC8V~26.4Vで、対応プラグは内径2.1mm、外形5.5mmのものとなります。 ![[警告]](images/warning.png) | |
---|
ACアダプタのDCプラグをDCジャックに接続してから、ACプラグをコンセントに挿してください。 |
![[警告]](images/warning.png) | |
---|
電源を再投入する際は、コンデンサに蓄えられた電荷を抜くため、電源を切断後、一定時間以上待つ必要があります。
開発セット付属のACアダプタの場合に必要な時間は以下のとおりです。 -
DCプラグ側で電源を切断した場合 : 約5秒 ※SW7 電源スイッチで切断した場合も同様
-
ACプラグ側で電源を切断した場合 : 約1分
コンデンサに蓄えられた電荷が抜ける前に電源を再投入した場合、
電源シーケンスが守られず、起動しない等の動作不具合の原因となります。 |
CON1 SDインターフェースにmicroSD/microSDHC/microSDXC カード(以下microSDカード)を挿入することで、microSDカードが利用可能です。 -
機能
-
カードタイプ: microSD/microSDHC/microSDXC
-
バス幅: 1bit or 4bit
-
スピードモード: Default Speed(24MHz), High Speed(49MHz), UHS-I (195MHz)
-
カードディテクトサポート
SDインターフェースの回路は、microSDカードのバス電圧1.8V/3.3Vに対応するため
1.8V/3.3V電圧セレクタとレベルシフタでバス電圧を切り替える構成になっています。
また、microSDカードの電源(VDD_SD_3V3)はパワースイッチでONOFFを制御しています。 表5.11 CON1 信号配列 ピン番号 | ピン名 | I/O | A900との接続 | 説明 |
---|
1 | DAT2 | In/Out | SDHC2_D2 | SDデータバス(bit2)
レベルシフタ経由でA900に接続 | 2 | CD/DAT3 | In/Out | SDHC2_D3 | SDデータバス(bit3)
レベルシフタ経由でA900に接続 | 3 | CMD | In/Out | SDHC2_CMD | SDコマンド/レスポンス
レベルシフタ経由でA900に接続 | 4 | VDD_SD_3V3 | Power | - | 電源(VDD_SD_3V3) | 5 | CLK | Out | SDHC2_CLK | SDクロック
レベルシフタ経由でA900に接続 | 6 | VSS | Power | - | 電源(GND) | 7 | DAT0 | In/Out | SDHC2_D0 | SDデータバス(bit0)
レベルシフタ経由でA900に接続 | 8 | DAT1 | In/Out | SDHC2_D1 | SDデータバス(bit1)
レベルシフタ経由でA900に接続 |
表5.12 その他 SD信号 信号名 | I/O | A900との接続 | 説明 |
---|
SDHC2_VS | Out | SDHC2_VS | SDバス電圧選択信号
Low = SDバス電圧3.3V
High = SDバス電圧1.8V | SDHC2_CD | In | SDHC2_CD | SDカードディテクト信号
Low = SDカード接続
High = SDカード未接続 | SDHC2_WP | In | SDHC2_WP | SDライトプロテクト信号
未使用 | SDHC2_RESET_B | Out | PTA2 | SDカード用電源(VDD_SD_3V3)ONOFF制御用信号
Low = OFF
High = ON |
CON6 LANインターフェースにカテゴリ5以上のEthernetケーブルを接続することで、10BASE-T/100BASE-TXでのEthernet通信が可能です。
AUTO-MDIX機能を搭載のため、ストレートケーブルまたはクロスケーブルを自動認識して送受信端子を切り替えます。 -
機能
-
通信速度: 100Mbps (100BASE-TX), 10Mbps (10BASE-T)
-
通信モード: Full-Duplex (全二重), Half-Duplex (半二重)
-
Auto Negotiationサポート
-
キャリア検知サポート
-
リンク検出サポート
LANインターフェースの回路は、各信号をトランス内蔵RJ45コネクタに直接接続する構成になっています。
また、LED制御信号でRJ45コネクタ内蔵のLEDを制御しています。 表5.13 CON6 信号配列 ピン番号 | ピン名 | I/O | A900との接続 | 説明 |
---|
1 | TX+ | In/Out | ENET0_TXP | 送信データ(+) | 2 | TX- | In/Out | ENET0_TXN | 送信データ(-) | 3 | RX+ | In/Out | ENET0_RXP | 受信データ(+) | 4 | - | - | - | 5ピンと接続後に75Ω終端 | 5 | - | - | - | 4ピンと接続後に75Ω終端 | 6 | RX- | In/Out | ENET0_RXN | 受信データ(-) | 7 | - | - | - | 8ピンと接続後に75Ω終端 | 8 | - | - | - | 7ピンと接続後に75Ω終端 |
表5.14 その他 Ethernet信号 信号名 | I/O | A900との接続 | 説明 |
---|
ENET0_LED0 | Out | ENET0_LED0 | LED制御信号
LANリンクアクティビティLEDに接続 | ENET0_LED1 | Out | ENET0_LED1 | LED制御信号
LANスピードLEDに接続 |
表5.15 CON6 LAN LEDの動作 名称(色) | 状態 | 説明 |
---|
LANスピードLED(緑) | 消灯 | 10Mbpsで接続されている、もしくはEthernetケーブル未接続 | 点灯 | 100Mbpsで接続されている | LANリンクアクティビティLED(黄) | 消灯 | リンクが確立されていない | 点灯 | リンクが確立されている | 点滅 | リンクが確立されており、データを送受信している |
ANT1 WLAN/BT/THアンテナインターフェースに、付属のWLAN/BT/TH用外付けアンテナを接続することで、無線LAN通信が可能です。
アンテナコネクタからアンテナまでの経路は50Ω同軸ケーブルでの延長が可能です。
ただし、ケーブルロスが発生することにご注意ください。
無線LAN、Bluetooth、IEEE 802.15.4通信でアンテナは共通です。 -
機能
-
IEEE 802.11a/b/g/n/ac/ax 準拠
-
最大リンク速度: 601Mbps
-
動作モード: インフラストラクチャモード(STA/AP), アドホックモード
-
チャンネル(2.4GHz): 1-13
-
チャンネル(5GHz): 36-48, 52-64, 100-140
![[警告]](images/warning.png) | |
---|
本章に示す無線 LAN と、「TH を使用する」に示すTHを同時に利用することはできません。これは今後のソフトウェアアップデートで修正予定です。 |
無線LAN通信では、WLAN/BT/THコンボモジュールとの通信にSDIOを使用する構成になっています。
WLAN/BT/THコンボモジュールはMurata Manufacturing 製 LBES5PL2EL が搭載されています。 表5.16 無線 LAN 信号 信号名 | I/O | A900との接続 | 説明 |
---|
SDHC1_CLK | Out | PTD22 | SDIOクロック | SDHC1_CMD | In/Out | PTD23 | SDIOコマンド/レスポンス | SDHC1_D0 | In/Out | PTD21 | SDIOデータバス(bit0) | SDHC1_D1 | In/Out | PTD20 | SDIOデータバス(bit1) | SDHC1_D2 | In/Out | PTD19 | SDIOデータバス(bit2) | SDHC1_D3 | In/Out | PTD18 | SDIOデータバス(bit3) |
![[ティップ]](images/tip.png) | |
---|
LBES5PL2EL のファームウェアは、 Armadillo-900 開発セット にインストールされている linux-firmware-imx-wifi-iw612 パッケージに含まれています。 |
ANT1 WLAN/BT/THアンテナインターフェースに、付属のWLAN/BT/TH用外付けアンテナを接続することで、Bluetooth通信が可能です。
無線LAN、Bluetooth、IEEE 802.15.4通信でアンテナは共通です。 -
機能
-
Bluetooth® version 5.3
-
BLE(Bluetooth Low Energy)
-
EDR(Enhanced Data Rate)
![[警告]](images/warning.png) | |
---|
本章に示すBluetoothと、「TH を使用する」に示すTHを同時に利用することはできません。これは今後のソフトウェアアップデートで修正予定です。 |
Bluetooth通信では、WLAN/BT/THコンボモジュールとの通信にUARTを使用する構成になっています。
WLAN/BT/THコンボモジュールはMurata Manufacturing 製 LBES5PL2EL が搭載されています。 表5.17 Bluetooth 信号 信号名 | I/O | A900との接続 | 説明 |
---|
LPUART6_TX | Out | PTE10 | UART TXD信号 | LPUART6_RX | In | PTE11 | UART RXD信号 | LPUART6_CTS_B | In | PTE8 | UART CTS信号 | LPUART6_RTS_B | Out | PTE9 | UART RTS信号 |
![[警告]](images/warning.png) | |
---|
Bluetooth® version 5.0以降で追加されたCoded PHY(Long Range)などの機能は、各種ディストリビューションが公開しているパッケージから利用することはできません。Linuxで標準的に利用されているBlueZも非対応です。 |
コンテナ内から Bluetooth を使用するには、コンテナ作成時にホストネットワークを使用するために、
NET_ADMIN の権限を渡す必要があります。
図5.73「Bluetooth を扱うコンテナの作成例」に、alpine イメージから Bluetooth を扱うコンテナを作成する例を示します。 コンテナ内で必要なソフトウェアをインストールして、Bluetooth を起動します。 これにより、bluetoothctl で Bluetooth 機器のスキャンやペアリングなどが行えるようになります。
以下に、bluetoothctl コマンドで周辺機器をスキャンしてペアリングを行う例を示します。
|
コントローラを起動します。
|
|
周辺機器をスキャンします。
|
|
ペアリングしたい機器の MAC アドレスを指定してペアリングします。
|
|
exit で bluetoothctl のプロンプトを終了します。
|
ANT1 WLAN/BT/THアンテナインターフェースに、付属のWLAN/BT/TH用外付けアンテナを接続することで、IEEE 802.15.4通信が可能です。
無線LAN、Bluetooth、IEEE 802.15.4通信でアンテナは共通です。 IEEE 802.15.4通信では、WLAN/BT/THコンボモジュールとの通信にSPIを使用する構成になっています。
WLAN/BT/THコンボモジュールはMurata Manufacturing 製 LBES5PL2EL が搭載されています。 表5.18 IEEE 802.15.4 信号 信号名 | I/O | A900との接続 | 説明 |
---|
LPSPI2_SIN | In | PTC0 | SPI SIN信号 | LPSPI2_SOUT | Out | PTC1 | SPI SOUT信号 | LPSPI2_SCK | Out | PTC2 | SPI SCK信号 | LPSPI2_PCS0 | Out | PTC3 | SPI PCS信号 | SPI_INT | In | PTF3 | SPI INT信号 |
この節では、2台の Armadillo-900 開発セット を用いて TH の使用方法を説明します。 1台は TH ネットワークのリーダーとなるデバイスとして使用します。 もう1台は構築した TH ネットワークに参加するデバイス(ジョイナー)として使用します。 コンテナ内から TH を使用するには、コンテナ作成時にホストネットワークを使用するために、
NET_ADMIN と NET_RAW 権限を渡す必要があります。 図5.77「TH を扱うコンテナの作成例」に、alpine イメージから TH を扱うコンテナを作成する例を示します。
リーダーとなるデバイス、ジョイナーとなるデバイス両方で同様の設定を行ってください。 コンテナ内で必要なソフトウェアをインストールして、ot-daemon を起動します。
以下の作業もリーダーとなるデバイス、ジョイナーとなるデバイス両方で行ってください。
|
ot-daemon が起動していることを確認してください。
|
これにより、OT CLI で ネットワークの構築や参加ができるようになります。 以下、リーダーとなるデバイスで行う作業です。 ot-ctl コマンドでネットワークを構築する例を示します。
|
新しいデータセットを生成します。
|
|
生成したデータセットを表示します。
|
|
生成したデータセットを有効化します。
|
|
インターフェースを有効化します。
|
|
ネットワークを開始します。
|
|
インターフェースの状態を表示します。"leader"と表示されるまで待ちます。
|
|
コミッショナーを開始します。
|
|
ジョイナーを追加します。認証情報は"J01NME"としています。
|
![[警告]](images/warning.png) | |
---|
ジョイナーを追加コマンドのワイルドカード("*")の指定は、全てのデバイスへ接続許可を与える事を意味します。正式運用時の使用は非推奨です。 |
![[ティップ]](images/tip.png) | |
---|
ジョイナーを追加コマンドで指定する認証情報は、読みやすさのため I, O, Q, Z を除く大文字英数字のみ指定可能です。長さは 6〜32 文字です。 |
以下、ジョイナーとなるデバイスで行う作業です。
|
インターフェースを有効化します。
|
|
ジョイナーを開始し、認証情報"J01NME"を持つネットワークへの接続情報を取得します。"Join success!"と表示されると成功です。
|
|
ネットワークに参加します。
|
|
インターフェースの状態を表示します。"router"と表示されるまで待ちます。
|
ANT2 LTEアンテナインターフェースに、付属のLTE用外付けアンテナを接続することで、LTE通信が可能です。
LTEデータ通信には、CON18 nanoSIMインターフェースにnanoSIMカードを挿入する必要があります。
nanoSIM カードを挿入する際は、nanoSIM(UIMカード)の切り欠きを挿入方向に向け、刻印面を上にして挿入してください。
アンテナコネクタからアンテナまでの経路は50Ω同軸ケーブルでの延長が可能です。
ただし、ケーブルロスが発生することにご注意ください。 -
機能
-
LTE通信 Cat.1 bis
-
10Mbps(DL)、5Mbps(UL)
LTE通信では、LTEモジュールとの通信にUSBとUARTを使用する構成になっています。
LTEモジュールは、SIMCom製 SIM7672G が搭載されています。 表5.19 CON18 信号配列 ピン番号 | ピン名 | I/O | A900との接続 | 説明 |
---|
C1 | SIM_VCC | Power | - | SIM電源、LTEモジュールのSIM_VDDに接続 | C2 | SIM_RST | Out | - | SIMリセット、LTEモジュールのSIM_RSTに接続 | C3 | SIM_CLK | Out | - | SIMクロック、LTEモジュールのSIM_CLKに接続 | C5 | GND | Power | - | 電源(GND) | C6 | SIM_VPP | - | - | 未接続 | C7 | SIM_I/O | In/Out | - | SIMデータ、LTEモジュールのSIM_DATAに接続 |
表5.20 LTE 信号 信号名 | I/O | A900との接続 | 説明 |
---|
USB1_1_DP | In/Out | - | USB差動信号(+)
USB Hubポート1経由でA900のUSB1_DP接続 | USB1_1_DM | In/Out | - | USB差動信号(-)
USB Hubポート1経由でA900のUSB1_DM接続 | LPUART5_TX | Out | PTE6 | UART TX信号 | LPUART5_RX | In | PTE7 | UART RX信号 | LPUART5_RTS_B | Out | PTD15 | UART RTS信号 | LPUART5_CTS_B | In | PTD12 | UART CTS信号 | LTE_RI | In | PTB6 | RI信号 | LTE_DTR | Out | PTD14 | DTR信号 | LTE_PWRKEY | Out | PTF25 | PWRKEY信号 | LTE_USB_BOOT | Out | PTF26 | USB BOOT信号 | LTE_STATUS | In | PTD16 | STATUS信号 | LTE_VBUS_CTL | Out | PTC12 | VBUS CONTROL信号 |
-
デバイスファイル
/dev/ttyACM0
-
ModemManager が
/dev/ttyCommModem のシンボリックリンクを作成し AT コマンド用ポートとして使用します。
-
/dev/ttyLP1
-
ネットワークデバイス
![[ティップ]](images/tip.png) | |
---|
ttyACM0 は、他の USB デバイスを接続している場合、番号が変わる可能性があります。 |
LTE モデム SIMCom製 SIM7672G は、Armadillo 起動時に自動的に電源が投入され、 Armadillo 終了時には自動的に電源が切られるようになっていますが、
これらは以下のコマンドによる手動操作も可能です。 ただし、以下のコマンドを実行する前には、図5.43「LTE 再接続サービスを停止する」の手順を参考に再接続サービスをあらかじめ停止してください。
「LTE再接続サービス」 では、通信状態に応じて LTE モデムのリセットなどを自動的に実施するので、処理の重複を避けるためにその操作があらかじめ必要です。 ネットワークの設定方法については「ABOS Web を用いたネットワーク設定方法」を参照してください。 LTE 再接続サービスの設定、省電力設定に関しては「LTE」を参照してください。 ANT3 GNSSアンテナインターフェースに、GNSS用アンテナを接続することで、GNSS通信が可能です。
GNSS用アンテナは付属していません。
ただし、付属のLTE用外付けアンテナはGNSSにも対応しているため、パッシブアンテナとしてGNSS通信の動作確認をすることが可能です。 -
機能
-
GNSS対応バンド: GPS L1、GLONASS G1、BeiDou B1I、GALILEO E1
表5.21 推奨アンテナ仕様 項目 | 内容 |
---|
対応周波数 | L1(1559~1609MHz) | インピーダンス | 50Ω | コネクタ | SMA-P スタンダード | 電源電圧 | DC 3.3V (アクティブアンテナの場合) |
CON2 USBインターフェース1または、CON4 USBインターフェース2にUSBメモリ等のUSBデバイスを接続することで、USBデバイスを利用可能です。 -
機能
-
Universal Serial Bus Specification Revision 2.0 準拠
-
Enhanced Host Controller Interface (EHCI)準拠
-
転送レート: USB2.0 High-Speed (480Mbps), Full-Speed (12Mbps), Low-Speed (1.5Mbps)
USBインターフェース1の回路は、USBコネクタへ各信号を直接接続する構成になっています。
USBの電源(USB0_VBUS)はパワースイッチでONOFFを制御しています。
USBインターフェース2の回路は、USBハブのポート2をUSBコネクタへ接続する構成になっています。
USBの電源(USB1_VBUS)はパワースイッチでONOFFを制御しています。 表5.22 CON2 信号配列 ピン番号 | ピン名 | I/O | A900との接続 | 説明 |
---|
1 | VBUS | Power | - | 電源(USB0_VBUS) | 2 | D- | In/Out | USB0_DM | USB差動信号(-) | 3 | D+ | In/Out | USB0_DP | USB差動信号(+) | 4 | GND | Power | - | 電源(GND) |
表5.23 CON4 信号配列 ピン番号 | ピン名 | I/O | A900との接続 | 説明 |
---|
1 | VBUS | Power | - | 電源(USB1_VBUS) | 2 | D- | In/Out | - | USB差動信号(-)
USB Hubポート2経由でA900のUSB1_DM接続 | 3 | D+ | In/Out | - | USB差動信号(+)
USB Hubポート2経由でA900のUSB1_DP接続 | 4 | GND | Power | - | 電源(GND) |
-
デバイスファイル
-
メモリデバイスの場合は、デバイスを認識した順番で/dev/sdN (Nは’a'からの連番)となります。
-
I/Oデバイスの場合は、ファンクションに応じたデバイスファイルとなります。
コンテナ内で動作するアプリケーションから USB 接続のデバイスを扱うための方法について示します。
USB シリアルデバイスを扱う
USB シリアルデバイスをコンテナ内から扱う場合には、Podman のイメージからコンテナを作成する際に
add_hotplugs に ttyUSB を設定する必要があります。この設定により、コンテナ起動後に USB シリアルデバイスを
接続した場合でも正しく認識されます。
以下は、alpine イメージからコンテナを作成する例です。
コンテナ内に入り、setserial コマンドを使って現在の設定を確認することができます。
コンテナ内からのデバイスの指定には /dev/ttyUSBN を使用することもできますが、
デバイスを接続するタイミングによっては N の値が変わる可能性があります。
このため上記の例のように /dev/serial/by-id/ 下にあるファイルを指定することで
確実に目的のデバイスを使用することができます。
USB カメラを扱う
USB カメラをコンテナ内から扱う場合には、Podman のイメージからコンテナを作成する際に
add_hotplugs に video4linux を設定する必要があります。この設定により、コンテナ起動後に USB カメラを
接続した場合でも正しく認識されます。
以下は、alpine イメージからコンテナを作成する例です。
GStreamer などのマルチメディアフレームワークと組み合わせることで、USB カメラからの映像のキャプチャが可能となります。 コンテナ内からのデバイスの指定には /dev/videoN を使用することもできますが、
デバイスを接続するタイミングによっては N の値が変わる可能性があります。
このため上記の例のように /dev/v4l/by-id/ 下にあるファイルを指定することで
確実に目的のデバイスを使用することができます。
USB メモリを扱う
ここでは、USB メモリを扱う方法について 2 つの例を示します。
ホスト OS 側でマウントした USB メモリをコンテナから扱う
あらかじめホスト OS 側でマウントしてある USB メモリをコンテナから扱う場合には、Podman のイメージから
コンテナを作成する際にホスト OS 側で USB メモリをマウントしてるディレクトリを渡す必要があります。
上記の例では、USB メモリを /mnt にマウントしました。以下は、 /mnt を渡して alpine イメージからコンテナを作成する例です。
ホスト OS 側の /mnt ディレクトリをコンテナ内の /mnt にマウントしています。
これにより、コンテナ内からも /mnt ディレクトリを通して USB メモリを扱うことができます。
USB メモリをコンテナ内からマウントする
USB メモリをコンテナ内からマウントして扱う場合には、Podman のイメージからコンテナを作成する際に
add_hotplugs に sd を設定する必要があります。この設定により、コンテナ起動後に USB メモリを
接続した場合でも正しく認識されます。加えて、コンテナ内からマウントするためには適切な権限も設定する必要があります。
以下は、 alpine イメージからコンテナを作成する例です。権限として SYS_ADMIN を渡しています。
コンテナ内に入り、mount コマンドで USB メモリを /mnt にマウントし、保存されているデータを確認することができます。
|
[MYUSBMEMORY] の部分は USB メモリに設定しているラベルに置き換えてください。
|
コンテナ内からマウントするデバイスの指定には /dev/sdN を使用することもできますが、
他にもストレージデバイスを接続している場合などには N の値が変わることがあります。
このため、USBメモリにラベルを設定している場合は、上記の例のように /dev/disk/by-label/ 下にある
ラベルと同名のファイルを指定することで確実に目的のデバイスを使用することができます。
CON7 CANインターフェースにCAN通信対応機器を接続することで、CAN通信が可能です。 CANインターフェースの回路は、CAN TX/RX信号をレベルシフタで電圧変換、
CANトランシーバで差動信号に変換する構成になっています。 表5.24 CON7 信号配列 ピン番号 | ピン名 | I/O | A900との接続 | 説明 |
---|
1 | - | - | - | - | 2 | CANL | In/Out | - | CAN 差動信号(-) | 3 | GND | Power | - | 電源(GND) | 4 | - | - | - | - | 5 | GND | Power | - | 電源(GND) | 6 | GND | Power | - | 電源(GND) | 7 | CANH | In/Out | - | CAN 差動信号(+) | 8 | - | - | - | - | 9 | - | - | - | - |
表5.25 その他 CAN信号 信号名 | I/O | A900との接続 | 説明 |
---|
CAN0_TX | Out | PTA12 | CAN TX信号
レベルシフタ経由でCANトランシーバに接続 | CAN0_RX | In | PTA13 | CAN RX信号
レベルシフタ経由でCANトランシーバに接続 | CAN0_STB | Out | PTA14 | CAN スタンバイ信号
レベルシフタ経由でCANトランシーバに接続 |
5.4.11. MIPI CSIカメラ を使用するCON9 MIPI CSIインターフェースにFFC(15ピン/1.0mmピッチ)を介してMIPI CSIカメラを接続することで、MIPI CSIカメラを利用可能です。 MIPI CSIインターフェースの回路は、MIPI CSIの各信号をFFCコネクタに直接接続する構成になっています。
また、3.3VのI2C、GPIOを利用できるように、レベルシフタで電圧変換したI2C、GPIOをそれぞれFFCコネクタに接続しています。 表5.26 CON9 信号配列 ピン番号 | ピン名 | I/O | A900との接続 | 説明 |
---|
1 | GND | Power | - | 電源(GND) | 2 | CSI_DATA0_N | In | CSI_DATA0_N | MIPI CSI DATA0(-) | 3 | CSI_DATA0_P | In | CSI_DATA0_P | MIPI CSI DATA0(+) | 4 | GND | Power | - | 電源(GND) | 5 | CSI_DATA1_N | In | CSI_DATA1_N | MIPI CSI DATA0(-) | 6 | CSI_DATA1_P | In | CSI_DATA1_P | MIPI CSI DATA0(+) | 7 | GND | Power | - | 電源(GND) | 8 | CSI_CLK_N | In | CSI_CLK_N | MIPI CSI CLK(-) | 9 | CSI_CLK_P | In | CSI_CLK_P | MIPI CSI CLK(+) | 10 | GND | Power | - | 電源(GND) | 11 | PTB0_3V3 | In/Out | PTB0 | 3.3V GPIO信号
レベルシフタ経由でA900に接続 | 12 | PTB1_3V3 | In/Out | PTB1 | 3.3V GPIO信号
レベルシフタ経由でA900に接続 | 13 | LPI2C7_SCL_3V3 | In/Out | PTF4 | 3.3V I2C SCL信号
レベルシフタ経由でA900に接続 | 14 | LPI2C7_SDA_3V3 | In/Out | PTF5 | 3.3V I2C SDA信号
レベルシフタ経由でA900に接続 | 15 | VDD_3V3 | Power | - | 電源(VDD_3V3) |
5.4.12. MIPI DSIディスプレイ を使用するCON10 MIPI DSIインターフェースにFFC(22ピン/0.5mmピッチ)を介してMIPI DSIディスプレイを接続することで、MIPI DSIディスプレイを利用可能です。 MIPI DSIインターフェースの回路は、MIPI DSIの各信号をFFCコネクタに直接接続する構成になっています。
また、3.3VのI2C、GPIOを利用できるように、レベルシフタで電圧変換したI2C、GPIOをそれぞれFFCコネクタに接続しています。 表5.27 CON10 信号配列 ピン番号 | ピン名 | I/O | A900との接続 | 説明 |
---|
1 | GND | Power | - | 電源(GND) | 2 | DSI_DATA0_N | Out | DSI_DATA0_N | MIPI DSI DATA0(-) | 3 | DSI_DATA0_P | Out | DSI_DATA0_P | MIPI DSI DATA0(+) | 4 | GND | Power | - | 電源(GND) | 5 | DSI_DATA1_N | Out | DSI_DATA1_N | MIPI DSI DATA0(-) | 6 | DSI_DATA1_P | Out | DSI_DATA1_P | MIPI DSI DATA0(+) | 7 | GND | Power | - | 電源(GND) | 8 | DSI_CLK_N | Out | DSI_CLK_N | MIPI DSI CLK(-) | 9 | DSI_CLK_P | Out | DSI_CLK_P | MIPI DSI CLK(+) | 10 | GND | Power | - | 電源(GND) | 11 | DSI_DATA2_N | Out | DSI_DATA2_N | MIPI DSI DATA2(-) | 12 | DSI_DATA2_P | Out | DSI_DATA2_P | MIPI DSI DATA2(+) | 13 | GND | Power | - | 電源(GND) | 14 | DSI_DATA3_N | Out | DSI_DATA3_N | MIPI DSI DATA3(-) | 15 | DSI_DATA3_P | Out | DSI_DATA3_P | MIPI DSI DATA3(+) | 16 | GND | Power | - | 電源(GND) | 17 | PTC10_3V3 | In/Out | PTC10 | 3.3V GPIO信号
レベルシフタ経由でA900に接続 | 18 | PTB3_3V3 | In/Out | PTB3 | 3.3V GPIO信号
レベルシフタ経由でA900に接続 | 19 | GND | Power | - | 電源(GND) | 20 | LPI2C7_SCL_3V3 | In/Out | PTF4 | 3.3V I2C SCL信号
レベルシフタ経由でA900に接続 | 21 | LPI2C7_SDA_3V3 | In/Out | PTF5 | 3.3V I2C SDA信号
レベルシフタ経由でA900に接続 | 22 | VDD_3V3 | Power | - | 電源(VDD_3V3) |
CON13 APD用コンソールインターフェースにUSB Type Cケーブル経由でPC等に接続することで、アプリケーションドメイン用のコンソール入出力を利用可能です。 APD用コンソールインターフェースの回路は、USBシリアル変換ICでUART信号をUSB信号に変換する構成になっています。
USBシリアル変換ICは、USB Type Cコネクタから給電される電源によって動作します。 表5.28 CON13 信号配列 ピン番号 | ピン名 | I/O | A900との接続 | 説明 |
---|
A1 | GND | Power | - | 電源(GND) | B1 | GND | Power | - | 電源(GND) | A4 | VBUS | Power | - | 電源(VBUS_DEBUG0) | B4 | VBUS | Power | - | 電源(VBUS_DEBUG0) | A5 | CC1 | - | - | 5.1kΩプルダウン | B5 | CC2 | - | - | 5.1kΩプルダウン | A6 | DP1 | - | - | USB2.0 差動信号(+) | B6 | DP2 | - | - | USB2.0 差動信号(+) | A7 | DN1 | - | - | USB2.0 差動信号(-) | B7 | DN2 | - | - | USB2.0 差動信号(-) | A9 | VBUS | Power | - | 電源(VBUS_DEBUG0) | B9 | VBUS | Power | - | 電源(VBUS_DEBUG0) | A12 | GND | Power | - | 電源(GND) | B12 | GND | Power | - | 電源(GND) |
表5.29 その他 APDコンソール信号 信号名 | I/O | A900との接続 | 説明 |
---|
LPUART4_TX | Out | LPUART4_TX | UART TXD信号 | LPUART4_RX | In | LPUART4_RX | UART RXD信号 | LPUART4_CTS_B | In | LPUART4_CTS_B | UART CTS信号 | LPUART4_RTS_B | Out | LPUART4_RTS_B | UART RTS信号 |
CON14 RTD 用コンソールインターフェースにUSB Type Cケーブル経由でPC等に接続することで、リアルタイムドメイン用のコンソール入出力を利用可能です。
RTD用コンソールはJTAGと同じ信号を使用するため同時に利用することはできません。
RTD用コンソールを使用する場合は、SW3 RTD 用コンソール JTAG 切替スイッチをRTD 用コンソールの方向に切り替える必要があります。 RTD用コンソールインターフェースの回路は、USBシリアル変換ICでUART信号をUSB信号に変換する構成になっています。
USBシリアル変換ICは、USB Type Cコネクタから給電される電源によって動作します。
また、RTD用コンソールインターフェースで使用するUART信号は、JTAG信号と同じピンをマルチプレクスしてUARTの機能に割り当てるため
バススイッチによって接続先のインターフェースを切り替える構成になっています。 表5.30 CON14 信号配列 ピン番号 | ピン名 | I/O | A900との接続 | 説明 |
---|
A1 | GND | Power | - | 電源(GND) | B1 | GND | Power | - | 電源(GND) | A4 | VBUS | Power | - | 電源(VBUS_DEBUG1) | B4 | VBUS | Power | - | 電源(VBUS_DEBUG1) | A5 | CC1 | - | - | 5.1kΩプルダウン | B5 | CC2 | - | - | 5.1kΩプルダウン | A6 | DP1 | - | - | USB2.0 差動信号(+) | B6 | DP2 | - | - | USB2.0 差動信号(+) | A7 | DN1 | - | - | USB2.0 差動信号(-) | B7 | DN2 | - | - | USB2.0 差動信号(-) | A9 | VBUS | Power | - | 電源(VBUS_DEBUG1) | B9 | VBUS | Power | - | 電源(VBUS_DEBUG1) | A12 | GND | Power | - | 電源(GND) | B12 | GND | Power | - | 電源(GND) |
セキュリティのため、デフォルトでは出力が無効化になっています。 以下のいずれかの方法でログ出力を確認できます。:
Linux が起動している場合、ログは /var/log/messages に保存されています。
[armadillo ~]# grep rtos /var/log/messages
Apr 23 16:10:32 armadillo user.notice rtos-logger: Start SRTM communication
Apr 23 16:10:32 armadillo user.notice rtos-logger: waiting message from uboot
Apr 23 16:10:32 armadillo user.notice rtos-logger: M33> uboot: handshake
Apr 23 16:10:32 armadillo user.notice rtos-logger: initializing i2c 0 (lpi2c1)
Apr 23 16:10:32 armadillo user.notice rtos-logger: uboot: booting into linux
Apr 23 16:10:32 armadillo user.notice rtos-logger: Handle Peer Core Linkup
Apr 23 16:10:32 armadillo user.notice rtos-logger: Watchdog start (timeout 60000)
Apr 23 16:10:32 armadillo user.notice rtos-logger: first watchdog ping
Apr 23 16:10:32 armadillo user.notice rtos-logger: initializing i2c 1 (lpi2c1)
Apr 23 16:10:32 armadillo user.notice rtos-logger: initializing tty 1 as LPUART 0
Apr 23 16:10:32 armadillo user.notice rtos-logger: initialized tty 0 for M33 console
Apr 23 16:10:32 armadillo user.notice rtos-logger: spi 0: init ok また、「 abos-ctrl rtos interact 」コマンドを実行するとログが停止されますがコンソールのように操作できます。 [armadillo ~]# abos-ctrl rtos interact
Could not lock rtos console for reading
stop rtos-logger service ? [Y/n]
WARNING: It will not be restarted automatically!
rtos-logger | * WARNING: you are stopping a boot service
rtos-logger | * Stopping rtos-logger ... [ ok ]
Entering console. Press ctrl+D to exit
M33> help
help - this help
reset - cold reset
log - print buffer log
clear - clear buffer log
quiet - disable background messages
verbose - enable background messages
version - print firmware version
M33>
u-boot の環境変数でコンソールを有効化できます。こちらの設定では起動時の初期段階以外の出力を確認できます:
[armadillo ~]# fw_setenv m33_console 22/23
Environment OK, copy 0
[armadillo ~]# reboot こちらの設定を永続化したい場合は例えば /boot/uboot_env.d/70_m33_console ファイルを作成し、変数を設定してください: [armadillo ~]# echo 'm33_console=22/23' > /boot/uboot_env.d/70_m33_console
[armadillo ~]# persist_file -v /boot/uboot_env.d/70_m33_console
'/mnt/boot/uboot_env.d/70_m33_console' -> '/target/boot/uboot_env.d/70_m33_console' 設定可能な値は以下の通りです: -
imx-boot ソースの変更ですべてのログを確認できます。
m33_firmware_at/debug_console.c ファイルの DEFAULT_UART_CONSOLE_TX と DEFAULT_UART_CONSOLE_RX 値を設定すると、m33 ファームウェア起動時に有効化されます。
この場合、u-boot の環境変数が無視されます。
ビルド手順については 「ブートローダーをビルドする」 を参照ください。
CON15 JTAG インターフェースに JTAG ケーブル (SWJ-PRB-MIL20-10HP 等の 2x5ピン/1.27mm ピッチコネクタ) を介して、PALMiCE4 等の JTAG エミュレータに接続することで、JTAG を利用可能です。
JTAG は RTD 用コンソールの信号と同じ信号を使用するため同時に利用することはできません。
JTAG を使用する場合は、SW3 RTD 用コンソール JTAG 切替スイッチをJTAGの方向に切り替える必要があります。 JTAGインターフェースの回路は、JTAG信号を10ピンのピンヘッダに接続する構成になっています。
ただし、JTAG信号はRTD用コンソールインターフェースで使用するUART信号と同じピンをマルチプレクスしてJTAGの機能に割り当てるため
バススイッチによって接続先のインターフェースを切り替える構成になっています。 表5.31 CON13 信号配列 ピン番号 | ピン名 | I/O | A900との接続 | 説明 |
---|
1 | VDD_1V8 | Power | - | 電源(VDD_1V8) | 2 | JTAG_TMS | | JTAG0_TMS/
LPUART1_CTS_B | JATG TMS信号
マルチプレクサ経由でA900に接続 | 3 | GND | Power | - | 電源(GND) | 4 | JTAG_TCK | | JTAG0_TCK/
LPUART1_RX | JTAG TCK信号
マルチプレクサ経由でA900に接続 | 5 | GND | Power | - | 電源(GND) | 6 | JTAG_TDO | - | JTAG0_TDO/
LPUART1_RTS_B | JTAG TDO信号
マルチプレクサ経由でA900に接続 | 7 | - | - | - | | 8 | JTAG_TDI | - | JTAG0_TDI/
LPUART1_TX | JTAG TDI信号
マルチプレクサ経由でA900に接続 | 9 | GND | Power | - | 電源(GND) | 10 | SYS_N_RST | - | SYS_N_RST | リセット信号 |
CON16 拡張インターフェースまたは、CON17 I2C(3.3V)インターフェースを使用することでI2C通信を利用することが可能です。
CON16の信号電圧は1.8V、CON17の信号電圧は3.3Vになります。 表5.32 CON17 信号配列 ピン番号 | ピン名 | I/O | A900との接続 | 説明 |
---|
1 | VDD_3V3 | Power | - | 電源(VDD_3V3) | 2 | LPI2C7_SCL_3V3 | In/Out | PTF4 | I2C SCL信号(3.3V)
レベルシフタ経由でA900に接続 | 3 | LPI2C7_SDA_3V3 | In/Out | PTF5 | I2C SDA信号(3.3V)
レベルシフタ経由でA900に接続 | 4 | GND | Power | - | 電源(GND) |
Armadillo-900 開発セット の I2C インターフェースは、i.MX 8ULP の I2C(I2C Controller) を利用します。また、i2c-gpioを利用することで、I2C バスを追加することができます。
Armadillo-900 開発セット で利用している I2C バスと、接続される I2C デバイスを次に示します。 表5.33 I2C デバイス I2C バス | I2C デバイス | アドレス | デバイス名 | 1(I2C1) | 0x32 | RV8803 (RTC) | 0x2C | USB2422(USB Hub) | 6(I2C6) | 0x48 | SE050(セキュアエレメント) |
Armadillo-900 開発セット の標準状態では、CONFIG_I2C_CHARDEV が有効となっているためユーザードライバで I2C デバイスを制御することができます。ユーザードライバを利用する場合は、Linux カーネルで I2Cデバイスに対応するデバイスドライバを無効にする必要があります。 -
機能
-
デバイスファイル
-
/dev/i2c-1 (I2C1)
-
/dev/i2c-6 (I2C6)
-
/dev/i2c-7 (I2C7)
コンテナ内で動作するアプリケーションから I2C を扱うためには、Podman のイメージからコンテナを作成する際にホスト OS 側のデバイスファイル /dev/i2c-N を渡す必要があります。以下は、/dev/i2c-7 を渡して alpine イメージからコンテナを作成する例です。 コンテナ内に入り、i2c-tools に含まれる i2cdetect コマンドを使ってスレーブアドレスを確認することができます。 CON25 DACインターフェースを使用することで、デジタル/アナログ変換出力を利用することが可能です。
出力電圧範囲は0~1.8Vです。 表5.34 CON25 信号配列 ピン番号 | ピン名 | I/O | A900との接続 | 説明 |
---|
1 | VDD_1V8 | Power | - | 電源(VDD_3V3) | 2 | DAC0_OUT | Out | DAC0_OUT | DAC出力 | 3 | DAC1_OUT | Out | DAC1_OUT | DAC出力 | 4 | GND | Power | - | 電源(GND) |
CON11 RTCバックアップインターフェース1、CON12 RTCバックアップインターフェース2に
バックアップ用電池を接続することで、電源が切断されても時刻データを保持することが可能です。
CON12にはCR1220の電池を接続することができます。
リアルタイムクロックの時刻保持時の平均消費電流は、
240nA(Typ.)となっておりますので、
電池寿命までの時刻保持が期待できます。 最大月差は周囲温度-20℃~60℃で8秒です。(経年変化を除く) ![[警告]](images/warning.png) | |
---|
電池をホルダーへ装着する際は、異物の挟み込みや不完全な装着がないように、目視での異物確認や
装着状態の確認を行ってください。 |
RTCバックアップインターフェースの回路は、VDD_5V電源とRTCバックアップインターフェースから入力された電源を
ダイオードORし、RTC ICの電源を保持する構成になっています。VDD_5VはArmadillo-900 開発セットに電源が投入されている間は常に供給されます。
RTCバックアップインターフェース1とRTCバックアップインターフェース2に同時に電源を入力することはできません。
RTC ICは、Micro Crystal製 RV-8803-C7 が搭載されています。 表5.35 CON11 信号配列 ピン番号 | ピン名 | I/O | A900との接続 | 説明 |
---|
1 | RTC_VDD | Power | - | リアルタイムクロックのバックアップ用電源入力(RTC_VDD) | 2 | GND | Power | - | 電源(GND) |
表5.36 CON12 信号配列 ピン番号 | ピン名 | I/O | A900との接続 | 説明 |
---|
1 | RTC_VDD | Power | - | リアルタイムクロックのバックアップ用電源入力(RTC_VDD) | 2 | GND | Power | - | 電源(GND) |
-
デバイスファイル
-
/dev/rtc ( /dev/rtc0 へのシンボリックリンク)
-
/dev/rtc0 (RV-8803-C7)
アラーム割り込みは、デバイスファイル経由で利用することができます。 詳細な情報については、Linux カーネルのソースコードに含まれているドキュメント(Documentation/admin-guide/rtc.rst)やサンプルプログラム(tools/testing/selftests/rtc/rtctest.c)を参照してください。
コンテナで使用する
コンテナ内から RTC を扱うためには、Podman のイメージからコンテナを作成する際にホスト OS 側のデバイスファイル /dev/rtc を渡すと同時に、RTC への時刻の設定を行うための権限も渡す必要があります。
以下は、/dev/rtc を渡して alpine イメージからコンテナを作成する例です。権限として SYS_TIME も渡しています。
コンテナ内に入り、hwclock コマンドで RTC の時刻表示と設定ができます。
|
RTC に設定されている現在時刻を表示します。
|
|
システム時刻を 2021 年 4 月 1 日 9 時 0 分 0 秒に設定します。
|
|
システム時刻を RTC に反映させます。
|
|
RTC に設定されている時刻が変更されていることを確認します。
|
Armadillo 上で RTC に時刻を設定する
Linuxの時刻には、Linuxカーネルが管理するシステムクロックと、RTCが管理するハードウェアクロックの2種類があります。RTCに時刻を設定するためには、まずシステムクロックを設定します。その後に、ハードウェアクロックをシステムクロックと一致させる手順となります。 システムクロックは、dateコマンドを用いて設定します。dateコマンドの引数には、設定する時刻を [MMDDhhmmCCYY.ss] というフォーマットで指定します。時刻フォーマットの各フィールドの意味を次に示します。 表5.37 時刻フォーマットのフィールド フィールド | 意味 |
---|
MM | 月 | DD | 日(月内通算) | hh | 時 | mm | 分 | CC | 年の最初の2桁(省略可) | YY | 年の最後の2桁(省略可) | ss | 秒(省略可) |
2023年3月2日12時34分56秒に設定する例を次に示します。
システムクロックを設定後、ハードウェアクロックを hwclock コマンドを用いて設定します。
|
現在のハードウェアクロックを表示します。
|
|
ハードウェアクロックを協定世界時(UTC)で設定します。
|
|
ハードウェアクロックが UTC で正しく設定されていることを確認します。
|
![[ティップ]](images/tip.png) | |
---|
インターネットに接続できている場合は、chronyd により自動的に日時設定が行われます。そのため、手動で日時設定を行う必要はありません。 |
SW1はユーザーが自由に利用できる押しボタンスイッチです。 表5.38 SW1 信号配列 部品番号 | 名称 | 説明 |
---|
SW1 | ユーザースイッチ | A900 の PTB2 ピンに接続 |
Linux では、ユーザー空間でイベント(Press/Release)を検出することができます。Linux では、GPIO 接続用キーボードドライバ(gpio-keys)で制御することができます。 ユーザースイッチと信号には、次に示すキーコードが割り当てられています。 表5.39 インプットデバイスファイルとイベントコード ユーザースイッチ | インプットデバイスファイル | イベントコード |
---|
SW1 | /dev/input/by-path/platform-gpio-keys-event
| 148 (KEY_PROG1) |
![[警告]](images/warning.png) | |
---|
インプットデバイスは検出された順番にインデックスが割り振られます。USBデバイスなどを接続してインプットデバイスを追加している場合は、デバイスファイルのインデックスが異なる可能性があります。 |
スイッチのプッシュ/リリースイベントを取得するためには、 Podman のイメージからコンテナを作成する際にホスト OS 側の /dev/input ディレクトリを渡す必要があります。
以下は、/dev/input を渡して alpine イメージからコンテナを作成する例です。ここで渡された /dev/input ディレクトリは
コンテナ内の /dev/input にマウントされます。 コンテナ内に入り、evtest コマンドでイベントを確認できます。
|
SW1のボタン プッシュ イベントを検出したときの表示
|
|
SW1のボタン リリース イベントを検出したときの表示
|
![[ティップ]](images/tip.png) | |
---|
Armadillo Base OS では、スイッチの制御を簡単に実装できる buttond デーモンを用意しております。 |
SW6 リセットスイッチを使用することで、Armadillo-900 開発セットに搭載されたArmadillo-900上のPMICをコールドリセットすることができます。
デフォルトでは、1秒以上スイッチを押下することで動作します。
リセットスイッチを用いたリセットは、ソフトウェアの動作状況に関わらず動作するため、ソフトウェアの更新等で再起動が必要な場合には
使用しないでください。 表5.40 SW6 信号配列 部品番号 | 名称 | 説明 |
---|
SW6 | リセットスイッチ | A900 の SYS_N_RST ピンに接続 |
LED は SYS、APP、WWAN が実装されており、Armadillo Base OS にて表5.42「LED状態と製品状態の対応について」に示す状態を表示しています。 表5.41 LED 信号配列 部品番号 | 名称(色) | 説明 |
---|
SYS | システムLED(緑) | 電源(VDD_3V3)の入力状態を表示、A900のPTC5に接続
(Low: 消灯、High: 点灯) | APP | アプリケーションLED(緑) | アプリケーションの状態を表示、A900のPTF30に接続
(Low: 消灯、High: 点灯) | WWAN | ワイヤレスWAN LED(緑) | LTE通信の状態を表示、A900のPTF31に接続
(Low: 消灯、High: 点灯) |
Linuxでは、GPIO接続用LEDドライバ(leds-gpio)で制御することができます。 -
sysfs LEDクラスディレクトリ
-
/sys/class/leds/app
-
/sys/class/leds/sys
-
/sys/class/leds/wwan
表5.42 LED状態と製品状態の対応について LED状態\LED名称 | SYS | APP | WWAN |
---|
OFF | 電源OFF | アプリ起動不可 | SIM 未検出または認識中、または LTE モデム未検出 | ON | 電源ON | アプリ起動可能 | LTE 接続済み | Blink Slow | シャットダウン中 | アプリ起動完了 [] | SIM 検出、LTE 未接続 [] | Blink Fast | アップデート中 | アプリエラー [] | SIM 検出、LTE 未接続、電波品質が低い [] |
![[ティップ]](images/tip.png) | |
---|
WLAN/LAN モデルでは WWAN LED を自由に使用することができます。 |
コンテナで使用する
LED を扱うためには、 Podman のイメージからコンテナを作成する際にホスト OS 側の /sys ディレクトリを渡す必要があります。
以下は、/sys を渡して alpine イメージからコンテナを作成する例です。ここで渡された /sys ディレクトリはコンテナ内の /sys にマウントされます。
コンテナ内に入り、brightness ファイルに値を書き込むことで LED の点灯/消灯を行うことができます。
0 を書き込むと消灯、0 以外の値 (1~255) を書き込むと点灯します。
以降の説明では、任意のLEDを示すLEDクラスディレクトリを /sys/class/leds/[LED]/ のように表記します。 [LED] の部分を適宜読みかえてください。
LEDを点灯/消灯する
LEDクラスディレクトリ以下の brightness ファイルへ値を書き込むことによって、LEDの点灯/消灯を行うことができます。
brightness に書き込む有効な値は 0~255です。 brightness に 0 以外の値を書き込むとLEDが点灯します。
![[注記]](images/note.png) | |
---|
Armadillo-900 開発セット のLEDには輝度制御の機能がないため、0(消灯)、1~255(点灯)の2つの状態のみ指定することができます。 |
brightness に0を書き込むとLEDが消灯します。
brightness を読み出すとLEDの状態が取得できます。
トリガを使用する
Linux では、LED をある特定のタイミングで光らせることができます。これを「トリガ」と呼びます。LEDクラスディレクトリ以下の trigger ファイルへ値を書き込むことによってLEDの点灯/消灯にトリガを設定することができます。 trigger でサポートされている主要な値は以下の通りです。 表5.43 LEDトリガの種類 設定 | 説明 |
---|
none
| トリガを設定しません | mmc0
| eMMCのアクセスランプにします | mmc2
| microSDスロットのアクセスランプにします | timer
| 任意のタイミングで点灯/消灯を行います。この設定にすることにより、LEDクラスディレクトリ以下にdelay_on, delay_offファイルが出現し、それぞれ点灯時間, 消灯時間をミリ秒単位で指定します | heartbeat
| 心拍のように点灯/消灯を行います | default-on
| 主にLinuxカーネルから使用します。LEDが点灯します | panic
| カーネルパニック時にLEDが点滅します |
trigger ファイルを読み出すとサポートしているトリガと、現在有効のトリガが表示されます。 [] が付いているものが現在のトリガです。
以下のコマンドを実行すると、LEDが2秒点灯、1秒消灯を繰り返します。
Armadillo-900 開発セット は、LTE モジュール を使用した SMS の送受信を行うことができます。
SMS の送信、受信した SMS の確認および削除などの操作は ModemManager の mmcli コマンドで行うことができます。 本章では mmcli コマンドでの SMS の使用方法について説明します。 SMS が利用可能な SIM を挿入して Armadillo-900 開発セット の電源を入れると、 ModemManager が必要な初期設定を行い、 SMS が利用可能になります。 SMS の受信は自動的に行われます。 図5.131「言語設定」に示すコマンドを実行し、言語設定を行います。 SMS を作成するには、図5.132「SMS の作成」に示すコマンドを実行します。 SMSの作成に成功すると、以下のようにSMS番号が表示されます。SMS番号は送信時に使用します。 図5.134「SMS の送信」に示すコマンドを実行し、SMS 送信を行います。 [SMS番号] には、 SMS の作成時に表示された番号を指定します。 SMS を送信可能な端末から Armadillo-900 開発セット に SMS を送信すると、 Armadillo-900 開発セット は自動的に SMS を受信します。 また、 LTE モジュールの内蔵ストレージに 10 件 SMS を保存した状態で Armadillo-900 開発セット に SMS を送信した場合は、Armadillo-900 開発セット は受信を行いません。 受信を行うには、 LTE モジュールの内蔵ストレージに保存している SMS を削除するか、他のストレージに移動する必要があります。 図5.135「SMS の一覧表示」のコマンドを実行することで、 SMS 一覧を表示できます。 末尾が "(sent)" となっているものが送信した SMS で "(received)" となっているものが受信した SMS です。 SMS の内容を表示するには、図5.136「SMSの内容を表示」に示すコマンドを実行します。 受信した SMS は自動的に LTE モジュールの内蔵ストレージに保存されます。Armadillo-900 開発セット に搭載されている、LTE モジュールには、最大 10 件まで SMS を保存することが可能です。 SMS の内容を表示した際の「storage: me」は、 LTE モジュールの内蔵ストレージに SMS が保存されていることを意味しています。 「storage: sm」と表示された場合、 SIM カードのストレージに SMS が保存されています。 SIM カードのストレージに保存できる SMS の件数は SIM カードによって異なります。 ストレージに保存されている SMS は、Armadillo-900 開発セット の電源を切断してもデータが保持されます。 buttond サービスを使用することで、ボタンやキー入力をトリガーとする処理を簡単に実装できます。
/etc/atmark/buttond.conf に BUTTOND_ARGS を指定することで、動作を指定することができます:
5.4.25.1. SW1 の短押しと長押しの対応以下にデフォルトを維持したままで SW1 の短押しと長押しのそれぞれの場合にコマンドを実行させる例を示します。
|
buttond の設定ファイルを編集します。この例では、短押しの場合 /tmp/shotpress に、5 秒以上の長押しの場合 /tmp/longpress に日付を出力します。
|
|
設定ファイルを保存します。
|
|
buttond サービスを再起動させます。ここでは再起動後短押しを 2 回、長押しを 1 回行ったとします。
|
|
押された回数を確認します。
|
USB キーボードや他の入力デバイスにも対応できます。
デバイスを接続してから、 buttond でデバイス名とキーコードを確認します。
例では左側の ctrl キーを押しています。
|
buttond を -vvv で冗長出力にして、すべてのデバイスを指定します。
|
|
希望のキーを押すと、LEFTCTRL が三つのパスで認識されました。/dev/by-id/usb-0566_3029-event-kbd のパスを控えておきます。
|
USB デバイスを外すこともありますので、-i (inotify) で管理されてる入力デバイスとして追加します。
そうしないとデバイスを外したときにbuttondが停止します。
|
上記で検出した USB キーボードのパスを記述します。
|
|
USB キーボードの左側の ctrl キーを押して1秒以内に放すと、/tmp/keyboardpress ファイルに押したタイミングの時間が記録されます。
|
USB キーボードの左側の ctrl キーを押して、想定通りに /tmp/keyboardpress に日付が書き込まれているか、以下のコマンドで確認できます。
|
buttond が想定通りに動いていると日付が出力されます。
|
5.4.25.3. Armadillo 起動時にのみボタンに反応する方法Armadillo 起動時にのみ、例として SW1 の長押しに反応する方法を紹介します。 /etc/local.d/boot_switch.start に稼働期間を指定した buttond を起動させる設定を記載します。
buttond が起動してから 10秒以内に SW1 を一秒以上長押しすると myapp のコンテナの親プロセスに USR1 信号を送ります(アプリケーション側で信号を受信して、デバッグモードなどに切り替える想定です)。
SW1 が Armadillo 起動前に押された場合は、buttond の起動一秒後に実行されます。
|
SW1 の入力を /dev/input/by-path/platform-gpio-keys-event ファイルの PROG1 として認識できます。
|
|
buttond 起動後 10 秒経過すると終了します。
|
|
SW1 を一度検知した後すぐに終了します。
|
|
サービスとして動作させる必要がないため & を付けてバックグラウンド起動します。
|
5.4.26. 動作中の Armadillo の温度を測定するArmadillo-900 開発セット の温度センサーは、i.MX 8ULP の TEMPMON(Temperature Monitor)を利用しています。 デフォルトでは、i.MX 8ULP の測定温度が 95℃以上になった場合、Linuxカーネルが /sbin/poweroff コマンドを実行し、システムを停止します。 /sys/class/thermal/thermal_zone0/temp ファイルの値を読み出すことによって、i.MX 8ULP の測定温度を取得することができます。
|
温度はミリ°C の単位で表示されます。この例では 32.000°C を示しています。
|
ここでは、Armadillo Base OS 搭載製品を組み込んだユーザー製品の熱設計時に役立つ温度プロファイラツールである「atmark-thermal-profiler」について紹介します。 Armadillo は製品ごとに動作温度範囲が設定されていますが、それらはあくまでも標準筐体に放熱材と共に取り付けて使用した場合の目安であり、実運用時には自作の筐体の使用や放熱の有無などで記載のスペック通りにならない場合があります。
また、 Armadillo には CPU または SoC が特定の温度以上になると、自動的にシャットダウンするサーマルシャットダウン機能が搭載されています。
そのため、現実的には Armadillo を組み込んだ製品を運用時と同等の環境で動作させつつ、実際に温度を計測して実運用時の CPU 及び SoC 温度がどの程度まで上がるか、サーマルシャットダウンは起こらないかを確かめる必要があります。 Armadillo Base OS 搭載製品では、動作中の Armadillo の各種温度等を取得しCSV形式で出力する atmark-thermal-profiler を利用することができますので、温度測定に役立てることができます。 5.4.26.2. atmark-thermal-profiler をインストールするatmark-thermal-profiler は apk パッケージで公開されていますので、apk add コマンドでインストールすることが可能です。 ![[警告]](images/warning.png) | |
---|
atmark-thermal-profiler はデバッグ(開発)用途で温度情報を収集及び解析するツールです。
atmark-thermal-profiler は、他の apk パッケージと同様に persist_file -a コマンドで永続的にインストールしておくことが可能ですが、
ログの保存のために Armadillo が起動している間 eMMC への書き込みを続けるので、 Armadillo を組み込んだ製品の運用時に動かしたままにしておくことは推奨しません。 atmark-thermal-profiler を永続的にインストールする場合は、運用時には必ず削除してください。 |
5.4.26.4. atmark-thermal-profiler が出力するログファイルを確認するatmark-thermal-profiler は、インストール直後から自動的に温度やCPU負荷率、Load Averageなどの情報を30秒に1度の周期で集め、/var/log/thermal_profile.csvに追記していきます。 thermal_profile.csv の1行目はヘッダ行です。
各列についての説明を表5.44「thermal_profile.csvの各列の説明」に記載します。 表5.44 thermal_profile.csvの各列の説明 ヘッダ | 説明 |
---|
DATE | その行のデータ取得日時です。 "年-月-日T時:分:秒+タイムゾーン" の形式で出力されます。 | ONESHOT | この列が1の行のデータは、サーマルシャットダウンを含むシャットダウンが実行された時に取得されたことを示します。 | CPU_TEMP | 計測時点の CPU 温度を示します。単位は℃です。 | SOC_TEMP | 計測時点の SoC 温度を示します。単位は℃です。製品よっては非対応で、その場合は空白になります。 | LOAD_AVE | 計測時点から直近1分間のLoad Averageです。 | CPU_1 | 計測時点のCPU使用率1位のプロセスです。 | CPU_2 | 計測時点のCPU使用率2位のプロセスです。 | CPU_3 | 計測時点のCPU使用率3位のプロセスです。 | CPU_4 | 計測時点のCPU使用率4位のプロセスです。 | CPU_5 | 計測時点のCPU使用率5位のプロセスです。 | USE_1 | 計測時点のCPU使用率1位のプロセスのCPU使用率です。 | USE_2 | 計測時点のCPU使用率2位のプロセスのCPU使用率です。 | USE_3 | 計測時点のCPU使用率3位のプロセスのCPU使用率です。 | USE_4 | 計測時点のCPU使用率4位のプロセスのCPU使用率です。 | USE_5 | 計測時点のCPU使用率5位のプロセスのCPU使用率です。 |
予め、使用している Armadillo が何℃でサーマルシャットダウンするか確認しておきます。
|
CPU のサーマルシャットダウン温度です。ミリ℃で表記されているので、95℃でサーマルシャットダウンすることがわかります。
|
atmark-thermal-profiler が出力するログ(thermal_profile.csv)はCSVファイルなので、各種表計算ソフトでインポートしてグラフ化することが可能です。
これにより Armadillo 動作中の温度の変化が可視化され、得られる情報が見やすくなります。 図5.151「取得した温度のグラフ」は一定期間 atmark-thermal-profiler を実行して取得した thermal_profile.csv を Google スプレッドシートでグラフ化したものです。
例のために、途中で stress-ng コマンドを実行して CPU に負荷を与えた後、 stress-ng コマンドを停止して CPU と SoC の温度が下がるのを待った際のデータです。 作成方法の手順は以下です。(2025年4月現在) -
thermal_profile.csv をドライブにアップロード
-
[ファイル] > [インポート] > thermal_profile.csv を選択 > [挿入]
-
範囲選択した後、[挿入] > [グラフ]
-
グラフエディタの設定の[グラフの種類]で折れ線グラフを選択
-
不必要なパラメータはグラフエディタの[系列]から削除
ここでは、グラフの縦軸は温度(℃)で、横軸は時間です。青い線は CPU の温度を表しています。
作成したグラフと、「温度測定結果の分析」で得たサーマルシャットダウン温度を見比べることでどれほど温度に余裕があるか視覚的に比較できます。 atmark-thermal-profiler は、時間毎の温度だけでなく CPU 使用率と CPU 使用率の高いプロセスについても取得して記録します。
CPU 使用率については thermal_profile.csv の CPU_1〜CPU_5 列と、 USE_1〜USE_5 列を参照してください。
各列について詳しくは表5.44「thermal_profile.csvの各列の説明」にまとまっています。 一般的に CPU 使用率が高くなると、 CPU 周辺の温度も高くなります。
そのため、測定した温度が高い場合は、 CPU 使用率の高いプロセスに注目して、 CPU を無駄に使用している意図しない処理が行なわれていないかなどを確認することをおすすめします。 5.4.27. Network Time Protocol (NTP, ネットワーク・タイム・プロトコル) の設定Armadillo Base OS では chronyd を使用しています。 デフォルトの設定(使用するサーバーなど)は /lib/chrony.conf.d/ にあり、
設定変更用に /etc/chrony/conf.d/ のファイルも読み込みます。
/etc/chrony/conf.d/ ディレクトリに /lib/chrony.conf.d/ と同名の
設定ファイルを配置することで、デフォルトのファイルを読み込まないようになります。 時刻取得に関する設定は 2 つのファイルに分かれています: -
initstepslew.conf : chronyd 起動時「 initstepslew 」コマンドでサーバーと通信し時刻を取得します。
-
servers.conf : chronyd 起動後周期的に「 pool 」または「 server 」コマンドでサーバーと通信し時刻を補正します。
例えば、 NTP サーバーを変更する際は 図5.152「chronyd のコンフィグの変更例」 に示す通り
/etc/chrony/conf.d/initstepslew.conf と /etc/chrony/conf.d/servers.conf に記載します:
|
起動時のサーバー設定です。不要な場合は空のファイルを生成してください。
|
|
運用時のサーバー設定です。複数の行または「pool」の設定も可能です。
|
|
ファイルを保存します。
|
|
chronyd サービスを再起動します。
|
|
chronyc で新しいサーバーが使用されていることを確認します。
|
NTP の設定は ABOS Web や Rest API を使って行うこともできます。詳細は、
「時刻設定」 および 「Rest API : 時刻の設定」 を参照してください。 CON16 拡張インターフェースは、各ピンの機能をマルチプレクスすることでGPIO、I2C、UARTなどの機能を使用することが可能です。
2.54mmピッチのピンソケットを接続可能です。 各ピンの設定は Device Tree で行います。
Device Tree の変更については「Device Treeをカスタマイズする」をご参照ください。 表5.45 CON16 信号配列 ピン番号 | ピン名 | I/O | A900との接続 | 説明 |
---|
1 | VDD_5V | Power | - | 電源(VDD_5V) | 2 | VDD_1V8 | Power | - | 電源(VDD_1V8) | 3 | GND | Power | - | 電源(GND) | 4 | GND | Power | - | 電源(GND) | 5 | PTA8 | In/Out | PTA8 | 拡張入出力(1.8V) | 6 | PTC13 | In/Out | PTC13 | 拡張入出力(1.8V) | 7 | PTA9 | In/Out | PTA9 | 拡張入出力(1.8V) | 8 | PTC14 | In/Out | PTC14 | 拡張入出力(1.8V) | 9 | PTA10 | In/Out | PTA10 | 拡張入出力(1.8V) | 10 | PTC15 | In/Out | PTC15 | 拡張入出力(1.8V) | 11 | PTA11 | In/Out | PTA11 | 拡張入出力(1.8V) | 12 | PTC16 | In/Out | PTC16 | 拡張入出力(1.8V) | 13 | LPUART0_RX | In/Out | PTA15 | 拡張入出力(1.8V) | 14 | PTC17 | In/Out | PTC17 | 拡張入出力(1.8V) | 15 | LPUART0_TX | In/Out | PTA18 | 拡張入出力(1.8V) | 16 | PTC18 | In/Out | PTC18 | 拡張入出力(1.8V) | 17 | LPUART0_CTS_B | In/Out | PTA16 | 拡張入出力(1.8V) | 18 | PTC19 | In/Out | PTC19 | 拡張入出力(1.8V) | 19 | LPUART0_RTS_B | In/Out | PTA17 | 拡張入出力(1.8V) | 20 | PTC20 | In/Out | PTC20 | 拡張入出力(1.8V) | 21 | PTB4 | In/Out | PTB4 | 拡張入出力(1.8V) | 22 | PTC21 | In/Out | PTC21 | 拡張入出力(1.8V) | 23 | PTB5 | In/Out | PTB5 | 拡張入出力(1.8V) | 24 | PTC22 | In/Out | PTC22 | 拡張入出力(1.8V) | 25 | PTB12 | In/Out | PTB12 | 拡張入出力(1.8V) | 26 | PTC23 | In/Out | PTC23 | 拡張入出力(1.8V) | 27 | PTB14 | In/Out | PTB14 | 拡張入出力(1.8V) | 28 | PTF6 | In/Out | PTF6 | 拡張入出力(1.8V) | 29 | LPI2C7_SCL | Out | PTF4 | I2C SCL信号
4.7kΩプルアップ | 30 | PTF7 | In/Out | PTF7 | 拡張入出力(1.8V) | 31 | LPI2C7_SDA | In/Out | PTF5 | I2C SDA信号
4.7kΩプルアップ | 32 | PTF24 | In/Out | PTF24 | 拡張入出力(1.8V) | 33 | ONOFF | In | ONOFF | ONOFF信号 | 34 | GND | Power | - | 電源(GND) |
表5.46 デフォルトのマルチプレクス ピン番号 | ピン名 | A900との接続 | デフォルトのマルチプレクス |
---|
1 | VDD_5V | - | - | 2 | VDD_1V8 | - | - | 3 | GND | - | - | 4 | GND | - | - | 5 | PTA8 | PTA8 | GPIO | 6 | PTC13 | PTC13 | GPIO | 7 | PTA9 | PTA9 | GPIO | 8 | PTC14 | PTC14 | GPIO | 9 | PTA10 | PTA10 | GPIO | 10 | PTC15 | PTC15 | GPIO | 11 | PTA11 | PTA11 | GPIO | 12 | PTC16 | PTC16 | GPIO | 13 | LPUART0_RX | PTA15 | GPIO | 14 | PTC17 | PTC17 | GPIO | 15 | LPUART0_TX | PTA18 | GPIO | 16 | PTC18 | PTC18 | GPIO | 17 | LPUART0_CTS_B | PTA16 | GPIO | 18 | PTC19 | PTC19 | GPIO | 19 | LPUART0_RTS_B | PTA17 | GPIO | 20 | PTC20 | PTC20 | GPIO | 21 | PTB4 | PTB4 | GPIO | 22 | PTC21 | PTC21 | GPIO | 23 | PTB5 | PTB5 | GPIO | 24 | PTC22 | PTC22 | GPIO | 25 | PTB12 | PTB12 | GPIO | 26 | PTC23 | PTC23 | GPIO | 27 | PTB14 | PTB14 | GPIO | 28 | PTF6 | PTF6 | GPIO | 29 | LPI2C7_SCL | PTF4 | I2C SCL信号 | 30 | PTF7 | PTF7 | GPIO | 31 | LPI2C7_SDA | PTF5 | I2C SDA信号 | 32 | PTF24 | PTF24 | GPIO | 33 | ONOFF | ONOFF | - | 34 | GND | - | - |
SW4はブートモード切替スイッチです。
SW4を操作することで、起動デバイスを設定することができます。 -
-
起動デバイスはeMMCになります。
-
-
起動デバイスはmicroSDになります。
起動デバイス設定スイッチの両脇の基板上に、白い文字でeMMC/SDとシルク記載しているので、操作の目印にご利用ください。 Armadillo-900 開発セット では、特にバッテリー駆動時などで必要となる、省電力・間欠動作の機能を用意しています。
どのタイミングでDeepSleep・Shutdownモードへ遷移するか、何をトリガーとして起床するかを設定できます。
本節では、Armadillo-900 開発セット の 省電力・間欠動作機能や動作モード、状態遷移について説明します。 5.5.1. 間欠動作モード・起床条件と状態遷移図Armadillo-900 開発セット の動作モード・起床条件と状態遷移を図5.154「状態遷移図」に示します。また、動作モード毎のデバイス状態を表5.47「動作モード別デバイス状態」に示します。 表5.47 動作モード別デバイス状態 動作モード | CPU | LTE | LED | 有線 LAN | USB など |
---|
Active | 動作 | 通信 | 動作 | 動作 | 通電 | Shutdown | 停止 | 停止 | 消灯 | 停止 | 停止 | DeepSleep | suspend-to-RAM | 動作 [] | 消灯 | 停止 | 通電 | DeepSleep(SMS) | suspend-to-RAM | 動作 [] | 消灯 | 停止 | 通電 |
次に、各動作モードと利用することのできる起床条件について説明します。 「CPU:動作」、「LTE:動作」 状態のモードです。 Armadillo-900 開発セットの電源投入後Linuxカーネルが起動し、まずは Active モードに遷移します。 任意のアプリケーションの実行や、外部センサー・デバイスの制御、LTEやEthernetでの通信が可能ですが、最も電力を消費するモードです。
Active モードの時間をより短くすることで、消費電力を押さえることができます。 「CPU:停止」、「LTE:停止」の状態であり最も消費電力を抑えることのできるモードです。 その反面、CPUを停止させ、Linuxカーネルをシャットダウンしている状態であるため、 Active モードに遷移する場合はLinuxカーネルの起動分の時間がかかります。 Shutdown モードから Active モードに遷移するには、RTCのアラーム割り込みを使用するか、一度電源を切断・再接続を行う必要があります。 「CPU:待機」、「LTE:停止」 状態のモードです。 CPU(i.MX 8ULP)はパワーマネジメントのSuspend-to-RAM状態になり、LinuxカーネルはPauseの状態になります。
Shutdown モードと比較すると消費電力は高いですが、Linuxカーネルの起動は不要であるため数秒程度で Active モードに遷移が可能です。
ユーザスイッチの押下、RTCアラーム割り込みによって Active モードへの遷移ができます。 ![[警告]](images/warning.png) | |
---|
LTE 接続中に Deep Sleep モードをご利用になる場合、 Deep Sleep モードから Active モードへ遷移するタイミングで ping による LTE 通信の疎通確認を実施します。 ping 疎通確認先の IP アドレスは以下の順序・ルールで決定します。「LTE再接続サービス」 で使用している設定ファイルを参照しています。 -
/etc/atmark/connection-recover.conf が存在してファイル内に PING_DEST_IP があれば、この値を使用します。
-
存在しない場合は、8.8.8.8 を疎通先として使用します。
|
5.5.1.5. Deep Sleep(SMS) モード「CPU:待機」、「LTE:待機」 状態のモードです。 Deep Sleep モードとの違いは、SMSの受信によって、 Active モードへの遷移も可能である点です。
LTE:待機(PSM)の状態であるため、 Deep Sleep モードよりも電力を消費します。 5.5.2. Shutdown モードへの遷移と起床Shutdown モードへ遷移するには、poweroffコマンド、またはaiot-alarm-poweroffコマンドを実行します。 poweroffコマンドを実行して Shutdown モードに遷移した場合、電源の切断・接続のみで Active に遷移が可能です。
poweroffコマンドの実行例を次に示します。 [armadillo ~]# poweroff
podman-atmark | * Stopping all podman containers ...loca
l | * Stopping local ... [ ok ]
avahi-daemon | * Stopping avahi-daemon ...zramswap |
* Deactivating zram swap device ...modemmanager | * Stopping modemm
anager ...sim7672-boot | * Stopping sim7672-boot ...wwan-led
| * Stopping wwan-led ... [ ok ] [ ok ]
※省略
Sent SIGTERM to all processes
Sent SIGKILL to all processes
Requesting system poweroff
[ 232.390025] failed to disconnect on suspend 5.5.2.2. aiot-alarm-poweroffコマンドaiot-alarm-poweroffコマンドを実行することで、 Shutdown モードに遷移後、
RTCのアラーム割り込みをトリガで起床( Active モードに遷移)することができます。
なお、RTC を起床要因に使って間欠動作させる場合は、 「RTC を使用する」 を参考に、必ず RTC の日時設定を行ってください。 ![[警告]](images/warning.png) | |
---|
RTC 未設定によるエラーが発生した場合、 Shutdown モードへの遷移は行われません。 |
Shutdown モードに遷移し、300秒後にアラーム割り込みを発生させるには、次のようにコマンドを実行します。 [armadillo ~]# aiot-alarm-poweroff +300
aiot-alarm-poweroff: alarm_timer +300 second 現在時刻からの経過秒数は180秒以上を指定する必要があります。 5.5.3. Deep Sleep への遷移と起床aiot-sleepコマンドを実行することで、 Deep Sleep モードに遷移することができます。
ユーザースイッチによる起床は標準で有効になっています。 5.5.3.1. RTCアラーム割り込み以外での起床SW1 が押下された時に Deep Sleep モードから起床するには、次に示すコマンドを実行します。 [armadillo ~]# aiot-sleep
modemmanager | * Stopping modemmanager ... [ ok ]
connection-recover | * Stopping connection-recover ... [ ok ]
OK
aiot-sleep: Power Management suspend-to-ram
※ SW1を押下
I/TC: Secondary CPU 1 initializing
I/TC: Secondary CPU 1 switching to normal world boot
[ 247.110778] fec 29950000.ethernet eth0: Graceful transmit stop did not complete!
aiot-sleep: change mode CPU Idle
OK
modemmanager | * Starting modemmanager ... [ ok ]
connection-recover | * Starting connection-recover ... [ ok ] RTCアラーム割り込みでの起床を行う場合、パラメーター設定が異なります。
なお、RTC を起床要因に使って間欠動作させる場合は、 「RTC を使用する」 を参考に、必ず RTC の日時設定を行ってください。 RTCアラーム割り込みでの起床は、毎分 00 秒で起床する分指定 (Armadillo-900 搭載のRTCアラーム割り込みを用いた起床) と秒指定 (SoC内蔵のRTCアラーム割り込みを用いた起床) の 2種類があります。
現状のソフトウェアでは、分指定にのみ対応しています。 分指定のコマンド書式を 図5.156「コマンド書式 (RTCアラーム割り込みでの起床の場合: 分指定)」 に示します。 現在時刻からの経過秒数 は60秒以上を指定する必要があります。 300秒後にRTCアラーム割り込みを発生させ、 Deep Sleep モードから起床させるコマンド実行例を以下に示します。 [armadillo ~]# echo +300 > /sys/class/rtc/rtc0/wakealarm
[armadillo ~]# aiot-sleep
modemmanager | * Stopping modemmanager ... [ ok ]
connection-recover | * Stopping connection-recover ... [ ok ]
OK
aiot-sleep: Power Management suspend-to-ram
※ 約300秒待つ
I/TC: Secondary CPU 1 initializing
I/TC: Secondary CPU 1 switching to normal world boot
[ 247.110778] fec 29950000.ethernet eth0: Graceful transmit stop did not complete!
aiot-sleep: change mode CPU Idle
OK
modemmanager | * Starting modemmanager ... [ ok ]
connection-recover | * Starting connection-recover ... [ ok ] 5.5.4. Deep Sleep(SMS)モードへの遷移と起床aiot-sleep-smsコマンドを実行することで、 Deep Sleep(SMS) モードに遷移することができます。
ユーザースイッチによる起床は標準で有効になっています。aiot-sleep-smsコマンドを実行した場合SMS受信による起床は強制的に有効になります。 aiot-sleep-smsコマンドの実行例を次に示します。 [armadillo ~]# aiot-sleep-sms
aiot-sleep-sms: terminate dialup
Connection 'gsm-ttyCommModem' successfully deactivated (D-Bus active path: /org/
freedesktop/NetworkManager/ActiveConnection/4)
modemmanager | * Stopping modemmanager ... [ ok ]
connection-recover | * Stopping connection-recover ... [ ok ]
OK
aiot-sleep-sms: Power Management suspend-to-ram
※ SMS受信
I/TC: Secondary CPU 1 initializing
I/TC: Secondary CPU 1 switching to normal world boot
[ 290.472971] fec 29950000.ethernet eth0: Graceful transmit stop did not complete!
aiot-sleep-sms: change mode CPU Idle
OK
modemmanager | * Starting modemmanager ... [ ok ]
aiot-sleep-sms: redial.
connection-recover | * Starting connection-recover ... [ ok ] ![[警告]](images/warning.png) | |
---|
ご利用の SMS 送信サービスの SMS 送信制限により SMS の送信ができないことがあります。また、ネットワーク状態によって SMS の受信を検知できなかったり、検知が遅れることがあります。 起床要因として SMS のみを設定されるシステムを想定されている場合は、上記検知できない可能性を考慮して RTC など別な起床要因で周期的に起床することを推奨します。 また「省電力などの設定」の初期値では、SMS 受信を検知して起床するまでに最長で 3 分かかります。
より短時間で起床する必要がある場合は psm と edrx を disable に設定する対応をご検討ください。 |
![[警告]](images/warning.png) | |
---|
aiot-sleep-sms で Deep Sleep(SMS) モードへ遷移する際、LTE モジュールの SMS 保存用ストレージに空きがない場合 SMS 受信での起床ができなくなるため、LTE モジュールのストレージから 1 件 SMS を削除してから Deep Sleep(SMS) モードへ遷移します。 SMS で受信した内容が必要な場合は、 SMS の内容を別なファイルなどに保存してから aiot-sleep-sms を実施してください。 |
Armadillo-900 開発セットでは、4つの電源系統について、それぞれ2つの方法で電流測定が可能です。
電流計を使用して電流測定を行う場合は、表5.48「電流測定可能箇所」に示す0Ω抵抗を外し
ピンヘッダに電流計を接続します。
シャント抵抗と電圧計を使用して電流測定を行う場合は、表5.48「電流測定可能箇所」に示す0Ω抵抗を
シャント抵抗に変更し、シャント抵抗の両端に電圧計を接続します。使用可能なシャント抵抗のサイズは3.2 x 1.6mmです。 表5.48 電流測定可能箇所 電源系統 | ピンヘッダ | 0Ω抵抗 | 説明 |
---|
VSYS_5V | JP1 | R286 | Armadillo-900への入力電源(5V) | VDD_3V3 | JP2 | R291 | 3.3V系電源 | VDD_1V8 | JP3 | R292 | 1.8V系電源 | VDD_3V8 | JP4 | R293 | LTEモジュールへの入力電源(3.8V) |
5.6.1. Armadillo Twin を体験するArmadillo Twin を利用したデバイス運用管理を検討する場合は、一度Armadillo Twin をお試しいただくことをおすすめします。
Armadillo Twin は、無償トライアルでご登録いただくことで、3ヶ月間無償で全ての機能をご利用いただくことができます。
また、トライアル中の設定内容は、有料の月額プランに申込後も引き継いで利用することができます。 詳細は Armadillo Twin ユーザーマニュアル 「アカウント・ユーザーを作成する」 をご確認ください。 5.6.2. Armadillo Twin を契約するArmadillo Twin を使用したデバイス運用管理を行う場合は、量産モデルの発注とは別にArmadillo Twin の契約が必要となります。
Armadillo Twin の契約の詳細については、弊社営業、ご利用の販売代理店にお問い合わせください。 5.6.3. Armadillo Twin に Armadillo を登録する5.6.3.2. Armadillo の設置後に登録する場合Armadillo 設置後の登録については、弊社営業までお問い合わせください。 5.6.5. Armadillo Twin を利用してソフトウェアの脆弱性チェックを行うソフトウェア開発時には発見されなかった脆弱性が運用時に発見されることがあるため、運用時でもソフトウェアの脆弱性を定期的に確認することが重要です。
Armadillo Twin の脆弱性チェック機能では、登録した SBOM を定期的にスキャンし、新たに脆弱性が発見された際に管理画面に表示します。
機能の詳細は Armadillo Twin ユーザーマニュアル 「SWU イメージを管理する」 をご確認ください。 | |
| | | |
| |