無線LANの通信で、回線が切断されるなど電波強度を確認したい場合があるかと思います。
ここでは、iwconfigコマンドを実行し、電波強度を確認する方法をご紹介します。
ブログ
-
at_ito
-
at_takuya.sasaki
Armadillo-800シリーズでSDカードからブートする場合に、よくある間違いに関して説明してみます。
Armadillo-840/810では、以下の製品マニュアルにもあるように JP2をショートすることで、SDカードのブートローダーを起動します。 -
at_mangetsu
ArmadilloのHTTPサーバを用いてファイルダウンロードサービスを行う場合、 外部メモリ(Removable Media)を使いたい場合の方法をご紹介します。
-
at_ito
LANポート1つに対して複数のIPアドレスを設定する方法を紹介します。 LANポートは通常eth0等のインターフェイス名が使われます。 IPアドレスの設定は「ifconfig eth0
」コマンドを実行します。 -
at_mangetsu
ArmadilloシリーズでNTPを使いたい場合について、方法をご紹介します。
※ここではArmadillo-IoTを例に取り上げます。 -
at_takuya.sasaki
Armadillo-840でSoftEther VPNを使ったVPNクライアントの動作を試してみます。 まずはDebian上で試してみました。
-
at_ito
Armadilloは組み込みボードということもあり、標準のデスクトップ環境と比べ、標準イメージで使用できるコマンドが少ないです。そのため、どのコマンドが使用できて、どのコマンドが使用できないかを調べたい場合があるかと思います。
そこでArmadilloに搭載されているコマンド一覧を調べる方法を以下に紹介します。 -
at_ito
Armadillo-800シリーズにはAVコーデックミドルウェアが搭載されております。ストリーミングを行う際の参考として、Armadillo-810で撮影した映像を有線LAN経由でストリーミング配信し、その映像をArmadillo-840の液晶に表示する方法を紹介します。
-
at_mangetsu
USBハードディスクを使いたい場合などで、 Armadillo上でNTFSファイルシステムを使う方法をご紹介します。
機種依存がないため、 以下、ATDEとatmark-distの準備が済んでいる前提にて手順を紹介します。 -
at_takuya.sasaki
Armadillo-400シリーズのAtmark Distで標準でインストールされるat-cgi は、Armadillo-810では 標準インストールされていません。
このat-cgiをArmadillo-810で使ってみた際の、作業メモです。 -
at_takuya.sasaki
Armadilloシリーズのオプションである無線LANモジュール AWL13をユーザランドコンフィギュレーションで有効化 したにも関わらず、ドライバのロードが失敗することがあります。
以下はその際のログメッセージです。 -
at_ito
コンソールを標準のシリアルインターフェース以外に変更する際など、起動中に/etc/inittabを変更し、動作を確認したい場合があるかと思います。
initはLinuxカーネル初期化終了後に必ず最初に起動されるプロセスです。従いまして、/etc/inittabを変更するだけでは、設定変更をすぐに変更することができません。
init起動中に/etc/inittabファイルの変更を反映させるには、以下のコマンドを実行してください。 -
at_mangetsu
Armadillo-440開発セットにUSBキーボードを接続して、LCDをコンソール表示に使う記事がありましたが、 今回はArmadillo-840液晶モデル開発セットで同様のことをやってみました。
-
at_mangetsu
Armadillo-840上で、Dynafont(評価版)を使ってみたい場合の方法です。
-
at_takuya.sasaki
意外に原因に気が付くまで時間がかかった事例をご紹介します。
Armadillo-840/810でSDブートをしているときに、以下のようにカーネルパニックを起こして起動できないことがありました。 -
at_takuya.sasaki
Armadillo-400シリーズの実践開発ガイド第2部に載っている、以下のHowToを参考に、USBメモリを自動認識して、 任意のスクリプトを実行してみました。 なお、とりあえずの動作確認のために、各スクリプトファイルを含んだユーザーランドイメージを作らずに、試してみます。
-
at_ito
特定プロセスのCPU使用率が変化した場合に、シェルスクリプトで何かの処理を行いたいなどの場合があるかと思います。そのような場合に使える、psコマンドで特定プロセスのCPU使用率を調べる方法を紹介します。
-
at_mangetsu
Armadilloの起動直後から時刻を扱いたい場合などにおいて、 タイムゾーンのJSTへの切り替えを止めてUTCのまま動作させたい場合の方法を紹介します。 ※以下、Armadillo-840の場合の例です。
-
at_ito
カーネルパニック発生時に自動的に再起動する方法等のテストを行う際に、カーネルパニックを簡単に発生させる方法を紹介します。
-
at_takuya.sasaki
ATDEをVmware Workstationから起動すると、エラーメッセージが表示されて起動できない場合があります。
この場合、WindowsのUAC(User Account Control)による制限である可能性が高いです。 UACを無効化するか、VMware Workstationを起動する際、VMwareのアイコンを右クリック→「管理者として実行」を選択してみてください。 -
at_takuya.sasaki
Armadillo-810/840では、PUX社のソフトセンサーという画像処理ソフトウェアを利用することができます。 今回はソフトセンサーの「ナンバープレート認識」ソフトウェアを使ったデモをご紹介します。
-
at_ito
アプリケーションやドライバーの作りによりカーネルパニックが発生し、意図通りにソフトウェアが動作しない場合があるかと思います。その際、すでにフィールドに出している製品等ですと復帰ができず困る場合もあるかと思います。
そのような場合の対策として、カーネルパニックが発生すると、自動的に再起動する機能がありますので紹介します。 -
at_mangetsu
Armadillo-840に接続したカメラの画像をQt経由でLCD画面に表示させてみました。 カメラには Armadillo-810 カメラモジュール01(OP-A810-CAM01-00)を使用し、 Armadillo-840液晶モデル開発セットに接続してみました。
-
at_mangetsu
Armadillo-420上でPerl5を動かしてみました。
-
at_takuya.sasaki
過去に「Armadillo-400シリーズでBLEを使ってみる 」というブログを書いてみました。
上記ブログと同じことを、Armadillo-840のカーネルバージョン3.4で動作できるかどうか試してみたいと思います。 -
at_ito
Aramdilloの開発環境であるATDEを使用する場合には、VMware等の仮想マシンを動作させるためのソフトウェアが必要になります。VMwareは多数の製品があるため、ここではVMwareの選び方を簡単に説明します。
-
at_ito
Armadillo出荷時等にLinuxカーネルイメージ、ユーザーランドイメージを自動的に書き換える必要がある場合も多いかと思います。
ここではTeraTermマクロを使用して、Linuxカーネルイメージ、ユーザーランドイメージを書き換えるためのTeraTermマクロを紹介します。 -
at_takuya.sasaki
Armadillo-840でFullHD(1920x1080)のH.264動画を再生しようと試みましたが、以下のメッセージが出力されて、再生されませんでした。
-
at_takuya.sasaki
前回のeclipseのインストールまで完了した後は、Cで記述したソースコードをビルドしてみます。
1. Cプロジェクトの新規作成
GNOMEからEclipseを起動してください。 メニューの[ファイル]->[新規]->[Cプロジェクト]を選択すると以下のウィンドウが表示されます。
プロジェクト名に任意の名前(今回は hello とします)を入力して、[次へ]を押すと以下のウィンドウが表示されます。
-
at_takuya.sasaki
Armadillo-800シリーズの開発環境であるATDE5にeclipseをインストールして、C/C++のプログラムをビルドしてみたいと思います。 今回はeclipseのインストールまでを試してみました。
1. eclipseのインストール
eclipseは以下のサイトからダウンロード可能です。
http://www.eclipse.org/downloads/OSにはLinux、アーキテクチャは環境に合わせてください。今回はJavaではなく、C/C++のビルドを試しみたいので、パッケージには [Eclipse IDE for C/C++ Developers]を選択しました。
-
at_kazutaka.bito
用意するもの
- USB電源ケーブル
- USB電流電圧チェッカ
- USBバッテリ(PC、モバイルバッテリなど)
USBバッテリ--USB電源ケーブル--USB電流電圧チェッカ と接続する。
Armadillo-440開発セットで標準イメージで起動したとき 通常動作時の電圧(標準イメージ内のサンプルソフトfunctesterが動作中)
Armadillo-440開発セットで標準イメージで起動したとき 通常動作時の電流(標準イメージ内のサンプルソフトfunctesterが動作中)
Armadillo-440開発セットで標準イメージで起動したとき スリープ時の電圧(power-on suspend)
-
at_ito
Debianのデフォルトのエディタはnanoになっています。visudoコマンドや、gitコマンド等を使用した場合に、デフォルトのエディタが使われることがあります。nanoは単機能なコマンドなため、vimやemacs等の多機能なエディタに変更したい場合があるかと思います。 そのため、ここではATDE(Debian)のデフォルトのエディタを変更する方法を紹介します。
-
at_ito
テストを行う際に、自動的にコマンドを実行したり等、テストの自動化を行いたい場合があるかと思います。 今回は例として、シリアル通信ソフトウェアであるTera Termマクロを使って、起動テストを行う方法を紹介します。
-
at_takuya.sasaki
Armadillo-840にUSBカメラを接続し、LCDにUSBカメラの画像をQtで描画するサンプルは、以前以下のフォーラムでサンプルコードが提供されています。
[ QtでUVCカメラを表示させる ]
https://users.atmark-techno.com/forum/armadillo/1343このサンプルでは yuyv_to_rgb.h というソースコード内で、USBカメラからのYUYVの画像データを、LCDに表示するために RBG形式に変換しています。 この変換処理は、ARM Cortex-A9のNEONを使うことで高速化することが可能で、すでに実装もされています。
(#ifdef __ARM_NEON__
で囲まれた箇所です) -
at_takuya.sasaki
過去にフォーラムで投稿されていた gst-plugins-bad をビルドする方法を、実際に試してみた際のメモです。
1. Debianブートディスクの作成
以下を参照して、SDカードに Debian環境を構築してArmadillo-840をDebianで起動してください。
https://manual.atmark-techno.com/armadillo-840/armadillo-840_product_manual_ja-1.1.0/ch15.html2. パッケージのアップデート/アップグレード
インターネットに接続できる状態にした後、まずは時刻合わせをします。
-
at_ito
Atmark Dist等ダウンロードして展開しようとした場合に、エラーがでて正常に展開できない場合があるかと思います。その際に、ダウンロードしたファイルが壊れているかどうかを調べる方法について紹介します。
-
at_takuya.sasaki
Armadillo-840+Qt(QML)でデモを作成してる中で、コマンド引数のようにQMLに対して何らかのパラメータを渡せないかを検討してみました。
-
at_ito
Linuxカーネルのコンフィギュレーションを設定する場合に、 BACKLIGHT_LCD_SUPPORT等のシンボルはわかるものの、設定項目が どこにあるのかわからない時があるかと思います。 ここでは、「BACKLIGHT_LCD_SUPPORT」を元に設定項目が どこにあるのかを調べる方法を紹介します。
-
at_ito
Linuxにはteeというコマンドがあります。このコマンドは標準出力とファイルの両方へ出力することができます。ここではAtmark Distのmakeコマンド実行結果を例に、コマンド実行結果をファイルに保存しつつ、コンソールにも表示する方法を紹介します。
例えば、make.logファイルにコマンド結果を保存しつつ、コンソールにも表示するには、以下のようなコマンドになります。
[ATDE ~/atmark-dist]# make 2>&1 | tee make.log
ソースコードのビルド時にエラーを記録するときなどに便利ですので、ぜひ使用してみてください。
-
at_ito
製品化の際に、アプリケーションが動かなくなった場合などに再起動するためウォッチドッグタイマーを使用する場合があるかと思います。ここではウォッチドッグタイマーの使用方法について説明します。
ウォッチドッグタイマーにはハードウェアウォッチドッグタイマーと、ソフトウェアウォッチドッグタイマーがあります。
ハードウェアウォッチドッグタイマーはCPUのウォッチドッグタイマーの機能を使用しており、ブートローダー(Hermit-At)もしくは、Linuxカーネルで使用しています。そのため、ブートローダーやLinuxカーネルが正常に動作せず、ハードウェアウォッチドッグタイマーをキックできない場合にのみ自動的に再起動が行われます。そのため、アプリケーションが正常に動作しない場合等に使うことには向いていません。
ソフトウェアウォッチドッグタイマーは、Linuxカーネルが提供している機能です。アプリケーション等の死活監視を行う場合に使用することができます。製品化の際に、実装する場合はほぼソフトウェアウォッチドッグタイマーを使用する形になるかと思います。
そのため、ここではソフトウェアウォッチドッグタイマーを使用する方法を以下に紹介します。
-
at_ito
Atmark Distにはシリアル-イーサネット変換通信を行うためのseri2ethというアプリが入っています。ここではseri2ethの使用方法について説明します。
-
at_ito
netflashコマンドでイメージをフラッシュ書いた後、正しく書かれたかチェックしたい場合があるかと思います。
ここでは、netflashコマンドで、正しくイメージが書かれたかどうかをチェックする機能について紹介します。
1. チェック方法
netflashには-Cオプションがあり、このオプションを付けることによって、指定されたイメージと同じイメージが、フラッシュにかかれているかどうかをチェックすることができます。
コマンド例としては、以下のようになります。
netflash -knubC -r /dev/flash/kernel linux.bin.gz
2. ベリファイ実行例
2.1. kernel領域に、linux-a400-1.08.bin.gzイメージを書き込む
以下のコマンドを実行して、kernel領域にlinux-a400-1.08.bin.gzイメージを 書き込みます。この際オプションに"-b"を付けて自動的に再起動しないように しておきます。
-
at_takuya.sasaki
Armadillo-840のDebian環境で動く hwlockコマンドのデバッグをするために、Debianパッケージをソースから持ってきてビルドした際のメモです。
1. SDカードにDebian環境を構築して、SDブートします
以下を参照してください。
https://manual.atmark-techno.com/armadillo-840/armadillo-840_product_manual_ja-1.1.0/ch15.html2. ビルドに必要なパッケージをインストールします
$ apt-get install dpkg-dev
3. ソースコードを持ってきます。
hwclockコマンドはutil-linuxパッケージに含まれます
-
at_takuya.sasaki
Armadillo-840でLANで受信したパケットをダンプして解析する手順をまとまめてみました。今回はRTPプロトコルで流れてくるH.264データをダンプ/解析してみたいと思います。
1. Debianパッケージからtcpdumpを持ってきます
今回はtcpdumpのバイナリはDebianパッケージから持ってきます。
-
at_takuya.sasaki
Armadillo-840では、AVコーデックミドルウェアによりカメラからの入力画像をH.264にエンコードすることができます。 今回は、USBカメラからの画像をJPEGファイルに連続して保存し、ffmpegで動画ファイルに変換するということを試してみます。 ffmegはDebianパッケージのバイナリを使うことにします。
-
at_ito
Armadilloの標準イメージには、viエディタが入っています。しかしviエディタは操作方法が特殊であり使いにくいという人もいます。 そのため、Debian GNU/Linuxでも標準のエディタになっているnanoをAtmark Distに追加してみました。
-
at_ito
ATDEをVMware Player等(以降VMware)を使用していると、VMwareのウインドウにフォーカスが 移ってしまうとAlt+Tabでタスク切り替えをしようと思っても、ホストOSのタスクに切り替わらない。(ゲスト側でタスク切り替えすることになる) キーボードを使ってタスク切り替えをすることが多いので、これでは不便ということでVMwareのユニティモードを使い、ホストOSのウインドウとして、ATDEのアプリケーションを立ち上げる方法を紹介します。
-
at_ito
Armadillo-810/840のfirmwareパーティションは、SquashFSファイルシステムで作成されています。 firmwareパーティションは、Armadillo特有のAVコーデックミドルウェアや、OpenGL ES2 ライブラリが含まれます。
今回は、AVコーデックミドルウェアや、Qt(OpenGLが必要)等を使わない場合で、 firmwareパーティションを変更したい時に、SquashFSファイルシステムのイメージを作成する方法を紹介します。
SquashFSファイルシステムのイメージを作るためには、mksquashfsコマンドを使用します。
以下の様にコマンドを実行することで、SquashFSファイルシステムのイメージが作成されます。
[atde ~]$ mksquashfs イメージ化したいディレクトリ イメージファイル名 -comp xz
※: 「イメージ化したいディレクトリ」、「イメージファイル名」は適宜変更してください。
-
at_kazutaka.bito
カーネル起動時にUSBのプローブが有効になっていると、 認識された順番にデバイスファイルの末尾の番号がつく。
例えば、Armadillo-IoT開発セットの場合、3Gモジュールには、ttyUSB[0-4]が割り当てられるが、 USBコネクタにUSB-シリアル変換ケーブルを挿入した状態で起動すると、 USB-シリアル変換ケーブル:ttyUSB0 3Gモジュール:ttyUSB[1-4] のように3Gモジュールのデバイスファイルの番号がずれる。 補足)本例では、カーネルコンフィギュレーションのUSBサポートの機能で、シリアル変換のサポートを有効にしているものとする。
このような番号ずれを防ぐ方法としては、delayed_probeという方法がある。
本例について、USBコネクタにさしたデバイスを、3Gモジュールより後で認識させる場合は、 make menuconfigでカーネルコンフィギュレーションを
-
at_takuya.sasaki
ATDE5の VMware仮想イメージファイルは、Oracle社のVirtual BOXでも起動することが可能です。
1. VirtualBoxのインストール
インストール方法は省略いたします。このブログではバージョン 4.3.12 を使用しています。
2. ATDE5イメージの展開
任意のフォルダに弊社Webサイトで公開しているATDE5の仮想イメージファイルを展開してください。 展開の方法は以下のHowToも参考にしてください。
https://armadillo.atmark-techno.com/howto/tar_xz-extract3. VirtualBoxを起動します