node-eyeを使用時に、ログファイル等のサイズの大きなファイルをリモートで見たい場合があるかと思います。node-eyeでは任意コマンドの仕組みを使用して、指定したファイルをFTPサーバーにアップロードすることができます。 ここでは、node-eyeの任意コマンドの仕組みを使って、ArmadilloのファイルをFTPサーバーにアップロードする方法を紹介します。
ブログ
-
at_ito
-
at_ito
node-eyeを使用時に、アプリケーションの更新等で、特定パッケージのみアップデートしたい場合があるかと思います。node-eyeでは任意コマンドの仕組みを使用して、特定パッケージのアップデートのみ実行することができます。 ここでは、node-eyeの任意コマンドの仕組みを使って、Armadilloにインストールされている特定パッケージのアップデートを行う方法を紹介します。
-
at_ito
node-eyeを使用している際に、一部ファイルだけの更新をしたい場合などがあると思います。その際には、node-eyeの任意コマンドを使用して、外部のWebサーバーからファイルをArmadilloにダウンロードすることが可能です。 ここでは、node-eyeから指定したファイルを、Armadilloにダウンロードする方法を紹介します。
-
at_yuma.arakawa
Linuxカーネルをコンパイル時の設定(カーネルコンフィギュレーション)は、Linuxカーネルソースコードが持つmeuconfigという機能を使うことで変更できます。 menuconfigは、メニューから項目を選択し変更できるのですが、Linuxカーネルのカーネルコンフィギュレーションは項目が多く、変更したい項目がどこにあるのか探すことが困難な場合があります。menuconfigは検索機能を備えており、そのような場合にはキーワードからカーネルコンフィギュレーションを検索すると便利です。
-
at_takuya.sasaki
Armadillo-IoT G3/G3L/X1には、WLAN/BTコンボチップが搭載されており、BT通信が可能になります。 Bluezなどのプロトコルスタックを利用してBT通信を行っていると、BTの通信ログが/var/log/syslogに出力され、ディスク容量を圧迫することがあります。 ログローテーションの設定を変更する方法もありますが、今回はログ自体を出さなくする方法を紹介します。
-
at_ito
Armadilloには電源断対策のためのoverlayfsの機能があり、有効化するとファイルの変更がRAM上に保存されるようになります。その状態でDebianパッケージをインストール、またはアップデートした場合にRAM上に保存されるため、再起動すると元に戻ってしまい稼働中のシステムのアップデート等ができません。 そのため、ここではoverlayfsを有効化した状態で、DebianパッケージをeMMCにインストールする方法について紹介します。
-
at_ito
Armadilloを使用して複数台の製品を作る際には、各基板に対してソフトウェアを書きこむ必要があります。その際に書込み作業が発生するため、台数が多いと作業に時間がかかってしまう問題が発生します。 その問題をなるべく解消するために、USBメモリを使用してなるべく簡単にソフトウェアを書きこむための方法を紹介します。
-
at_kazutaka.bito
プログラムの処理速度を計測する方法として、gettimeofdayが使えます。 下記のコードのように、処理時間を測定したい処理(下記コードの場合、/** Describe Function for Measurement of time **/の箇所)の前後で、 gettimeofdayで時刻を測定して、差分をとると、処理時間が測定できます。
-
at_yuma.arakawa
ユーザーランドのソフトウェアを固定する場合、 「ユーザーランドイメージを作成する」、「インストールするdebパッケージをあらかじめダウンロードしておく」等が考えられますが、 apt-getコマンドでバージョンを指定してパッケージをインストールすることもできます。
-
at_kazutaka.bito
Armadillo-IoT(G3L)
とアルプス電気株式会社様の環境センサモジュール 開発キット を使って、温度、湿度、気圧、照度等を読み取って、クラウド(Heroku)経由で見てみました。 -
at_kazutaka.bito
Armadillo-IoT(G3L)(WLAN+BTコンボモジュール搭載品)
を使って、 アルプス電気株式会社様のセンサネットワークモジュール(IoT Smart Module)(10個) の温度、湿度、気圧、照度等を読み取って、クラウド(Heroku)経由で見てみました。 -
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_yuma.arakawa
x1-debian-builderで自動作成されるrootユーザー、atmarkユーザーのパスワードの変更方法を紹介します。
-
at_yuma.arakawa
Armadillo-IoT G3/G3L、あるいはArmadillo-X1では、x1-debian-builderというツールを使用してルートファイルシステムアーカイブを作成します。 この記事では、その主たる処理を行うbuild.shの動きについて、簡単に概要を説明いたします。
-
at_yuma.arakawa
インターネット経由でスマートフォンへPush通知を行うためのサービスとして"Pushbullet"というサービスがあります。 この記事では、Armadillo-IoT G3/G3Lで使用してみた際の手順をまとめます。
-
at_yuma.arakawa
ルートファイルシステムアーカイブは.tar.gzのアーカイブなので、展開すればchownコマンドで所有者を変更できます。ただし、chownでの変更時に注意が必要な点があるため、この記事で説明します。
-
at_yuma.arakawa
x1-debian-builderでルートファイルシステムアーカイブを作成すると、一般ユーザーとして"atmark"ユーザーが作成されます。この記事では、ルートファイルシステムアーカイブ作成時のユーザーの追加/変更方法を紹介します。
-
at_yuma.arakawa
apt-getコマンドでdebファイルのダウンロードが可能です。
-
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_kazutaka.bito
Armadillo-IoT(G3/G3L)で、Node.jsを使えるようにしてみました。 (Armadillo-X1でも同様の手順で可能です。)
-
at_kazutaka.bito
Armadillo-X1で、カメラの画像からQRコードを読む方法(zbarcam)です。カメラはUSBカメラを使用しました。 当方が確認したのは、Armadillo-X1ですが、Armadillo-IoT(G3/G3L)も同様の手順が使えるはずです。
-
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_kazutaka.bito
Armadillo-X1で、USBカメラの画像をmjpg-streamerを使って、ネットワーク経由でPCのWebブラウザで見る方法です。
-
at_ito
Armadillo-X1, Armadillo-IoT G3/G3Lでは、拡張ボードのマルチプレクスの設定や、ドライバーの設定を行うにはDevice Treeの設定が必要になります。 ここではDevice Treeの概要と、Device Treeについての調べ方について簡単に紹介します。
-
at_ito
node-eye(SACM)でシステムを監視している際に、標準では対応していない一部ファイルの更新や、設定の変更など、各システムに合わせてリモートからの指示をカスタマイズしたい場合があるかと思います。 そのような場合は、任意コマンドを実行できるよう設定を行うことで対応可能です。 ここでは任意コマンドの実行できるようにする追加設定の方法を紹介します。
-
at_takuya.sasaki
Armadillo-IoT G3/G3Lでは、NetworkManagerを使ってネットワークの設定を行います。 3G/LTEと、有線LANを同時に使う際に、有線LAN側のGWをデフォルトゲートウェイとして設定されてしまうと、 外部ネットワークへの接続ができなくなることがあるので、その際の対処方法の一つとして、 有線LANをデフォルトゲートウェイに設定しない方法を試してみます。
-
at_yuma.arakawa
Armadillo-X1/IoT(G3/G3L)では、ユーザーランドとしてDebian GNU/Linux 8(jessie)のルートファイルシステムアーカイブのみを公開しています。このアーカイブの作成やカスタマイズには、x1-debian-builderというツールを公開しています。 ただし、x1-debian-builderは完了までに少なくとも30分程かかります。本記事では、ちょっとした変更などで、アーカイブを直接変更する手順を紹介します。
-
at_yuma.arakawa
x1-debian-builderを使用してルートファイルシステムアーカイブを作成する際、apt-getでインストールするパッケージは、
x1-debian-builder-[VERSION]/[製品名]_resources/resources/packages
にパッケージ名を追加します。 パッケージに設定ファイルが含まれる場合、この設定ファイルがルートファイルシステムアーカイブに組み込まれることになります。
しかし、ルートファイルシステムアーカイブには任意に変更した設定ファイルを含めたい場合があります。 そこで本記事では、lighttpdを例に、変更した設定ファイルを含むルートファイルシステムアーカイブの作成方法を紹介します。 -
at_ito
node-eyeは「node-eye: ネットワーク接続シーケンスの参考情報」で紹介した通りネットワークが一度接続された後に、切断、再接続というネットワーク接続シーケンスを取ります。 そのため、最後の再接続が完了されたかどうかを確認したい場合があるかと思います。 ここではその実現方法例を紹介します。
-
at_takuya.sasaki
Armadillo-IoT G3/G3Lでは、3Gモジュールの制御はModemManagerで実施しています。 3GやLTE接続時に、何かしら問題が起きた時にこれらのデバッグログを有効にする方法をご紹介します。
-
at_yuma.arakawa
overlayfsの有効化方法は製品マニュアルに記載があります[*1]が、無効化方法は記載されていません。
[*1] 22.2. ルートファイルシステムへの書き込みと電源断からの保護機能
有効化では、U-Bootの環境変数にoverlayfsを設定しているだけです。そこで、本記事ではU-Bootの環境変数の内容を確認し、削除する方法を紹介します。 -
at_yuma.arakawa
hcitoolでHCI(Host Controller Interface)のコマンドをBluetoothモジュールへ発行することにより、Bluetoothモジュールの設定を変更できます。本記事では例として、アドバタイズパケットの送信周期を変更してみます。
-
at_kazutaka.bito
Armadillo-X1/IoT(G3/G3L)の製品マニュアルには、ATDE6からのファイル転送として、SSHを使用する方法がありますが、 ここでは、ATDE6にlighttpd(Webサーバー)を使えるようにして、Armadillo-X1/IoT(G3/G3L)からファイルを取得する方法を説明します。
-
at_kazutaka.bito
起動時にソフトを自動実行する場合は、実行コマンドの後ろに"&"をつけてバックグラウンドで実行させます。 うっかり忘れてしまうと、フォアグラウンドで実行されてしまい、コンソールが戻らずログインできなくなります。 ここでは、Armadillo-X1/IoT(G3/G3L)で、起動時のソフトの自動実行により、ログインできなくなったときの復帰方法を説明します。
-
at_yuma.arakawa
Armadillo-IoT G3/Armadillo-IoT G3L/Armadillo-X1ではi.MX7DというデュアルコアのCPUを搭載しています。通常、あるプロセスがどのCPUコアで実行されるかは、Linuxカーネルの判断次第なのですが、プロセスごとにアフィニティ(親和性)の設定を行うことで、どのコアで実行して欲しいかをLinuxカーネルへ指定することができます。 tasksetというコマンドでアフィニティの設定が行えます。本記事では、実行例と共に使用方法を紹介します。
-
at_ito
node-eyeにはネットワーク設定のリモートコンフィグ機能が、標準で実装されています。この機能を使用することにより、ネットワークの設定がWebブラウザ上で行うことができます。
ただし、この機能を使用するため従来のような端末でのネットワーク設定と異なる動作を行いますので、ここでまとめておきます。 -
at_ito
Armadillo上で、eMMCやSDカード等のストレージにデータを書きこんだ場合、すぐにデータが書きこまれるわけではなく、メモリ上のディスクキャッシュに保存されていることがあります。
その状態で電源が切断されると、RAM上に保存されているディスクキャッシュが、ストレージに書き出される前の状態であるため、ストレージの書き出したはずのデータが消える等の問題が発生します。
そのため、ここでは明示的にディスクキャッシュをストレージに書き出す方法を紹介します。 -
at_kazutaka.bito
Armadillo-X1でWebページ上で表とグラフを表示するサンプルデモを作ってみました。
(今回確認したものは、Armadillo-X1ですが、Armadillo-IoT(G3/G3L)も同様の手法が使用できると思います。) -
at_yuma.arakawa
インストールディスクの実態は、SDのブートディスクです。Armadilloの内臓ストレージ(eMMC及びQSPIフラシュメモリ)へ書き込むイメージファイルと、インストールスクリプトを含んでおり、SDブート時にインストールスクリプトが実行されるよう設定されています。
-
at_kazutaka.bito
Armadillo-IoT(G3/G3L)、Armadillo-X1は、ファイルをストレージに保存するため、 電源OFFにしても、syslog等のログファイルは残ります。 Armadilloを常時稼働していたり、 Armadilloの電源をOFFにすることはあっても、バッテリ電池でRTCの時刻を保持している場合は、 システムのログファイル(syslog等)は、.....
-
at_yuma.arakawa
Armadillo-G3/G3L/X1の内蔵ストレージの初期化を行うインストールディスクを作成する際、各製品マニュアルではATDE上で"dd"というコマンドでSDへのインストールディスクイメージの書き込みを行っています。 本記事では、"Win32 Disk Imager"というツールを使用して、Windows上でインストールディスクイメージの書き込みを行ってみます。
-
at_yuma.arakawa
Armadillo-G3/G3L/X1では、インストールディスク(SD/マイクロSD)を使用することで、内蔵ストレージ(eMMC及びQSPIフラッシュメモリ)内のイメージを一括で書き換えることができます。
本ブログでは、主に出荷時を想定し、インストールディスクイメージ(インストールディスクの元となるイメージファイル)を用いたインストールディスクの作成から、インストールディスクを用いたArmadilloへのイメージ書き込みまでの手順を紹介します。 -
at_ito
2016/7/1時点での標準のユーザーランドでは、atmarkユーザーでsudoコマンドが実行できないようになっています。そのため、ここではatmarkユーザーでsudoコマンドが使えるように設定する方法を紹介します。
sudoコマンドの実行権限はrootユーザーでvisudoコマンドを実行することで、..... -
at_ito
LANポート1つに対して複数のIPアドレスを設定する方法を紹介します。 LANポートは通常eth0等のインターフェイス名が使われます。 IPアドレスの設定は「ifconfig eth0
」コマンドを実行します。 -
at_ito
アプリケーションやドライバーの作りによりカーネルパニックが発生し、意図通りにソフトウェアが動作しない場合があるかと思います。その際、すでにフィールドに出している製品等ですと復帰ができず困る場合もあるかと思います。
そのような場合の対策として、カーネルパニックが発生すると、自動的に再起動する機能がありますので紹介します。