Armadillo-IoT ゲートウェイ A6
製品マニュアル

Debian GNU/Linux 10 (buster) 対応


目次

1. はじめに
1.1. 本書で扱うこと扱わないこと
1.1.1. 扱うこと
1.1.2. 扱わないこと
1.2. 本書で必要となる知識と想定する読者
1.3. ユーザー限定コンテンツ
1.4. 本書および関連ファイルのバージョンについて
1.5. 本書の構成
1.6. 表記について
1.6.1. フォント
1.6.2. コマンド入力例
1.6.3. アイコン
1.7. 謝辞
2. 注意事項
2.1. 安全に関する注意事項
2.2. 取扱い上の注意事項
2.3. ソフトウェア使用に関しての注意事項
2.4. 電波障害について
2.5. 無線モジュールの安全規制について
2.6. 保証について
2.7. 輸出について
2.8. 商標について
3. 製品概要
3.1. 製品の特長
3.1.1. Armadilloとは
3.1.2. Armadillo-IoT ゲートウェイ A6とは
3.2. 製品ラインアップ
3.2.1. Armadillo-IoTゲートウェイA6 C1モデル 開発セット
3.2.2. Armadillo-IoTゲートウェイA6 U1モデル 開発セット
3.2.3. Armadillo-IoT ゲートウェイ A6量産用
3.3. 仕様
3.4. Armadillo-IoT ゲートウェイ A6 C1モデルの外観
3.5. Armadillo-IoT ゲートウェイ A6 U1モデルの外観
3.6. Armadillo-IoT ゲートウェイ A6 の基板構成
3.7. ブロック図
3.8. ソフトウェア構成
4. Armadilloの電源を入れる前に
4.1. 準備するもの
4.2. microSDカードの装着
4.3. C1モデル ケースの組み立て
4.4. アンテナコネクタ形状
4.5. 開発/動作確認環境の構築
4.5.1. ATDEのセットアップ
4.5.2. 取り外し可能デバイスの使用
4.5.3. コマンドライン端末(GNOME端末)の起動
4.5.4. シリアル通信ソフトウェア(minicom)の使用
4.6. インターフェースレイアウト
4.7. 接続方法
4.8. スライドスイッチの設定について
4.9. viエディタの使用方法
4.9.1. viの起動
4.9.2. 文字の入力
4.9.3. カーソルの移動
4.9.4. 文字の削除
4.9.5. 保存と終了
5. 起動と終了
5.1. 起動
5.2. ログイン
5.2.1. 新しいパスワードの準備
5.2.2. 初回ログインと新しいパスワードの設定
5.3. Debianのユーザを管理する
5.4. 終了方法
6. 動作確認方法
6.1. 動作確認を行う前に
6.2. ネットワーク
6.2.1. 接続可能なネットワーク
6.2.2. 有線 LAN の設定方法
6.2.3. 基本的な使い方
6.2.4. LTE の設定
6.2.5. SMSを利用する
6.2.6. ファイアーウォール
6.3. ストレージ
6.3.1. ストレージの使用方法
6.3.2. ストレージのパーティション変更とフォーマット
6.4. LED
6.4.1. LEDを点灯/消灯する
6.4.2. トリガを使用する
6.5. ユーザースイッチ
6.5.1. イベントを確認する
6.6. RTC
6.6.1. RTCに時刻を設定する
6.7. GPIO
6.7.1. GPIO クラスディレクトリを作成する
6.7.2. 入出力方向を変更する
6.7.3. 入力レベルを取得する
6.7.4. 出力レベルを設定する
7. 省電力・間欠動作機能
7.1. 動作モードと状態遷移図
7.1.1. アクティブモード
7.1.2. シャットダウンモード
7.1.3. スリープモード
7.1.4. スリープ(SMS 起床可能)モード
7.2. シャットダウンモードへの遷移と起床
7.2.1. poweroffコマンド
7.2.2. aiot-alarm-poweroffコマンド
7.3. スリープモードへの遷移と起床
7.3.1. RTCアラーム割り込み以外での起床
7.3.2. RTCアラーム割り込みでの起床
7.3.3. 起床要因のクリア
7.4. スリープ(SMS 起床可能)モードへの遷移と起床
7.5. スリープモードへの遷移・起床時にスクリプトを実行する
8. Linuxカーネル仕様
8.1. デフォルトコンフィギュレーション
8.2. デフォルト起動オプション
8.3. Linuxドライバ一覧
8.3.1. Armadillo-IoT ゲートウェイ A6
8.3.2. UART
8.3.3. Ethernet
8.3.4. LTE
8.3.5. SDホスト
8.3.6. USBホスト
8.3.7. リアルタイムクロック
8.3.8. LED
8.3.9. ユーザースイッチ
8.3.10. I2C
8.3.11. パワーマネジメント
9. Debianユーザーランド仕様
9.1. Debianユーザーランド
9.2. パッケージ管理
10. ブートローダー (U-Boot) 仕様
10.1. U-Boot の起動モード
10.2. U-Boot の機能
10.2.1. envコマンド
10.2.2. mmc コマンド
10.3. U-Boot の環境変数
10.4. U-Boot が Linux を起動する仕組み
10.5. U-Boot から見た eMMC / SD
10.6. Linuxカーネル起動オプション
11. ビルド手順
11.1. ブートローダーをビルドする
11.2. Linuxカーネルをビルドする
11.2.1. 手順:Linuxカーネルをビルド
11.3. Debian GNU/Linux ルートファイルシステムをビルドする
11.3.1. 出荷状態のルートファイルシステムアーカイブを構築する
11.3.2. カスタマイズされたルートファイルシステムアーカイブを構築する
12. イメージファイルの書き換え方法
12.1. インストールディスクを使用する
12.1.1. インストールディスクの作成
12.1.2. インストールの実行(microSD カード)
12.1.3. インストールの実行(USB メモリ)
12.1.4. LED点灯パターンによるインストールの進捗表示
12.2. 特定のイメージファイルだけを書き換える
12.2.1. ブートローダーイメージの書き換え
12.2.2. Linuxカーネルイメージの書き換え
12.2.3. DTBの書き換え
12.2.4. ルートファイルシステムの書き換え
13. 開発の基本的な流れ
13.1. 軽量スクリプト言語によるデータの送信例(Ruby)
13.1.1. テスト用サーバーの実装
13.1.2. テスト用サーバーの動作確認
13.1.3. クライアントの実装
13.1.4. Armadilloへのファイルの転送
13.1.5. クライアントの実行
13.2. C言語による開発環境
13.2.1. 開発環境の準備
14. i.MX6ULL の電源制御方法
14.1. poweroffコマンドによる制御
14.2. RTC による制御
15. USBブートの活用
15.1. ブートディスクの作成
15.1.1. 手順:ブートディスクの作成例
15.2. ルートファイルシステムの構築
15.2.1. Debian GNU/Linuxのルートファイルシステムを構築する
15.3. LinuxカーネルイメージとDTBの配置
15.3.1. 手順:LinuxカーネルイメージおよびDTBの配置
15.4. USBブートの実行
16. SDブートの活用
16.1. ブートディスクの作成
16.1.1. 手順:ブートディスクの作成例
16.2. ルートファイルシステムの構築
16.2.1. Debian GNU/Linuxのルートファイルシステムを構築する
16.3. LinuxカーネルイメージとDTBの配置
16.3.1. 手順:LinuxカーネルイメージおよびDTBの配置
16.4. SDブートの実行
17. 電気的仕様
17.1. 絶対最大定格
17.2. 推奨動作条件
17.3. 入出力インターフェースの電気的仕様
17.4. 電源回路の構成
18. インターフェース仕様
18.1. インターフェースレイアウト
18.2. メインユニット CON1(SDインターフェース)
18.3. メインユニット CON2(LANインターフェース)
18.4. メインユニット LED1、LED2(LAN LED)
18.5. メインユニット CON3、CON4(シリアルインターフェース)
18.6. メインユニット CON5(USBホストインターフェース)
18.7. メインユニット CON12(電源インターフェース)
18.8. メインユニット LED3、LED4(ユーザーLED)
18.9. メインユニット SW1(ユーザースイッチ)
18.10. サブユニット CON1(LTE アンテナインターフェース)
18.11. サブユニット CON2(nanoSIM インターフェース)
18.12. サブユニット CON3(拡張インターフェース)
18.12.1. 動作モードと拡張インターフェース各機能の状態
18.13. サブユニット SW1(ユーザースイッチ)
19. 寸法図
20. オプション品
20.1. 3G/LTE用 外付けアンテナセット 04
20.1.1. 概要
20.1.2. セット内容
20.1.3. 組み立て方法
20.1.4. 形状図
20.2. Armadillo-IoTゲートウェイA6 U1モデル用 拡張I/Oボード01
20.2.1. 概要
20.2.2. セット内容
20.2.3. 仕様
20.2.4. ブロック図
20.2.5. インターフェース仕様
20.2.6. 組み立て方法
20.2.7. 端子台の使用方法
20.2.8. 形状図
20.2.9. 動作方法
21. 設計情報
21.1. 放射ノイズ
21.2. ESD/雷サージ
21.3. 外部電源電圧が5Vを超える環境でArmadillo-IoTゲートウェイA6を使う場合
22. Howto
22.1. Device Treeとは
22.2. イメージをカスタマイズする
22.2.1. イメージをカスタマイズ
22.3. Device Treeをカスタマイズする
22.3.1. at-dtwebのインストール
22.3.2. at-dtwebの起動
22.3.3. Device Treeをカスタマイズ
22.4. ルートファイルシステムへの書き込みと電源断からの保護機能
22.4.1. 保護機能の使用方法
22.4.2. 保護機能を使用する上での注意事項
22.5. eMMC の GPP(General Purpose Partition) を利用する
22.5.1. squashfs イメージを作成する
22.5.2. squashfs イメージを書き込む
22.5.3. GPP への書き込みを制限する
22.5.4. 起動時に squashfs イメージをマウントされるようにする
23. ユーザー登録
23.1. 購入製品登録
A. eFuse
A.1. ブートモードとジャンパーピン
A.1.1. ブートモードと JP2
A.1.2. ブートデバイスと JP1
A.2. eFuse の書き換え
A.3. Boot From Fusesモード
A.3.1. BT_FUSE_SEL
A.3.2. eMMC からのブートに固定
A.3.3. eFuse のロック

図目次

2.1. LTEモジュール:EMS31-J 認証マーク
3.1. Armadillo-IoT ゲートウェイ A6とは
3.2. Armadillo-IoT ゲートウェイ A6 C1モデルの外観
3.3. Armadillo-IoT ゲートウェイ A6 C1モデルの各部名称
3.4. Armadillo-IoT ゲートウェイ A6 U1モデルの外観
3.5. Armadillo-IoT ゲートウェイ A6 U1モデルの各部名称
3.6. Armadillo-IoT ゲートウェイ A6ブロック図
4.1. サブユニット固定ネジの取り外し
4.2. サブユニットの取り外し
4.3. ケースの組み立て
4.4. GNOME端末の起動
4.5. GNOME端末のウィンドウ
4.6. minicomの設定の起動
4.7. minicomの設定
4.8. minicomのシリアルポートの設定
4.9. 例. USB to シリアル変換ケーブル接続時のログ
4.10. minicomのシリアルポートのパラメータの設定
4.11. minicomシリアルポートの設定値
4.12. minicom起動方法
4.13. minicom終了確認
4.14. メインユニットインターフェースレイアウト(U1モデル)
4.15. メインユニットインターフェースレイアウト(C1モデル)
4.16. サブユニット インターフェースレイアウト
4.17. Armadillo-IoT ゲートウェイ A6 C1モデルの接続例
4.18. Armadillo-IoT ゲートウェイ A6 U1モデルの接続例
4.19. スライドスイッチの設定
4.20. viの起動
4.21. 入力モードに移行するコマンドの説明
4.22. 文字を削除するコマンドの説明
5.1. 電源投入直後のログ (U-Bootの環境変数が eMMC に無い場合)
5.2. 電源投入直後のログ (U-Bootの環境変数が eMMC にある場合)
5.3. ユーザの作成
5.4. パスワードの変更
5.5. sudo を許可
5.6. ユーザの削除
6.1. インターフェースの一覧確認
6.2. ネットワークデバイスの一覧確認
6.3. インターフェースの有効化
6.4. インターフェースの無効化
6.5. 固定IPアドレス設定
6.6. DHCP設定
6.7. DNSサーバーの指定
6.8. 有線LANのPING確認
6.9. nano SIM の取り付け
6.10. /etc/aiot-modem-control/startup.conf のフォーマット
6.11. 自動生成される /etc/wvdial.conf
6.12. 自動生成される /etc/wvdial.conf ユーザー名とパスワードが空欄の場合
6.13. aiot-modem-control コマンド書式
6.14. aiot-modem-control set-apn コマンドの例
6.15. aiot-modem-control dial コマンド
6.16. aiot-modem-control hangup コマンド
6.17. aiot-modem-control get-phone-number コマンド
6.18. aiot-modem-control get-signal-quality コマンド
6.19. aiot-modem-control wwan-force-restart コマンド
6.20. aiot-modem-control poweron コマンド
6.21. aiot-modem-control poweroff コマンド
6.22. aiot-modem-control set-psm enable コマンド
6.23. aiot-modem-control set-psm disable コマンド
6.24. aiot-modem-control set-psm default コマンド
6.25. aiot-modem-control set-edrx enable コマンド
6.26. aiot-modem-control set-edrx disable コマンド
6.27. aiot-modem-control set-edrx default コマンド
6.28. aiot-modem-control set-sleep enable コマンド例
6.29. aiot-modem-control set-sleep disable コマンド
6.30. aiot-modem-control set-suspend enable コマンド
6.31. aiot-modem-control set-suspend disable コマンド
6.32. aiot-modem-control activate コマンド
6.33. aiot-modem-control deactivate コマンド
6.34. aiot-modem-control send-at の例
6.35. aiot-modem-control send-at-echo の例
6.36. aiot-modem-control status コマンド
6.37. SMSの作成
6.38. SMS番号の確認
6.39. SMSの送信
6.40. SMSの表示
6.41. SMS一覧の表示
6.42. SMSリストの絞り込み表示
6.43. SMSの削除
6.44. SMSリストの絞り込み表示
6.45. SMSの削除
6.46. iptables設定確認
6.47. iptables設定保存
6.48. iptablesのポリシー設定(受信許可)とiptables-persistentのインストール
6.49. mountコマンド書式
6.50. ストレージのマウント
6.51. ストレージのアンマウント
6.52. fdiskコマンドによるパーティション変更
6.53. EXT4ファイルシステムの構築
6.54. LEDを点灯させる
6.55. LEDを消灯させる
6.56. LEDの状態を表示する
6.57. 対応している LEDトリガを表示
6.58. LEDのトリガにtimerを指定する
6.59. ユーザースイッチ: イベントの確認
6.60. システムクロックを設定
6.61. ハードウェアクロックを設定
6.62. GPIO クラスディレクトリを作成する
6.63. GPIO の入出力方向を設定する(INPUT に設定)
6.64. GPIO の入出力方向を設定する(OUTPUT に設定)
6.65. GPIO の入力レベルを取得する
6.66. GPIO の出力レベルを設定する
7.1. 状態遷移図
7.2. aiot-alarm-poweroff コマンド書式
7.3. aiot-set-wake-trigger コマンド書式 (RTCアラーム割り込み以外での起床のとき)
7.4. aiot-set-wake-trigger コマンド書式 (RTCアラーム割り込みでの起床の場合)
7.5. スリープモードの遷移・起床時に実行されるスクリプトの例
10.1. U-Bootの起動
10.2. U-Bootコマンドのヘルプを表示
10.3. U-Bootコマンドのヘルプを表示
10.4. envコマンドのヘルプを表示
10.5. mmcコマンドのヘルプを表示
10.6. 全ての環境変数をデフォルト値に戻す
11.1. 出荷状態のルートファイルシステムアーカイブを構築する手順
11.2. 誤ったパッケージ名を指定した場合に起きるエラーメッセージ
13.1. ruby と sinatra のインストール
13.2. テスト用サーバー (server.rb)
13.3. IPアドレスの確認 (ipコマンド)
13.4. curl のインストール
13.5. curl によるテストデータの送信
13.6. ATDE8 におけるテストデータの受信表示
13.7. 時刻送信クライアント(client.rb)
13.8. Armadillo へのSSHサーバーのインストール
13.9. ATDE8 から Armadillo への client.rb の転送
13.10. ruby のインストール
13.11. クライアントの実行方法
13.12. ATDE8 における時刻データの受信表示
13.13. ツールチェーンのインストール
13.14. 開発用パッケージのインストールの例 (libsslの場合)
14.1. poweroff コマンドによる電源 OFF
14.2. i.MX6ULLの電源をOFFにし、1分後に電源をONにする手順
15.1. 自動マウントされたUSBメモリのアンマウント
16.1. 自動マウントされたmicroSDカードのアンマウント
17.1. 電源回路の構成
18.1. Armadillo-IoT A6 メインユニット インターフェースレイアウト(U1モデル)
18.2. Armadillo-IoT A6 メインユニット インターフェースレイアウト(C1モデル)
18.3. Armadillo-IoT ゲートウェイ A6 サブユニット インターフェースレイアウト
18.4. USB OTG2の接続先の変更
18.5. USBホストインターフェースの電源制御
18.6. ACアダプタの極性マーク
18.7. スライドスイッチの設定
19.1. 筐体寸法図
19.2. 基板寸法図
20.1. 外付けアンテナケーブルの引き抜き方法
20.2. アンテナ形状
20.3. アンテナケーブル形状
20.4. Armadillo-IoTゲートウェイA6 U1モデル用 拡張I/Oボード01 ブロック図
20.5. Armadillo-IoTゲートウェイA6 U1モデル用 拡張I/Oボード01 インターフェースレイアウト
20.6. CON3 デジタル入力部
20.7. CON3 デジタル出力部
20.8. RS485 トランシーバ周辺回路
20.9. 組み立て図
20.10. 完成図
20.11. 基板形状およびコネクタ中心寸法
20.12. 固定穴寸法
20.13. 組立後固定穴寸法
22.1. at-dtwebの起動開始
22.2. ボード選択画面
22.3. Linuxカーネルディレクトリ選択画面
22.4. at-dtweb起動画面
22.5. I2C3(SCL/SDA)のドラッグ
22.6. サブユニット CON3 9,11 ピンへのドロップ
22.7. 信号名の確認
22.8. プロパティの設定
22.9. プロパティの保存
22.10. 全ての機能の削除
22.11. ECSPI4(SCLK/MOSI/MISO/SS0)の削除
22.12. DTS/DTBの生成
22.13. DTS/DTBの生成完了
22.14. squashfs イメージの作成
22.15. mmc-utilsのインストール
22.16. eMMC の GPP に Temporary Write Protection をかける

表目次

1.1. 使用しているフォント
1.2. 表示プロンプトと実行環境の関係
1.3. コマンド入力例での省略表記
2.1. LTEモジュール:EMS31-J 適合証明情報
3.1. Armadillo-IoT ゲートウェイ A6ラインアップ
3.2. 仕様
3.3. C1モデル各部名称と機能
3.4. U1モデル各部名称と機能
3.5. Armadillo-IoT ゲートウェイ A6で利用可能なソフトウェア
3.6. eMMCメモリマップ
3.7. eMMC(GPP)メモリマップ
4.1. ケースの組み立て
4.2. アンテナコネクタ形状
4.3. ユーザー名とパスワード
4.4. 動作確認に使用する取り外し可能デバイス
4.5. シリアル通信設定
4.6. メインユニット インターフェース内容
4.7. サブユニット インターフェース内容
4.8. 入力モードに移行するコマンド
4.9. カーソルの移動コマンド
4.10. 文字の削除コマンド
4.11. 保存・終了コマンド
5.1. パスワードに設定可能な値
6.1. ネットワークとネットワークデバイス
6.2. 固定IPアドレス設定例
6.3. fix_profile 設定可能パラメーター
6.4. sleep 設定可能パラメーター
6.5. suspend 設定可能パラメーター
6.6. psm 設定可能パラメーター
6.7. psm tau,act-time 設定可能パラメーター
6.8. edrx 設定可能パラメーター
6.9. edrx pcl,ptw 設定可能パラメーター
6.10. register_check_interval 設定可能パラメーター
6.11. aiot-modem-control コマンド一覧
6.12. get-signal-quality 戻り値の意味
6.13. set-psm tau act-time 設定可能パラメーター
6.14. set-edrx pcl ptw 設定可能パラメーター
6.15. status 表示内容
6.16. aiot-modem-control 処理結果
6.17. aiot-modem-control list-sms 指定可能ステータス
6.18. aiot-modem-control delete-sms 指定可能ステータス
6.19. aiot-modem-control set-sms-storage 指定可能ストレージ
6.20. ストレージデバイス
6.21. eMMCのGPPの用途
6.22. LEDクラスディレクトリとLEDの対応
6.23. LEDトリガの種類
6.24. インプットデバイスファイルとイベントコード
6.25. 時刻フォーマットのフィールド
6.26. サブユニット CON3 ピンと GPIO 番号の対応
6.27. direction の設定
7.1. aiot-modem-control TRIGGER一覧
8.1. Linuxカーネル主要設定
8.2. Linuxカーネルのデフォルト起動オプション
8.3. キーコード
8.4. I2C デバイス
8.5. 対応するパワーマネジメント状態
10.1. ブートローダー起動モード
10.2. 各種スイッチの状態とブートローダー起動モード
12.1. インストールディスク作成に使用するファイル
12.2. インストールの進捗とLED点灯パターン
12.3. イメージファイルと書き込み先の対応
15.1. ブートディスクの構成例
15.2. ルートファイルシステムの構築に使用するファイル
15.3. ブートディスクの作成に使用するファイル
15.4. ブートローダーがLinuxカーネルを検出可能な条件
16.1. ブートディスクの作成に使用するファイル
16.2. ブートディスクの構成例
16.3. ルートファイルシステムの構築に使用するファイル
16.4. ブートディスクの作成に使用するファイル
16.5. ブートローダーがLinuxカーネルを検出可能な条件
17.1. 絶対最大定格
17.2. 推奨動作条件
17.3. 入力インターフェース(電源)の電気的仕様
17.4. 出力インターフェース(電源)の電気的仕様
17.5. 入出力インターフェースの電気的仕様(OVDD = VCC_3.3V)
18.1. Armadillo-IoT ゲートウェイ A6 メインユニット インターフェース一覧
18.2. Armadillo-IoT ゲートウェイ A6 サブユニット インターフェース一覧
18.3. メインユニット CON1 信号配列
18.4. メインユニット CON2 信号配列
18.5. LAN LEDの動作
18.6. メインユニット CON3 信号配列
18.7. メインユニット CON4 信号配列
18.8. メインユニット CON5 信号配列
18.9. メインユニット LED3、LED4
18.10. メインユニット SW1 信号配列
18.11. サブユニット CON2 信号配列
18.12. サブユニット CON3 信号配列
18.13. 動作モードと拡張インターフェース各機能の状態
20.1. Armadillo-IoT ゲートウェイ A6関連のオプション品
20.2. Armadillo-IoTゲートウェイA6 U1モデル用 拡張I/Oボード01の仕様
20.3. 搭載コネクタ、スイッチ型番一覧
20.4. CON1 信号配列
20.5. CON3 信号配列
20.6. CON4 信号配列
20.7. SW1 機能
20.8. 端子台に接続可能な電線
20.9. 拡張 I/O ボード CON3 ピンと GPIO 番号の対応
20.10. 12V電源時シャットダウン消費電力(参考)
21.1. 5V電圧レギュレータモジュールリスト
A.1. GPIO override と eFuse
A.2. ブートデバイスと eFuse
A.3. オンボード eMMC のスペック