Armadilloで独自に作成したソフトウェアを管理する際に、Debianパッケージ化しておくとaptコマンドにてバージョン管理ができて便利です。ここでは例としてArmadilloで動作するシェルスクリプトを含むDebianパッケージを作成してみます。
個人別ブログ
at_ito さんのブログ
-
at_ito
-
at_ito
2017/12/4時点でATDE6で「apt-get install node-eye」を実行するとATDEにnode-eyeパッケージがインストールされてしまいます。その後「apt-get purge node-eye」を実行した際にエラーが発生し、削除できないという現象が発生します。 そのため、ここでは間違ってATDE6でnode-eyeパッケージをインストールしてしまった時の削除方法を紹介します。
-
at_ito
node-eyeを使用する際には、Armadilloでarmsdというデーモンが動作します。node-eyeの設定時になかなか接続が完了しない時などの動作確認のためにarmsdを再起動をしたい場合があるかと思います。 そういった時のためにここではarmsdの再起動を行う方法を紹介します。
-
at_ito
ArmadilloをグローバルIPアドレスが割り振られない3G/LTE通信で通信を行う構成で、外部からSSHを使用してメンテナンス等を行いたい場合があるかと思います。 ここでは「Reverse SSH Tunnneling」の機能を使って、直接アクセスできないArmadilloに対してSSH接続を行う方法を紹介します。
-
at_ito
node-eyeを使用時に、ログファイル等のサイズの大きなファイルをリモートで見たい場合があるかと思います。node-eyeでは任意コマンドの仕組みを使用して、指定したファイルをFTPサーバーにアップロードすることができます。 ここでは、node-eyeの任意コマンドの仕組みを使って、ArmadilloのファイルをFTPサーバーにアップロードする方法を紹介します。
-
at_ito
node-eyeを使用時に、アプリケーションの更新等で、特定パッケージのみアップデートしたい場合があるかと思います。node-eyeでは任意コマンドの仕組みを使用して、特定パッケージのアップデートのみ実行することができます。 ここでは、node-eyeの任意コマンドの仕組みを使って、Armadilloにインストールされている特定パッケージのアップデートを行う方法を紹介します。
-
at_ito
node-eyeを使用している際に、一部ファイルだけの更新をしたい場合などがあると思います。その際には、node-eyeの任意コマンドを使用して、外部のWebサーバーからファイルをArmadilloにダウンロードすることが可能です。 ここでは、node-eyeから指定したファイルを、Armadilloにダウンロードする方法を紹介します。
-
at_ito
Armadilloには電源断対策のためのoverlayfsの機能があり、有効化するとファイルの変更がRAM上に保存されるようになります。その状態でDebianパッケージをインストール、またはアップデートした場合にRAM上に保存されるため、再起動すると元に戻ってしまい稼働中のシステムのアップデート等ができません。 そのため、ここではoverlayfsを有効化した状態で、DebianパッケージをeMMCにインストールする方法について紹介します。
-
at_ito
Armadilloを使用して複数台の製品を作る際には、各基板に対してソフトウェアを書きこむ必要があります。その際に書込み作業が発生するため、台数が多いと作業に時間がかかってしまう問題が発生します。 その問題をなるべく解消するために、USBメモリを使用してなるべく簡単にソフトウェアを書きこむための方法を紹介します。
-
at_ito
Armadillo-X1, Armadillo-IoT G3/G3Lでは、インストールディスクでLinuxカーネル、ルートファイルシステムを更新する仕組みがあります。インストールディスクを使用する方法では、SDカードを使用する必要がありますが、なんらかの理由によりSDカードを使用せずUSBメモリを使用したい場合があるかと思います。 そのため、ここではUSBメモリを使用して、eMMCのLinuxカーネル、ルートファイルシステムを更新する方法について紹介します。
-
at_ito
Armadillo-X1, Armadillo-IoT G3/G3Lでは、SDカードをルートファイルシステムとして構築できず、USBメモリに構築する必要がある場合があります。その際のUSBメモリにルートファイルシステムを構築する手順を紹介します。
-
at_ito
AradilloではLinuxカーネルのコンフィギュレーションを変更した場合など、Linuxカーネルのファイルを変更して動作させることがあるかと思います。その際にコンフィギュレーションに問題があり起動しなくなった場合等は、変更前のLinuxカーネルに戻したい場合等があるかと思います。 そういった複数のLinuxカーネルを使用したい場合に使える方法についてここで紹介します。
-
at_ito
Armadillo-X1, Armadillo-IoT G3/G3LでDeviceTreeを作成する際に、各ドライバーのソースコードを確認する必要がある場合があります。本ブログでは、Microchip 製 AD コンバーター(MCP3202)の設定を例に、該当のドライバーの場所を調べる方法について紹介します。
-
at_ito
Armadillo-X1, Armadillo-IoT G3/G3Lでは、アプリケーション開発環境がArmadillo上で開発することが想定されており、ATDE環境でクロス開発する場合には、各種クロスライブラリのインストール等必要なため大変です。 そのため、ATDE環境でArmadilloのルートファイルシステムを動作させ、そこでアプリケーション開発する方法について紹介します。
-
at_ito
Armadillo-X1, Armadillo-IoT G3/G3Lでは、量産時には突然の電源断対策にOverlayFSを有効化し、ファイル変更などをeMMCに書込みせずRAMに保存するような仕組みになっています。その際には、動作ログ等でファイルサイズが増え続けるとRAMの容量を圧迫してしまうため、長期連続動作をする場合は、ファイルサイズを抑制するよう構成することが必要です。 ここではログファイルの増加を抑制する前に、まずは動作時にどのようなファイルが変更されているかの確認方法について紹介します。
-
at_ito
sshを使用してログイン後、バックグラウンドでコマンドを実行し、ログアウトをすると実行したコマンドは終了してしまいます。ここではログアウト後も継続してバックグラウンドでコマンドを実行したい場合に使える方法について紹介します。
-
at_ito
Armadillo-X1, Armadillo-IoT G3ではマルチプレクスの設定を行う際にはDevice Treeが必要になります。ここではArmadillo-X1, Armadillo-IoT G3/G3Lでピンのマルチプレクス設定を行う際の例を記載します。
-
at_ito
Armadillo-X1, Armadillo-IoT G3/G3Lでは、拡張ボードのマルチプレクスの設定や、ドライバーの設定を行うにはDevice Treeの設定が必要になります。 ここではDevice Treeの概要と、Device Treeについての調べ方について簡単に紹介します。
-
at_ito
node-eye(SACM)でシステムを監視している際に、標準では対応していない一部ファイルの更新や、設定の変更など、各システムに合わせてリモートからの指示をカスタマイズしたい場合があるかと思います。 そのような場合は、任意コマンドを実行できるよう設定を行うことで対応可能です。 ここでは任意コマンドの実行できるようにする追加設定の方法を紹介します。
-
at_ito
node-eyeは「node-eye: ネットワーク接続シーケンスの参考情報」で紹介した通りネットワークが一度接続された後に、切断、再接続というネットワーク接続シーケンスを取ります。 そのため、最後の再接続が完了されたかどうかを確認したい場合があるかと思います。 ここではその実現方法例を紹介します。
-
at_ito
node-eyeにはネットワーク設定のリモートコンフィグ機能が、標準で実装されています。この機能を使用することにより、ネットワークの設定がWebブラウザ上で行うことができます。
ただし、この機能を使用するため従来のような端末でのネットワーク設定と異なる動作を行いますので、ここでまとめておきます。 -
at_ito
Armadillo上で、eMMCやSDカード等のストレージにデータを書きこんだ場合、すぐにデータが書きこまれるわけではなく、メモリ上のディスクキャッシュに保存されていることがあります。
その状態で電源が切断されると、RAM上に保存されているディスクキャッシュが、ストレージに書き出される前の状態であるため、ストレージの書き出したはずのデータが消える等の問題が発生します。
そのため、ここでは明示的にディスクキャッシュをストレージに書き出す方法を紹介します。 -
at_ito
Armadilloは標準の状態でハードウェアウォッチドッグタイマーが動作しています。
デバッグ時等Armadilloを使用する場合等に、ハードウェアウォッチドッグタイマーを無効化したい場合があるかと思います。そのため、ここではハードウェアウォッチドッグタイマーを無効にする方法を紹介します。 -
at_ito
Armadillo-X1は100ピンのB2Bコネクタが搭載されており、拡張ボードで機能を拡張することが多い製品です。100ピンのB2Bコネクタの各ピンには複数の機能から使用する機能を選択して使用することができます(ピンマルチプレクス)。
今回はそのピンマルチプレクスの例として、Armadillo-X1にI2Cで温度センサーを接続してみます。 -
at_ito
USB機器を接続してシステムを構築する際に、連続動作を行うとまれに異常な状態が発生し、デバイスの再起動が必要になるケースがあります。 その際にUSB電源をON/OFFすることが解決策になりますので、その方法を紹介します。
-
at_ito
Aramdillo-840で起動時間を短縮するためにユーザーランドをsquashfsにしてみました。 起動時にエラーが発生する等の問題が残っていますが、現時点の内容を本ブログで紹介します。
Armadillo-840の標準のユーザーランドでは起動時間が約30秒程度かかります。 そのうちNORフラッシュからRAMに展開するための時間がかなりを占めています。 -
at_ito
なるべく単純にLCDに画像を表示したい時に使える方法として、 ファイルの内容を標準出力に出力するcatコマンドにて、LCDに画像ファイルを出力する方法を紹介します。
-
at_ito
Armadillo-840のQt(Qt for Embedded Linux)では、標準でEGLFSプラットフォームプラグインを使用しています。このEGLFSでWidget使用したプログラミング時には、いくつかの制限があるので、その内容を紹介します。
-
at_ito
DMC製TSC-44をお借りし、動作させてみましたので、その時の作業を紹介します。
-
at_ito
RS232Cや、RS485での通信でフロー制御を行っていない場合、データが化けることがあります。その際にどの程度の速度で、どれぐらいデータが化けるかを確認する方法を紹介します。
-
at_ito
Armadilloではシリアル経由でログインし、操作することになります。 通常では、各製品ともに標準でログインできるシリアルポートが決まっていますが、そのシリアルポートを変更したい場合の手順を紹介します。
-
at_ito
2016/7/1時点での標準のユーザーランドでは、atmarkユーザーでsudoコマンドが実行できないようになっています。そのため、ここではatmarkユーザーでsudoコマンドが使えるように設定する方法を紹介します。
sudoコマンドの実行権限はrootユーザーでvisudoコマンドを実行することで、..... -
at_ito
独自作成したアプリケーションや、Debianパッケージ等から持ってきたアプリケーションをArmadilloで動作させる際に、共有ライブラリが見つからないというエラーが発生することがあるかと思います。アプリケーションを動作させるには、動作するために必要としている共有ライブラリをArmadilloに追加する必要があります。
その際に、アプリケーションがどのようなライブラリを必要としているか、ATDE上で調べる方法..... -
at_ito
Armadillo-IoT(G1/G2): Node.jsを入れてみたで作成したNode.js実行環境に、追加でWebSocketを使えるようにwebsocket.ioを入れてみましたので、その時の手順を紹介します。.....
-
at_ito
LCDを縦置きなどで設置する場合、表示画面を90度回転させたい場合があるかと思います。 GUIのアプリケーションをQtで作成する場合は、Qtで画面を回転させることができます。
-
at_ito
現状(2016/5/9時点)のArmadillo-IoT(G2)の3Gモジュール(HL8548)ファームウェアにはバグがあり、umts0のifup/ifdownを繰り返すと269回目で切断状態から復帰できなくなる現象が確認されています。 そのため、3G回線が切断された場合に自動的に再接続するスクリプトを作成しましたので、ご参考にしてください。
-
at_ito
Armadillo-IoT(G2)は、標準でUSBカメラの設定が有効化されていません。 そのため、ここではArmadillo-IoT(G2)でUSBカメラを使用する方法を紹介します。
-
at_ito
無線LANの通信で、回線が切断されるなど電波強度を確認したい場合があるかと思います。
ここでは、iwconfigコマンドを実行し、電波強度を確認する方法をご紹介します。 -
at_ito
LANポート1つに対して複数のIPアドレスを設定する方法を紹介します。 LANポートは通常eth0等のインターフェイス名が使われます。 IPアドレスの設定は「ifconfig eth0
」コマンドを実行します。 -
at_ito
Armadillo-400シリーズ、Armadillo-IoT(G2)でtftpdlコマンドを使用して、フラッシュの全領域を書き換えたい場合があるかと思います。ファイルサイズが大きすぎで起こるエラーを避け、全領域を書き換える方法をご紹介します。
-
at_ito
Armadillo-IoTは、NORフラッシュにLinuxカーネルや、各種ファイルをまとめて1つのファイルとしたイメージというものを書き、起動時にイメージを展開して動作するという仕組みになっています。 ファイルシステムが構成されていないためArmadilloを最初に扱うときには戸惑うところもあるかと思います。
ここでは、ArmadilloのNORフラッシュに書き込むためのカーネルイメージと、ユーザーランドイメージをはじめて作成するために必要な情報を、製品マニュアルを参照という形で説明します。 -
at_ito
Armadilloは組み込みボードということもあり、標準のデスクトップ環境と比べ、標準イメージで使用できるコマンドが少ないです。そのため、どのコマンドが使用できて、どのコマンドが使用できないかを調べたい場合があるかと思います。
そこでArmadilloに搭載されているコマンド一覧を調べる方法を以下に紹介します。 -
at_ito
Armadillo-800シリーズにはAVコーデックミドルウェアが搭載されております。ストリーミングを行う際の参考として、Armadillo-810で撮影した映像を有線LAN経由でストリーミング配信し、その映像をArmadillo-840の液晶に表示する方法を紹介します。
-
at_ito
代理店の福西電機様から、三重電子の4.3inch LCD(型番: PH480272T006-IZB01)をお借りできたので、Armadillo-440で動かしてみました。
動かした際の手順を以下に紹介します。 -
at_ito
コンソールを標準のシリアルインターフェース以外に変更する際など、起動中に/etc/inittabを変更し、動作を確認したい場合があるかと思います。
initはLinuxカーネル初期化終了後に必ず最初に起動されるプロセスです。従いまして、/etc/inittabを変更するだけでは、設定変更をすぐに変更することができません。
init起動中に/etc/inittabファイルの変更を反映させるには、以下のコマンドを実行してください。 -
at_ito
特定プロセスのCPU使用率が変化した場合に、シェルスクリプトで何かの処理を行いたいなどの場合があるかと思います。そのような場合に使える、psコマンドで特定プロセスのCPU使用率を調べる方法を紹介します。
-
at_ito
カーネルパニック発生時に自動的に再起動する方法等のテストを行う際に、カーネルパニックを簡単に発生させる方法を紹介します。
-
at_ito
Armadillo-IoTの標準イメージにはmosquitto-clientが入っています。mosquitto-clientはMQTTを簡単に扱うことができます。 今回は、このmosquitto-clientを使って、簡単にMQTTを使ってメッセージを送受信してみます。
-
at_ito
アプリケーションやドライバーの作りによりカーネルパニックが発生し、意図通りにソフトウェアが動作しない場合があるかと思います。その際、すでにフィールドに出している製品等ですと復帰ができず困る場合もあるかと思います。
そのような場合の対策として、カーネルパニックが発生すると、自動的に再起動する機能がありますので紹介します。 -
at_ito
Armadillo-IoTを使ったデモを作成する際、ArmadilloではRuby、クラウドのサンプルではjavascript等と複数の言語を使い分ける必要があります。
複数の言語を扱うのは面倒なので、Armadilloでもjavascriptが動かせないかと思い、Node.jsの実行環境をArmadilloに入れてみました。