会社のセキュリティポリシー等で社内ネットワークにArmadilloを接続することができない場合があるかと思います。その際にはArmadillo上でaptコマンドを使用することができずパッケージをインストールする方法に困ります。 そういった場合の解決策としてATDE上でDebianパッケージをダウンロードし、USBメモリ/SDカード等でArmadilloにコピーし、Armadilloにdebパッケージをインストールする方法を紹介します。
個人別ブログ
at_ito さんのブログ
-
at_ito
-
at_ito
他のボードで開発したものをArmadilloに移植する場合や、どのArmadilloを使用するかを検討中に性能を比較したい場合があるかと思います。ここではLinux上で動作するUnixBenchをArmadillo-640で動作させベンチマークを取ってみます。
-
at_ito
他のボードで開発したものをArmadilloに移植する場合や、どのArmadilloを使用するかを検討中に性能を比較したい場合があるかと思います。ここではLinux上で動作するUnixBenchをArmadillo-640で動作させベンチマークを取ってみます。
-
at_ito
Armadillo-X1とArmadillo-X1 評価用拡張ボードセット01を組み合わせて使用した場合、Linux-4.9上でXorgを立ち上げて使用するとタッチパネルが動作しません。ここでは、Armadillo-X1 + Linux-4.9 + Xorgの環境でタッチパネルを動作させるための手順を紹介します。
-
at_ito
Webアプリケーションを作成していると、クライアントからのアクセスにレスポンスするだけでなく、クライアントからのリクエストがなくてもサーバーからデータを送りたい場合があるかと思います。 そのため、ここではSocket.IOを使ってサーバーからクライアントに5秒間隔でテキストを送るアプリケーションを作成してみます。
-
at_ito
組み込みデバイスでのGUIアプリケーションを作るフレームワークはQt, GTK, wxWidgets等がありますが、いずれも新しく覚える内容が多い等の難点があります。 ここでは一般的に使用経験があると思われるJavaScript, HTML, CSSを使ってデスクトップアプリケーションを作れるElectronをArmadillo-X1で使用してみます。
-
at_ito
作成したコマンドや、インストールしたコマンド実行時に「Syntax error: "(" unexpected」エラーが出る場合の対応法を紹介します。
-
at_ito
Armadilloは長期にわたり継続供給する製品のため、一部部品等が変更される場合があります。変更内容については変更通知にて発行されます。新たに発行された場合は、ユーザー登録をし、変更通知を受信する設定になっているメールアドレスに配信されます。 変更された場合は、ソフトウェアのバージョンも変更する必要があることもあり、手持ちの製品がどの変更がなされている物なのかを確認する必要がある場合もあります。 そのため、ここでは製品に関しての変更内容を確認する方法を紹介します。
-
at_ito
Armadillo-640で動作するReactのサンプルアプリケーションを作成してみました。 組み込み機器でよくつかわれるUIとして、グラフ表示と画像表示を行う機能があります。組み込みでReactを使用する際の参考としていただければと思います。
-
at_ito
デバッグ時等で一時的にCPU、ディスク、メモリに負荷をかけ、動作を見たい時があります。そういった場合は、stress-ngコマンドを使用すると便利に実現できます。 ここではstress-ngコマンドの使用例を紹介します。
-
at_ito
Armadillo-640は標準でLCDのオプションがあるため、GUIのアプリケーションを試すのが非常に簡単です。 そこでLCDへ何かしらの表示をするためにブラウザのSurfを動かしてみました。
-
at_ito
Armadillo-640上でReactを使ってグラフ表示ができるライブラリrechartを使ってサーバーを立ててみました。 ここではサンプルの実行までの手順になりますが、カスタマイズ等すればWebブラウザからArmadilloのデータ等を見られるアプリケーションを作成することができます。
-
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_ito
Armadilloを使ったシステムでは、Armadilloと周辺機器が連携してシステムを構築することが多いです。Node-REDを使用してシステムを構築する場合も同様になりますが、インストール直後ではシリアルポートを使用できるようになっていません。 そのため、Armadillo上で動作するNode-REDでシリアル(RS232C, UART)からデータを取得するノードを追加する方法を紹介します。
-
at_ito
Armadilloで持っているデータの表示や、操作をする際に、タッチパネルで行うことも可能です。しかし特にタッチパネルを使用しない場合でも、Webサーバーを立てネットワーク経由で表示・操作することが可能です。 ここでは軽量Webサーバーであるlighttpdをインストールする方法を紹介します。
-
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_ito
U-Bootのパラメータは、保守モードで起動した後にprintenvや、setenv等のコマンドで確認できますが、標準の状態ではLinuxが起動している状態でU-Bootのパラメータを確認、変更できません。そのため、ここでは新しくパッケージを入れることで、Linux上でU-Bootのパラメータを確認、変更する方法を紹介します。
-
at_ito
Armadilloの起動を短縮化したい場合に、ユーザーランドの起動時間がどの程度なのかの情報をもとに短縮していくかと思います。 Linuxカーネル起動後は、systemdが動作しシステムに必要なプロセスの起動や、設定などを行います。そのため、起動短縮化のためにはsystemdの動きを確認する必要があります。 ここではsystemdがどのように各ユニットを起動させているかを確認する方法を紹介します。
-
at_ito
Armadillo-640用LCDオプションは、ノリタケ伊勢電子製の金属電極投影型静電容量タッチパネルを搭載しており、障害物ごしでもタッチができことが特徴です。実際に使用する際には、障害物の素材や厚み等によりタッチパネルの感度調整が必要となります。 ここではArmadillo-640用LCDオプションのタッチパネルの感度調整をする方法を紹介します。
-
at_ito
Armadilloでソフトウェアを移植する際に、eMMCの空き容量が十分にあるかどうか確認する必要があります。 ここでは、参考情報としてeMMC搭載のArmadilloで標準イメージをインストールした時のeMMC空き容量について紹介いたします。
-
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_ito
システム運用時にソフトウェアアップデート等の目的でUSBメモリ挿入時に自動的にファイルを更新したい場合があるかと思います。ここではUSBメモリを挿入した時に、自動的にUSBメモリからファイルをArmadilloにコピーする方法を紹介します。
-
at_ito
IoTシステムを構築する際には、センサーやGW等のデバイスがネットワークに接続されることからセキュリティの対策が必要になってきます。 ここではIoTシステムで必要とされるセキュリティを構築するにあたり、参考になる情報をいくつか紹介します。
-
at_ito
ArmadilloでX.org上でGUIアプリケーションを動作させているときに、画面を共有したい場合などがあると思います。 ここではArmadilloでLCDに表示している画面のスクリーンショットを取得する方法を紹介します。
-
at_ito
Armadillo-640ではGUIを使用するためのフレームワークが標準で入っていません。そのため、ここではQtを入れてGUIアプリケーションを動作させてみます。
-
at_ito
Armadilloは産業用途向けの製品ですので、搭載しちえる部品の変更や仕様の変更等があれば変更通知にて事前にお知らせします。その際に過去にさかのぼってすべての変更内容を確認する際には、すべての変更通知を一つ一つ確認するのは大変です。そのため、ここでは各製品の過去の変更を確認するための方法を紹介します。
-
at_ito
Armadillo-IoT G3/G3Lをご使用の際にネットワークの状態が変化した時に何かしらの処理をしたい場合があるかと思います。その際にはNetworkManagerの仕組みを利用して、ネットワークの状態が変化した際に、スクリプトを起動することができます。 ここではネットワークの状態が変化した際にスクリプトを動作させる方法を紹介します。
-
at_ito
Armadilloに搭載されているソフトウェアは、不具合対策や機能追加等でアップデートされます。不具合等が発生した場合にアップデートで解消されていることがあるため、過去からのソフトウェア変更を確認したい場合があるかと思います。 ここでは、過去に行われたソフトウェアアップデートを調べる方法を紹介します。
-
at_ito
組み込みシステムを開発、運用している場合には、何かしらの原因でシステムが動作しなくなる、意図した動作をしなくなるような事態が発生することが良くあります。そのような場合に、どのように対応すればよいかについての参考情報を紹介します。
-
at_ito
Armadilloは産業用途向けの製品であり、組み込みプラットフォームとしてあらゆるシステムに組み込まれ、動作し続けています。 Armadilloは、組み込みプラットフォームであるため、システムに組み込むにはソフトウェアの開発も必要となります。Armadilloを使用したシステムで量産するには長期的な安定動作が必要になり、ソフトウェアも長期的に安定して動作させるための対応が必要となってきます。 そのような量産時に対応が必要な項目の例をここで紹介します。
-
at_ito
ArmadilloにTeraTermで接続する場合には、標準の状態では毎回シリアルポートのボーレートを変更する必要があり面倒です。そのため、ここではデフォルトの設定を変更することでシリアルポートの設定を変更することなく、接続できるようにする方法を紹介します。
-
at_ito
Linuxではエイリアス(alias)や、シェルのビルトインコマンド等、実行ファイルがないコマンドもあります。コマンド実行結果が意図したものでない場合、実行ファイルではなくエイリアス(alias)やシェルのビルトインコマンドであることもありますので、そのコマンドに関する情報の調べ方を紹介します。
-
at_ito
Linuxのソフトウェアの脆弱性が発見されたりした場合に、Armadilloに搭載しているソフトウェアをアップデートする必要があります。その際に有用な、ソフトウェアのアップデートに関する参考情報をここで紹介します。
-
at_ito
シェルスクリプト等を作成する際に、文字列や数値ではなく、コマンドの実行結果を変数に入れたい場合があると思います。 ここではシェルでコマンドの実行結果を変数に入れる方法を紹介します。
-
at_ito
Armadilloで開発する際に、Debian GNU/Linuxから配布されたパッケージではなく、Armadillo独自に作成されたパッケージを確認したい場合があるかと思います。 Armadillo独自に作成されたパッケージはアットマークテクノのサーバーで提供されています。 そのため、ここではアットマークテクノサーバーから提供されているパッケージを確認する方法を紹介します。
-
at_ito
U-Bootのパラメータは、保守モードで起動した後にprintenvや、setenv等のコマンドで確認できますが、標準の状態ではLinuxが起動している状態でU-Bootのパラメータを確認、変更できません。そのため、ここでは新しくパッケージを入れることで、Linux上でU-Bootのパラメータを確認、変更する方法を紹介します。
-
at_ito
Armadillo-400シリーズで新フラッシュメモリに対応するパッチを適用した後、書き込んで起動した場合に「WARNING: Unable to find /dev/flash/config: failed」というメッセージが表示されることがあります。 このメッセージは、Linuxカーネルが新フラッシュメモリに対応していないため表示されます。 ここではこのメッセージが表示された場合の対応方法を紹介します。
-
at_ito
Debian GNU/Linuxを搭載しているArmadilloを使用している際には、開発時にパッケージを追加したりした場合等の状況でどのようなパッケージがインストールされているのか確認したい場合があると思います。 そのため、ここではArmadilloでどのようなパッケージがインストールされているのか確認する方法を紹介します。
-
at_ito
Armadilloは産業用途で使用したいため、製品出荷時用に複数台のArmadilloへ同じソフトウェアを効率的に書き込みたい場合があります。 そのため、ここではArmadilloへ効率的にソフトウェアを書きこむ方法を紹介します。
-
at_ito
Armadilloを使用したシステムではログの保存等をストレージに行うことがあります。使用するストレージはeMMC, SDカードが多く内部的に NANDフラッシュを使用しているため書き換え可能回数があります。そのため、システムを設計する際にはこの書き換え可能回数を超えないようにする必要があります。 ここでは、Armadilloのシステムを作る際の参考情報としてストレージの書き換え回数を減らすための方法を紹介します。
-
at_ito
組み込みシステムでは、連続稼働を基本として設計するものが多く、特にシャットダウン手順が決められていないことから、突然の電源断が発生することがあります。 その際に、eMMC/SDカード等のストレージにデータ書き込みが発生していると、次回起動時にファイルシステムが壊れてシステムが起動しなくなるといったことが発生します。 そのため、ここでは突然の電源断でシステムが壊れないように構成する方法を紹介します。
-
at_ito
Armadilloでは、標準のソフトウェアの状態ではWebサーバー等のサーバーが動作しています。最終的にシステムを作る際には、セキュリティ上の観点から、可能な限り不要なTCP/UDPポートは使用しないようにしておくのが良いです。 そのため、ここではArmadillo上でどのTCP/UDPポートが接続待ちをしているかを確認する方法を紹介します。
-
at_ito
Armadillo-840でカメラの画像を表示しながら、SDカード等のストレージにH.264でエンコードして保存したい場合があるかと思います。その場合はGStreamerのコマンドで対応できます。 ここではGStreamerを使用してカメラ画像を表示しながらSDカードへ動画ファイルを保存する方法を紹介します。
-
at_ito
Armadillo-X1, Armadillo-IoT G3/G3LではNetworkManagerでネットワークの管理を行います。ここではNetworkManagerの設定を変更し、ネットワーク接続時に自動的にDNSが設定されない方法を紹介します。
-
at_ito
Armadillo-X1, Armadillo-IoT G3/G3Lは開発セットには標準でディスプレイが搭載されていませんが、簡単にディスプレイを使用する方法としてUSB接続のディスプレイを追加することができます。 ここではArmadillo-X1, Armadillo-IoT G3/G3LでUSB接続ディスプレイを追加する方法を紹介します。
-
at_ito
Armadillo-IoT G3/G3Lには3G/LTEが切断された場合に、自動的に3G/LTEモジュールを再起動をし再接続を行う仕組みが入っています。通常であれば、切断されても自動的に再接続しますが、デバッグ時の問題の切り分け等に手動で3G/LTEモジュールを再起動したい場合があるかと思います。 そのため、ここではArmadillo-IoT G3/G3Lの3G/LTEモジュールを手動で再起動する方法を紹介します。