デバッグ時等で一時的にCPU、ディスク、メモリに負荷をかけ、動作を見たい時があります。そういった場合は、stress-ngコマンドを使用すると便利に実現できます。 ここではstress-ngコマンドの使用例を紹介します。
ブログ
-
at_ito
-
at_takuma.fukuda
Reactのチャート描画ライブラリであるRechartsを使って、
Armadillo-640と接続したPCのブラウザにグラフを描画します。
-
at_kazutaka.bito
Armadillo-640で、音声ファイル(mp3)を再生する方法です。
-
at_kazutaka.bito
Armadillo-640で、USBオーディオで録音、再生を試してみました。
-
at_ito
Armadillo-640は標準でLCDのオプションがあるため、GUIのアプリケーションを試すのが非常に簡単です。 そこでLCDへ何かしらの表示をするためにブラウザのSurfを動かしてみました。
-
at_ito
Armadillo-640上でReactを使ってグラフ表示ができるライブラリrechartを使ってサーバーを立ててみました。 ここではサンプルの実行までの手順になりますが、カスタマイズ等すればWebブラウザからArmadilloのデータ等を見られるアプリケーションを作成することができます。
-
at_shigehisa.yamamoto
Armadilloにログインすると、ホスト名やユーザ名が表示されたシェルプロンプトが表示されます。 このとき複数台のArmadilloを運用していると、どのArmadilloにログインしているのか分からなくなる場合があります。 そこで本ブログでは、Armadilloのシェルプロンプトのホスト名を変更する方法を記載します。
-
at_kazutaka.bito
Armadillo-640で、デバイスツリーで、GPIOのデフォルトを出力に設定する方法です。
備考)
Armadillo-640:デバイスツリーで、GPIOのデフォルトを出力に設定する(その1)
の方法では、ユーザー領域からは、Low/High出力を切り替えることができません。
ここでは、簡易的にGPIO 接続用LED ドライバ (leds-gpio)を活用して、
ユーザー領域からLow/High出力を切り替えれるようにします。 -
at_kazutaka.bito
Armadillo-640で、デバイスツリーで、GPIOのデフォルトを出力に設定する方法です。
備考)
この方法の場合、ユーザー領域で、GPIO出力のLow/Highの切り替えができません。
ユーザー領域からGPIO出力のLow/Highの切り替えを行う場合は、
Armadillo-640:デバイスツリーで、GPIOのデフォルトを出力に設定する(その2)
を参照ください。 -
at_shigehisa.yamamoto
Python3.7をインストールする方法をご紹介します。
-
at_kazutaka.bito
Armadillo-640で、OpenCVを使った画像処理を試してみました。
-
at_kazutaka.bito
Armadillo-640:OpenCVを使ってみる
では、画像処理結果をbmpファイルに出力していましたが、
ここでは、Armadillo-640で、OpenCVの画像処理結果をネットワーク経由で確認できるようにしてみます。 -
at_takuma.fukuda
セルフ開発した結果をx1-debian-builderで作成するルートファイルシステムアーカイブに反映する方法についてまとめました
-
at_ito
ArmadilloのGUIはブラウザで実現することも可能になってきています。 昨今のWebアプリケーションでは、ページ遷移のないシングルページアプリケーション(SPA)への需要が増えてきているというトレンドがあります。 SPAを実現するライブラリとしてReactというものがあるようなので、 Armadillo上でReactを使ってHello Worldを試してみます。
-
at_ito
Node.js等のスクリプト言語では、実行するNode.jsのバージョンにより動作しなかったりということが起きうるため、各言語で用意されている*envコマンドにてバージョン管理を行うことが多いです。 ここでは、Armadilloでスクリプト開発を行う際に、使用する可能性のあるATDE7でanyenvとnodenvを使ってNode.js実行環境を構築してみます。
-
at_takuma.fukuda
Armadillo実機上でセルフ開発を行ったものを量産するための手段についてまとめました
-
at_takuma.fukuda
Armadillo-640に接続したLCD画面にwxPythonを使用してグラフを描画するデモアプリケーションを紹介します
-
at_takuma.fukuda
Armadillo IoTゲートウェイで、それぞれどの通信インタフェースが使用可能であるかの一覧
-
at_takuma.fukuda
Debianから取得できるwxWidgetsのサンプルプログラムの使い方を解説します。
-
at_takuma.fukuda
Armadillo-640でPythonを使ってユーザインタフェースを構築するために、wxPythonをインストールする方法をご紹介します。
-
at_shigehisa.yamamoto
Eclipseのコンソールウィンドウを使えば、EclipseからArmadilloに簡単にSSHでログインできます。
-
at_kazutaka.bito
Armadillo-640:USBカメラの画像をmjpg-streamerを使って、ネットワーク経由でPCのWebブラウザで見る方法は、
USBカメラから、画像をYUV入力してMJPEGにエンコードしているため、CPUの負荷が高くなっています。
ここでは、MJPEG出力可能なUSBカメラから、画像をMJPEG入力する方法を確認してみました。 -
at_kazutaka.bito
Armadillo-640 製品マニュアル
SDブートの活用
の手順では、
14.4. SDブートの実行
のとおり、最初の起動時にU-bootの環境変数をコンソールから設定する必要があります。
ここでは、SDブート起動用の環境変数設定済みのU-bootを作成します。
ここでの手順で作成したU-bootを、SDカードのブートディスクのU-bootにすることで、
最初の起動時にU-bootの環境変数をコンソールから設定する必要がなくなります。 -
at_ito
Armadilloを使ったシステムでは、Armadilloと周辺機器が連携してシステムを構築することが多いです。Node-REDを使用してシステムを構築する場合も同様になりますが、インストール直後ではシリアルポートを使用できるようになっていません。 そのため、Armadillo上で動作するNode-REDでシリアル(RS232C, UART)からデータを取得するノードを追加する方法を紹介します。
-
at_ito
Armadilloでシステムを構築する際には、電源投入後に独自に作成したアプリケーションを実行することになることが多いです。その際にはsystemdからアプリケーションを起動させますが、特に意識せずに設定した場合は、電源投入後からアプリケーション起動までに数十秒かかることが多いです。 そのため、ここでは電源投入後になるべく早くアプリケーションを動作させるための方法について紹介します。
-
at_ito
rubyなどのアプリケーションをArmadillo起動直後に動作させる場合に、「random: crng init done」と表示が出るまでアプリケーションが動作しない場合があります。 これはLinux内部のランダム変数を生成するためのデータを用意するのに時間がかかっているため、この現象が発生します。 ここでは、その現象が発生した場合の対応方法を紹介します。
-
at_ito
Armadillo-640、またはArmadillo-X1でQtを使って開発を行う場合、Armadillo上での開発だとIDE(統合開発環境)等が使えず、デザイン等がGUIで作りにくい面があります。 そのため、ここではATDE7上のQtCreatorでソフトウェアの開発を行い、ソースコードのみArmadilloに転送しビルドする方法を紹介します。
-
at_shigehisa.yamamoto
microエディタのカラースキームを変更する方法をご紹介します。
-
at_ito
Armadilloの起動を短縮化したい場合に、ユーザーランドの起動時間がどの程度なのかの情報をもとに短縮していくかと思います。 Linuxカーネル起動後は、systemdが動作しシステムに必要なプロセスの起動や、設定などを行います。そのため、起動短縮化のためにはsystemdの動きを確認する必要があります。 ここではsystemdがどのように各ユニットを起動させているかを確認する方法を紹介します。
-
at_kazutaka.bito
historyコマンドの表記に日時を付ける方法です。
デバッグ時に/var/log/syslogなどのログと、コンソールから実行したコマンドとの相関をとる際に便利です。
-
at_kazutaka.bito
Armadillo-640で、I2C通信の熱電対温度センサ(MCP9600)からデータ取得を取得してみました。
ここでは、MCP9600を搭載した熱電対温度センサモジュールを使用しました。
プログラムは、c言語で作成しています。 -
at_kazutaka.bito
Armadillo 製品アップデートのお知らせ (2019年1月/Armadillo-640対象) で、追加されたat-dtwebを使って、
Device Treeをカスタマイズしてみます。
ここでは、I2CとUART(コンソール用)の設定を行ってみます。
I2C2
CON9の4ピン:SDA
CON9の6ピン:SCL
UART1
CON9の3ピン:RXD
CON9の5ピン:TXD
-
at_shigehisa.yamamoto
Armadillo本体をネットワークに接続せずに、USBメモリを使用して、正規認証ファイルをPCへ移動する方法をご紹介します。
-
at_ito
Armadillo-640用LCDオプションは、ノリタケ伊勢電子製の金属電極投影型静電容量タッチパネルを搭載しており、障害物ごしでもタッチができことが特徴です。実際に使用する際には、障害物の素材や厚み等によりタッチパネルの感度調整が必要となります。 ここではArmadillo-640用LCDオプションのタッチパネルの感度調整をする方法を紹介します。
-
at_ito
Armadilloでソフトウェアを移植する際に、eMMCの空き容量が十分にあるかどうか確認する必要があります。 ここでは、参考情報としてeMMC搭載のArmadilloで標準イメージをインストールした時のeMMC空き容量について紹介いたします。
-
at_kazutaka.bito
Armadillo-640で、I2C通信の熱電対温度センサ(MCP9600)からデータ取得を取得してみました。
ここでは、MCP9600熱電対温度センサモジュールを使用しました。
プログラムは、pythonで作成しています。 -
at_shigehisa.yamamoto
Armadillo-640にX Window Systemなどのウィンドウシステムをインストールしていない環境で、アプリケーションからLCDフレームバッファへアクセスすると、同時にコンソール表示もLCDフレームバッファへアクセスしているため、LCDにはカーソルが常に表示されます。 この場合、ここで紹介する方法を実行することで、カーソルを非表示にできます。
-
at_ito
Armadillo-640のUSBシリアル変換アダプタにはU-bootの起動モードを変更するためのスライドスイッチがあり、このスライドスイッチはCON9の1ピンに接続されています。Armadillo-640に拡張ボード等を接続し、CON9の1ピンを他の機能に使用したい場合は、CON9の1ピンの状態にかかわらずオートブートで起動したい場合があるかと思います。 そのため、ここではArmadillo-640のCON9の1ピンの状態にかかわらず、オートブートモードで起動する方法を紹介します。
-
at_ito
Armadilloをネットワークに接続して使用する場合には、不正アクセスのリスクを減らすためにファイアウォールの設定を行うことが良くあります。そのため、ここでは例としてufwコマンドを使用して、外部からのSSHアクセスのみを許可するように設定をする方法を紹介します。
-
at_shigehisa.yamamoto
Armadillo-640でNode.jsパッケージをnpm(Node Package Manager)で管理する方法をご紹介します。
-
at_shigehisa.yamamoto
シェルスクリプトやコンソール内で複数のコマンドを連続して実行する場合に利用する、制御演算子(リスト演算子)の使い方を紹介します。
-
at_ito
システム運用時にソフトウェアアップデート等の目的でUSBメモリ挿入時に自動的にファイルを更新したい場合があるかと思います。ここではUSBメモリを挿入した時に、自動的にUSBメモリからファイルをArmadilloにコピーする方法を紹介します。
-
at_shigehisa.yamamoto
「Windows Subsystem for LinuxにArmadillo開発環境を構築するための手順」で、Windows10 PC上にLinux環境の構築する方法を紹介しました。今回は、Windows Subsystem for LinuxとX Windowを連携させて、よりリッチな環境を構築する方法をご紹介します。
-
at_ito
ArmadilloでX.org上でGUIアプリケーションを動作させているときに、画面を共有したい場合などがあると思います。 ここではArmadilloでLCDに表示している画面のスクリーンショットを取得する方法を紹介します。
-
at_ito
Armadillo-640ではGUIを使用するためのフレームワークが標準で入っていません。そのため、ここではQtを入れてGUIアプリケーションを動作させてみます。
-
at_kazutaka.bito
Armadillo-640で、pythonでI2C通信を確認してみました。
ここでは、I2C通信の加速度センサー(ADXL345)からデータを取得してみました。 -
at_kazutaka.bito
Armadillo-640:pythonを動かす で構築した環境で、pyserialでシリアル通信してみました。
-
at_shigehisa.yamamoto
直観的なユーザインターフェースを持つ端末ベースのテキストエディタmicroをご紹介します。
-
at_shigehisa.yamamoto
ATDE7で日本語のディレクトリを英語に変更する方法をご紹介します。
-
at_shigehisa.yamamoto
Armadilloに搭載されたLinuxカーネルおよびDebianディストリビューションのバージョンを確認する方法をご紹介します。