Armadilloは産業用途向けの製品であり、組み込みプラットフォームとしてあらゆるシステムに組み込まれ、動作し続けています。
Armadilloは、組み込みプラットフォームであるため、システムに組み込むにはソフトウェアの開発も必要となります。Armadilloを使用したシステムで量産するには長期的な安定動作が必要になり、ソフトウェアも長期的に安定して動作させるための対応が必要となってきます。
そのような量産時に対応が必要な項目の例をここで紹介します。
1. システムの機能として必要とされるもの
Armadilloを使用したシステムは、人のいない場所で長期安定動作を必要とされることが多いです。何かしらのトラブルが発生した場合は、すぐに対処できない場合も多いため、なるべくシステム上での対策が必要になります。
この章では、システムの長期安定動作をするための以下の方法について紹介します。
- 電源断対策
- 時刻の保持
- ソフトウェアアップデート対応
- システムの監視ソフトウェア
- ログの管理
- ストレージの書き換え回数
- 無線回線切断時のリカバリー
1.1. 電源断対策
組み込みシステムでは、突然電源を落とすような運用方法で使用されることが多いです。特に対策を行っていない場合、ストレージへの書き込み中に電源が落とされることになるため、ファイルが保存されていなかったり、ファイルシステムが破損したりすることがあります。そうなると最悪の場合には、起動しなくなることがあります。
突然の電源断への対策は、ストレージに保存しない方法等があります。各Armadilloの製品マニュアルにも電源断対策が記載されていますので、確認してみてください。
マニュアル以外にも、以下のURLが参考になります。
1.2. 時刻の保持
電源が供給されない場合には、特に何ら対応をしていない場合は、時刻が保存されません。その状態で時刻を合わせる必要がある場合には、起動後に何かしらの方法で毎回時刻を合わせなければなりません。
もし電源が供給されていない場合でも時計を保存したい場合は、RTCのバックアップ用電池を搭載してください。 常にインターネットへの回線が安定的に確保できる場合はNTPを使用して、インターネット経由で時刻を合わせる方法もあります。
1.3. ソフトウェアアップデート対応
長期的に運用するシステムの場合は、運用中に不具合が発生する場合や、ソフトウェアの脆弱性が見つかり、ソフトウェアのアップデートが必要となる場合があります。そのため、システム開発段階にてアップデート方法を用意しておくことをお勧めします。
方法としては、サーバーからファイルをダウンロードしてアップデートする方法や、USBメモリや、SDカード等のストレージを使用してする方法等が考えられます。
またDebianパッケージにすると、アップデート対応が簡単になります。Debianパッケージを作成してアップデートを行う場合は、以下のページが参考になります。
- Armadillo-X1, Armadillo-IoT G3/G3L,Armadillo-640: 自作アプリケーションのDebianパッケージ作成方法
- Armadillo-X1, Armadillo-IoT G3/G3L,Armadillo-640: 自作Debianパッケージのaptリポジトリ作成,公開方法
1.4. システムの監視ソフトウェア
遠隔地に設置してリモートで管理するようなシステムでは、長期的に安定稼働する必要があります。そのようなシステムの場合は、システムが異常となった場合に、人の手を介して再起動するようなことが困難である場合が多いです。そのため、システムが異常となった場合に再起動するような、状態監視するソフトウェアを作ることも検討してください。
1.5. ログの管理
Linuxシステムでは、自動的にログを保存する機能が搭載されています。何も設定しないで使用している場合には、ストレージの容量を圧迫する可能性がありますので、長期的に運用することを想定されている場合には、ログファイルの管理を行うことをお勧めします。
対応としては、保存するログの種類を減らすことや、logrotateを使って、古いものから順に削除する方法などがあります。
1.6. ストレージの書き換え回数
Linuxシステムのログや、アプリケーションの出力データなどを、eMMC/SDカード/USBメモリ等のストレージに書き込んでいるようなシステムもあるかと思います。その場合はストレージの書き換え可能回数の上限に気を付けてください。もし書き換え可能回数を越えるとデータの内容が変化したり、そもそもマウントできなくなったりすることがあります。
ストレージの書き換え可能回数については、以下のURLも参考になります。
- FAQ : SDカード選定のポイントは? (※: eMMCやUSBメモリ等のフラッシュメモリ搭載品はほぼ同様の考え方が可能です)
ストレージへの書き換えを減らす方法については、以下のURLが参考になります。
1.7. 無線回線切断時のリカバリー
無線通信を必要とするシステムは、無線回線が接続されない場合の処理も必要となってきます。無線LAN等は比較的通信が安定する傾向がありますが、3G/LTE等の回線は状態が変化し、接続できなくなることも少なくありません。そのため、回線切断時は回線を再接続に行く処理や、回線切断時はアプリケーションで送信データをためておく処理などを実装することをお勧めします。
Armadillo-IoTシリーズについては、標準で回線再接続サービスが動作しています。その回線再接続サービスを環境に合わせて設定、カスタマイズすることで回線再接続の対応が可能です。詳細は各Armadilloの製品マニュアルを確認してください。
2. システムを安定して運用するために必要なもの
前述したシステムの機能として安定動作のために必要なものもありますが、システムを稼働させた後に安定して運用するために必要な項目もあります。
この章では、システム稼働後に安定して運用するための以下の方法について紹介します。
- ハードウェア変更への対応
- ソフトウェアアップデート
- 設置環境
- 機器故障の場合の交換対応
2.1. ハードウェア変更への対応
Armadilloは長期的に供給をすることを想定して製品を作っていますが、一部の部品が変更されることがあります。その際に場合によっては、システムの再評価やソフトウェアのアップデートが必要となることもあります。そのため、ユーザー登録をすることでアットマークテクノから出される変更通知を常に受け取れるようにしておくことをおすすめします。
ハードウェア変更の変更通知(PCN)を受け取るには以下のURLを参照してください。
2.2. ソフトウェアアップデート
前述のソフトウェアアップデート対応でも記載しましたが、運用時にソフトウェアアップデートが必要になることはあります。その場合は、動作しているシステムへのアップデートになりますので、もしアップデートに失敗すると起動しなくなるなどの大きな問題になる場合もあります。そのため、アップデートをする際には事前にローカルの環境で問題ないことを確認してからアップデートすることをお勧めします。
またアットマークテクノからソフトウェアアップデートのアナウンスがされることもあります。システムの不具合等が解消されていることがあるため、アップデート時には確認することをお勧めします。ソフトウェアアップデートのアナウンスを確認する方法は以下のURLが参考になります。
2.3. 設置環境
Armadilloの機能にもよりますが、設置場所が異なることにより正常に動作しないなどの問題が発生することがあります。そのため、設置環境によりシステムとして適切な対応を取ることをお勧めしします。
気を付けるべき設置環境には以下のものがあります。
- 3G/LTEや、無線LAN等のワイヤレス通信を行う場合には、電波環境を考慮する必要があります。
- 水や粉じん等がかかる場合には、防塵防水ケースの中に入れることや、基板をモールドするなどの対応が必要になります
- 温度が高くなる、または低くなる環境下では、使用温度範囲から外れないような対応が必要になります
- 雷サージ等が発生しやすい環境では、サージをArmadilloに与えないような対応が必要になります
2.4. 機器故障の場合の交換対応
Armadilloは産業用途向けに製造しているもののため簡単に壊れるものではありませんが、まれにハードウェアの故障や、ソフトウェア不具合により端末が動作しなくなることが考えられます。その場合の対応の一例として、機器を交換する方法があります。
もし継続して動作し続ける必要があるシステム等では、このような対応が有効である場合も多いため、交換機を常時用意しておくことも検討することをお勧めします。
- 本ブログで紹介した内容は、あくまでも参考情報です。紹介した内容を対応すれば、確実に問題が解消されることを保証するものではありません。