SDブートを活用して、eMMC内のルートファイルシステムの一部を書き換える方法です。
活用例)
eMMC内のソフトが意図した動作をせず、起動途中で止まる、ログインできないなど操作不能の状態に陥った場合
→SDブートで起動して、eMMC内の問題となるソフトを停止、削除、正常なソフトに書き換える。
ブログ
-
at_kazutaka.bito
-
at_takuma.fukuda
Armadillo-640を使ってセンサからのデータ収集・グラフ表示を行います。 今回のデモは、node-redというツールを使って、極力プログラムを書かずに作成しています。 最低限のコマンド入力は必要になりますが、あまりソフトウェア開発に知見の無いユーザ様でも実践できるものとなっています。 また、機器構成についても市販品のみで構成しておりますので、簡単に構成を再現してお試しいただけるものとなっています。
-
at_kazutaka.bito
Armadillo-IoT(G3):製品アップデート/ソフトバージョン相関早見表(Linux-4.9/Stretch版)
(2022年6月時点) -
at_shiita.ishigaki
/etc/atmark/containers/*.conf を用意することで、podman コンテナの自動起動等、起動時のオプションを設定することができます。
.conf ファイルの書き方については、Armadillo-IoT G4 のマニュアルを参考にしてください。
podman_start コマンドを使用することで .conf ファイルに記載されている podman コンテナを起動することができます。
podman_start コマンドの使用方法を以下に示します。 -
at_shiita.ishigaki
.tar ファイルを使用して podman イメージを Armadillo-IoT G4 に入れる方法として、podman イメージをまるごと .tar ファイルにする方法と、podman イメージの差分のみを .tar ファイルにする方法が挙げられます。
podman イメージの差分のみを .tar ファイルにする方法のメリットとして、.tar ファイルの容量を小さくすることができます。デメリットとして、アップデートの元となる podman イメージが Armadillo-IoT G4 に入っている必要があります。
podman イメージの差分を .tar ファイルに変換するには podman_partial_image コマンドを使用します。 podman_partial_image コマンドの使い方を以下に示します。 -
at_shiita.ishigaki
現在の Armadillo-IoT G4 のイメージを他の Armadillo-IoT G4 へインストールすることや、バックアップを目的に、使用している Armadillo-IoT G4 のイメージを取り出したい場合が考えられます。
Armadillo-IoT G4 からイメージファイルを作成するには、abos-ctrl make-installer コマンドを使用します。
abos-ctrl make-installer コマンドはインストールディスクイメージを作成して micro SD カードに書き込みますので、micro SD カードを挿入しておく必要があります。micro SD カードに Armadillo Base OS のインストールディスクイメージが含まれていない場合は、Armadillo Base OS のインストールディスクイメージをダウンロードする必要がありますので、Armadillo-IoT G4 をネットワークに接続しておく必要があります。 -
at_shiita.ishigaki
Armadillo Base OS は SWUpdate によってアップデートすることができます。
アップデートする際には、SWUpdate によるアップデートに含まれるファイルと /etc/swupdate_preserve_files に記載されているファイルで新しい rootfs を作ります。
そのため、 SWUpdate と /etc/swupdate_preserve_files に含まれていないファイルは消えてしまいます。
本ブログでは、 /etc/swupdate_preserve_files にファイルを記載する方法について説明します。Armadillo Base OS に含まれていないファイルを /etc/swupdate_preserve_files に記載するには persist_file -p コマンドを使用します。
-
at_shiita.ishigaki
Armadillo Base OS は OS ・ブートローダー・コンテナ部分が二面化されており、SWUpdate によるアップデートやロールバックが行われたときに、自動的に今まで使用していた面と違う面に切り替わります。
違う面のファイルにアクセスするには、abos-ctrl mount-old コマンドを使用します。
以下に abos-ctrl mount-old コマンドを使用する例として、hogeというファイルを作成し、ロールバック後に前の面にあるhogeというファイルを現在の面に持ってきます。 -
at_shinya.matsumoto
コンテナの自動起動方法とその設定に必要なconfファイルについて記載しております。
-
at_shiita.ishigaki
Armadillo BaseOS ではルートファイルシステムに overlayfs を採用しています。
そのため、ファイルを変更した後 Armadillo-IoT G4 の電源を切ると変更内容は保持されません。
rootfs の変更内容を保持するには、変更したファイルに対して persist_file コマンドを使用します。
persist_fileコマンドの使い方を以下に示します。 -
at_shinya.matsumoto
本ブログではコンテナ作成時に使用するコンテナイメージを取得する方法をご説明します。
-
at_shiita.ishigaki
Podmanでreadonlyコンテナイメージを作成・削除する方法
-
at_shiita.ishigaki
Armadillo Base OSはOS・ブートローダー・コンテナ部分が二面化されており、起動が失敗した時に自動的にロールバックされます。
現在のルートファイルシステムの確認とロールバックが行われたかどうかの確認をするにはabos-ctrl statusコマンドを使用します。
-
at_shiita.ishigaki
本ブログでは、Armadillo-IoT G4上でOCR(Optical Character Recognition:光学文字認識)を実行する方法・結果について紹介します。今回は、機械学習によってOCRを行うPaddleOCRを使用しました。特徴として、 文字の傾きや日本語に対応しています。 PaddleOCRは、スマートフォンや組み込み用に対応しているPaddle Liteというフレームワークを使用して、Armadillo-IoT G4で実行しました。OCRの処理を行ったハードウェアはNPUではなくCPUになります。以下にソフトウェアの構成等についてまとめていますが、実行結果のみ知りたい方は「実行結果」をご覧ください。
-
at_shinya.matsumoto
本ブログではコンテナ内のタイムゾーンを変更する方法をご説明します。
-
at_kazutaka.bito
Armadillo-IoT(G4):製品アップデート/ソフトバージョン相関早見表
(2022年5月時点) -
at_kazutaka.bito
Armadillo-IoT(G3L):製品アップデート/ソフトバージョン相関早見表(Linux-4.9/Buster版)
(2022年4月時点) -
at_kazutaka.bito
Armadillo-IoT(G3L):製品アップデート/ソフトバージョン相関早見表(Linux-4.9/Stretch版)
(2022年4月時点) -
at_shinya.matsumoto
Armadillo製品に使用しているeMMC(ストレージ)の予備領域の確認方法について、eMMCの前提情報を交えつつご紹介します。
予備領域が残っているかどうかで寿命予測に活用できます。 -
at_takuma.fukuda
Armadillo-IoT G4にシキノハイテック社製MIPIカメラKBCR-S08MMを接続して使用するための手順を紹介します。
-
at_shinya.matsumoto
本ブログはArmadillo-IoT G4(以下、G4)でNPU(Neural network Processing Unit)を使った物体検知(推論)を行う方法を説明します。モデルは学習済みのモデルMobilenet v1でTensorflow Liteを使用します。
-
at_kazutaka.bito
開発中など、何らかの理由でSWUイメージ作成環境が変わってしまった場合(※)、
SWUイメージの鍵とArmadillo-IoT(G4)上の鍵と整合がとれず、以降のアップデートができなくなります。
※)基本的には、ソフトウェアアップデートの管理の点からSWUイメージ作成環境は変えないような運用が望ましい。
ここでは、SWUイメージ作成環境が変わってしまった場合に、Armadillo-IoT(G4)上の鍵を
新しいSWUイメージ作成環境の鍵にインストールし直す方法を説明します。 -
at_kazutaka.bito
購入製品登録ための正規認証ファイルの取得には、Armadillo-X1/IoT(G3/G3L)上でget-board-infoを実行しますが、
Linuxディストリビューションによって、手順に若干の違いがあります。
正規認証ファイルの取得(get-board-info)が失敗する場合は、下記のようにLinuxディストリビューションを確認の上、
get-board-infoを実行ください。 -
at_takuma.fukuda
Armadillo-IoT G4をLTE通信に接続するための手順を紹介します。
-
at_naomi.todori
Cactusphere RS485 モデル(CT1510-W01) に 交流電流センサを接続し、 Azure IoT Central 上で 電流値の推移を可視化するシステムを構築してみました。 今回使用した交流電流センサは分割クランプ式のため、既設の設備や配電盤などの構成を変更することなく、 後付けで電流値を簡単に取得・見える化することができます。
-
at_kazutaka.bito
シリアル通信で制御コードを含むデータの送信/受信する簡易的な方法です。
ここでは、pyserialを使用します。 -
at_kazutaka.bito
コマンドのみで、シリアル通信で制御コードを含むデータを送信する方法です。
-
at_takuma.fukuda
Armadillo-640のBT/THオプションモジュールを使ってビーコンの接近を感知し、警報を出力するシステムをご紹介しました。
Armadillo-640:BT/THオプションモジュールを使用してビーコンの接近を感知、警報を出力する
このシステムをArmadillo-IoT G3Lを使って構築し、動作することを確認しました。
基本的にはArmadillo-640と同様に、以下をインストールしておけばサンプルコードを動作させることが出来ます。 -
at_shiita.ishigaki
コマンドの出力と実行した時間を記録する方法
-
at_shiita.ishigaki
systemdのログはserviceの一つである、systemd-journald.serviceによって保存されます。 本ブログではsystemd-journald.serviceによって保存されたログの確認方法について紹介します。
-
at_takuma.fukuda
Armadillo-640およびArmadillo-610でRealtek RTL8761Bを使ったUSBドングルでBLE通信を行いました。
-
at_shiita.ishigaki
ホスト名を確認・変更する方法
-
at_naomi.todori
Armadillo-IoT G4 LTEモデルとSORACOMのサービスを利用して、会議室管理システムを構築してみました。
-
at_shinya.matsumoto
本ブログはArmadillo-IoT G4(以下、G4)でコンテナ開発を行う際に知っておくと便利な方法をご紹介します。 G4でのコンテナ開発に慣れていない方向けの内容になります。(Armadillo Base OS搭載製品が対象)
-
at_shiita.ishigaki
ロケールとは国・地域等によって違うタイムゾーンや書式等をシステムに伝える機能です。 本ブログではロケール設定を確認、及び変更する方法について説明します。
-
at_shiita.ishigaki
bashでオプションを解析する方法
-
at_shinya.matsumoto
Armadillo-IoT G4を直接ネットワークに接続できない理由がある場合に、ネットワーク接続が可能なATDE環境上でコンテナを作成してG4にコンテナをロードする方法
-
at_shiita.ishigaki
ファイル内の改行数・単語数・文字数を表示する方法
-
at_shiita.ishigaki
Armadillo-IoT G4を使用してベンチマークを行い、推論速度と推論時の消費電力を測定した結果を記載します。
-
at_shiita.ishigaki
.zipファイルを圧縮・解凍する方法
-
at_shiita.ishigaki
.xzファイルを圧縮・解凍する方法
-
at_shiita.ishigaki
ファイルの同じ文字列の行を削除して表示する
-
at_shiita.ishigaki
タブからスペース、スペースからタブに変換する方法
-
at_shiita.ishigaki
任意のサイズのファイルを作成する方法
-
at_takuma.fukuda
出荷状態のArmadillo-IoT G4にSWUpdateでファイルを書き込む際に、鍵情報とその他のイメージファイルを同時に書き込む手段をご紹介します。
-
at_takuma.fukuda
外部メモリの自動マウントについて、udevの挙動がDebian Busterで変化しているため、その対策を紹介する
-
at_mizo
動作温度範囲の上限に近い環境に設置する場合、Armadillo-IoT G4が高温となりシステムが停止してしまう可能性があります。このような状況を避ける為、CPUの処理能力を制限して発熱量を低下させる方法を説明します。
発熱量低下の目安
CPUクロックを下げることでCPUコア当り1〜2℃程度、動作するCPUコアを減らすことでもCPUコア当り1〜2℃程度の発熱量を低下させることができます。
発熱量低下の参考値
Armadillo-IoT G4で実測した温度は次の通りです。単位は℃です。
-
at_shiita.ishigaki
ファイルを作成・タイムスタンプの更新をする方法
-
at_shiita.ishigaki
指定した文字を削除・置換する方法
-
at_kazutaka.bito
シリアルポートを持つ2つのデバイス間(※)のシリアル通信をArmadillo-640経由でブリッジする方法です。
ここでは、socatを使います。