Armadillo-X1,Armadillo-IoT G3/G3L,Armadillo-640:自作アプリケーションのDebianパッケージを作成する方法についてご紹介します。
ブログ
-
at_syunya.ohshio
-
at_ito
Debian GNU/Linuxを搭載しているArmadilloを使用している際には、開発時にパッケージを追加したりした場合等の状況でどのようなパッケージがインストールされているのか確認したい場合があると思います。 そのため、ここではArmadilloでどのようなパッケージがインストールされているのか確認する方法を紹介します。
-
at_ito
Armadilloは産業用途で使用したいため、製品出荷時用に複数台のArmadilloへ同じソフトウェアを効率的に書き込みたい場合があります。 そのため、ここではArmadilloへ効率的にソフトウェアを書きこむ方法を紹介します。
-
at_shigehisa.yamamoto
コンソール画面へのログ出力を抑制する方法
-
at_shigehisa.yamamoto
デフォルト設定の場合、VMware Workstation Playerは、PCのSDカードスロットに挿入されたSDカードを認識しません。ここでは、VMware Workstation Playerに、SDカードを認識させる方法を解説します
-
at_ito
Armadilloを使用したシステムではログの保存等をストレージに行うことがあります。使用するストレージはeMMC, SDカードが多く内部的に NANDフラッシュを使用しているため書き換え可能回数があります。そのため、システムを設計する際にはこの書き換え可能回数を超えないようにする必要があります。 ここでは、Armadilloのシステムを作る際の参考情報としてストレージの書き換え回数を減らすための方法を紹介します。
-
at_kazutaka.bito
Armadillo-X1,Armadillo-IoT G3/G3L: U-Bootのデフォルトのパラメータ設定を変更するの一例として、USBメモリのルートファイルシステムで起動するようにU-Bootの環境変数のデフォルト値を変更してみます。
-
at_kazutaka.bito
eMMCのパーティションを切りなおす方法です。 以下では、USBメモリのルートファイルシステムを起動して、fdiskコマンドで、eMMCのパーティションを切りなおし イメージの書き換えを行ってます。
-
at_keita.mogaki
Armadillo-X1,Armadillo-IoT G3/G3Lで、ModemManagerのmmcliコマンドを用いて、IMEI・基地局情報・電話番号・電波強度を表示させる方法をまとめました。
-
at_ito
Armadilloでは、標準のソフトウェアの状態ではWebサーバー等のサーバーが動作しています。最終的にシステムを作る際には、セキュリティ上の観点から、可能な限り不要なTCP/UDPポートは使用しないようにしておくのが良いです。 そのため、ここではArmadillo上でどのTCP/UDPポートが接続待ちをしているかを確認する方法を紹介します。
-
at_takumi.ando
ATDE6の VMware仮想イメージファイルは、Oracle社のVirtualBoxでも起動することができます。
-
at_ito
Armadillo-X1, Armadillo-IoT G3/G3LではNetworkManagerでネットワークの管理を行います。ここではNetworkManagerの設定を変更し、ネットワーク接続時に自動的にDNSが設定されない方法を紹介します。
-
at_keita.mogaki
以前掲載しました「Armadillo-X1,Armadillo-IoT G3/G3L: USBメモリが接続された時のudevイベントを検知する方法」に続いて、USBメモリの「ベンダーID」と「プロダクトID」、「シリアル番号(デバイスインスタンスID)」が一致した時、テストアプリを実行させる方法を紹介します。特定のUSBメモリが接続されたタイミングで、アプリを実行したい場合等に用いることも可能となります。
-
at_keita.mogaki
Armadillo-X1,Armadillo-IoT G3/G3L(以降Armadilloと記載)で、USBメモリが接続された時のイベントを検知する方法を紹介します。 USBメモリが接続されたタイミングで、特定のアプリを実行したい場合等に用いると便利です。
-
at_keita.mogaki
Armadillo-X1,Armadillo-IoT G3/G3Lで、ユーザーランドからArmadilloの種類を判別する方法を紹介します。 Armadilloの種類によって、プログラムの挙動を変えたい場合などに、この方法を用いると便利です。
-
at_ito
Armadillo-X1, Armadillo-IoT G3/G3Lは開発セットには標準でディスプレイが搭載されていませんが、簡単にディスプレイを使用する方法としてUSB接続のディスプレイを追加することができます。 ここではArmadillo-X1, Armadillo-IoT G3/G3LでUSB接続ディスプレイを追加する方法を紹介します。
-
at_syunya.ohshio
Armadillo製品でTCP/UDPポート開放状態、アプリケーション起動状態の確認方法をご紹介します。
-
at_kazutaka.bito
Armadillo-X1/IoT(G3/G3L):ICカードリーダ(Pasori(RC-S380))を使ってSuicaのデータを読んでみました。
-
at_syunya.ohshio
Armadillo-X1,Armadillo-IoT G3/G3Lへルートファイル展開後、正しくeMMCへ書き込まれているか確認する方法をご紹介します。
-
at_syunya.ohshio
Armadillo-X1,Armadillo-IoT G3/G3Lで Debian GNU/Linuxルートファイルシステムを構築するためのツール「x1-debian-builder」の使用方法をご紹介します。
-
at_kazutaka.bito
-
at_yuma.arakawa
OverlayFSを利用してシステム運用時のディスク使用の増加量を確認できます。 この記事ではそのやり方を紹介します。
-
at_yuma.arakawa
Linuxカーネルにはコントロールグループ(cgroup)という機能があります。この機能では、プロセスのグループに対してCPU時間やメモリといったリソースを割り当てることができます。 この記事ではArmadillo-X1・Armadillo-IoT G3/G3Lを対象に、大きくメモリを使用するプロセスに対しメモリ使用量を制限する方法を紹介します。
-
at_ito
Armadilloで独自に作成したソフトウェアを管理する際に、Debianパッケージ化しておくとaptコマンドにてバージョン管理ができて便利です。ここでは例としてArmadilloで動作するシェルスクリプトを含むDebianパッケージを作成してみます。
-
at_ito
2017/12/4時点でATDE6で「apt-get install node-eye」を実行するとATDEにnode-eyeパッケージがインストールされてしまいます。その後「apt-get purge node-eye」を実行した際にエラーが発生し、削除できないという現象が発生します。 そのため、ここでは間違ってATDE6でnode-eyeパッケージをインストールしてしまった時の削除方法を紹介します。
-
at_yuma.arakawa
落雷などの自然災害やブレーカーが落ちるなど、停電は予期せず発生します。また、工場など大きな電力を消費する機器が近くで動作している環境下では、瞬間的に電圧が低下または停止する「瞬低」がまれに発生します。瞬低は停電に比べ人が認知しにくいため、生涯の原因特定のネックになりがちな厄介な問題でもあります。 ここでは、ビルなどの非常口に設置してある非常灯にも使われている、ポピュラーで信頼性の高いバックアップ回路の例をご紹介します。
-
at_syunya.ohshio
Armadillo-X1,Armadillo-IoT G3/G3L: systemdで起動タイミングを変更し、自作アプリの並列処理を実現する方法を紹介します。 今回は1つ目のアプリが起動した直後に別のアプリを起動することで実現します。
-
at_keita.mogaki
Armadillo-X1,Armadillo-IoT G3/G3L: systemdでU-Bootブートスクリプトを使用する方法をご紹介します。
-
at_keita.mogaki
Armadillo-X1,Armadillo-IoT G3/G3L: systemdで起動順序を持たせてアプリを自動起動させる方法を紹介します。 今回は特定のUnitが起動した後に任意のUnitを起動させる手順を説明します。
-
at_ito
node-eyeを使用する際には、Armadilloでarmsdというデーモンが動作します。node-eyeの設定時になかなか接続が完了しない時などの動作確認のためにarmsdを再起動をしたい場合があるかと思います。 そういった時のためにここではarmsdの再起動を行う方法を紹介します。
-
at_ito
ArmadilloをグローバルIPアドレスが割り振られない3G/LTE通信で通信を行う構成で、外部からSSHを使用してメンテナンス等を行いたい場合があるかと思います。 ここでは「Reverse SSH Tunnneling」の機能を使って、直接アクセスできないArmadilloに対してSSH接続を行う方法を紹介します。
-
at_yuma.arakawa
U-Boot上の各種パラメータはU-Bootのシェル上で設定を変更できます。しかし、出荷時設定等を考えると、デフォルトの値を変更できると便利です。 ここでは、U-Bootのソースコード上のどこでデフォルト値を設定しているかを紹介し、試しに変更してみます。
-
at_yuma.arakawa
センサー値をゲートウェイが受信し、クラウドサーバーへ送信する様なIoTのシステムとしては、センサーとゲートウェイの他にサーバーも必要です。 ただし、デモ等を行う場所によってはインターネットへ接続できないこともあり、センサー・ゲートウェイ・サーバーがすべてローカルで完結していると便利です。 ここでは、センサーとしてArmadillo-IoT G3のCPUの温度センサーを使用し、サーバーとしてArmadillo-IoT G3Lを使用するデモの作り方を紹介します。
-
at_keita.mogaki
Armadillo-X1,Armadillo-IoT G3/G3L: systemdでアプリを自動起動する方法を紹介します。 今回は例として、簡単なシェルスクリプトを作成し、システム起動時に自動起動させてみました。
-
at_keita.mogaki
Armadillo-X1+評価用拡張ボードセット(型番:SA-AX1-EXTEVA-01)で、GUIを使用する方法を紹介します。 今回は例として、Window Manager上でWebブラウザを動作させてみました。
-
at_kazutaka.bito
Armadillo-IoT(G3)/X1からRS485(Modbus通信)で、土壌水分センサー(WD-3-WT-5Y-485M)の体積含水率、電気伝導率、温度のデータを読み取ってみました。
-
at_yuma.arakawa
TeraTerm等でArmadilloのコンソールを開き、コマンド入力していると、 カーネルのデバイスドライバ等のログが表示され、邪魔なことがあります。 本記事ではコンソールのログレベルを変更することで、コンソール上へのログ出力を抑制する方法を紹介します。
-
at_yuma.arakawa
Armadillo上でファイル操作するためだけにシリアルケーブルを接続し、TeraTerm等を起動するのは面倒なことがあります。 この記事では、Armadillo側へはSSHサーバを使用し、PC側へはWinSCPを使用することで、Windows上のファイル操作と同様にArmadillo上のファイルを操作する方法を紹介します。
-
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_yuma.arakawa
アドバリー製USBLANアドオン(ATB-AGAD-USBLAN)は、標準のカーネルのままでは動作させることができません。 カーネルにパッチを適用することで動作を確認できましたので、参考までに紹介します。
-
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_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メモリにルートファイルシステムを構築する手順を紹介します。