新型コロナウィルスの影響によりテレワークを強いられた組込み開発者の方も多いのではないでしょうか。しかし組込み開発では基板を持ち帰ることができないなど制約が多く、納期が迫る中でも開発作業を止めざるを得なかった、作業を止められないためやむを得ず出社したという方も多いのではないでしょうか。

一方で、わざわざ出社せずともテレワークでも問題なく作業を進めている組込み開発者がいることも事実です。では、このような方はどのようなやり方で自分の手元にない組込み機器をデバッグしたのでしょうか。今回はそういった方の手法を参考に、テレワークでも組込み機器のデバッグを行う方法を紹介します。

テレワークでデバッグするための環境構築

環境構築の要件は大まかに以下のふたつです。
  - 自宅のPCから会社の開発マシンにアクセスでき、リモートデスクトップ等で操作可能
  - 実機・デバッガなどは開発マシンに接続しておく

社外のネットワークから対象マシンへアクセスする必要があるため、セキュリティ面を考慮しなくてはいけません。一般的にはVPNを使用して接続していることが多いようです。また開発者1人あたり2台のマシンが必要になります。このようなテレワークに必要な機器(ネットワーク機器やPCなど)については助成金の使用も可能ですので、検討してみてはいかがでしょうか(参考:東京都のテレワーク助成金)。

 

どのように組込み機器をリモート操作するか

デバッガの操作だけで済む確認であれば、上記の環境構築のみで可能ですが、実際にターゲット機器を人の手で操作する動作確認はできません。まさに組込み開発者のテレワークを困難にしている要因です。では、どのようにしてリモート操作するのか、ふたつの手法を紹介します。

 
1. ターゲット機器側で操作用のコマンドを用意してPCから実行する

ターゲット機器にPCからの入力可能なI/Fがある(RS232Cやネットワークなどを介して接続できる)場合は、これらを使ってPCからターゲット機器を操作します。ターゲット機器側にI/Fからのデータ受信処理を追加し、受信時に確認したい処理を呼び出すことで、目的の処理をPCから制御することができます。

 
2. 専用のハードウェアを使って電気信号を入力する

開発する機器によっては、そのようなI/Fが存在しない場合や、ソフトウェアの変更が難しいものもあります。その場合、人の手で行うボタンやスイッチの操作・センサ入力を専用コントローラからの電気信号(疑似電圧)の入力で置き換える方法があります。

専用コントローラについては、例えばRaspberryPiを使えば、スイッチ制御(ロジック信号やカプラ出力)やセンサー電圧(アナログ信号)の出力も安価で容易に用意できます。また、SPIやI2C、UARTといった通信も可能ですので、外部機器との通信が必須となるターゲット機器でも制御することが可能です。

電源もケアしよう!

開発マシンやターゲット機器は安全面への配慮から使用しない時は電源を切りたいところです。そのような場合は「スマートプラグ」を使用します。「スマートプラグ」はそれ自体がネットワークにつながる電源アダプタで、電源のON/OFFはスマートフォンなどからも操作できます。これにより離れた場所でも人の手を介さずに電源の操作が可能になります。

 

どのように組込み機器の振る舞いを確認するか

ターゲット機器を動作させて、さらにその振る舞いを確認する必要があります。ここでは目視に代わる外部からの確認方法、さらに、そのとき内部ではどのような処理が実行されたのかを確認する方法について見ていきます。

 
ターゲット機器の動きを外部から確認する

ターゲット機器のLED点灯状態やUI表示など目視での確認が必要になる作業はWebカメラに任せます。フリーのツールを使用して録画を行うことも可能ですので、問題発生時のターゲット機器の振る舞いを複数人で共有するといったことがテレワークでも問題なく行えます。

 
ターゲット機器の内部の処理を確認する

ソフトウェア開発者としては、外部の動きだけでなくソフトウェア内部の処理が意図通りに実行されていることを確認したいところです。このようなときに弊社の動的テストツールDT10を使用すると、ターゲット機器を動作させた際に内部ではどのような処理が実行されたのかを見える化することができます。リモートデスクトップ経由でも使用可能ですのでテレワークでの動作確認時にも使えます。

上で説明したWebカメラの映像と併せて時間の同期をとって確認することで、実際の動作と実行された処理を照らし合わせて確認できます。それぞれ単体で使用した場合よりも信頼性のある動作確認ができますし、意図しない動作となった場合はそのときのログを確認することで原因も素早く解析できます。

 

まとめ

多くの企業においてリモートでも組込み製品の開発を継続させる環境を構築することは喫緊の課題です。これらの技術要素をひとつひとつ実現可能な部分から形にすることで、外部要因に左右されない堅牢な環境が整っていきます。また「人の手を介さずに組込み機器を操作すること」は組込み機器のテスト自動化にも共通する要件であり、実現できれば大きな強みになるはずです。このコロナ禍で作業が止まってしまうピンチを、あなたのプロジェクトの強みを生み出すためのチャンスに変えませんか。

【好評御礼!無料のウェビナー!】

近年の組込み機器開発の現場では「テスト自動化」が進んでいます。
しかし、いざ自動化に取り組もうとしても、
「具体的な実現イメージが湧かない・・・」
「テストケースの作成段階では作る人によってバラつきが出てしまう・・・」
「ターゲットごとのテスト環境の構築が大変・・・」
といった課題をお持ちの方は多いのではないでしょうか?

そこで今回のセミナーでは、
お手持ちのラズパイを使って「かんたんに」「低コストに」テスト自動化環境の構築を実現できる
「AUTOmeal(オートミール)」をご紹介します!

> ご視聴はコチラ!