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


目次

1. はじめに
1.1. 本書について
1.1.1. 本書で扱うこと
1.1.2. 本書で扱わないこと
1.1.3. 本書で必要となる知識と想定する読者
1.1.4. 本書の構成
1.1.5. フォント
1.1.6. コマンド入力例
1.1.7. アイコン
1.1.8. ユーザー限定コンテンツ
1.1.9. 本書および関連ファイルのバージョンについて
1.2. 注意事項
1.2.1. 安全に関する注意事項
1.2.2. 取扱い上の注意事項
1.2.3. 製品の保管について
1.2.4. ソフトウェア使用に関しての注意事項
1.2.5. 電波障害について
1.2.6. 保証について
1.2.7. 輸出について
1.2.8. 商標について
1.2.9. 無線モジュールの安全規制について
1.3. 謝辞
2. 製品概要
2.1. 製品の特長
2.1.1. Armadilloとは
2.1.2. Armadillo-IoT ゲートウェイ G4とは
2.1.3. Armadillo Base OSとは
2.1.4. Armadillo Base OSのメンテナンスポリシーとアップデートの推奨
2.1.5. Armadillo Twin とは
2.2. 製品ラインアップ
2.2.1. Armadillo-IoTゲートウェイ G4 開発セット
2.2.2. Armadillo-IoTゲートウェイ G4 量産用、量産ボード
2.3. 仕様
2.4. インターフェースレイアウト
2.5. ブロック図
2.6. 使用可能なストレージデバイス
2.7. ストレージデバイスのパーティション構成
2.8. ソフトウェアのライセンス
3. 開発編
3.1. アプリケーション開発の流れ
3.2. 開発前に知っておくべき Armadillo Base OS の機能・特徴
3.2.1. 一般的な Linux OS 搭載組み込み機器との違い
3.2.2. Armadillo Base OS 搭載機器のソフトウェア開発手法
3.2.3. アップデート機能について
3.2.4. ファイルの取り扱いについて
3.2.5. インストールディスクについて
3.3. 開発の準備
3.3.1. 準備するもの
3.3.2. 開発環境のセットアップ
3.3.3. Armadilloの起動
3.3.4. VSCodeのセットアップ
3.3.5. VSCode を使用して Armadillo のセットアップを行う
3.3.6. ユーザー登録
3.4. ハードウェアの設計
3.4.1. 信頼性試験データについて
3.4.2. 放射ノイズ
3.4.3. ESD/雷サージ
3.4.4. 放熱
3.4.5. CON11、 CON12(拡張インターフェース)
3.4.6. 拡張ボードの設計
3.4.7. 回路設計
3.4.8. 電気的仕様
3.4.9. 形状図
3.4.10. オプション品
3.5. Device Treeをカスタマイズする
3.5.1. Linux カーネルソースコードの取得
3.5.2. at-dtweb のインストール
3.5.3. at-dtweb の起動
3.5.4. Device Tree をカスタマイズ
3.5.5. DT overlay によるカスタマイズ
3.6. インターフェースの使用方法とデバイスの接続方法
3.6.1. SDカードを使用する
3.6.2. Ethernet を使用する
3.6.3. USB デバイスを使用する
3.6.4. JTAG デバッガを使用する
3.6.5. WLAN を使用する
3.6.6. BT デバイスを使用する
3.6.7. PCI Express デバイスを使用する
3.6.8. UART を使用する
3.6.9. HDMI を使用する
3.6.10. 音声出力を行う
3.6.11. LVDS を使用する
3.6.12. MIPI CSI-2 カメラを使用する
3.6.13. GPIO を制御する
3.6.14. I2C デバイスを使用する
3.6.15. SPI デバイスを使用する
3.6.16. CAN デバイスを使用する
3.6.17. PWM を使用する
3.6.18. I2S(SAI) を使用する
3.6.19. PDM マイクを使用する
3.6.20. RTC を使用する
3.6.21. 電源を入力する
3.6.22. 起動デバイスを変更する
3.6.23. ユーザースイッチを使用する
3.6.24. LED を使用する
3.6.25. LTE を使用する
3.6.26. Wi-SUN デバイスを扱う
3.6.27. EnOcean デバイスを扱う
3.7. ソフトウェアの設計
3.7.1. 開発者が開発するもの、開発しなくていいもの
3.7.2. ユーザーアプリケーションの設計
3.7.3. ログの設計
3.7.4. ウォッチドッグタイマー
3.8. ネットワーク設定
3.8.1. ABOS Web とは
3.8.2. ABOS Web へのアクセス
3.8.3. ABOS Web のパスワード登録
3.8.4. ABOS Web の設定操作
3.8.5. ログアウト
3.8.6. WWAN設定
3.8.7. WLAN 設定
3.8.8. 各接続設定(各ネットワークインターフェースの設定)
3.8.9. DHCPサーバー設定
3.8.10. NAT設定
3.8.11. 状態一覧
3.9. ABOS Web をカスタマイズする
3.10. Network Time Protocol (NTP, ネットワーク・タイム・プロトコル) の設定
3.11. Armadillo Twin を体験する
3.12. ABOSDEによるアプリケーションの開発
3.12.1. ABOSDEの対応言語
3.12.2. 参照する開発手順の章の選択
3.13. GUI アプリケーションの開発
3.13.1. Flutter とは
3.13.2. Flutter を用いた開発の流れ
3.13.3. ATDE 上でのセットアップ
3.13.4. コンテナのディストリビューション
3.13.5. Armadillo に転送するディレクトリ及びファイル
3.13.6. Armadillo 上でのセットアップ
3.13.7. アプリケーション開発
3.13.8. 動作確認
3.13.9. 製品への書き込み
3.13.10. Armadillo 上のコンテナイメージの削除
3.14. CUI アプリケーションの開発
3.14.1. CUI アプリケーション開発の流れ
3.14.2. ATDE 上でのセットアップ
3.14.3. アプリケーション開発
3.14.4. コンテナのディストリビューション
3.14.5. Armadillo に転送するディレクトリ及びファイル
3.14.6. Armadillo 上でのセットアップ
3.14.7. リリース版のビルド
3.14.8. 製品への書き込み
3.14.9. Armadillo 上のコンテナイメージの削除
3.15. C 言語によるアプリケーションの開発
3.15.1. C 言語によるアプリケーション開発の流れ
3.15.2. ATDE 上でのセットアップ
3.15.3. アプリケーション開発
3.15.4. コンテナのディストリビューション
3.15.5. Armadillo に転送するディレクトリ及びファイル
3.15.6. Armadillo 上でのセットアップ
3.15.7. リリース版のビルド
3.15.8. 製品への書き込み
3.15.9. Armadillo 上のコンテナイメージの削除
3.16. システムのテストを行う
3.16.1. ランニングテスト
3.16.2. 異常系における挙動のテスト
4. 量産編
4.1. 概略
4.1.1. Armadillo Twin を契約する
4.1.2. リードタイムと在庫
4.1.3. Armaidllo 納品後の製造・量産作業
4.2. BTO サービスを使わない場合と使う場合の違い
4.2.1. BTO サービスを利用しない(標準ラインアップ品)
4.2.2. BTO サービスを利用する
4.3. 量産時のイメージ書き込み手法
4.4. インストールディスクを用いてイメージ書き込みする
4.4.1. /etc/swupdate_preserve_fileへの追記
4.4.2. Armadillo Base OSの更新
4.4.3. パスワードの確認と変更
4.4.4. 開発したシステムをインストールディスクにする
4.4.5. VSCode を使用して生成する
4.4.6. インストールディスクの動作確認を行う
4.4.7. コマンドラインから生成する
4.4.8. インストールの実行
4.5. SWUpdate を用いてイメージ書き込みする
4.5.1. SWU イメージの準備
4.5.2. descファイルの記述
4.6. イメージ書き込み後の動作確認
4.7. 量産時の組み立て
4.7.1. 拡張ボードの組み付け
4.7.2. オプションケース(金属製)への組み付け
5. 運用編
5.1. Armadillo Twin に Armadillo を登録する
5.1.1. Armadillo の設置前に登録する場合
5.1.2. Armadillo の設置後に登録する場合
5.2. Armadillo を設置する
5.2.1. 設置場所
5.2.2. ケーブルの取り回し
5.2.3. 無線 LAN/BT 用外付けアンテナの指向性
5.2.4. LTE 外付け用アンテナの指向性
5.2.5. LTE の電波品質に影響する事項
5.2.6. サージ対策
5.2.7. Armadillo の状態を表すインジケータ
5.2.8. 個体識別情報の取得
5.2.9. 電源を切る
5.3. ABOSDE で開発したアプリケーションをアップデートする
5.3.1. アプリケーションのアップデート手順
5.4. Armadillo のソフトウェアをアップデートする
5.4.1. SWUイメージの作成
5.4.2. mkswu の desc ファイルを作成する
5.4.3. desc ファイルから SWU イメージを生成する
5.4.4. イメージのインストール
5.5. Armadillo Twin から複数の Armadillo をアップデートする
5.6. hawkBit サーバーから複数の Armadillo をアップデートする
5.6.1. hawkBitとは
5.6.2. データ構造
5.6.3. hawkBitサーバーから複数のArmadilloに配信する
5.7. eMMC の寿命を確認する
5.7.1. eMMC について
5.7.2. eMMC 予備領域の確認方法
5.8. Armadillo の部品変更情報を知る
5.9. Armadillo を廃棄する
6. 応用編
6.1. persist_file について
6.2. コンテナ
6.2.1. Podman - コンテナ仮想化ソフトウェアとは
6.2.2. コンテナの基本的な操作
6.2.3. コンテナとコンテナに関連するデータを削除する
6.2.4. コンテナ起動設定ファイルを作成する
6.2.5. アットマークテクノが提供するイメージを使う
6.2.6. alpine のコンテナイメージをインストールする
6.2.7. コンテナのネットワークを扱う
6.2.8. コンテナ内にサーバを構築する
6.2.9. 画面表示を行う
6.2.10. パワーマネジメント機能を使う
6.2.11. コンテナからのpoweroff及びreboot
6.2.12. 異常検知
6.2.13. NPU を扱う
6.3. swupdate がエラーする場合の対処
6.4. mkswu の .desc ファイルを編集する
6.4.1. インストールバージョンを指定する
6.4.2. Armadillo へファイルを転送する
6.4.3. Armadillo 上で任意のコマンドを実行する
6.4.4. Armadillo にファイルを転送し、そのファイルをコマンド内で使用する
6.4.5. 起動中の Armadillo で任意のコマンドを実行する
6.4.6. Armadillo にコンテナイメージを転送する
6.4.7. Armadillo のブートローダーを更新する
6.4.8. SWU イメージの設定関連
6.4.9. Armadillo 上のコンテナイメージと自動起動用confファイルを削除する
6.4.10. SWUpdate 実行中/完了後の挙動を指定する
6.4.11. desc ファイル設定例
6.5. swupdate_preserve_files について
6.6. SWU イメージの内容の確認
6.7. SWUpdate と暗号化について
6.8. Web UI から Armadillo をセットアップする (ABOS Web)
6.8.1. ABOS Web ではできないこと
6.8.2. ABOS Web の設定機能一覧と設定手順
6.8.3. コンテナ管理
6.8.4. SWUインストール
6.8.5. 時刻設定
6.8.6. アプリケーション向けのインターフェース (Rest API)
6.8.7. カスタマイズ
6.9. ABOSDE から ABOS Web の機能を使用する
6.9.1. Armadillo の SWU バージョンを取得する
6.9.2. Armadillo のコンテナの情報を取得する
6.9.3. Armadillo のコンテナを起動・停止する
6.9.4. Armadillo のコンテナのログを取得する
6.9.5. Armadillo に SWU をインストールする
6.10. VPU や NPU を使用する
6.10.1. Armadillo へ書き込むためのライブラリイメージを作成する
6.10.2. Armadillo にライブラリイメージを書き込む
6.10.3. ライブラリイメージのバージョンを確認する
6.10.4. コンテナ内からライブラリを使用するための準備
6.11. マルチメディアデータを扱う
6.11.1. GStreamer - マルチメディアフレームワーク
6.11.2. GStreamer 実行用コンテナを作成する
6.11.3. GStreamer パイプラインの実行例
6.11.4. 動画を再生する
6.11.5. ストリーミングデータを再生する
6.11.6. USB カメラからの映像を表示する
6.11.7. USBカメラからの映像を録画する
6.11.8. Video Processing Unit(VPU)
6.12. デモアプリケーションを実行する
6.12.1. コンテナを作成する
6.12.2. デモアプリケーションランチャを起動する
6.12.3. mediaplayer
6.12.4. video recoder
6.12.5. led switch tester
6.12.6. rtc tester
6.12.7. object detection demo
6.12.8. pose estimation demo
6.12.9. image segmentation demo
6.12.10. super resolution demo
6.12.11. hand estimation demo
6.12.12. screw detection demo
6.13. SMS を利用する
6.13.1. 初期設定
6.13.2. SMS を送信する
6.13.3. SMS を受信する
6.13.4. SMS 一覧を表示する
6.13.5. SMS の内容を表示する
6.13.6. SMS を削除する
6.13.7. SMS を他のストレージに移動する
6.14. ssh 経由で Armadillo Base OS にアクセスする
6.15. コマンドラインからネットワーク設定をする
6.15.1. 接続可能なネットワーク
6.15.2. IP アドレスの確認方法
6.15.3. ネットワークの設定方法
6.15.4. nmcli の基本的な使い方
6.15.5. 有線 LAN
6.15.6. 無線 LAN
6.15.7. 3G/LTE
6.16. コマンドラインから無線 LAN でネットワークを構成する
6.16.1. 無線 LAN アクセスポイント (AP) に接続する
6.16.2. 無線 LAN アクセスポイント (AP) として設定する
6.16.3. ルータとして設定する
6.17. ストレージの操作
6.17.1. ストレージ内にアクセスする
6.17.2. ストレージを安全に取り外す
6.17.3. ストレージのパーティション変更とフォーマット
6.18. ボタンやキーを扱う
6.18.1. SW1 の短押しと長押しの対応
6.18.2. USB キーボードの対応
6.18.3. Armadillo 起動時にのみボタンに反応する方法
6.19. 動作中の Armadillo の温度を測定する
6.19.1. 温度測定の重要性
6.19.2. atmark-thermal-profiler をインストールする
6.19.3. atmark-thermal-profiler を実行・停止する
6.19.4. atmark-thermal-profiler が出力するログファイルを確認する
6.19.5. 温度測定結果の分析
6.19.6. Armadillo Twin から Armadillo の温度を確認する
6.19.7. 温度センサーの仕様
6.20. Armadillo Base OS をアップデートする
6.21. ロールバック状態を確認する
6.22. Armadillo 起動時にコンテナの外でスクリプトを実行する
6.23. u-boot の環境変数の設定
6.24. SDブートの活用
6.24.1. ブートディスクの作成
6.24.2. SDブートの実行
6.25. Armadilloのソフトウェアをビルドする
6.25.1. ブートローダーをビルドする
6.25.2. Linux カーネルをビルドする
6.25.3. Alpine Linux ルートファイルシステムをビルドする
6.25.4. ビルドしたルートファイルシステムの SBOM を作成する
6.26. eMMC のデータリテンション
6.26.1. データリテンションの設定
6.26.2. より詳しくデータリテンションの統計情報を確認するには
6.26.3. 実装仕様に関する技術情報
6.27. Linuxカーネルがクラッシュしたときにメモリの状態を保存する
6.27.1. Kdumpを利用する準備
6.27.2. Kdumpの動作確認
6.27.3. vmcoreの確認
6.28. 動作ログ
6.28.1. 動作ログについて
6.28.2. 動作ログを取り出す
6.28.3. ログファイルのフォーマット
6.28.4. ログ用パーティションについて
6.29. viエディタを使用する
6.29.1. viの起動
6.29.2. 文字の入力
6.29.3. カーソルの移動
6.29.4. 文字の削除
6.29.5. 保存と終了
6.30. オプション品
6.30.1. オプションケース(金属製)
6.30.2. 3G/LTE用外付けアンテナ、アンテナケーブル
6.30.3. 無線LAN/BT用外付けアンテナ、アンテナケーブル
6.30.4. Armadillo-X2、G4 ケースモデル VESA規格固定用プレート

図目次

1.1. 製品化までのロードマップ
1.2. 3G/LTEモジュール:EC25-J 認証マーク
1.3. WLAN+BTコンボモジュール:AW-XM458 認証マーク
2.1. Armadillo-IoT ゲートウェイ G4とは
2.2. エッジAI処理、機械学習の例
2.3. Armadillo Base OSとは
2.4. コンテナによるアプリケーションの運用
2.5. ロールバックの仕組み
2.6. Armadillo Twin とは
2.7. インターフェースレイアウト (ケース内部)
2.8. インターフェースレイアウト (ケース正面)
2.9. インターフェースレイアウト LTEモデル(ケース内部)
2.10. インターフェースレイアウト LTEモデル(ケース正面)
2.11. インターフェースレイアウト アンテナ接続位置
2.12. ブロック図
2.13. ブロック図(LTEモデル追加分)
3.1. アプリケーション開発の流れ
3.2. persist_file コマンド実行例
3.3. chattr によって copy-on-write を無効化する例
3.4. GNOME端末の起動
3.5. GNOME端末のウィンドウ
3.6. minicomの設定の起動
3.7. minicomの設定
3.8. minicomのシリアルポートの設定
3.9. 例. シリアル通信用USBケーブル(A-microB)接続時のログ
3.10. minicomのシリアルポートのパラメータの設定
3.11. minicomシリアルポートの設定値
3.12. minicom起動方法
3.13. minicom終了確認
3.14. Armadillo-IoT ゲートウェイ G4の接続例
3.15. COM7が競合している状態
3.16. Bletoothに割当のCOMを変更した状態
3.17. 3G/LTE用アンテナおよびnanoSIMカード接続例
3.18. JP1の位置
3.19. ソフトウェアをアップデートする
3.20. VSCode を起動する
3.21. VSCode に開発用エクステンションをインストールする
3.22. ビルドツール実行前の準備
3.23. ビルドツールの実行
3.24. initial_setup.swu を作成する
3.25. initial_setup.swu 初回生成時の各種設定
3.26. Armadillo-IoT ゲートウェイ G4のIC1とヒートシンク固定穴の位置
3.27. Armadillo-IoT ゲートウェイ G4の拡張インターフェース
3.28. Armadillo-IoT ゲートウェイ G4の拡張ボード例
3.29. スイッチ、LED、リレー接続例
3.30. DC/DCコンバータ回路(VDD_5V入力、3.3V 1.5A出力)例
3.31. 1.8V ←→ 3.3V 双方向レベル変換回路の例
3.32. 電源回路の構成
3.33. 電源シーケンス
3.34. リセット回路の構成
3.35. リセットシーケンス
3.36. ONOFF回路の構成
3.37. 基板形状図
3.38. 基板形状図(LTE モデル 追加分)
3.39. at-dtweb の起動開始
3.40. ボード選択画面
3.41. Linux カーネルディレクトリ選択画面
3.42. at-dtweb 起動画面
3.43. UART3(RXD/TXD) のドラッグ
3.44. CON11 8/10 ピンへのドロップ
3.45. 信号名の確認
3.46. プロパティの設定
3.47. プロパティの保存
3.48. 全ての機能の削除
3.49. I2C5(SCL/SDA) の削除
3.50. DTS/DTB の生成
3.51. DTS/DTB の生成完了
3.52. dtbo/desc の生成完了
3.53. /boot/overlays.txt の変更例
3.54. DT overlay を作成する例
3.55. Armadillo-IoT ゲートウェイ G4のインターフェース
3.56. Armadillo-IoT ゲートウェイ G4 インターフェース LTEモデル追加分
3.57. CON1 microSDスロット 取り扱い上の注意事項
3.58. CON2 LAN LED配置
3.59. CON3 LAN LED配置
3.60. USB シリアルデバイスを扱うためのコンテナ作成例
3.61. setserial コマンドによるUSBシリアルデバイス設定の確認例
3.62. USB カメラを扱うためのコンテナ作成例
3.63. USB メモリをホスト OS 側でマウントする例
3.64. ホスト OS 側でマウント済みの USB メモリを扱うためのコンテナ作成例
3.65. USB メモリに保存されているデータの確認例
3.66. USB メモリをマウントするためのコンテナ作成例
3.67. コンテナ内から USB メモリをマウントする例
3.68. WLAN+BTコンボモジュール アンテナケーブル接続用レセプタクルの配置
3.69. Bluetooth を扱うコンテナの作成例
3.70. Bluetooth を起動する実行例
3.71. bluetoothctl コマンドによるスキャンとペアリングの例
3.72. シリアルインターフェースを扱うためのコンテナ作成例
3.73. setserial コマンドによるシリアルインターフェイス設定の確認例
3.74. 音声出力を行うためのコンテナ作成例
3.75. alsa-utils による音声出力を行う例
3.76. CON10 接続可能なフレキシブルフラットケーブルの形状
3.77. GPIO を扱うためのコンテナ作成例
3.78. コンテナ内からコマンドで GPIO を操作する例
3.79. gpiodetect コマンドの実行
3.80. gpioinfo コマンドの実行
3.81. I2C を扱うためのコンテナ作成例
3.82. i2cdetect コマンドによる確認例
3.83. SPI を扱うためのコンテナ作成例
3.84. spi-config コマンドによる確認例
3.85. CAN を扱うためのコンテナ作成例
3.86. CAN の設定例
3.87. PWM を扱うためのコンテナ作成例
3.88. PWM の動作設定例
3.89. RTC を扱うためのコンテナ作成例
3.90. hwclock コマンドによるRTCの時刻表示と設定例
3.91. ACアダプタの極性マーク
3.92. ユーザースイッチのイベントを取得するためのコンテナ作成例
3.93. evtest コマンドによる確認例
3.94. LED を扱うためのコンテナ作成例
3.95. LED の点灯/消灯の実行例
3.96. LED の状態を表示する
3.97. 対応している LED トリガを表示
3.98. LEDのトリガに heartbeat を指定する
3.99. EC25-J の状態表示
3.100. EC25-J をリセットまたは電源を入れる
3.101. EC25-J の電源を切る
3.102. Wi-SUN デバイスを扱うためのコンテナ作成例
3.103. EnOcean デバイスを扱うためのコンテナ作成例
3.104. 開発者が開発するもの、開発しなくていいもの
3.105. 現在の面の確認方法
3.106. ABOSDE で ローカルネットワーク上の Armadillo をスキャンする
3.107. ABOSDE を使用して ABOS Web を開く
3.108. ABOSDE に表示されている Armadillo を更新する
3.109. パスワード登録画面
3.110. パスワード登録完了画面
3.111. ログイン画面
3.112. トップページ
3.113. WWAN設定画面
3.114. WLAN クライアント設定画面
3.115. WLAN アクセスポイント設定画面
3.116. 現在の接続情報画面
3.117. LAN 接続設定で固定 IP アドレスに設定した画面
3.118. eth0 に対する DHCP サーバー設定
3.119. LTE を宛先インターフェースに指定した設定
3.120. LTE からの受信パケットに対するポートフォワーディング設定
3.121. VPN 設定
3.122. ABOS Web のカスタマイズ設定
3.123. メニュー変更画面 (一部)
3.124. chronyd のコンフィグの変更例
3.125. 参照する開発手順の章を選択する流れ
3.126. Flutter アプリケーションの例
3.127. Flutter アプリケーション開発の流れ
3.128. Flutter Demo アプリケーションの画面
3.129. GUI アプリケーションの画面
3.130. Signage アプリケーションの画面
3.131. Factory Signage アプリケーションの画面
3.132. GUI アプリケーションのプロジェクトを作成する
3.133. プロジェクト名を入力する
3.134. 初期設定を行う
3.135. VSCode で初期設定を行う
3.136. VSCode のターミナル
3.137. SSH 用の鍵を生成する
3.138. VSCode でコンテナイメージの作成を行う
3.139. コンテナイメージの作成完了
3.140. my_project へ移動して VSCode を起動する。
3.141. ATDE 上で Debug モードでビルドしたアプリケーションを実行する
3.142. 起動したサンプルアプリケーション
3.143. ATDE 上で Release モードでビルドしたアプリケーションを実行する
3.144. dart_periphery パッケージをインストールする例
3.145. video_player パッケージをインストールする例
3.146. dart_periphery パッケージをアンインストールする例
3.147. ABOSDE で ローカルネットワーク上の Armadillo をスキャンする
3.148. ABOSDE を使用して ssh 接続に使用する IP アドレスを設定する
3.149. ABOSDE に表示されている Armadillo を更新する
3.150. ssh_config を編集する
3.151. Armadillo 上で Debug モードでビルドしたアプリケーションを実行する
3.152. 実行時に表示されるメッセージ
3.153. アプリケーションを終了する
3.154. Armadillo 上で Release モードでビルドしたアプリケーションを実行する
3.155. ホットリロード機能を使う
3.156. SWU イメージを作成する
3.157. CUI アプリケーション開発の流れ
3.158. プロジェクトを作成する
3.159. プロジェクト名を入力する
3.160. VSCode で my_project を起動する
3.161. 初期設定を行う
3.162. VSCode で初期設定を行う
3.163. VSCode のターミナル
3.164. SSH 用の鍵を生成する
3.165. VSCode でコンテナイメージの作成を行う
3.166. コンテナイメージの作成完了
3.167. ABOSDE で ローカルネットワーク上の Armadillo をスキャンする
3.168. ABOSDE を使用して ssh 接続に使用する IP アドレスを設定する
3.169. ABOSDE に表示されている Armadillo を更新する
3.170. ssh_config を編集する
3.171. Armadillo 上でアプリケーションを実行する
3.172. 実行時に表示されるメッセージ
3.173. アプリケーションを終了する
3.174. リリース版をビルドする
3.175. C 言語によるアプリケーション開発の流れ
3.176. プロジェクトを作成する
3.177. プロジェクト名を入力する
3.178. VSCode で my_project を起動する
3.179. 初期設定を行う
3.180. VSCode で初期設定を行う
3.181. VSCode のターミナル
3.182. SSH 用の鍵を生成する
3.183. C 言語による開発における packages.txt の書き方
3.184. VSCode でコンテナイメージの作成を行う
3.185. コンテナイメージの作成完了
3.186. ABOSDE で ローカルネットワーク上の Armadillo をスキャンする
3.187. ABOSDE を使用して ssh 接続に使用する IP アドレスを設定する
3.188. ABOSDE に表示されている Armadillo を更新する
3.189. ssh_config を編集する
3.190. Armadillo 上でアプリケーションを実行する
3.191. 実行時に表示されるメッセージ
3.192. アプリケーションを終了する
3.193. リリース版をビルドする
3.194. メモリの空き容量の確認方法
4.1. Armadillo 量産時の概略図
4.2. BTO サービスで対応する範囲
4.3. 任意のファイルパスを/etc/swupdate_preserve_filesに追記する
4.4. Armadillo Base OSをアップデートする
4.5. パスワードを変更する
4.6. make-installer.swu を作成する
4.7. 対象製品を選択する
4.8. make-installer.swu 生成時のログ
4.9. make-installer.swu インストール時のログ
4.10. 開発完了後のシステムをインストールディスクイメージにする
4.11. ip_config.txtの内容
4.12. IPアドレスの確認
4.13. allocated_ips.csvの内容
4.14. インストールログを保存する
4.15. インストールログの中身
4.16. Armadilloに書き込みたいソフトウェアをATDEに配置
4.17. descファイルの記述例
4.18. オプションケース(金属製) 放熱シート貼付
4.19. オプションケース(金属製) 放熱シート貼付(WLAN+BTコンボモジュール搭載モデル)
4.20. オプションケース(金属製) ケース(下)ねじ止め
4.21. オプションケース(金属製) ケース嵌め合わせ
4.22. オプションケース(金属製) ケース(上)ねじ止め
5.1. 無線 LAN/BT 用外付けアンテナの指向性
5.2. LTE 外付け用アンテナの指向性
5.3. 個体番号の取得方法(device-info)
5.4. device-infoのインストール方法
5.5. 個体番号の取得方法(get-board-info)
5.6. 個体番号の環境変数をconfファイルに追記
5.7. コンテナ上で個体番号を確認する方法
5.8. MAC アドレスの確認方法
5.9. 出荷時のEthernet MAC アドレスの確認方法
5.10. VScode を起動
5.11. desc ファイルから Armadillo へ SWU イメージをインストールする流れ
5.12. コンテナイメージアーカイブ作成例
5.13. sample_container_update.desc の内容
5.14. sample_container_update.desc の内容
5.15. hawkBitが扱うソフトウェアのデータ構造
5.16. hawkBit コンテナのTLSなしの場合(テスト用)の実行例
5.17. hawkBit コンテナのTLSありの場合の実行例
5.18. eMMC の予備領域使用率を確認する
6.1. persist_file のヘルプ
6.2. persist_file 保存・削除手順例
6.3. persist_file ソフトウェアアップデート後も変更を維持する手順例
6.4. persist_file 変更ファイルの一覧表示例
6.5. persist_file でのパッケージインストール手順例
6.6. コンテナを作成する実行例
6.7. イメージ一覧の表示実行例
6.8. podman images --help の実行例
6.9. コンテナ一覧の表示実行例
6.10. podman ps --help の実行例
6.11. コンテナを起動する実行例
6.12. コンテナを起動する実行例(a オプション付与)
6.13. podman start --help 実行例
6.14. コンテナを停止する実行例
6.15. podman stop --help 実行例
6.16. my_containerを保存する例
6.17. podman buildの実行例
6.18. podman buildでのアップデートの実行例
6.19. コンテナを削除する実行例
6.20. イメージを削除する実行例
6.21. podman rmi --help 実行例
6.22. Read-Onlyのイメージを削除する実行例
6.23. コンテナ内部のシェルを起動する実行例
6.24. コンテナ内部のシェルから抜ける実行例
6.25. podman exec --help 実行例
6.26. コンテナを作成する実行例
6.27. コンテナの IP アドレスを確認する実行例
6.28. ping コマンドによるコンテナ間の疎通確認実行例
6.29. podを使うコンテナを自動起動するための設定例
6.30. networkを使うコンテナを自動起動するための設定例
6.31. abos-ctrl podman-rw の実行例
6.32. abos-ctrl podman-storage のイメージコピー例
6.33. Armadillo 上のコンテナイメージを削除する
6.34. abos-ctrl container-clear 実行例
6.35. コンテナを自動起動するための設定例
6.36. ボリュームを shared でサブマウントを共有する例
6.37. /proc/devicesの内容例
6.38. add_armadillo_envで設定した環境変数の確認方法
6.39. at-debian-image のコンテナイメージをインストールする SWU ファイルを作成する
6.40. Docker ファイルによるイメージのビルドの実行例
6.41. ビルド済みイメージを load する実行例
6.42. alpine のコンテナイメージをインストールする SWU ファイルを作成する
6.43. コンテナの IP アドレス確認例
6.44. ip コマンドを用いたコンテナの IP アドレス確認例
6.45. ユーザ定義のネットワーク作成例
6.46. IP アドレス固定のコンテナ作成例
6.47. コンテナの IP アドレス確認例
6.48. コンテナに Apache をインストールする例
6.49. コンテナに lighttpd をインストールする例
6.50. コンテナに vsftpd をインストールする例
6.51. ユーザを追加する例
6.52. 設定ファイルの編集例
6.53. vsftpd の起動例
6.54. コンテナに samba をインストールする例
6.55. ユーザを追加する例
6.56. samba の起動例
6.57. コンテナに sqlite をインストールする例
6.58. sqlite の実行例
6.59. Wayland を扱うためのコンテナ作成例
6.60. コンテナ内で weston を起動したログの出力とアプリケーションの実行例
6.61. weston.ini
6.62. weston.ini をボリュームで渡す実行例
6.63. X Window System を扱うためのコンテナ起動例
6.64. コンテナ内で X Window System を起動する実行例
6.65. フレームバッファに直接描画するためのコンテナ作成例
6.66. フレームバッファに直接描画する実行例
6.67. タッチパネルを扱うためのコンテナ作成例
6.68. VPU を扱うためのコンテナ作成例
6.69. weston と GStreamer を扱うためのコンテナ作成例
6.70. GStreamer によるデコード実行例
6.71. GStreamer によるエンコード実行例
6.72. パワーマネジメント機能を使うためのコンテナ作成例
6.73. サスペンド状態にする実行例
6.74. サスペンド状態にする実行例、rtcで起こす
6.75. コンテナからshutdownを行う
6.76. ソフトフェアウォッチドッグタイマーを使うためのコンテナ作成例
6.77. コンテナ内からソフトウェアウォッチドッグタイマーを起動する実行例
6.78. ソフトウェアウォッチドッグタイマーをリセットする実行例
6.79. ソフトウェアウォッチドッグタイマーを停止する実行例
6.80. NPU を扱うためのコンテナ作成例
6.81. ONNX Runtime をインストールする例
6.82. python から ONNX Runtime を使う例
6.83. TensorFlow Lite をインストールする例
6.84. python から TensorFlow Lite を使う例
6.85. tflite-runtime のバージョンを確認する
6.86. tflite-runtime のバージョンを下げる
6.87. at-debian-image のバージョンを確認する
6.88. Arm NN をインストールする例
6.89. python から Arm NN を使う例
6.90. コンテナ管理
6.91. SWU インストール
6.92. SWU 管理対象ソフトウェアコンポーネントの一覧表示
6.93. ネットワークタイムサーバーと同期されている場合の状況確認画面
6.94. ネットワークタイムサーバーと同期されていない場合の状況確認画面
6.95. ネットワークタイムサーバーの設定項目
6.96. タイムゾーンの設定項目
6.97. 設定管理の Rest API トークン一覧表示
6.98. ABOSDE で ローカルネットワーク上の Armadillo をスキャンする
6.99. ABOSDE の ABOS Web パスワード入力画面
6.100. ABOSDE で Armadillo の SWU バージョンを取得
6.101. ABOSDE で Armadillo のコンテナ情報を取得
6.102. ABOSDE で Armadillo のコンテナを起動
6.103. ABOSDE で Armadillo のコンテナを停止
6.104. ABOSDE で Armadillo のコンテナのログを取得
6.105. ABOSDE で Armadillo に SWU をインストール
6.106. ライブラリイメージ作成ツールの実行
6.107. ライブラリイメージ作成ツールの実行 (VPUが不要の場合)
6.108. ライブラリイメージを書き込む
6.109. ライブラリパーティションのマウント
6.110. ライブラリバージョンの確認
6.111. imx-mm へのシンボリックリンクを作成する
6.112. GStreamer を実行するためのコンテナ作成例
6.113. gstreamer のインストール
6.114. weston の起動
6.115. pulseaudio の起動
6.116. GStreamer の実行例
6.117. H.264/AVC 動画の再生(音声あり)
6.118. H.264/AVC 動画の再生(音声なし)
6.119. VP8 動画の再生(音声あり)
6.120. VP8 動画の再生(音声なし)
6.121. VP9 動画の再生(音声あり)
6.122. VP9 動画の再生(音声なし)
6.123. HTTP ストリーミングの再生(音声あり)
6.124. HTTP ストリーミングの再生(音声なし)
6.125. RTSP ストリーミングの再生(音声あり)
6.126. RTSP ストリーミングの再生(音声なし)
6.127. USB カメラからの映像表示(音声あり)
6.128. USB カメラからの映像表示(音声なし)
6.129. USB カメラからの映像をH.264で録画(音声あり)
6.130. USB カメラからの映像をH.264で録画(音声なし)
6.131. USB カメラからの映像を表示しながらH.264で録画(音声あり)
6.132. USB カメラからの映像を表示しながらH.264で録画(音声なし)
6.133. デモアプリケーションを実行するためのコンテナ作成例
6.134. デモアプリケーションランチャの起動
6.135. パッケージのバージョンを確認する
6.136. pulseaudio のインストールと起動
6.137. pillow のインストールと起動
6.138. ビデオデバイスの変更
6.139. ビデオデバイスの変更
6.140. ビデオデバイスの変更
6.141. ビデオデバイスの変更
6.142. ビデオデバイスの変更
6.143. 各種コンフィグの変更
6.144. 言語設定
6.145. SMS の作成
6.146. SMS 番号の確認
6.147. SMS の送信
6.148. SMS の一覧表示
6.149. SMSの内容を表示
6.150. SMSの削除
6.151. SIM カードのストレージに SMS を移動
6.152. 3G/LTE モジュールの内蔵ストレージに SMS を移動
6.153. IP アドレスの確認
6.154. IP アドレス(eth0)の確認
6.155. nmcli のコマンド書式
6.156. コネクションの一覧
6.157. コネクションの有効化
6.158. コネクションの無効化
6.159. コネクションの作成
6.160. コネクションファイルの永続化
6.161. コネクションの削除
6.162. コネクションファイル削除時の永続化
6.163. 固定 IP アドレス設定
6.164. DNS サーバーの指定
6.165. DHCP の設定
6.166. コネクションの修正の反映
6.167. デバイスの一覧
6.168. デバイスの接続
6.169. デバイスの切断
6.170. 有線 LAN の PING 確認
6.171. 無線 LAN の PING 確認
6.172. ネットワークインターフェースの優先度確認
6.173. ネットワークインターフェースの優先度設定
6.174. 3G/LTEのコネクションの作成
6.175. 3G/LTEのコネクションの設定の永続化
6.176. LTE モジュールの IMS 無効化コマンド
6.177. MCC/MNC を指定した 3G/LTE コネクションの作成
6.178. PAP認証を有効にした3G/LTEコネクションの作成
6.179. 3G/LTEモジュール初期化手順
6.180. 3G/LTEのコネクション確立
6.181. 3G/LTE の PING 確認
6.182. 3G/LTEコネクションを切断する
6.183. 再接続サービス 旧設定ファイルの削除
6.184. 3G/LTE 再接続サービスの設定値を永続化する
6.185. 3G/LTE 再接続サービスの状態を確認する
6.186. 3G/LTE 再接続サービスを停止する
6.187. 3G/LTE 再接続サービスを開始する
6.188. 3G/LTE 再接続サービスを無効にする
6.189. 3G/LTE 再接続サービスを有効にする
6.190. 認識されているモデムの一覧を取得する
6.191. モデムの情報を取得する
6.192. SIMの情報を取得する
6.193. 回線情報を取得する
6.194. 無線 LAN AP に接続する
6.195. nmtui を起動する
6.196. bridge インターフェースを作成する
6.197. mlan0 インターフェースを NetworkManager の管理から外す
6.198. hostapd.conf を編集する
6.199. dnsmasq の設定ファイルを編集する
6.200. ip_forward を有効にする
6.201. NAT を設定する
6.202. bridge に eth0 と eth1 を割り当てる
6.203. dnsmasq の設定ファイルを編集する
6.204. NAT を設定する
6.205. mount コマンド書式
6.206. ストレージのマウント
6.207. ストレージのアンマウント
6.208. fdiskコマンドによるパーティション変更
6.209. EXT4 ファイルシステムの構築
6.210. buttond で SW1 を扱う
6.211. buttond で USB キーボードのイベントを確認する
6.212. buttond で USB キーボードを扱う
6.213. buttond で SW1 を Armadillo 起動時のみ受け付ける設定例
6.214. atmark-thermal-profiler をインストールする
6.215. atmark-thermal-profiler を実行する
6.216. atmark-thermal-profiler を停止する
6.217. ログファイルの内容例
6.218. サーマルシャットダウン温度の確認(Armadillo-IoT ゲートウェイ G4を例に)
6.219. Armadillo-IoT ゲートウェイ G4で取得した温度のグラフ
6.220. /var/at-log/atlog の内容の例
6.221. local サービスの実行例
6.222. uboot_env.d のコンフィグファイルの例
6.223. 自動マウントされたmicroSDカードのアンマウント
6.224. Linux カーネルを SWU でインストールする方法
6.225. Linux カーネルを build_rootfs でインストールする方法
6.226. データリテンション開始トリガーの方式
6.227. データリテンションの開始トリガーの動作例
6.228. 動作ログのフォーマット
6.229. viの起動
6.230. 入力モードに移行するコマンドの説明
6.231. 文字を削除するコマンドの説明
6.232. オプションケース(金属製)
6.233. オプションケース(金属製)の加工痕例
6.234. LANモデル ケース(上)形状図
6.235. LANモデル ケース(下)形状図
6.236. LTEモデル ケース(上)形状図
6.237. LTEモデル ケース(下)形状図
6.238. WLANモデル ケース(上)形状図
6.239. WLANモデル ケース(下)形状図
6.240. LTE+WLANモデル ケース(上)形状図
6.241. LTE+WLANモデル ケース(下)形状図
6.242. 3G/LTE用外付けアンテナ形状図
6.243. 3G/LTE用アンテナケーブル形状図
6.244. 無線LAN/BT用外付けアンテナ形状図
6.245. 無線LAN/BT用アンテナケーブル形状図
6.246. Armadillo-X2、G4 ケースモデル VESA規格固定用プレート
6.247. ケースにVESA規格固定用プレートを取り付け
6.248. モニターにVESA規格固定用プレートを取り付け
6.249. Armadillo-X2、G4 ケースモデル VESA規格固定用プレート形状図

表目次

1.1. 使用しているフォント
1.2. 表示プロンプトと実行環境の関係
1.3. コマンド入力例での省略表記
1.4. 推奨温湿度環境について
1.5. 3G/LTEモジュール:EC25-J 適合証明情報
1.6. WLAN+BTコンボモジュール:AW-XM458 適合証明情報
2.1. Armadillo-IoT ゲートウェイ G4ラインアップ
2.2. 仕様
2.3. 仕様(AGX4500-C03*, AGX4520-C03*)
2.4. インターフェース内容
2.5. インターフェース内容
2.6. ストレージデバイス
2.7. eMMCのGPPの用途
2.8. eMMCメモリマップ
2.9. eMMC ブートパーティション構成
2.10. eMMC GPP構成
3.1. 電源を切っても保持されるディレクトリ(ユーザーデータディレクトリ)
3.2. ユーザー名とパスワード
3.3. 動作確認に使用する取り外し可能デバイス
3.4. シリアル通信設定
3.5. CON11、CON12 搭載コネクタと対向コネクタ例
3.6. CON11 信号配列
3.7. CON12 信号配列
3.8. 各インターフェースへの電流供給例
3.9. 絶対最大定格
3.10. 推奨動作条件
3.11. 電源出力仕様
3.12. 拡張入出力ピンの電気的仕様(OVDD=VDD_3V3, VDD_1V8)
3.13. 拡張入出力ピンの電気的仕様(OVDD=VEXT_3V3)
3.14. オン状態、オフ状態を切り替えする際のLowレベル保持時間
3.15. Armadillo-IoT ゲートウェイ G4 インターフェース一覧
3.16. Armadillo-IoT ゲートウェイ G4 インターフェース一覧 LTEモデル追加分
3.17. CON1 信号配列
3.18. CON2 信号配列 (10BASE-T/100BASE-TX)
3.19. CON2 信号配列 (1000BASE-T)
3.20. CON2 LAN LEDの動作
3.21. CON3 信号配列 (10BASE-T/100BASE-TX)
3.22. CON3 信号配列 (1000BASE-T)
3.23. CON3 LAN LEDの動作
3.24. CON4 信号配列
3.25. CON7 信号配列
3.26. WLAN+BTコンボモジュール アンテナケーブル用レセプタクルの用途
3.27. CON6 信号配列
3.28. CON8 信号配列
3.29. CON9 搭載コネクタと対向コネクタ例
3.30. CON9 信号配列
3.31. 動作確認済み MIPI CSI-2 カメラデバイス一覧
3.32. CON10 搭載コネクタとフレキシブルフラットケーブル例
3.33. CON10 信号配列
3.34. MIPI CSI-2 カメラ用の DT overlay
3.35. I2C デバイス
3.36. CON13 信号配列
3.37. CON15 搭載コネクタと対向コネクタ例
3.38. CON15 信号配列
3.39. ジャンパの状態と起動デバイス
3.40. JP1 信号配列
3.41. SW1 信号配列
3.42. キーコード
3.43. LED3の状態
3.44. LED4の状態
3.45. LED クラスディレクトリと LED の対応
3.46. LEDトリガの種類
3.47. CON23 信号配列
3.48. LED20の接続
3.49. LED20の状態
3.50. 用意する favicon 画像
3.51. ABOSDEの対応言語
3.52. 組み合わせて使うパッケージ
4.1. インストールディスクとSWUpdateによるソフトウェア書き込みの比較
4.2. インストール中に実行される関数
5.1. EXT_CSD_PRE_EOL_INFO の値の意味
6.1. add_hotplugsオプションに指定できる主要な文字列
6.2. add_armadillo_envで追加される環境変数
6.3. 対応するパワーマネジメント状態
6.4. 対応するパワーマネジメント状態
6.5. ライブラリと tflite-runtime のバージョンと NPU を用いたアプリケーションの動作の関係
6.6. 2.6.0-1 未満の TensorFlow Lite 関連 deb パッケージ
6.7. ライブラリイメージ書き込み済みの製品
6.8. H.264/AVC デコーダー仕様
6.9. VP8 デコーダー仕様
6.10. VP9 デコーダー仕様
6.11. H.264/AVC エンコーダー仕様
6.12. デモアプリケーション動作のために必要なバージョン
6.13. ネジ検出デモのパラメータの詳細
6.14. ネットワークとネットワークデバイス
6.15. 固定 IP アドレス設定例
6.16. APN情報設定例
6.17. 通信モジュールのネットワークデバイス
6.18. 再接続サービス設定パラメーター
6.19. thermal_profile.csvの各列の説明
6.20. u-bootの主要な環境変数
6.21. microSDカードのパーティション構成
6.22. build-rootfsのファイル説明
6.23. データリテンションの挙動
6.24. Armadillo のデータリテンションの設定
6.25. 入力モードに移行するコマンド
6.26. カーソルの移動コマンド
6.27. 文字の削除コマンド
6.28. 保存・終了コマンド
6.29. Armadillo-IoT ゲートウェイ G4関連のオプション品
6.30. Armadillo-X2、G4 ケースモデル VESA規格固定用プレートについて
6.31. Armadillo-X2、G4 ケースモデル VESA規格固定用プレートの仕様